Ejemplo n.º 1
0
function arc_static($aid = 0, $addno = 0, $needwri = 1)
{
    //可能需要多个页面同时进行
    global $db, $tblprefix, $arc, $sid, $timestamp, $cms_abs, $enablestatic, $archivecircle, $templatedir, $G, $_no_dbhalt, $btags, $mconfigs, $_mp, $_actid, $_midarr, $_a_vars, $_a_var, $mpnav, $mptitle, $mpstart, $mpend, $mppre, $mpnext, $mppage, $mpcount, $mpacount;
    if ($aid) {
        $arc->arcid($aid);
    }
    if (empty($arc->aid) || $addno > $arc->channel['addnum']) {
        return false;
    }
    @extract($mconfigs, EXTR_SKIP);
    switch_cache($arc->archive['sid']);
    $sid = $arc->archive['sid'];
    @extract($btags);
    $tplname = arc_tplname($addno, $arc->archive['arctpls'], $arc->channel['arctpls']);
    $staticarr = empty($arc->channel['statics']) ? array() : explode(',', $arc->channel['statics']);
    $nenablestatic = empty($staticarr[$addno]) ? $enablestatic : ($staticarr[$addno] == 1 ? 0 : 1);
    if (!$nenablestatic || !arc_allowstatic($arc->archive) || !$tplname) {
        arc_un_static(0, $addno, $needwri, 1);
        return false;
    }
    $arc->detail_data();
    $surlpre = $arc->urlpre($addno, 1);
    $filepre = $arc->filepre($addno);
    $_da =& $arc->archive;
    arc_parse($_da);
    $_o_content = ob_get_contents();
    ob_clean();
    $_no_dbhalt = true;
    $pcount = 1;
    for ($_pp = 1; $_pp <= $pcount; $_pp++) {
        $_mp = $G = array();
        $_mp['surlpre'] = $surlpre;
        $_mp['static'] = 1;
        $_mp['nowpage'] = $_pp;
        _aenter($_da, 1);
        extract($_da, EXTR_OVERWRITE);
        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=arc&aid={$aid}" . ($addno ? "&addno={$addno}" : '') . ($sid ? "&sid={$sid}" : '') . "\"></script>";
        $arcfile = m_parseurl($filepre, array('page' => $_pp));
        str2file($_content, M_ROOT . $arcfile);
        unset($_content);
        $pcount = @$_mp['pcount'];
    }
    echo $_o_content;
    unset($_o_content);
    $_no_dbhalt = false;
    if ($needwri) {
        $arc->update_needstatic($addno, 1);
    }
    return true;
}
Ejemplo n.º 2
0
                $crids['sale'][$k] = -$v;
            }
            $actuser->updatecrids($crids['sale'], 1, lang('salearchive'));
            unset($actuser);
        }
    }
}
//读取缓存页面
if (!$enablestatic && $cache1circle) {
    $cachefile = htmlcac_dir($ispre ? 'pre' : 'arc', date('Ym', $arc->archive['createdate']), 1) . cac_namepre($arc->aid) . '_' . $page . '.php';
    if (is_file($cachefile) && filemtime($cachefile) > $timestamp - $cache1circle * 60) {
        mexit(read_htmlcac($cachefile));
    }
}
//分析模板来源
$tplname = $ispre ? $pretpl : arc_tplname($addno, $arc->archive['arctpls'], $arc->channel['arctpls']);
!$tplname && message('definereltem');
$arc->detail_data();
$durlpre = $arc->urlpre($addno);
$_da =& $arc->archive;
arc_parse($_da);
$_mp = array();
$_mp['durlpre'] = $durlpre;
$_mp['static'] = 0;
$_mp['nowpage'] = max(1, intval($page));
$_mp['s_num'] = 0;
//静态页数不限
_aenter($_da, 1);
@extract($btags);
extract($_da, EXTR_OVERWRITE);
tpl_refresh($tplname);
Ejemplo n.º 3
0
        message('wap_cantdeductions');
    }
    $curuser->updatecrids($crids['total'], 0, lang('subscribearchive'));
    $curuser->payrecord($arc->aid, 0, $cridstr, 1);
    if (!empty($crids['sale'])) {
        $actuser = new cls_userinfo();
        $actuser->activeuser($arc->archive['mid']);
        foreach ($crids['sale'] as $k => $v) {
            $crids['sale'][$k] = -$v;
        }
        $actuser->updatecrids($crids['sale'], 1, lang('salearchive'));
        unset($actuser);
    }
}
//分析模板来源
$tplname = arc_tplname($addno, '', $arc->channel['warctpls']);
$tplname || message('wap_definereltem');
$arc->detail_data();
$durlpre = $arc->urlpre($addno);
$_da =& $arc->archive;
arc_parse($_da);
$_mp = array();
$_mp['durlpre'] = $durlpre;
$_mp['static'] = 0;
$_mp['nowpage'] = max(1, intval($page));
_aenter($_da, 1);
@extract($btags);
extract($_da, EXTR_OVERWRITE);
tpl_refresh($tplname);
include M_ROOT . "template/{$templatedir}/pcache/{$tplname}.php";
$_content = ob_get_contents();