|
@@ -859,7 +859,7 @@ discard block |
|
|
block discarded – undo |
|
859
|
859
|
'if (!is_dir(realpath($cachedir)) && is_dir($boarddir . \'/cache\'))', |
|
860
|
860
|
' $cachedir = $boarddir . \'/cache\';', |
|
861
|
861
|
)), |
|
862
|
|
- 'search_pattern' => '~\n?(#[^\n]+)?(?:\n\h*if\s*\((?:\!file_exists\(\$(?'.'>boarddir|sourcedir|tasksdir|packagesdir|cachedir)\)|\!is_dir\(realpath\(\$(?'.'>boarddir|sourcedir|tasksdir|packagesdir|cachedir)\)\))[^;]+\n\h*\$(?'.'>boarddir|sourcedir|tasksdir|packagesdir|cachedir)[^\n]+;)+~sm', |
|
|
862
|
+ 'search_pattern' => '~\n?(#[^\n]+)?(?:\n\h*if\s*\((?:\!file_exists\(\$(?' . '>boarddir|sourcedir|tasksdir|packagesdir|cachedir)\)|\!is_dir\(realpath\(\$(?' . '>boarddir|sourcedir|tasksdir|packagesdir|cachedir)\)\))[^;]+\n\h*\$(?' . '>boarddir|sourcedir|tasksdir|packagesdir|cachedir)[^\n]+;)+~sm', |
|
863
|
863
|
), |
|
864
|
864
|
'db_character_set' => array( |
|
865
|
865
|
'text' => implode("\n", array( |
|
@@ -958,8 +958,8 @@ discard block |
|
|
block discarded – undo |
|
958
|
958
|
'boolean' => '(?i:TRUE|FALSE|(["\']?)[01]\b\\1)', |
|
959
|
959
|
'NULL' => '(?i:NULL)', |
|
960
|
960
|
// These use a PCRE subroutine to match nested arrays. |
|
961
|
|
- 'array' => 'array\s*(\((?'.'>[^()]|(?1))*\))', |
|
962
|
|
- 'object' => '\w+::__set_state\(array\s*(\((?'.'>[^()]|(?1))*\))\)', |
|
|
961
|
+ 'array' => 'array\s*(\((?' . '>[^()]|(?1))*\))', |
|
|
962
|
+ 'object' => '\w+::__set_state\(array\s*(\((?' . '>[^()]|(?1))*\))\)', |
|
963
|
963
|
); |
|
964
|
964
|
|
|
965
|
965
|
/* |
|
@@ -992,7 +992,7 @@ discard block |
|
|
block discarded – undo |
|
992
|
992
|
), |
|
993
|
993
|
// Remove the code that redirects to the installer. |
|
994
|
994
|
$neg_index-- => array( |
|
995
|
|
- 'search_pattern' => '~^if\s*\(file_exists\(dirname\(__FILE__\)\s*\.\s*\'/install\.php\'\)\)\s*(?:({(?'.'>[^{}]|(?1))*})\h*|header(\((?' . '>[^()]|(?2))*\));\n)~m', |
|
|
995
|
+ 'search_pattern' => '~^if\s*\(file_exists\(dirname\(__FILE__\)\s*\.\s*\'/install\.php\'\)\)\s*(?:({(?' . '>[^{}]|(?1))*})\h*|header(\((?' . '>[^()]|(?2))*\));\n)~m', |
|
996
|
996
|
'placeholder' => '', |
|
997
|
997
|
), |
|
998
|
998
|
); |
|
@@ -1755,7 +1755,7 @@ discard block |
|
|
block discarded – undo |
|
1755
|
1755
|
// Prevents warnings about constants that are already defined. |
|
1756
|
1756
|
$settingsText = preg_replace_callback( |
|
1757
|
1757
|
'~\bdefine\s*\(\s*(["\'])(\w+)\1~', |
|
1758
|
|
- function ($matches) |
|
|
1758
|
+ function($matches) |
|
1759
|
1759
|
{ |
|
1760
|
1760
|
return 'define(\'' . md5(mt_rand()) . '\''; |
|
1761
|
1761
|
}, |
|
@@ -1765,7 +1765,7 @@ discard block |
|
|
block discarded – undo |
|
1765
|
1765
|
// Handle eval errors gracefully in both PHP 5 and PHP 7 |
|
1766
|
1766
|
try |
|
1767
|
1767
|
{ |
|
1768
|
|
- if($settingsText !== '' && @eval($settingsText) === false) |
|
|
1768
|
+ if ($settingsText !== '' && @eval($settingsText) === false) |
|
1769
|
1769
|
throw new ErrorException('eval error'); |
|
1770
|
1770
|
|
|
1771
|
1771
|
unset($mtime, $settingsFile, $settingsText); |