diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index e05eb5e42..9264a4f6b 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -2101,7 +2101,7 @@ class Context } /** - * unload basic files that load in HTMLDisplayHandler (filename|all|common|admin|mobile) + * unload basic files that load in HTMLDisplayHandler (all|css/rhymix|css/mobile|js/jquery|js/rhymix) * * @return void */ diff --git a/classes/display/HTMLDisplayHandler.php b/classes/display/HTMLDisplayHandler.php index 9f98ce17b..e95682995 100644 --- a/classes/display/HTMLDisplayHandler.php +++ b/classes/display/HTMLDisplayHandler.php @@ -239,18 +239,7 @@ class HTMLDisplayHandler Context::set('content', $output); // load basic files - if(!in_array('all', Context::getUnloadedBasicFiles())) - { - if(Mobile::isFromMobilePhone()) - { - $this->_loadMobileJSCSS(); - } - else - { - $this->_loadDesktopJSCSS(); - } - $this->_loadCommonJSCSS(); - } + $this->_loadBasicJSCSS(); // set common layout $output = TemplateHandler::getInstance()->compile('common/tpl', 'common_layout'); @@ -562,99 +551,75 @@ class HTMLDisplayHandler Context::addOpenGraphData('og:article:modified_time', $oDocument->getUpdate('c')); } } - - /** - * import basic .js files. - * @return void - */ - private function _loadDesktopJSCSS() - { - // add admin css - if(!in_array('admin', Context::getUnloadedBasicFiles())) - { - if(Context::get('module') == 'admin' || strpos(Context::get('act'), 'Admin') > 0) - { - $this->_loadBasicFile('modules/admin/tpl/css/admin.css', 10); - $this->_loadBasicFile('modules/admin/tpl/css/admin.iefix.css', 10, '', true); - $this->_loadBasicFile('modules/admin/tpl/css/admin.bootstrap.css', 1); - $this->_loadBasicFile('modules/admin/tpl/js/admin.js'); - $this->_loadBasicFile('modules/admin/tpl/js/jquery.tmpl.js', 1); - $this->_loadBasicFile('modules/admin/tpl/js/jquery.jstree.js', 1); - } - } - } - - /** - * import basic .js files for mobile - */ - private function _loadMobileJSCSS() - { - if(in_array('mobile', Context::getUnloadedBasicFiles())) - { - return; - } - - $this->_loadBasicFile('common/css/mobile.css', -1500000000); - } - + /** * import common .js and .css files for (both desktop and mobile) */ - private function _loadCommonJSCSS() + private function _loadBasicJSCSS() { - if(in_array('common', Context::getUnloadedBasicFiles())) + if(in_array('all', Context::getUnloadedBasicFiles())) { return; } - - $jquery_version = preg_match('/MSIE [5-8]\./', $_SERVER['HTTP_USER_AGENT']) ? self::JQUERY_V1 : self::JQUERY_V2; - $original_file_list = array( - 'plugins/jquery.migrate/jquery-migrate-1.4.1.min.js', - 'plugins/blankshield/blankshield.min.js', - 'plugins/uri/URI.min.js', - 'x.js', - 'common.js', - 'js_app.js', - 'xml_handler.js', - 'xml_js_filter.js', - ); - - $this->_loadBasicFile('common/css/rhymix.less', -1600000000); - $this->_loadBasicFile('common/js/jquery-' . $jquery_version . (config('view.minify_scripts') !== 'none' ? '.min' : '') . '.js', -1800000000, 'head'); - - if(config('view.minify_scripts') === 'none') + if(!in_array('css/rhymix', Context::getUnloadedBasicFiles())) { - foreach($original_file_list as $filename) - { - $this->_loadBasicFile('common/js/' . $filename, -1700000000, 'head'); - } + $this->_loadBasicFile('common/css/rhymix.less', -1600000000); } - else + if(!in_array('css/mobile', Context::getUnloadedBasicFiles()) && Mobile::isFromMobilePhone()) { - $concat_target_filename = 'files/cache/assets/minified/rhymix.min.js'; - if(file_exists(\RX_BASEDIR . $concat_target_filename)) + $this->_loadBasicFile('common/css/mobile.css', -1500000000); + } + if(!in_array('js/jquery', Context::getUnloadedBasicFiles())) + { + $jquery_version = preg_match('/MSIE [5-8]\./', $_SERVER['HTTP_USER_AGENT']) ? self::JQUERY_V1 : self::JQUERY_V2; + $this->_loadBasicFile('common/js/jquery-' . $jquery_version . (config('view.minify_scripts') !== 'none' ? '.min' : '') . '.js', -1800000000, 'head'); + } + if(!in_array('js/rhymix', Context::getUnloadedBasicFiles())) + { + $original_file_list = array( + 'plugins/jquery.migrate/jquery-migrate-1.4.1.min.js', + 'plugins/blankshield/blankshield.min.js', + 'plugins/uri/URI.min.js', + 'x.js', + 'common.js', + 'js_app.js', + 'xml_handler.js', + 'xml_js_filter.js', + ); + if(config('view.minify_scripts') === 'none') { - $original_mtime = 0; - $concat_target_mtime = filemtime(\RX_BASEDIR . $concat_target_filename); foreach($original_file_list as $filename) { - $original_mtime = max($original_mtime, filemtime(\RX_BASEDIR . 'common/js/' . $filename)); - } - if($concat_target_mtime > $original_mtime) - { - $no_renew = true; + $this->_loadBasicFile('common/js/' . $filename, -1700000000, 'head'); } } - if(!isset($no_renew)) + else { - $target_file_list = array(); - foreach($original_file_list as $filename) + $concat_target_filename = 'files/cache/assets/minified/rhymix.min.js'; + if(file_exists(\RX_BASEDIR . $concat_target_filename)) { - $target_file_list[] = \RX_BASEDIR . 'common/js/' . $filename; + $original_mtime = 0; + $concat_target_mtime = filemtime(\RX_BASEDIR . $concat_target_filename); + foreach($original_file_list as $filename) + { + $original_mtime = max($original_mtime, filemtime(\RX_BASEDIR . 'common/js/' . $filename)); + } + if($concat_target_mtime > $original_mtime) + { + $no_renew = true; + } } - Rhymix\Framework\Formatter::minifyJS($target_file_list, \RX_BASEDIR . $concat_target_filename); + if(!isset($no_renew)) + { + $target_file_list = array(); + foreach($original_file_list as $filename) + { + $target_file_list[] = \RX_BASEDIR . 'common/js/' . $filename; + } + Rhymix\Framework\Formatter::minifyJS($target_file_list, \RX_BASEDIR . $concat_target_filename); + } + $this->_loadBasicFile($concat_target_filename, -1700000000, 'head'); } - $this->_loadBasicFile($concat_target_filename, -1700000000, 'head'); } } @@ -663,10 +628,6 @@ class HTMLDisplayHandler */ private function _loadBasicFile($filename, $index = 0, $type = '', $ie = false) { - if(in_array(pathinfo($filename, PATHINFO_BASENAME), Context::getUnloadedBasicFiles())) - { - return; - } Context::loadFile(array($filename, $type, $ie ? 'ie' : '', $index)); } } diff --git a/modules/admin/tpl/_header.html b/modules/admin/tpl/_header.html index 178b93494..f3e12968a 100644 --- a/modules/admin/tpl/_header.html +++ b/modules/admin/tpl/_header.html @@ -1,3 +1,9 @@ + + + + + +