熊猫办公系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

301 lines
7.7 KiB

<?php
require('../../class/connect.php');
require('../../class/db_sql.php');
require('../../class/functions.php');
require('../../class/t_functions.php');
require('../../data/dbcache/class.php');
require '../'.LoadLang('pub/fun.php');
$link=db_connect();
$empire=new mysqlquery();
$editor=1;
$classid=(int)$_GET['classid'];
if(empty($classid))
{
printerror("ErrorUrl","history.go(-1)",1);
}
$search='&classid='.$classid;
$tbname=$class_r[$classid][tbname];
$mid=$class_r[$classid][modid];
if(empty($tbname)||empty($mid)||InfoIsInTable($tbname))
{
printerror("ErrorUrl","history.go(-1)",1);
}
$cr=$empire->fetch1("select classid,classpagekey,intro,classimg,cgroupid,islist,classtempid,listdt,bdinfoid,repagenum,islast,infos,addsql,fclast from {$dbtbpre}enewsclass where classid='$classid'");
if(empty($cr['classid']))
{
printerror("ErrorUrl","history.go(-1)",1);
}
if($class_r[$classid][islast]&&$cr['bdinfoid'])
{
printerror("ErrorUrl","history.go(-1)",1);
}
//moreport
if(Moreport_ReturnMustDt())
{
$class_r[$classid]['listdt']=1;
$cr['repagenum']=0;
$cr['listdt']=1;
}
//是否支持动态页
if(empty($class_r[$classid]['listdt'])&&!$cr['repagenum'])
{
$classurl=sys_ReturnBqClassname($cr,9);
Header("Location:$classurl");
exit();
}
//权限
if($cr['cgroupid'])
{
$mgroupid=(int)getcvar('mlgroupid');
if(!strstr($cr[cgroupid],','.$mgroupid.','))
{
printerror('NotLevelToClass','history.go(-1)',1);
}
}
//缓存
if($public_r['ctimeopen'])
{
$public_r['usetotalnum']=0;
}
$ecms_tofunr=array();
$ecms_tofunr['cacheuse']=0;
$ecms_tofunr['cacheselfcid']=$classid;
$ecms_tofunr['cachepath']='empirecms';
//缓存
$GLOBALS['navclassid']=$classid;
$url=ReturnClassLink($classid);
$pagetitle=$class_r[$classid]['classname'];
$pagekey=$cr['classpagekey'];
$pagedes=$cr['intro'];
$classimg=$cr['classimg']?$cr['classimg']:$public_r[newsurl].'e/data/images/notimg.gif';
//---封面式---
if(!$class_r[$classid][islast]&&$cr['islist']!=1)
{
if(empty($cr['listdt'])||$cr['islist']==3)
{
printerror("ErrorUrl","history.go(-1)",1);
}
//封面:缓存
$ecms_tofunr['cachetype']='classpage';
$ecms_tofunr['cacheids']=$classid;
$ecms_tofunr['cachedatepath']='cpage';
$ecms_tofunr['cachetime']=$public_r['ctimeclass'];
$ecms_tofunr['cachelasttime']=$public_r['ctimelast'];
$ecms_tofunr['cachelastedit']=$cr['fclast'];
$ecms_tofunr['cacheopen']=Ecms_eCacheCheckOpen($ecms_tofunr['cachetime']);
if($ecms_tofunr['cacheopen']==1)
{
$ecms_tofunr['cacheuse']=Ecms_eCacheOut($ecms_tofunr,0);
}
//封面:缓存
if($cr[islist]==2)
{
$classtemp=GetClassText($classid);
$dttempname='classpage'.$classid;
}
else
{
if(empty($cr['classtempid']))
{
printerror('ErrorUrl','',1);
}
$classtemp=GetClassTemp($cr['classtempid']);
$dttempname='classtemp'.$cr['classtempid'];
}
$string=DtNewsBq($dttempname,$classtemp,0);
$string=str_replace('[!--newsnav--]',$url,$string);//位置导航
$string=Class_ReplaceSvars($string,$url,$classid,$pagetitle,$pagekey,$pagedes,$classimg,$addr,0);
$string=str_replace('[!--page.stats--]','',$string);
//封面:缓存
if($ecms_tofunr['cacheopen']==1)
{
Ecms_eCacheIn($ecms_tofunr,stripSlashes($string));
}
else
{
echo stripSlashes($string);
}
//封面:缓存
exit();
}
//---列表式---
$add='';
//栏目
if($class_r[$classid][islast])//终极栏目
{
$add.="classid='$classid'";
$have_class=0;
}
else
{
$add.=ReturnClass($class_r[$classid][sonclass]);
$have_class=1;
}
if($cr['addsql'])
{
$add.=' and ('.$cr['addsql'].')';
}
//排序
if(empty($class_r[$classid][reorder]))
{
$addorder="newstime desc";
}
else
{
$addorder=$class_r[$classid][reorder];
}
//列表模板
$tempid=$class_r[$classid]['dtlisttempid']?$class_r[$classid]['dtlisttempid']:$class_r[$classid]['listtempid'];
if(empty($tempid))
{
printerror('ErrorUrl','',1);
}
$tempr=$empire->fetch1("select tempid,temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from ".GetTemptb("enewslisttemp")." where tempid='$tempid'");
if(empty($tempr[tempid]))
{
printerror('ErrorUrl','',1);
}
$page=(int)$_GET['page'];
$page=RepPIntvar($page);
$start=0;
$line=$class_r[$classid]['lencord'];//每页显示记录数
$page_line=10;//每页显示链接数
$offset=$page*$line;//总偏移量
//列表:缓存
$ecms_tofunr['cachetype']='classlist';
$ecms_tofunr['cacheids']=$classid.','.$page;
$ecms_tofunr['cachedatepath']='clist/'.$classid;
$ecms_tofunr['cachetime']=$public_r['ctimelist'];
$ecms_tofunr['cachelasttime']=$public_r['ctimelast'];
$ecms_tofunr['cachelastedit']=$cr['fclast'];
$ecms_tofunr['cacheopen']=Ecms_eCacheCheckOpen($ecms_tofunr['cachetime']);
if($ecms_tofunr['cacheopen']==1)
{
$ecms_tofunr['cacheuse']=Ecms_eCacheOut($ecms_tofunr,0);
}
//列表:缓存
//系统模型
$ret_r=ReturnReplaceListF($mid);
//优化
$yhadd='';
$yhid=$class_r[$classid][yhid];
$yhvar='qlist';
if($yhid)
{
$yhadd=ReturnYhSql($yhid,$yhvar,1);
}
//总数
$totalnum=(int)$_GET['totalnum'];
if(!$public_r['usetotalnum'])
{
$totalnum=0;
}
if($totalnum<1)
{
if($yhadd||$cr['addsql'])
{
$totalquery="select count(*) as total from {$dbtbpre}ecms_".$tbname." where ".$yhadd.$add;
$num=$empire->gettotal($totalquery);
}
else
{
$num=ReturnClassInfoNum($cr,0);
}
}
else
{
$num=$totalnum;
}
if($public_r['usetotalnum'])
{
$search.='&totalnum='.$num;
}
//checkpageno
eCheckListPageNo($page,$line,$num);
$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$tbname." where ".$yhadd.$add;
$query.=" order by ".ReturnSetTopSql('list').$addorder." limit $offset,$line";
$sql=$empire->query($query);
//伪静态
$pagefunr=eReturnRewriteClassUrl($classid,0);
$pagefunr['repagenum']=$cr['repagenum'];
$pagefunr['dolink']=empty($class_r[$classid]['classurl'])?$public_r['newsurl'].$class_r[$classid]['classpath'].'/':$class_r[$classid]['classurl'].'/';
$pagefunr['dofile']='index';
$pagefunr['dotype']=$class_r[$classid]['classtype'];
//分页
if($pagefunr['rewrite']==1||$pagefunr['repagenum'])
{
$listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);
}
else
{
$listpage=page1($num,$line,$page_line,$start,$page,$search);
}
//页面支持标签
if($public_r['dtcanbq'])
{
$tempr[temptext]=DtNewsBq('list'.$tempid,$tempr[temptext],0);
}
else
{
if($public_r['searchtempvar'])
{
$tempr[temptext]=ReplaceTempvar($tempr[temptext]);
}
}
$listtemp=$tempr[temptext];
$rownum=$tempr[rownum];
if(empty($rownum))
{$rownum=1;}
$formatdate=$tempr[showdate];
$subnews=$tempr[subnews];
$subtitle=$tempr[subtitle];
$docode=$tempr[docode];
$modid=$tempr[modid];
$listvar=str_replace('[!--news.url--]',$public_r[newsurl],$tempr[listvar]);
//公共
$listtemp=str_replace('[!--newsnav--]',$url,$listtemp);//位置导航
$listtemp=Class_ReplaceSvars($listtemp,$url,$classid,$pagetitle,$pagekey,$pagedes,$classimg,$addr,0);
$listtemp=str_replace('[!--page.stats--]','',$listtemp);
$listtemp=str_replace('[!--show.page--]',$listpage,$listtemp);
$listtemp=str_replace('[!--show.listpage--]',$listpage,$listtemp);
$listtemp=str_replace('[!--list.pageno--]',$page+1,$listtemp);
//取得列表模板
$list_exp="[!--empirenews.listtemp--]";
$list_r=explode($list_exp,$listtemp);
$listtext=$list_r[1];
$no=$offset+1;
$changerow=1;
while($r=$empire->fetch($sql))
{
//替换列表变量
$repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode);
$listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext);
$changerow+=1;
//超过行数
if($changerow>$rownum)
{
$changerow=1;
$string.=$listtext;
$listtext=$list_r[1];
}
$no++;
}
//多余数据
if($changerow<=$rownum&&$listtext<>$list_r[1])
{
$string.=$listtext;
}
$string=$list_r[0].$string.$list_r[2];
//列表:缓存
if($ecms_tofunr['cacheopen']==1)
{
Ecms_eCacheIn($ecms_tofunr,stripSlashes($string));
}
else
{
echo stripSlashes($string);
}
//列表:缓存
db_close();
$empire=null;
?>