織夢dedecms修改include/arc.listview.class.php,以下是修改後的檔案
代碼如下:
require_once(DEDEINC.’/arc.partview.class.php’);
require_once(DEDEINC.’/ftp.class.php’);
helper(‘cache’);
@set_time_limit(0);
class ListView
{
var $dsql;
var $dtp;
var $dtp2;
var $TypeID;
var $TypeLink;
var $PageNo;
var $TotalPage;
var $TotalResult;
var $PageSize;
var $ChannelUnit;
var $ListType;
var $Fields;
var $PartView;
var $upPageType;
var $addSql;
var $IsError;
var $CrossID;
var $IsReplace;
var $ftp;
var $remoteDir;
var $Noflag;
function __construct($typeid, $uppage=1)
{
global $dsql,$ftp;
$this->TypeID = $typeid;
$this->dsql = &$dsql;
$this->CrossID = ”;
$this->IsReplace = false;
$this->IsError = false;
$this->dtp = new DedeTagParse();
$this->dtp->SetRefObj($this);
$this->dtp->SetNameSpace(“dede”, “{“, “}”);
$this->dtp2 = new DedeTagParse();
$this->dtp2->SetNameSpace(“field”,”[“,”]”);
$this->TypeLink = new TypeLink($typeid);
$this->upPageType = $uppage;
$this->ftp = &$ftp;
$this->remoteDir = ”;
$this->TotalResult = is_numeric($this->TotalResult)? $this->TotalResult : “”;
if(!is_array($this->TypeLink->TypeInfos))
{
$this->IsError = true;
}
if(!$this->IsError)
{
$this->ChannelUnit = new ChannelUnit($this->TypeLink->TypeInfos[‘channeltype’]);
$this->Fields = $this->TypeLink->TypeInfos;
$this->Fields[‘id’] = $typeid;
$this->Fields[‘position’] = $this->TypeLink->GetPositionLink(true);
$this->Fields[‘title’] = preg_replace(“/[<>]/”, ” / “, $this->TypeLink->GetPositionLink(false));
//設定一些全局參數的值
foreach($GLOBALS[‘PubFields’] as $k=>$v) $this->Fields[$k] = $v;
$this->Fields[‘rsslink’] = $GLOBALS[‘cfg_cmsurl’].”/data/rss/”.$this->TypeID.”.xml”;
//設定環境變量
SetSysEnv($this->TypeID,$this->Fields[‘typename’],0,”,’list’);
$this->Fields[‘typeid’] = $this->TypeID;
//獲得交叉欄目ID
if($this->TypeLink->TypeInfos[‘cross’]>0 && $this->TypeLink->TypeInfos[‘ispart’]==0)
{
$selquery = ”;
if($this->TypeLink->TypeInfos[‘cross’]==1)
{
$selquery = “SELECT id,topid FROM `dede_arctype` WHERE typename LIKE ‘{$this->Fields[‘typename’]}’ AND id<>'{$this->TypeID}’ AND topid<>'{$this->TypeID}’ “;
}
else
{
$this->Fields[‘crossid’] = preg_replace(‘/[^0-9,]/’, ”, trim($this->Fields[‘crossid’]));
if($this->Fields[‘crossid’]!=”)
{
$selquery = “SELECT id,topid FROM `dede_arctype` WHERE id in({$this->Fields[‘crossid’]}) AND id<>{$this->TypeID} AND topid<>{$this->TypeID} “;
}
}
if($selquery!=”)
{
$this->dsql->SetQuery($selquery);
$this->dsql->Execute();
while($arr = $this->dsql->GetArray())
{
$this->CrossID .= ($this->CrossID==” ? $arr[‘id’] : ‘,’.$arr[‘id’]);
}
}
}
}//!error
}
//php4構造函數
function ListView($typeid,$uppage=0){
$this->__construct($typeid,$uppage);
}
//關閉相關資源
function Close()
{ }
function CountRecord()
{
global $cfg_list_son,$cfg_need_typeid2,$cfg_cross_sectypeid;
if(empty($cfg_need_typeid2)) $cfg_need_typeid2 = ‘N’;
//統計資料庫記錄
$this->TotalResult = -1;
if(isset($GLOBALS[‘TotalResult’])) $this->TotalResult = $GLOBALS[‘TotalResult’];
if(isset($GLOBALS[‘PageNo’])) $this->PageNo = $GLOBALS[‘PageNo’];
else $this->PageNo = 1;
$this->addSql = ” arc.arcrank > -1 “;
$typeid2like = ” ‘%,{$this->TypeID},%’ “;
if($cfg_list_son==’N’)
{
if($cfg_need_typeid2==’N’)
{
if($this->CrossID==”) $this->addSql .= ” AND (arc.typeid='”.$this->TypeID.”‘) “;
else $this->addSql .= ” AND (arc.typeid in({$this->CrossID},{$this->TypeID})) “;
}
else
{
if($this->CrossID==”)
{
$this->addSql .= ” AND ( (arc.typeid='”.$this->TypeID.”‘) OR CONCAT(‘,’, arc.typeid2, ‘,’) LIKE $typeid2like) “;
} else {
if($cfg_cross_sectypeid == ‘Y’)
{
免責聲明:本站所有文章和圖檔均來自使用者分享和網絡收集,文章和圖檔版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系網站客服處理。
本站vip會員 請加入織夢58 VIP②群 PS:加入時備注使用者名或昵稱
普通注冊會員或訪客 請加入織夢58 技術交流②群