public static function init() { date_default_timezone_set(C('DEFAULT_TIMEZONE')); load_ext_file(); Dispatcher::dispatch(); if (defined('GROUP_NAME')) { if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) { C(include CONF_PATH . GROUP_NAME . '/config.php'); } if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) { include COMMON_PATH . GROUP_NAME . '/function.php'; } } $templateSet = C('DEFAULT_THEME'); $gn = strtolower(GROUP_NAME); if (in_array($gn, array('home', 'wap')) && C('TMPL_DETECT_THEME')) { $t = C('VAR_TEMPLATE'); $ct = $gn . '_think_template'; if (isset($_GET[$t])) { $templateSet = $_GET[$t]; if (C('HTML_CACHE_ON') == true && is_dir(TMPL_PATH . GROUP_NAME . '/' . $templateSet)) { YdCache::deleteHtml('all'); } } elseif (cookie($ct)) { $templateSet = cookie($ct); } if (!is_dir(TMPL_PATH . GROUP_NAME . '/' . $templateSet)) { $templateSet = C('DEFAULT_THEME'); if (C('HTML_CACHE_ON') == true && is_dir(TMPL_PATH . GROUP_NAME . '/' . $templateSet)) { YdCache::deleteHtml('all'); } } cookie($ct, $templateSet); } define('THEME_NAME', $templateSet); $group = defined('GROUP_NAME') ? GROUP_NAME . '/' : ''; define('THEME_PATH', TMPL_PATH . $group . (THEME_NAME ? THEME_NAME . '/' : '')); define('APP_TMPL_PATH', __ROOT__ . '/' . APP_NAME . (APP_NAME ? '/' : '') . basename(TMPL_PATH) . '/' . $group . (THEME_NAME ? THEME_NAME . '/' : '')); C('TEMPLATE_NAME', THEME_PATH . MODULE_NAME . (defined('GROUP_NAME') ? C('TMPL_FILE_DEPR') : '/') . ACTION_NAME . C('TMPL_TEMPLATE_SUFFIX')); C('CACHE_PATH', CACHE_PATH . $group); return; }
/** +---------------------------------------------------------- * 应用程序初始化 +---------------------------------------------------------- * @access public +---------------------------------------------------------- * @return void +---------------------------------------------------------- */ public static function init() { // 设置系统时区 date_default_timezone_set(C('DEFAULT_TIMEZONE')); // 加载动态项目公共文件和配置 load_ext_file(); // URL调度 Dispatcher::dispatch(); if (defined('GROUP_NAME')) { // 加载分组配置文件 if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) { C(include CONF_PATH . GROUP_NAME . '/config.php'); } // 加载分组函数文件 if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) { include COMMON_PATH . GROUP_NAME . '/function.php'; } } /* 获取模板主题名称 */ /* $templateSet = C('DEFAULT_THEME'); if(C('TMPL_DETECT_THEME')) {// 自动侦测模板主题 $t = C('VAR_TEMPLATE'); if (isset($_GET[$t])){ $templateSet = $_GET[$t]; }elseif(cookie('think_template')){ $templateSet = cookie('think_template'); } // 主题不存在时仍改回使用默认主题 if(!is_dir(TMPL_PATH.$templateSet)) $templateSet = C('DEFAULT_THEME'); cookie('think_template',$templateSet); } */ //修改By wang 2013-04-02============================================ $templateSet = C('DEFAULT_THEME'); //仅让home分组支持自动切换模板 $gn = strtolower(GROUP_NAME); if (in_array($gn, array('home', 'wap')) && C('TMPL_DETECT_THEME')) { // 自动侦测模板主题 $t = C('VAR_TEMPLATE'); $ct = $gn . '_think_template'; if (isset($_GET[$t])) { $templateSet = $_GET[$t]; //更换主题,必须清空静态缓存 if (C('HTML_CACHE_ON') == true && is_dir(TMPL_PATH . GROUP_NAME . '/' . $templateSet)) { YdCache::deleteHtml('all'); //清楚全部Html缓存 } } elseif (cookie($ct)) { $templateSet = cookie($ct); } // 主题不存在时仍改回使用默认主题 if (!is_dir(TMPL_PATH . GROUP_NAME . '/' . $templateSet)) { $templateSet = C('DEFAULT_THEME'); //切换到默认模板,也需要清空静态缓存 if (C('HTML_CACHE_ON') == true && is_dir(TMPL_PATH . GROUP_NAME . '/' . $templateSet)) { YdCache::deleteHtml('all'); //清楚全部Html缓存 } } cookie($ct, $templateSet); } //============================================================== /* 模板相关目录常量 */ define('THEME_NAME', $templateSet); // 当前模板主题名称 $group = defined('GROUP_NAME') ? GROUP_NAME . '/' : ''; define('THEME_PATH', TMPL_PATH . $group . (THEME_NAME ? THEME_NAME . '/' : '')); define('APP_TMPL_PATH', __ROOT__ . '/' . APP_NAME . (APP_NAME ? '/' : '') . basename(TMPL_PATH) . '/' . $group . (THEME_NAME ? THEME_NAME . '/' : '')); C('TEMPLATE_NAME', THEME_PATH . MODULE_NAME . (defined('GROUP_NAME') ? C('TMPL_FILE_DEPR') : '/') . ACTION_NAME . C('TMPL_TEMPLATE_SUFFIX')); C('CACHE_PATH', CACHE_PATH . $group); return; }