Use Formatter class to add multiple common scripts at the same time

This commit is contained in:
Kijin Sung 2016-05-04 14:27:47 +09:00
parent 753a70005a
commit 2a8c18eb01
3 changed files with 34 additions and 22 deletions

View file

@ -434,13 +434,13 @@ class HTMLDisplayHandler
Context::loadFile(array('./common/js/jquery-' . $jquery_version . '.min.js', 'head', '', -1730000), true); Context::loadFile(array('./common/js/jquery-' . $jquery_version . '.min.js', 'head', '', -1730000), true);
Context::loadFile(array('./common/js/plugins/jquery.migrate/jquery-migrate-1.2.1.min.js', 'head', '', -1720000), true); Context::loadFile(array('./common/js/plugins/jquery.migrate/jquery-migrate-1.2.1.min.js', 'head', '', -1720000), true);
$concat_target_filename = 'files/cache/minify/xe.min.js'; $concat_target_filename = 'files/cache/minify/xe.min.js';
if(file_exists(_XE_PATH_ . $concat_target_filename)) if(file_exists(\RX_BASEDIR . $concat_target_filename))
{ {
$concat_target_mtime = filemtime(_XE_PATH_ . $concat_target_filename); $concat_target_mtime = filemtime(\RX_BASEDIR . $concat_target_filename);
$original_mtime = 0; $original_mtime = 0;
foreach($original_file_list as $filename) foreach($original_file_list as $filename)
{ {
$original_mtime = max($original_mtime, filemtime(_XE_PATH_ . 'common/js/' . $filename . '.js')); $original_mtime = max($original_mtime, filemtime(\RX_BASEDIR . 'common/js/' . $filename . '.js'));
} }
if($concat_target_mtime > $original_mtime) if($concat_target_mtime > $original_mtime)
{ {
@ -448,12 +448,9 @@ class HTMLDisplayHandler
return; return;
} }
} }
$minifier = new MatthiasMullie\Minify\JS(); Rhymix\Framework\Formatter::minifyJS(array_map(function($str) {
foreach($original_file_list as $filename) return \RX_BASEDIR . 'common/js/' . $str . '.js';
{ }, $original_file_list), \RX_BASEDIR . $concat_target_filename);
$minifier->add(_XE_PATH_ . 'common/js/' . $filename . '.js');
}
FileHandler::writeFile(_XE_PATH_ . $concat_target_filename, $minifier->execute());
Context::loadFile(array('./' . $concat_target_filename, 'head', '', -100000), true); Context::loadFile(array('./' . $concat_target_filename, 'head', '', -100000), true);
} }
} }

View file

@ -7,8 +7,9 @@
* */ * */
class FrontEndFileHandler extends Handler class FrontEndFileHandler extends Handler
{ {
/**
public static $isSSL = null; * Minification configuration.
*/
public static $minify = null; public static $minify = null;
/** /**
@ -55,15 +56,7 @@ class FrontEndFileHandler extends Handler
*/ */
function isSsl() function isSsl()
{ {
if(!is_null(self::$isSSL)) return \RX_SSL;
{
return self::$isSSL;
}
$url_info = parse_url(Context::getRequestUrl());
self::$isSSL = ($url_info['scheme'] == 'https');
return self::$isSSL;
} }
/** /**

View file

@ -251,7 +251,18 @@ class Formatter
*/ */
public static function minifyCSS($source_filename, $target_filename) public static function minifyCSS($source_filename, $target_filename)
{ {
$minifier = new \MatthiasMullie\Minify\CSS($source_filename); $minifier = new \MatthiasMullie\Minify\CSS();
if (is_array($source_filename))
{
foreach ($source_filename as $filename)
{
$minifier->add($filename);
}
}
else
{
$minifier->add($source_filename);
}
$content = $minifier->execute($target_filename); $content = $minifier->execute($target_filename);
Storage::write($target_filename, $content); Storage::write($target_filename, $content);
return strlen($content) ? true : false; return strlen($content) ? true : false;
@ -266,7 +277,18 @@ class Formatter
*/ */
public static function minifyJS($source_filename, $target_filename) public static function minifyJS($source_filename, $target_filename)
{ {
$minifier = new \MatthiasMullie\Minify\JS($source_filename); $minifier = new \MatthiasMullie\Minify\JS();
if (is_array($source_filename))
{
foreach ($source_filename as $filename)
{
$minifier->add($filename);
}
}
else
{
$minifier->add($source_filename);
}
$content = $minifier->execute($target_filename); $content = $minifier->execute($target_filename);
Storage::write($target_filename, $content); Storage::write($target_filename, $content);
return strlen($content) ? true : false; return strlen($content) ? true : false;