function mindex_static($cnstr = '', $addno = 0, $needwri = 1) { global $db, $tblprefix, $cms_abs, $liststaticnum, $homedefault, $sid, $enablestatic, $timestamp, $templatedir, $G, $_no_dbhalt, $btags, $mconfigs, $_mp, $_actid, $_midarr, $_a_vars, $_a_var, $mpnav, $mptitle, $mpstart, $mpend, $mppre, $mpnext, $mppage, $mpcount, $mpacount; @extract($mconfigs, EXTR_SKIP); @extract($btags); $nenablestatic = $enablestatic; if ($cnstr) { if (!($cnode = read_mcnode($cnstr)) || $addno > $cnode['addnum']) { return false; } $statics = empty($cnode['statics']) ? array() : explode(',', $cnode['statics']); $nenablestatic = empty($statics[$addno]) ? $enablestatic : ($statics[$addno] == 1 ? 0 : 1); } elseif ($addno) { return false; } //频道首页不能带附加页 if (!$nenablestatic || !($tplname = mcn_tplname($cnstr, $addno))) { mindex_unstatic($cnstr, $addno, $needwri); return false; } if ($cnstr) { parse_str($cnstr, $_da); $_da += m_cnparse($cnstr) + mcnodearr($cnstr); } else { $_da = array(); } $cnformat = mcn_format($cnstr, $addno); $_o_content = ob_get_contents(); ob_clean(); $_no_dbhalt = true; $pcount = 1; for ($_pp = 1; $_pp <= $pcount; $_pp++) { $_mp = $G = array(); $_mp['durlpre'] = $memberurl . en_virtual($cnstr ? "index.php?{$cnstr}" . ($addno ? "&addno={$addno}" : '') . '&page={$page}' : 'index.php?page={$page}', 1); $_mp['surlpre'] = view_url($cnformat); $_mp['static'] = 1; $_mp['nowpage'] = max(1, intval($_pp)); $_mp['s_num'] = $liststaticnum; _aenter($_da, 1); extract($_da, EXTR_OVERWRITE); $sid = 0; //???????????????????????????????????????? tpl_refresh($tplname); @(include M_ROOT . "template/{$templatedir}/pcache/{$tplname}.php"); $_content = ob_get_contents(); ob_clean(); $_content .= "<script language=\"javascript\" src=\"" . $cms_abs . "tools/static.php?mode=mcnode" . ($cnstr ? "&{$cnstr}" : '') . ($addno ? "&addno={$addno}" : '') . "\"></script>"; @str2file($_content, M_ROOT . m_parseurl($cnformat, array('page' => $_pp))); unset($_content); $pcount = empty($liststaticnum) ? @$_mp['pcount'] : min(@$_mp['pcount'], $liststaticnum); } echo $_o_content; unset($_o_content, $_da, $cnode); $_no_dbhalt = false; if ($needwri) { mcn_update_needstatic($cnstr, $addno, 1); } return true; }
$cnstr = mcnstr($temparr); $addno = max(0, intval(@$temparr['addno'])); $page = max(1, intval(@$temparr['page'])); if (!($cnode = read_mcnode($cnstr))) { $cnstr = ''; $addno = 0; } $cache1circle && ($cachefile = htmlcac_dir('mcn', '', 1) . cac_namepre($cnstr, $addno) . '_' . $page . '.php'); if ($cache1circle && is_file($cachefile) && filemtime($cachefile) > $timestamp - $cache1circle * 60) { mexit(read_htmlcac($cachefile)); } $_da = $temparr; if ($cnstr) { $_da += m_cnparse($cnstr); $_da += mcnodearr($cnstr); $tplname = mcn_tplname($cnstr, $addno); $statics = empty($cnode['statics']) ? array() : explode(',', $cnode['statics']); $enablestatic = empty($statics[$addno]) ? $enablestatic : ($statics[$addno] == 1 ? 0 : 1); } else { $tplname = @$m_index_tpl; } empty($tplname) && message('definereltem'); $_mp = array('durlpre' => $memberurl . en_virtual("index.php?" . substr(($cnstr ? "&{$cnstr}" : '') . ($addno ? "&addno={$addno}" : '') . '&page={$page}', 1), 1), 'static' => 0, 'nowpage' => $page); _aenter($_da, 1); @extract($btags); extract($_da, EXTR_OVERWRITE); $sid = 0; tpl_refresh($tplname); @(include M_ROOT . "template/{$templatedir}/pcache/{$tplname}.php"); $_content = ob_get_contents(); ob_clean();