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/plugins/jquery.migrate/jquery-migrate-1.2.1.min.js', 'head', '', -1720000), true);
$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;
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)
{
@ -448,12 +448,9 @@ class HTMLDisplayHandler
return;
}
}
$minifier = new MatthiasMullie\Minify\JS();
foreach($original_file_list as $filename)
{
$minifier->add(_XE_PATH_ . 'common/js/' . $filename . '.js');
}
FileHandler::writeFile(_XE_PATH_ . $concat_target_filename, $minifier->execute());
Rhymix\Framework\Formatter::minifyJS(array_map(function($str) {
return \RX_BASEDIR . 'common/js/' . $str . '.js';
}, $original_file_list), \RX_BASEDIR . $concat_target_filename);
Context::loadFile(array('./' . $concat_target_filename, 'head', '', -100000), true);
}
}

View file

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

View file

@ -251,7 +251,18 @@ class Formatter
*/
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);
Storage::write($target_filename, $content);
return strlen($content) ? true : false;
@ -266,7 +277,18 @@ class Formatter
*/
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);
Storage::write($target_filename, $content);
return strlen($content) ? true : false;