君山 发表于 2020-9-29 13:14:28

Discuz checktplrefresh 函数 检查模板源文件是否更新


/**
* 检查模板源文件是否更新
* 当编译文件不存时强制重新编译
* 当 tplrefresh = 1 时检查文件
* 当 tplrefresh > 1 时,则根据 tplrefresh 取余,无余时则检查更新
*
*/


function checktplrefresh($maintpl, $subtpl, $timecompare, $templateid, $cachefile, $tpldir, $file) {
        static $tplrefresh, $timestamp, $targettplname;
        if($tplrefresh === null) {
                $tplrefresh = getglobal('config/output/tplrefresh');
                $timestamp = getglobal('timestamp');
        }

        if(empty($timecompare) || $tplrefresh == 1 || ($tplrefresh > 1 && !($timestamp % $tplrefresh))) {
                if(!file_exists(DISCUZ_ROOT.$subtpl)){
                        $subtpl = substr($subtpl, 0, -4).'.php';
                }
                if(empty($timecompare) || @filemtime(DISCUZ_ROOT.$subtpl) > $timecompare) {
                        require_once DISCUZ_ROOT.'/source/class/class_template.php';
                        $template = new template();
                        $template->parse_template($maintpl, $templateid, $tpldir, $file, $cachefile);
                        if($targettplname === null) {
                                $targettplname = getglobal('style/tplfile');
                                if(!empty($targettplname)) {
                                        include_once libfile('function/block');
                                        $targettplname = strtr($targettplname, ':', '_');
                                        update_template_block($targettplname, getglobal('style/tpldirectory'), $template->blocks);
                                }
                                $targettplname = true;
                        }
                        return TRUE;
                }
        }
        return FALSE;
}
页: [1]
查看完整版本: Discuz checktplrefresh 函数 检查模板源文件是否更新