Move UTF-8 check to setup
Nobody reads the warnings anyways and so we should enforce it at installation time... Also allows us to get rid of some duplicated code. To test change the `default_charset` to something other than `utf-8` or `UTF-8`, both should work fine with that change here. An error should then get shown. We already set those default charsets in the shipped .user.ini and .htaccess
This commit is contained in:
parent
09a06e4f0a
commit
06cf93e6ee
3 changed files with 7 additions and 25 deletions
|
@ -651,6 +651,7 @@ class OC_Util {
|
|||
'ini' => [
|
||||
'mbstring.func_overload' => 0,
|
||||
'output_buffering' => false,
|
||||
'default_charset' => 'UTF-8',
|
||||
],
|
||||
);
|
||||
$missingDependencies = array();
|
||||
|
@ -684,6 +685,11 @@ class OC_Util {
|
|||
$invalidIniSettings[] = [$setting, $expected];
|
||||
}
|
||||
}
|
||||
if(is_string($expected)) {
|
||||
if(strtolower($iniWrapper->getString($setting)) !== strtolower($expected)) {
|
||||
$invalidIniSettings[] = [$setting, $expected];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach($missingDependencies as $missingDependency) {
|
||||
|
@ -1511,13 +1517,4 @@ class OC_Util {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if PhpCharset config is UTF-8
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function isPhpCharSetUtf8() {
|
||||
return strtoupper(ini_get('default_charset')) === 'UTF-8';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -65,7 +65,6 @@ $template->assign('doesLogFileExist', $doesLogFileExist);
|
|||
$template->assign('showLog', $showLog);
|
||||
$template->assign('readOnlyConfigEnabled', OC_Helper::isReadOnlyConfigEnabled());
|
||||
$template->assign('isLocaleWorking', OC_Util::isSetLocaleWorking());
|
||||
$template->assign('isPhpCharSetUtf8', OC_Util::isPhpCharSetUtf8());
|
||||
$template->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking());
|
||||
$template->assign('has_fileinfo', OC_Util::fileInfoLoaded());
|
||||
$template->assign('backgroundjobs_mode', $appConfig->getValue('core', 'backgroundjobs_mode', 'ajax'));
|
||||
|
@ -116,7 +115,7 @@ $forms = OC_App::getForms('admin');
|
|||
$l = OC_L10N::get('settings');
|
||||
$formsAndMore = array();
|
||||
if ($request->getServerProtocol() !== 'https' || !OC_Util::isAnnotationsWorking() ||
|
||||
$suggestedOverwriteCliUrl || !OC_Util::isSetLocaleWorking() || !OC_Util::isPhpCharSetUtf8() ||
|
||||
$suggestedOverwriteCliUrl || !OC_Util::isSetLocaleWorking() ||
|
||||
!OC_Util::fileInfoLoaded() || $databaseOverload
|
||||
) {
|
||||
$formsAndMore[] = array('anchor' => 'security-warning', 'section-name' => $l->t('Security & Setup Warnings'));
|
||||
|
|
|
@ -175,20 +175,6 @@ if (!$_['has_fileinfo']) {
|
|||
<?php
|
||||
}
|
||||
|
||||
// is PHP charset set to UTF8?
|
||||
if (!$_['isPhpCharSetUtf8']) {
|
||||
?>
|
||||
<div class="section">
|
||||
<h2><?php p($l->t('PHP charset is not set to UTF-8'));?></h2>
|
||||
|
||||
<span class="connectionwarning">
|
||||
<?php p($l->t("PHP charset is not set to UTF-8. This can cause major issues with non-ASCII characters in file names. We highly recommend to change the value of 'default_charset' php.ini to 'UTF-8'.")); ?>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
// is locale working ?
|
||||
if (!$_['isLocaleWorking']) {
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue