mirror of
https://github.com/vrana/adminer.git
synced 2025-08-06 06:37:33 +02:00
php_shrink: Move add_apo_slashes to compile.php
This commit is contained in:
@@ -5,6 +5,10 @@ include __DIR__ . "/adminer/include/errors.inc.php";
|
|||||||
include __DIR__ . "/php_shrink.inc.php";
|
include __DIR__ . "/php_shrink.inc.php";
|
||||||
include __DIR__ . "/externals/JsShrink/jsShrink.php";
|
include __DIR__ . "/externals/JsShrink/jsShrink.php";
|
||||||
|
|
||||||
|
function add_apo_slashes($s) {
|
||||||
|
return addcslashes($s, "\\'");
|
||||||
|
}
|
||||||
|
|
||||||
function add_quo_slashes($s) {
|
function add_quo_slashes($s) {
|
||||||
$return = $s;
|
$return = $s;
|
||||||
$return = addcslashes($return, "\n\r\$\"\\");
|
$return = addcslashes($return, "\n\r\$\"\\");
|
||||||
|
@@ -55,10 +55,10 @@ function php_shrink($input) {
|
|||||||
foreach ($tokens as $i => $token) {
|
foreach ($tokens as $i => $token) {
|
||||||
if (
|
if (
|
||||||
$tokens[$i+2][0] === T_CLOSE_TAG && $tokens[$i+3][0] === T_INLINE_HTML && $tokens[$i+4][0] === T_OPEN_TAG
|
$tokens[$i+2][0] === T_CLOSE_TAG && $tokens[$i+3][0] === T_INLINE_HTML && $tokens[$i+4][0] === T_OPEN_TAG
|
||||||
&& strlen(add_apo_slashes($tokens[$i+3][1])) < strlen($tokens[$i+3][1]) + 3
|
&& strlen(addcslashes($tokens[$i+3][1], "\\'")) < strlen($tokens[$i+3][1]) + 3
|
||||||
) {
|
) {
|
||||||
$tokens[$i+2] = array(T_ECHO, 'echo');
|
$tokens[$i+2] = array(T_ECHO, 'echo');
|
||||||
$tokens[$i+3] = array(T_CONSTANT_ENCAPSED_STRING, "'" . add_apo_slashes($tokens[$i+3][1]) . "'");
|
$tokens[$i+3] = array(T_CONSTANT_ENCAPSED_STRING, "'" . addcslashes($tokens[$i+3][1], "\\'") . "'");
|
||||||
$tokens[$i+4] = array(0, ';');
|
$tokens[$i+4] = array(0, ';');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -140,7 +140,3 @@ function short_identifier($number, $chars) {
|
|||||||
}
|
}
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_apo_slashes($s) {
|
|
||||||
return addcslashes($s, "\\'");
|
|
||||||
}
|
|
||||||
|
@@ -13,6 +13,9 @@ function check($code, $expected) {
|
|||||||
//! bugs:
|
//! bugs:
|
||||||
check('{if (true) {} echo 1;}', '{if(true);echo 1;}');
|
check('{if (true) {} echo 1;}', '{if(true);echo 1;}');
|
||||||
|
|
||||||
|
//! inefficiencies
|
||||||
|
check('echo "a"."b",\'c\'."d$a"."e";', 'echo "abcd$a"."e"');
|
||||||
|
|
||||||
check('$ab = 1; echo $ab;', '$a=1;echo$a;');
|
check('$ab = 1; echo $ab;', '$a=1;echo$a;');
|
||||||
check('$ab = 1; $cd = 2;', '$a=1;$b=2;');
|
check('$ab = 1; $cd = 2;', '$a=1;$b=2;');
|
||||||
check('define("AB", 1);', 'define("AB",1);');
|
check('define("AB", 1);', 'define("AB",1);');
|
||||||
|
Reference in New Issue
Block a user