⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inc_arcspec_view.php

📁 强大的PHP内容管理系统尽量不要让站长把时间都花费在为您修正说明上。压缩包解压
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php 
require_once(dirname(__FILE__)."/inc_arcpart_view.php");
require_once(dirname(__FILE__)."/inc_pubtag_make.php");
/******************************************************
//Copyright 2004-2006 by DedeCms.com itprato
//本类的用途是用于浏览所有专题列表或对专题列表生成HTML
******************************************************/
@set_time_limit(0);
class SpecView
{
	var $dsql;
	var $dtp;
	var $dtp2;
	var $TypeID;
	var $TypeLink;
	var $PageNo;
	var $TotalPage;
	var $TotalResult;
	var $PageSize;
	var $ChannelUnit;
	var $ListType;
	var $TempInfos;
	var $Fields;
	var $PartView;
	var $StartTime;
	var $TempletsFile;
	//-------------------------------
	//php5构造函数
	//-------------------------------
	function __construct($starttime=0)
 	{

 		$this->TypeID = 0;
 		$this->dsql = new DedeSql(false);
 		$this->dtp = new DedeTagParse();
 		$this->dtp->SetNameSpace("dede","{","}");
 		$this->dtp2 = new DedeTagParse();
 		$this->dtp2->SetNameSpace("field","[","]");
 		$this->TypeLink = new TypeLink(0);
 		$this->ChannelUnit = new ChannelUnit(-1);
 		//设置一些全局参数的值
 		foreach($GLOBALS['PubFields'] as $k=>$v) $this->Fields[$k] = $v;
 		
 		if($starttime==0) $this->StartTime = 0;
 		else{
 			$this->StartTime = GetMkTime($starttime);
 		}
 		
 		$this->PartView = new PartView();

 		$this->CountRecord();
 		$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_spec.htm";
 		if(!file_exists($tempfile)||!is_file($tempfile)){
 			 echo "模板文件:'".$tempfile."' 不存在,无法解析文档!";
 			 exit();
 		 }
 		 $this->dtp->LoadTemplate($tempfile);
 		 $this->TempletsFile = ereg_replace("^".$GLOBALS['cfg_basedir'],'',$tempfile);
 		 $this->TempInfos['tags'] = $this->dtp->CTags;
 		 $this->TempInfos['source'] = $this->dtp->SourceString;
 		 $ctag = $this->dtp->GetTag("page");
 		 if(!is_object($ctag)) $this->PageSize = 20;
 		 else{
 		    if($ctag->GetAtt("pagesize")!="") $this->PageSize = $ctag->GetAtt("pagesize");
        else $this->PageSize = 20;
     }
     $this->TotalPage = ceil($this->TotalResult/$this->PageSize);
  }
  //php4构造函数
 	//---------------------------
 	function SpecView($starttime=0){
 		$this->__construct($starttime);
 	}
 	//---------------------------
 	//关闭相关资源
 	//---------------------------
 	function Close()
 	{
 		$this->dsql->Close();
 		$this->TypeLink->Close();
 		$this->ChannelUnit->Close();
 	}
 	//------------------
 	//统计列表里的记录
 	//------------------
 	function CountRecord()
 	{
 		$this->TotalResult = -1;
 		
 		if(isset($GLOBALS['TotalResult'])) $this->TotalResult = $GLOBALS['TotalResult'];
 		
 		if(isset($GLOBALS['PageNo'])) $this->PageNo = $GLOBALS['PageNo'];
 		else $this->PageNo = 1;
 		
 		if($this->TotalResult==-1)
 		{
 		  if($this->StartTime>0) $timesql = " And senddate>'".$this->StartTime."'";
 		  else $timesql = "";
 			$row = $this->dsql->GetOne("Select count(*) as dd From `#@__archivesspec` where arcrank > -1 And channel=-1 $timesql");
 			if(is_array($row)) $this->TotalResult = $row['dd'];
 			else $this->TotalResult = 0;
 		}
 	}
 	//------------------
 	//显示列表
 	//------------------
 	function Display()
 	{
 		if($this->TypeLink->TypeInfos['ispart']==1
 		   ||$this->TypeLink->TypeInfos['ispart']==2)
 		{
 			$this->DisplayPartTemplets();
 		}
 		$this->ParseTempletsFirst();
 		foreach($this->dtp->CTags as $tagid=>$ctag){
 			if($ctag->GetName()=="list"){
 				$limitstart = ($this->PageNo-1) * $this->PageSize;
 				$row = $this->PageSize;
 				if(trim($ctag->GetInnerText())==""){ $InnerText = GetSysTemplets("list_fulllist.htm"); }
 				else{ $InnerText = trim($ctag->GetInnerText()); }
 				$this->dtp->Assign($tagid,
 				      $this->GetArcList($limitstart,$row,
 				      $ctag->GetAtt("col"),
 				      $ctag->GetAtt("titlelen"),
 				      $ctag->GetAtt("infolen"),
 				      $ctag->GetAtt("imgwidth"),
 				      $ctag->GetAtt("imgheight"),
 				      $ctag->GetAtt("listtype"),
 				      $ctag->GetAtt("orderby"),
 				      $InnerText,
 				      $ctag->GetAtt("tablewidth"))
 				);
 			}
 			else if($ctag->GetName()=="pagelist"){
 				$list_len = trim($ctag->GetAtt("listsize"));
 				if($list_len=="") $list_len = 3;
 				$this->dtp->Assign($tagid,$this->GetPageListDM($list_len));
 			}
 	  }
 	  $this->Close();
 		$this->dtp->Display();
 	}
 	//------------------
 	//开始创建列表
 	//------------------
 	function MakeHtml()
 	{
 		//初步给固定值的标记赋值
 		$indexfile = '';
 		$this->ParseTempletsFirst();
 		$totalpage = ceil($this->TotalResult/$this->PageSize);
 		if($totalpage==0) $totalpage = 1;
 		CreateDir($GLOBALS['cfg_special']);
 		$murl = "";
 		for($this->PageNo=1;$this->PageNo<=$totalpage;$this->PageNo++)
 		{
 		  foreach($this->dtp->CTags as $tagid=>$ctag){
 			  if($ctag->GetName()=="list"){
 				  $limitstart = ($this->PageNo-1) * $this->PageSize;
 				  $row = $this->PageSize;
 				  if(trim($ctag->GetInnerText())==""){ $InnerText = GetSysTemplets("spec_list.htm"); }
 				  else{ $InnerText = trim($ctag->GetInnerText()); }
 				  $this->dtp->Assign($tagid,
 				      $this->GetArcList($limitstart,$row,
 				      $ctag->GetAtt("col"),
 				      $ctag->GetAtt("titlelen"),
 				      $ctag->GetAtt("infolen"),
 				      $ctag->GetAtt("imgwidth"),
 				      $ctag->GetAtt("imgheight"),
 				      "spec",
 				      $ctag->GetAtt("orderby"),
 				      $InnerText,
 				      $ctag->GetAtt("tablewidth"))
 				  );
 			  }
 			  else if($ctag->GetName()=="pagelist"){
 				  $list_len = trim($ctag->GetAtt("listsize"));
 				  if($list_len=="") $list_len = 3;
 				  $this->dtp->Assign($tagid,$this->GetPageListST($list_len));
 			  }
 	    }//End foreach
 	    $makeFile = $GLOBALS['cfg_special']."/spec_".$this->PageNo.$GLOBALS['art_shortname'];
 	    $murl = $makeFile;
 	    $makeFile = $GLOBALS['cfg_basedir'].$makeFile;
 	    $this->dtp->SaveTo($makeFile);
 	    if(empty($indexfile)){
 	    	$indexfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_special']."/index".$GLOBALS['art_shortname'];
 	    	copy($makeFile,$indexfile);
 	    }
 	    echo "成功创建:<a href='$murl' target='_blank'>$murl</a><br/>";
 	  }
 		$this->Close();
 		return $murl;
 	}
 	//--------------------------------
 	//解析模板,对固定的标记进行初始给值
 	//--------------------------------
 	function ParseTempletsFirst()
 	{
 	   //对公用标记的解析,这里对对象的调用均是用引用调用的,因此运算后会自动改变传递的对象的值
 	   MakePublicTag($this,$this->dtp,$this->PartView,$this->TypeLink,$this->TypeID,0,0);
 	}
 	//----------------------------------
  //获取内容列表
  //---------------------------------
  function GetArcList($limitstart=0,$row=10,$col=1,$titlelen=30,$infolen=250,
  $imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$innertext="",$tablewidth="100")
  {
    $typeid=$this->TypeID;
		if($row=="") $row = 10;
		if($limitstart=="") $limitstart = 0;
		if($titlelen=="") $titlelen = 30;
		if($infolen=="") $infolen = 250;
    if($imgwidth=="") $imgwidth = 120;
    if($imgheight=="") $imgheight = 120;
    if($listtype=="") $listtype = "all";
		if($orderby=="") $orderby="default";
		else $orderby=strtolower($orderby);
		$tablewidth = str_replace("%","",$tablewidth);
		if($tablewidth=="") $tablewidth=100;
		if($col=="") $col=1;
		$colWidth = ceil(100/$col); 
		$tablewidth = $tablewidth."%";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -