diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 9264a4f6b..e05eb5e42 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 (all|css/rhymix|css/mobile|js/jquery|js/rhymix) + * unload basic files that load in HTMLDisplayHandler (filename|all|common|admin|mobile) * * @return void */ diff --git a/classes/display/HTMLDisplayHandler.php b/classes/display/HTMLDisplayHandler.php index e95682995..9f98ce17b 100644 --- a/classes/display/HTMLDisplayHandler.php +++ b/classes/display/HTMLDisplayHandler.php @@ -239,7 +239,18 @@ class HTMLDisplayHandler Context::set('content', $output); // load basic files - $this->_loadBasicJSCSS(); + if(!in_array('all', Context::getUnloadedBasicFiles())) + { + if(Mobile::isFromMobilePhone()) + { + $this->_loadMobileJSCSS(); + } + else + { + $this->_loadDesktopJSCSS(); + } + $this->_loadCommonJSCSS(); + } // set common layout $output = TemplateHandler::getInstance()->compile('common/tpl', 'common_layout'); @@ -551,75 +562,99 @@ class HTMLDisplayHandler Context::addOpenGraphData('og:article:modified_time', $oDocument->getUpdate('c')); } } - + /** - * import common .js and .css files for (both desktop and mobile) + * import basic .js files. + * @return void */ - private function _loadBasicJSCSS() + private function _loadDesktopJSCSS() { - if(in_array('all', Context::getUnloadedBasicFiles())) + // 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; } - if(!in_array('css/rhymix', Context::getUnloadedBasicFiles())) + + $this->_loadBasicFile('common/css/mobile.css', -1500000000); + } + + /** + * import common .js and .css files for (both desktop and mobile) + */ + private function _loadCommonJSCSS() + { + if(in_array('common', Context::getUnloadedBasicFiles())) { - $this->_loadBasicFile('common/css/rhymix.less', -1600000000); + return; } - if(!in_array('css/mobile', Context::getUnloadedBasicFiles()) && Mobile::isFromMobilePhone()) + + $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') { - $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') + foreach($original_file_list as $filename) { + $this->_loadBasicFile('common/js/' . $filename, -1700000000, 'head'); + } + } + else + { + $concat_target_filename = 'files/cache/assets/minified/rhymix.min.js'; + if(file_exists(\RX_BASEDIR . $concat_target_filename)) + { + $original_mtime = 0; + $concat_target_mtime = filemtime(\RX_BASEDIR . $concat_target_filename); foreach($original_file_list as $filename) { - $this->_loadBasicFile('common/js/' . $filename, -1700000000, 'head'); + $original_mtime = max($original_mtime, filemtime(\RX_BASEDIR . 'common/js/' . $filename)); + } + if($concat_target_mtime > $original_mtime) + { + $no_renew = true; } } - else + if(!isset($no_renew)) { - $concat_target_filename = 'files/cache/assets/minified/rhymix.min.js'; - if(file_exists(\RX_BASEDIR . $concat_target_filename)) + $target_file_list = array(); + foreach($original_file_list as $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; - } + $target_file_list[] = \RX_BASEDIR . 'common/js/' . $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'); + Rhymix\Framework\Formatter::minifyJS($target_file_list, \RX_BASEDIR . $concat_target_filename); } + $this->_loadBasicFile($concat_target_filename, -1700000000, 'head'); } } @@ -628,6 +663,10 @@ 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 f3e12968a..178b93494 100644 --- a/modules/admin/tpl/_header.html +++ b/modules/admin/tpl/_header.html @@ -1,9 +1,3 @@ - - - - - -