From: Jakub Vrana Date: Thu, 6 May 2010 14:36:15 +0000 (+0200) Subject: Internal JSMin if external is not found X-Git-Tag: v3.0.0~129 X-Git-Url: https://git.joonet.de/?a=commitdiff_plain;h=c1f838251571adff1ad198ad14c4eafe05a9d779;p=adminer.git Internal JSMin if external is not found --- diff --git a/compile.php b/compile.php index 02175e69..6c4b46ed 100644 --- a/compile.php +++ b/compile.php @@ -3,6 +3,22 @@ error_reporting(6135); // errors and warnings include dirname(__FILE__) . "/adminer/include/version.inc.php"; include dirname(__FILE__) . "/externals/jsmin-php/jsmin.php"; +if (!class_exists("JSMin")) { + /** Simple JS minifier without full support for regex literals + * @link http://pastebin.com/2Jc2swSr + */ + class JSMin { + /*private static*/ function callback($match) { + $s = trim($match[0]); + return ($s === "" ? "\n" : ($s[0] === "/" && ($s[1] === "*" || $s[1] === "/") ? "" : $s)); + } + + /*static*/ function minify($input) { + return preg_replace_callback('~//[^\n]*|/\*.*?\*/|/(?!\s)(?:\\\\.|[^/\\\\])*/|\'(?:\\\\.|[^\'\\\\])*\'|"(?:\\\\.|[^"\\\\])*"|\s*[^0-9a-z_$\'"/\s]\s*|\s+~si', array('JSMin', 'callback'), $input); + } + } +} + function add_apo_slashes($s) { return addcslashes($s, "\\'"); }