From c1f838251571adff1ad198ad14c4eafe05a9d779 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Thu, 6 May 2010 16:36:15 +0200 Subject: [PATCH] Internal JSMin if external is not found --- compile.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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, "\\'"); }