Merge pull request #5773 from owncloud/fix-2152-master
Make working en_US.UTF-8 locale a hard requirement
This commit is contained in:
commit
4a2f9636cf
|
@ -241,7 +241,7 @@ class OC {
|
|||
$minimizerCSS->clearCache();
|
||||
$minimizerJS = new OC_Minimizer_JS();
|
||||
$minimizerJS->clearCache();
|
||||
OC_Util::addscript('update');
|
||||
OC_Util::addScript('update');
|
||||
$tmpl = new OC_Template('', 'update.admin', 'guest');
|
||||
$tmpl->assign('version', OC_Util::getVersionString());
|
||||
$tmpl->printPage();
|
||||
|
@ -559,12 +559,6 @@ class OC {
|
|||
}
|
||||
}
|
||||
|
||||
// write error into log if locale can't be set
|
||||
if (OC_Util::isSetLocaleWorking() == false) {
|
||||
OC_Log::write('core',
|
||||
'setting locale to en_US.UTF-8/en_US.UTF8 failed. Support is probably not installed on your system',
|
||||
OC_Log::ERROR);
|
||||
}
|
||||
if (OC_Config::getValue('installed', false) && !self::checkUpgrade(false)) {
|
||||
if (OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') {
|
||||
OC_Util::addScript('backgroundjobs');
|
||||
|
|
|
@ -358,6 +358,13 @@ class OC_Util {
|
|||
$errors = array_merge($errors, self::checkDataDirectoryPermissions($CONFIG_DATADIRECTORY));
|
||||
}
|
||||
|
||||
if(!OC_Util::isSetLocaleWorking()) {
|
||||
$errors[] = array(
|
||||
'error' => 'Setting locale to en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8 failed',
|
||||
'hint' => 'Please install one of theses locales on your system and restart your webserver.'
|
||||
);
|
||||
}
|
||||
|
||||
$moduleHint = "Please ask your server administrator to install the module.";
|
||||
// check if all required php modules are present
|
||||
if(!class_exists('ZipArchive')) {
|
||||
|
@ -852,8 +859,8 @@ class OC_Util {
|
|||
return true;
|
||||
}
|
||||
|
||||
$result = setlocale(LC_ALL, 'en_US.UTF-8', 'en_US.UTF8');
|
||||
if($result == false) {
|
||||
\Patchwork\Utf8\Bootup::initLocale();
|
||||
if ('' === basename('§')) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -25,7 +25,7 @@ $tmpl->assign('entries', $entries);
|
|||
$tmpl->assign('entriesremain', $entriesremain);
|
||||
$tmpl->assign('htaccessworking', $htaccessworking);
|
||||
$tmpl->assign('internetconnectionworking', OC_Util::isInternetConnectionEnabled() ? OC_Util::isInternetConnectionWorking() : false);
|
||||
$tmpl->assign('islocaleworking', OC_Util::isSetLocaleWorking());
|
||||
$tmpl->assign('isLocaleWorking', OC_Util::isSetLocaleWorking());
|
||||
$tmpl->assign('isWebDavWorking', OC_Util::isWebDAVWorking());
|
||||
$tmpl->assign('has_fileinfo', OC_Util::fileInfoLoaded());
|
||||
$tmpl->assign('backgroundjobs_mode', OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax'));
|
||||
|
|
|
@ -59,15 +59,23 @@ if (!$_['has_fileinfo']) {
|
|||
}
|
||||
|
||||
// is locale working ?
|
||||
if (!$_['islocaleworking']) {
|
||||
if (!$_['isLocaleWorking']) {
|
||||
?>
|
||||
<fieldset class="personalblock">
|
||||
<h2><?php p($l->t('Locale not working'));?></h2>
|
||||
|
||||
<span class="connectionwarning">
|
||||
<?php
|
||||
$locales = 'en_US.UTF-8/en_US.UTF8';
|
||||
p($l->t('System locale can\'t be set to %s. This means that there might be problems with certain characters in file names. We strongly suggest to install the required packages on your system to support %s.', array($locales, $locales)));
|
||||
$locales = 'en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8';
|
||||
p($l->t('System locale can not be set to a one which supports UTF-8.'));
|
||||
?>
|
||||
<br>
|
||||
<?php
|
||||
p($l->t('This means that there might be problems with certain characters in file names.'));
|
||||
?>
|
||||
<br>
|
||||
<?php
|
||||
p($l->t('We strongly suggest to install the required packages on your system to support one of the following locales: %s.', array($locales)));
|
||||
?>
|
||||
</span>
|
||||
|
||||
|
|
Loading…
Reference in New Issue