From dd86e1892db211f08de2b44d935a0e4506cda1e9 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Thu, 6 Sep 2012 22:37:24 -0700 Subject: [PATCH] Simplify compile_file() --- adminer/file.inc.php | 16 ++++++++-------- compile.php | 11 +++++++---- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/adminer/file.inc.php b/adminer/file.inc.php index 53d765a2..bad22149 100644 --- a/adminer/file.inc.php +++ b/adminer/file.inc.php @@ -3,21 +3,21 @@ header("Expires: " . gmdate("D, d M Y H:i:s", time() + 365*24*60*60) . " GMT"); if ($_GET["file"] == "favicon.ico") { header("Content-Type: image/x-icon"); - echo "compile_file('../adminer/static/favicon.ico', 'add_quo_slashes');"; + echo compile_file('../adminer/static/favicon.ico'); } elseif ($_GET["file"] == "default.css") { header("Content-Type: text/css; charset=utf-8"); - echo lzw_decompress("compile_file('../adminer/static/default.css', 'minify_css');"); + echo lzw_decompress(compile_file('../adminer/static/default.css', 'minify_css')); } elseif ($_GET["file"] == "functions.js") { header("Content-Type: text/javascript; charset=utf-8"); - echo lzw_decompress("compile_file('../adminer/static/functions.js;static/editing.js', 'minify_js');"); + echo lzw_decompress(compile_file('../adminer/static/functions.js;static/editing.js', 'minify_js')); } else { header("Content-Type: image/gif"); switch ($_GET["file"]) { - case "plus.gif": echo "compile_file('../adminer/static/plus.gif', 'add_quo_slashes');"; break; - case "cross.gif": echo "compile_file('../adminer/static/cross.gif', 'add_quo_slashes');"; break; - case "up.gif": echo "compile_file('../adminer/static/up.gif', 'add_quo_slashes');"; break; - case "down.gif": echo "compile_file('../adminer/static/down.gif', 'add_quo_slashes');"; break; - case "arrow.gif": echo "compile_file('../adminer/static/arrow.gif', 'add_quo_slashes');"; break; + case "plus.gif": echo compile_file('../adminer/static/plus.gif'); break; + case "cross.gif": echo compile_file('../adminer/static/cross.gif'); break; + case "up.gif": echo compile_file('../adminer/static/up.gif'); break; + case "down.gif": echo compile_file('../adminer/static/down.gif'); break; + case "arrow.gif": echo compile_file('../adminer/static/arrow.gif'); break; } } exit; diff --git a/compile.php b/compile.php index 2d11e9d0..5e7223e1 100755 --- a/compile.php +++ b/compile.php @@ -248,14 +248,14 @@ function php_shrink($input) { } function minify_css($file) { - return add_quo_slashes(lzw_compress(preg_replace('~\\s*([:;{},])\\s*~', '\\1', preg_replace('~/\\*.*\\*/~sU', '', $file)))); + return lzw_compress(preg_replace('~\\s*([:;{},])\\s*~', '\\1', preg_replace('~/\\*.*\\*/~sU', '', $file))); } function minify_js($file) { if (function_exists('jsShrink')) { $file = jsShrink($file); } - return add_quo_slashes(lzw_compress($file)); + return lzw_compress($file); } function compile_file($match) { @@ -264,7 +264,10 @@ function compile_file($match) { foreach (explode(";", $match[1]) as $filename) { $file .= file_get_contents(dirname(__FILE__) . "/$project/$filename"); } - return call_user_func($match[2], $file); + if ($match[2]) { + $file = call_user_func($match[2], $file); + } + return '"' . add_quo_slashes($file) . '"'; } $driver = ""; @@ -347,7 +350,7 @@ foreach (array("adminer", "editor") as $project) { $file = str_replace('', $_SESSION["lang"], $file); } $file = str_replace('' . "\n", "", $file); - $file = preg_replace_callback("~compile_file\\('([^']+)', '([^']+)'\\);~", 'compile_file', $file); // integrate static files + $file = preg_replace_callback("~compile_file\\('([^']+)'(?:, '([^']*)')?\\)~", 'compile_file', $file); // integrate static files $replace = 'h(preg_replace("~\\\\\\\\?.*~", "", ME)) . "?file=\\1&version=' . $VERSION; $file = preg_replace('~\\.\\./adminer/static/(default\\.css|functions\\.js|favicon\\.ico)~', '', $file); $file = preg_replace('~\\.\\./adminer/static/([^\'"]*)~', '" . ' . $replace, $file);