Merge pull request #5773 from owncloud/fix-2152-master

Make working en_US.UTF-8 locale a hard requirement
This commit is contained in:
Thomas Müller 2013-11-21 08:03:21 -08:00
commit 4a2f9636cf
4 changed files with 22 additions and 13 deletions

View File

@ -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');

View File

@ -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;

View File

@ -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'));

View File

@ -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>