| 
<?php
 function compressJS($dir, $compress = 0, $sort = 0) {
 global $lezaz;
 $pattern = "*.js";
 $vars_dir_path = $lezaz->lezaz_path($dir) . '/';
 $vars_dir_link = $lezaz->lezaz_path($dir, 1) . '/';
 
 $glop = glob($vars_dir_path . $pattern);
 if ($sort)
 arsort($glop);
 else
 asort($glop);
 foreach ($glop as $filename) {
 $fn = basename($filename);
 if (strpos('XXX' . $filename, 'Xall.js.'))
 continue;
 if ($compress == 1 || $compress == 2) {
 $Xfile.= hash_file('md5', $filename);
 } else {
 $return.=" <script type=\"text/javascript\" src=\"{$vars_dir_link}{$fn}\"></script> \n";
 }
 }
 if (file_exists($vars_dir_path . 'all.js.' . md5($Xfile) . $compress . '.js'))
 return " <script type=\"text/javascript\" src=\"" . $vars_dir_link . 'all.js.' . md5($Xfile) . $compress . '.js' . "\"></script> \n";
 if ($return)
 return $return;
 
 
 
 array_map('unlink', glob($vars_dir_path . "all.js.*.js")); // delete all mini files created by lezaz
 
 foreach (glob($vars_dir_path . $pattern) as $filename) {
 $fn = basename($filename);
 if ($compress == '1') {
 $jsall.= "\n\n\n/*$fn*/\n========================\n" . file_get_contents($filename);
 } else if ($compress == '2') {
 $jsau = addslashes(file_get_contents($filename));
 $packer = new JavaScriptPacker($jsau);
 $jsau = $packer->pack();
 $jsall.= "\n\n\n/*$fn*/\n========================\n" . $jsau;
 }
 }
 $lezaz->file->write($vars_dir_path . 'all.js.' . md5($Xfile) . $compress . '.js', $jsall);
 return " <script type=\"text/javascript\" src=\"" . $vars_dir_link . 'all.js.' . md5($Xfile) . $compress . '.js' . "\"></script> \n";
 }
 
 function compressCSS($dir, $compress = 0, $sort = 0) {
 global $lezaz;
 $pattern = "*.css";
 $vars_dir_path = $lezaz->lezaz_path($dir) . '/';
 $vars_dir_link = $lezaz->lezaz_path($dir, 1) . '/';
 
 $glop = glob($vars_dir_path . $pattern);
 if ($sort)
 arsort($glop);
 else
 asort($glop);
 foreach ($glop as $filename) {
 $fn = basename($filename);
 if (strpos('XXX' . $filename, 'Xall.css.'))
 continue;
 if ($compress == 1 || $compress == 2) {
 $Xfile.= hash_file('md5', $filename);
 } else {
 $return.=" <link rel=\"stylesheet\" type=\"text/css\" href=\"{$vars_dir_link}{$fn}\"/>\n";
 }
 }
 if (file_exists($vars_dir_path . 'all.css.' . md5($Xfile) . $compress . '.css'))
 return " <link rel=\"stylesheet\" type=\"text/css\" href=\"" . $vars_dir_link . 'all.css.' . md5($Xfile) . $compress . '.css' . "\"/>\n";
 if ($return)
 return $return;
 
 
 
 array_map('unlink', glob($vars_dir_path . "all.css.*.css")); // delete all mini files created by lezaz
 
 foreach (glob($vars_dir_path . $pattern) as $filename) {
 $fn = basename($filename);
 if ($compress == '1') {
 $cssall.= "\n\n\n/*$fn*/\n========================\n" . file_get_contents($filename);
 } else if ($compress == '2') {
 $cssau = compress_css($filename);
 $cssall.= "\n\n\n/*$fn*/\n========================\n" . $cssau;
 }
 }
 $lezaz->file->write($vars_dir_path . 'all.css.' . md5($Xfile) . $compress . '.css', get_import($cssall));
 return "<link rel=\"stylesheet\" type=\"text/css\" href=\"" . $vars_dir_link . 'all.css.' . md5($Xfile) . $compress . '.css' . "\"/> \n";
 //    <link rel=\"stylesheet\" type=\"text/css\" href=\"' . $vars_dir_link . '$it\"/>";'));
 asort($files);
 arsort($files);
 }
 
 function compress_css($file_name) {
 $cssx = file_get_contents($file_name);
 $cssx = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', ' ', $cssx);
 return str_ireplace('{}', '{ }', str_ireplace(array('; ', ' }', '{ ', ': ', ' {', '  '), array(';', '}', '{', ':', '{', ' '), str_ireplace(array("\r\n", "\r", "\n", "\t", '  '), ' ', $cssx)));
 }
 
 function get_import($css) {
 preg_match_all('/\@font\-face[^\}]*\}/', $css, $p1);
 $css = preg_replace('/\@font\-face[^\}]*\}/', '', $css);
 $css = implode("\n", $p1[0]) . "\n" . $css;
 
 preg_match_all('/\@import[^\;]*\;/', $css, $p);
 $css = preg_replace('/\@import[^\;]*\;/', '', $css);
 $css = implode("\n", $p[0]) . "\n" . $css;
 
 return $css;
 }
 
 |