OSDN Git Service

$CONF['DisableEncodingCheck'] for encoding_check function.
authorkmorimatsu <kmorimatsu@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Mon, 16 Mar 2009 20:59:41 +0000 (20:59 +0000)
committerkmorimatsu <kmorimatsu@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Mon, 16 Mar 2009 20:59:41 +0000 (20:59 +0000)
Only check $_GET and $_POST by encoding_check() to avoid problem using special characters in $_SERVER and $_COOKIE.

git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/nucleus-jp/trunk/utf8@977 1ca29b6e-896d-4ea0-84a5-967f57386b96

nucleus/libs/globalfunctions.php

index 71c2a05..1c109c2 100755 (executable)
@@ -336,7 +336,7 @@ include($DIR_LANG . ereg_replace( '[\\|/]', '', $language) . '.php');
 \r
 // check if valid charset\r
 if (!encoding_check(false, false, _CHARSET)) {\r
-       foreach(array($_REQUEST, $_SERVER) as $input) {\r
+       foreach(array($_GET, $_POST) as $input) {\r
                array_walk($input, 'encoding_check');\r
        }\r
 }\r
@@ -588,7 +588,7 @@ function sendContentType($contenttype, $pagetype = '', $charset = _CHARSET) {
 \r
                // check if valid charset\r
                if (!encoding_check(false,false,$charset)) {\r
-                       foreach(array($_REQUEST, $_SERVER) as $input) {\r
+                       foreach(array($_GET, $_POST) as $input) {\r
                                array_walk($input, 'encoding_check');\r
                        }\r
                }\r
@@ -1546,6 +1546,12 @@ function formatDate($format, $timestamp, $defaultFormat, &$blog) {
 \r
 function encoding_check($val, $key, $encoding=false, $exclude=false) {\r
        /*\r
+         Set $CONF['DisableEncodingCheck']=1 only for special occasion, e.g. install script.\r
+         Don't set this permanently in nucleus_config table.\r
+       */\r
+       global $CONF;\r
+       if (!empty($CONF['DisableEncodingCheck'])) return true;\r
+       /*\r
          When 3rd argument is set, return if checked already.\r
          When 4th argument is set, set the excluded key(s).\r
        */\r