[ticket/12468] Having mbstring.http_input set to '' is as good as 'pass'.

PHPBB3-12468
This commit is contained in:
Andreas Fischer 2014-05-02 14:40:40 +02:00
parent 43c6fd768f
commit 370015c1a5

View file

@ -273,8 +273,8 @@ class install_install extends module
$checks = array( $checks = array(
array('func_overload', '&', MB_OVERLOAD_MAIL|MB_OVERLOAD_STRING), array('func_overload', '&', MB_OVERLOAD_MAIL|MB_OVERLOAD_STRING),
array('encoding_translation', '!=', 0), array('encoding_translation', '!=', 0),
array('http_input', '!=', 'pass'), array('http_input', '!=', array('pass', '')),
array('http_output', '!=', 'pass') array('http_output', '!=', array('pass', ''))
); );
foreach ($checks as $mb_checks) foreach ($checks as $mb_checks)
@ -295,7 +295,8 @@ class install_install extends module
break; break;
case '!=': case '!=':
if ($ini_val != $mb_checks[2]) if (!is_array($mb_checks[2]) && $ini_val != $mb_checks[2] ||
is_array($mb_checks[2]) && !in_array($ini_val, $mb_checks[2]))
{ {
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>'; $result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
$passed['mbstring'] = false; $passed['mbstring'] = false;