/uploads/include/arc.partview.class.php
PHP | 217 lines | 155 code | 16 blank | 46 comment | 18 complexity | 6c370a9aa420e3162a7cac2730bf2c5f MD5 | raw file
Possible License(s): LGPL-2.1
- <?php
- if(!defined('DEDEINC')) exit('Request Error!');
- require_once(DEDEINC.'/channelunit.class.php');
- require_once(DEDEINC.'/typelink.class.php');
-
- class PartView
- {
- var $dsql;
- var $dtp;
- var $TypeID;
- var $Fields;
- var $TypeLink;
- var $pvCopy;
- var $refObj;
-
- //php5????
- function __construct($typeid=0,$needtypelink=true)
- {
- global $_sys_globals;
- $this->TypeID = $typeid;
- $this->dsql = $GLOBALS['dsql'];
- $this->dtp = new DedeTagParse();
- $this->dtp->SetNameSpace("dede","{","}");
- $this->dtp->SetRefObj($this);
-
- if($needtypelink)
- {
- $this->TypeLink = new TypeLink($typeid);
- if(is_array($this->TypeLink->TypeInfos))
- {
- foreach($this->TypeLink->TypeInfos as $k=>$v)
- {
- if(ereg("[^0-9]",$k))
- {
- $this->Fields[$k] = $v;
- }
- }
- }
- $_sys_globals['curfile'] = 'partview';
- $_sys_globals['typename'] = $this->Fields['typename'];
-
- //??????
- SetSysEnv($this->TypeID,$this->Fields['typename'],0,'','partview');
- }
- SetSysEnv($this->TypeID,'',0,'','partview');
- $this->Fields['typeid'] = $this->TypeID;
-
- //??????????
- foreach($GLOBALS['PubFields'] as $k=>$v)
- {
- $this->Fields[$k] = $v;
- }
- }
-
- //?????????
- function SetRefObj(&$refObj)
- {
- $this->dtp->SetRefObj($refObj);
- if(isset($refObj->TypeID))
- {
- $this->__construct($refObj->TypeID);
- }
- }
-
- //??typelink????????
- function SetTypeLink(&$typelink)
- {
- $this->TypeLink = $typelink;
- if(is_array($this->TypeLink->TypeInfos))
- {
- foreach($this->TypeLink->TypeInfos as $k=>$v)
- {
- if(ereg("[^0-9]",$k))
- {
- $this->Fields[$k] = $v;
- }
- }
- }
- }
-
- //php4????
- function PartView($typeid=0,$needtypelink=true)
- {
- $this->__construct($typeid,$needtypelink);
- }
-
- //????????
- function SetTemplet($temp,$stype="file")
- {
- if($stype=="string")
- {
- $this->dtp->LoadSource($temp);
- }
- else
- {
- $this->dtp->LoadTemplet($temp);
- }
- if($this->TypeID > 0)
- {
- $this->Fields['position'] = $this->TypeLink->GetPositionLink(true);
- $this->Fields['title'] = $this->TypeLink->GetPositionLink(false);
- }
- $this->ParseTemplet();
- }
-
- //????
- function Display()
- {
- $this->dtp->Display();
- }
-
- //????
- function GetResult()
- {
- return $this->dtp->GetResult();
- }
-
- /**
- * ???????
- * @param string $filename
- */
- function SaveToHtml($filename)
- {
- $this->dtp->SaveTo($filename);
- }
-
- /**
- * ????????
- */
- function ParseTemplet()
- {
- $GLOBALS['envs']['typeid'] = $this->TypeID;
- if($this->TypeID>0)
- {
- $GLOBALS['envs']['topid'] = GetTopid($this->TypeID);
- }
- else
- {
- $GLOBALS['envs']['topid'] = 0;
- }
- if(isset($this->TypeLink->TypeInfos['reid']))
- {
- $GLOBALS['envs']['reid'] = $this->TypeLink->TypeInfos['reid'];
- }
- if(isset($this->TypeLink->TypeInfos['channeltype']))
- {
- $GLOBALS['envs']['channelid'] = $this->TypeLink->TypeInfos['channeltype'];
- }
- MakeOneTag($this->dtp,$this); //?????? channelunit.func.php ???
- }
-
- /**
- * ??????????????????
- * ??????????????????????????????????????????????
- * @param string $templets
- * @param int $typeid
- * @param int $row
- * @param int $col
- * @param int $titlelen
- * @param int $infolen
- * @param int $imgwidth
- * @param int $imgheight
- * @param string $listtype
- * @param string $orderby
- * @param string $keyword
- * @param string $innertext
- * @param int $tablewidth
- * @param int $arcid
- * @param string $idlist
- * @param int $channelid
- * @param string $limit
- * @param int $att
- * @param string $order
- * @param int $subday
- * @param int $autopartid
- * @param int $ismember
- * @param string $maintable
- * @param object $ctag
- * @return array
- */
- function GetArcList($templets='',$typeid=0,$row=10,$col=1,$titlelen=30,$infolen=160,
- $imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$keyword="",$innertext="",
- $tablewidth="100",$arcid=0,$idlist="",$channelid=0,$limit="",$att=0,$order='desc',$subday=0,
- $autopartid=-1,$ismember=0,$maintable='',$ctag='')
- {
- if(empty($autopartid))
- {
- $autopartid = -1;
- }
- if(empty($typeid))
- {
- $typeid=$this->TypeID;
- }
- if($autopartid!=-1)
- {
- $typeid = $this->GetAutoChannelID($autopartid,$typeid);
- if($typeid==0)
- {
- return "";
- }
- }
-
- if(!isset($GLOBALS['__SpGetArcList']))
- {
- require_once(dirname(__FILE__)."/inc/inc_fun_SpGetArcList.php");
- }
- return SpGetArcList($this->dsql,$templets,$typeid,$row,$col,$titlelen,$infolen,$imgwidth,$imgheight,
- $listtype,$orderby,$keyword,$innertext,$tablewidth,$arcid,$idlist,$channelid,$limit,$att,
- $order,$subday,$ismember,$maintable,$ctag);
- }
-
- //????????
- function Close()
- {
- }
- }//End Class
- ?>