diff --git a/adminer/file.inc.php b/adminer/file.inc.php index 53eafd36..5d3332cd 100644 --- a/adminer/file.inc.php +++ b/adminer/file.inc.php @@ -6,7 +6,7 @@ if ($_GET["file"] == "favicon.ico") { echo "compile_file('../adminer/static/favicon.ico', 'add_quo_slashes');"; } elseif ($_GET["file"] == "default.css") { header("Content-Type: text/css; charset=utf-8"); - ?>compile_file('../adminer/static/default.css', 'minify_css');compile_file('../adminer/static/functions.js', 'jsShrink');compile_file('static/editing.js', 'jsShrink');= $bits) { + $rest_length -= $bits; + $codes[] = $rest >> $rest_length; + $rest &= (1 << $rest_length) - 1; + $dictionary_count++; + if ($dictionary_count >> $bits) { + $bits++; + } + } + } + // decompression + $dictionary = range("\0", "\xFF"); + $return = ""; + foreach ($codes as $i => $code) { + $element = $dictionary[$code]; + if (!isset($element)) { + $element = $word . $word[0]; + } + $return .= $element; + if ($i) { + $dictionary[] = $word . $element[0]; + } + $word = $element; + } + return $return; +} diff --git a/adminer/include/lang.inc.php b/adminer/include/lang.inc.php index edd1efbd..41132e75 100644 --- a/adminer/include/lang.inc.php +++ b/adminer/include/lang.inc.php @@ -78,44 +78,6 @@ function switch_lang() { echo "\n\n"; } -// used in compiled version -function lzw_decompress($binary) { - // convert binary string to codes - $dictionary_count = 256; - $bits = 8; // ceil(log($dictionary_count, 2)) - $codes = array(); - $rest = 0; - $rest_length = 0; - for ($i=0; $i < strlen($binary); $i++) { - $rest = ($rest << 8) + ord($binary[$i]); - $rest_length += 8; - if ($rest_length >= $bits) { - $rest_length -= $bits; - $codes[] = $rest >> $rest_length; - $rest &= (1 << $rest_length) - 1; - $dictionary_count++; - if ($dictionary_count >> $bits) { - $bits++; - } - } - } - // decompression - $dictionary = range("\0", "\xFF"); - $return = ""; - foreach ($codes as $i => $code) { - $element = $dictionary[$code]; - if (!isset($element)) { - $element = $word . $word[0]; - } - $return .= $element; - if ($i) { - $dictionary[] = $word . $element[0]; - } - $word = $element; - } - return $return; -} - if (isset($_POST["lang"]) && $_SESSION["token"] == $_POST["token"]) { // $token and $error not yet available cookie("adminer_lang", $_POST["lang"]); $_SESSION["lang"] = $_POST["lang"]; // cookies may be disabled diff --git a/compile.php b/compile.php index c1ed443b..2f2bf081 100755 --- a/compile.php +++ b/compile.php @@ -254,7 +254,7 @@ function php_shrink($input) { } function minify_css($file) { - return preg_replace('~\\s*([:;{},])\\s*~', '\\1', preg_replace('~/\\*.*\\*/~sU', '', $file)); + return add_quo_slashes(lzw_compress(preg_replace('~\\s*([:;{},])\\s*~', '\\1', preg_replace('~/\\*.*\\*/~sU', '', $file)))); } function compile_file($match) {