summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2015-02-24 23:34:38 +0100
committerLukas Reschke <lukas@owncloud.com>2015-02-24 23:51:36 +0100
commit06cf93e6ee19ea5c710b029fd403af3c90529074 (patch)
tree59b7f506000c3fa14b97d3ec0f16d3f56a313b7a
parent09a06e4f0a2d473e1dc3ea1d92fefc3cfa318d4d (diff)
downloadnextcloud-server-06cf93e6ee19ea5c710b029fd403af3c90529074.tar.gz
nextcloud-server-06cf93e6ee19ea5c710b029fd403af3c90529074.zip
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
-rw-r--r--lib/private/util.php15
-rw-r--r--settings/admin.php3
-rw-r--r--settings/templates/admin.php14
3 files changed, 7 insertions, 25 deletions
diff --git a/lib/private/util.php b/lib/private/util.php
index 8ffb9e35bad..44ddc26fc31 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -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';
- }
-
}
diff --git a/settings/admin.php b/settings/admin.php
index 9f39936fe7b..fc2df77eae1 100644
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -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'));
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index 1f7eacd746b..a82d5ee8545 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -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']) {
?>