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');";
|
echo "compile_file('../adminer/static/favicon.ico', 'add_quo_slashes');";
|
||||||
} elseif ($_GET["file"] == "default.css") {
|
} elseif ($_GET["file"] == "default.css") {
|
||||||
header("Content-Type: text/css; charset=utf-8");
|
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") {
|
} elseif ($_GET["file"] == "functions.js") {
|
||||||
header("Content-Type: text/javascript; charset=utf-8");
|
header("Content-Type: text/javascript; charset=utf-8");
|
||||||
?>compile_file('../adminer/static/functions.js', 'jsShrink');compile_file('static/editing.js', 'jsShrink');<?php
|
?>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);
|
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";
|
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
|
if (isset($_POST["lang"]) && $_SESSION["token"] == $_POST["token"]) { // $token and $error not yet available
|
||||||
cookie("adminer_lang", $_POST["lang"]);
|
cookie("adminer_lang", $_POST["lang"]);
|
||||||
$_SESSION["lang"] = $_POST["lang"]; // cookies may be disabled
|
$_SESSION["lang"] = $_POST["lang"]; // cookies may be disabled
|
||||||
|
@@ -254,7 +254,7 @@ function php_shrink($input) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function minify_css($file) {
|
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) {
|
function compile_file($match) {
|
||||||
|
Reference in New Issue
Block a user