Example #1
0
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;
}
Example #2
0
            } elseif ($staticmode == 1) {
                index_static('', 0, 1);
            } elseif ($staticmode == 2) {
                index_unstatic('', 0, 1);
            } elseif ($staticmode == 3) {
                $sid && cn_blank('', $sid, 0);
            }
        }
        if (in_array('m', $ptypes)) {
            include_once M_ROOT . "./include/mcn_static.fun.php";
            if (empty($staticmode)) {
                $db->query("UPDATE {$tblprefix}mconfigs SET value='{$timestamp}' WHERE varname='mcnneedstatic'");
            } elseif ($staticmode == 1) {
                mindex_static('', 0, 1);
            } elseif ($staticmode == 2) {
                mindex_unstatic('', 0, 1);
            }
        }
        adminlog(lang('indstaadm'));
        amessage('inddeafin', "?entry={$entry}&action={$action}{$param_suffix}");
    }
} elseif ($action == 'mcnodes') {
    $staticmode = max(0, intval(@$staticmode));
    $numperpic = min(500, max(20, intval(@$numperpic)));
    $mcnvar = trim(@$mcnvar);
    if (!isset($ptypestr)) {
        $ptypes = empty($ptypes) ? array() : $ptypes;
        $ptypestr = implode(',', $ptypes);
    } else {
        $ptypes = explode(',', $ptypestr);
    }