www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/include/notice.cls.php
<? !defined('M_COM') && exit('No Permission'); load_cache('cnodes',$sid); class cls_notice{ var $index = 0; var $sindex = 0; var $cnstrs = array(); var $aids = array(); var $saids = array();//需要追溯其合辑的文档id function __construct(){ $this->cls_notice(); } function cls_notice(){ } function init(){ $this->index = 0; $this->sindex = 0; $this->cnstrs = array(); $this->aids = array(); $this->saids = array();//需要追溯其上级合辑的文档id } function saids2aids(){ global $enablestatic,$db,$tblprefix; if(!$enablestatic) return; if(!$this->saids) return; $query = $db->query("SELECT pid FROM {$tblprefix}albums WHERE aid IN (".mimplode(array_keys($this->saids)).") AND checked=1 ORDER BY abid"); while($row = $db->fetch_array($query)){ $this->aids[$row['pid']] = 1; } $this->saids = array(); } function deal_cnstr(){ //相关类目的上级类目追溯 //组合节点的上级节点 //各类系的一级节点,栏目与其它类系的二级组合节点,上级类目的一级节点 global $enablestatic,$cnodes,$timestamp,$db,$tblprefix; if(!$enablestatic) return; $cnstrs = array_keys($this->cnstrs); $cns = array(); foreach($cnstrs as $cnstr){ parse_str($cnstr,$idsarr); $cns = $cns + $this->parse($idsarr); } $cns = array_intersect(array_keys($cnodes),array_keys($cns)); $cns && $db->query("UPDATE {$tblprefix}cnodes SET ineedstatic=$timestamp,lneedstatic=$timestamp,bkneedstatic=$timestamp WHERE ename IN (".mimplode($cns).")"); unset($cns,$idsarr,$cnstrs); $this->cnstrs = array(); } function parse($ids=array()){ $rets = array(); if(!$ids) return $rets; $caid = $ids['caid']; $pids = pcaidsarr($caid,1); foreach($pids as $id) $rets["caid=$id"] = ''; foreach($ids as $k => $v){ if($k != 'caid'){ $coid = str_replace('ccid','',$k); $rets["caid=$caid&$k=$v"] = ''; $pids = pccidsarr($v,$coid,1); foreach($pids as $id) $rets["ccid$coid=$id"] = ''; } } unset($pids); return $rets; } function deal(){ global $enablestatic,$db,$tblprefix,$timestamp,$sid; if(!$enablestatic) return; $this->saids && $this->saids2aids(); $this->index && $db->query("UPDATE {$tblprefix}mconfigs SET value=$timestamp WHERE varname='ineedstatic'"); ($sid && $this->sindex) && $db->query("UPDATE {$tblprefix}subsites SET ineedstatic=$timestamp WHERE sid='$sid'"); $this->cnstrs && $this->deal_cnstr(); $this->aids && $db->query("UPDATE {$tblprefix}archives SET needstatic=$timestamp WHERE aid IN (".mimplode(array_keys($this->aids)).")"); $this->init(); } } ?>