mirror of
https://github.com/vrana/adminer.git
synced 2025-08-08 07:36:44 +02:00
Compress CSS
This commit is contained in:
@@ -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');<?php
|
||||
echo lzw_decompress("compile_file('../adminer/static/default.css', 'minify_css');");
|
||||
} elseif ($_GET["file"] == "functions.js") {
|
||||
header("Content-Type: text/javascript; charset=utf-8");
|
||||
?>compile_file('../adminer/static/functions.js', 'jsShrink');compile_file('static/editing.js', 'jsShrink');<?php
|
||||
|
@@ -929,3 +929,41 @@ var timeout = setTimeout(function () {
|
||||
}
|
||||
return array_keys($return);
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
@@ -78,44 +78,6 @@ function switch_lang() {
|
||||
echo "</div>\n</form>\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
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user