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.
442 lines
10 KiB
442 lines
10 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();
|
|
eCheckCloseMods('fieldand');//关闭模块
|
|
$tbname='';
|
|
$add='';
|
|
$addorder='newstime desc';
|
|
$search='';
|
|
$GLOBALS['navclassid']=0;
|
|
$yhid=0;
|
|
$yhvar='qlist';
|
|
//模型ID
|
|
$mid=(int)$_GET['mid'];
|
|
|
|
if($mid)
|
|
{
|
|
$tbname=$emod_r[$mid]['tbname'];
|
|
if(empty($tbname))
|
|
{
|
|
printerror('ErrorUrl','',1);
|
|
}
|
|
$search.='&mid='.$mid;
|
|
$yhid=$etable_r[$tbname][yhid];
|
|
}
|
|
$title=$_GET['title'];
|
|
$pagetitle=$public_r['sitename'];
|
|
$pagekey=$public_r['sitename'];
|
|
$pagedes=$public_r['sitename'];
|
|
$classimg=$public_r[newsurl].'e/data/images/notimg.gif';
|
|
$url="<a href='".ReturnSiteIndexUrl()."'>".$fun_r['index']."</a> > ".$fun_r['infolist'];
|
|
$pageecms=1;
|
|
$pageclassid=0;
|
|
$have_class=1;
|
|
//栏目
|
|
$trueclassid=0;
|
|
$classid=$_GET['classid'];
|
|
|
|
if($classid)
|
|
{
|
|
$classid=RepPostVar($classid);
|
|
if(strstr($classid,','))//多栏目
|
|
{
|
|
$son_r=sys_ReturnMoreClass($classid,1);
|
|
$trueclassid=$son_r[0];
|
|
$add.=' and ('.$son_r[1].')';
|
|
}
|
|
else
|
|
{
|
|
$trueclassid=intval($classid);
|
|
if($class_r[$trueclassid][islast])//终极栏目
|
|
{
|
|
$add.=" and classid='$trueclassid'";
|
|
$have_class=0;
|
|
}
|
|
else
|
|
{
|
|
$add.=' and '.ReturnClass($class_r[$trueclassid][sonclass]);
|
|
}
|
|
$cr=$empire->fetch1("select classpagekey,intro,classimg,cgroupid,companygroupid from {$dbtbpre}enewsclass where classid='$trueclassid'");
|
|
$isCompany = 0;
|
|
if($cr['companygroupid'])
|
|
{
|
|
$userId= (int)$_COOKIE['lsfmomluserid'];
|
|
$usergroupid = 0;
|
|
if($userId){
|
|
$ccompany=$empire->fetch1("SELECT id FROM www_moban5_cn_ecms_companys WHERE title IN (SELECT company FROM www_moban5_cn_enewsmemberadd WHERE userid='{$userId}')");
|
|
if($ccompany){
|
|
$usergroupid = $ccompany['id'];
|
|
}
|
|
}
|
|
|
|
if(!in_array($usergroupid,explode(",",$cr[companygroupid])))
|
|
{
|
|
printerror('NotLevelToClass2','history.go(-1)',1);
|
|
}else{
|
|
$isCompany = 1;
|
|
}
|
|
}
|
|
//权限
|
|
if($cr['cgroupid'] && !$isCompany)
|
|
{
|
|
$mgroupid=(int)getcvar('mlgroupid');
|
|
if(!strstr($cr[cgroupid],','.$mgroupid.','))
|
|
{
|
|
printerror('NotLevelToClass','history.go(-1)',1);
|
|
}
|
|
}
|
|
|
|
|
|
$pagetitle=$class_r[$trueclassid]['classname'];
|
|
$pagekey=$cr['classpagekey'];
|
|
$pagedes=$cr['intro'];
|
|
$classimg=$cr['classimg']?$cr['classimg']:$public_r[newsurl].'e/data/images/notimg.gif';
|
|
$url=ReturnClassLink($trueclassid);
|
|
$pageecms=0;
|
|
$pageclassid=$trueclassid;
|
|
$GLOBALS['navclassid']=$trueclassid;
|
|
}
|
|
if(empty($class_r[$trueclassid][tbname]))
|
|
{
|
|
printerror('ErrorUrl','',1);
|
|
}
|
|
if(empty($tbname))
|
|
{
|
|
|
|
$tbname=$class_r[$trueclassid][tbname];
|
|
|
|
$mid=$class_r[$trueclassid][modid];
|
|
$yhid=$class_r[$trueclassid][yhid];
|
|
}
|
|
if($class_r[$trueclassid][reorder])
|
|
{
|
|
$addorder=$class_r[$trueclassid][reorder];
|
|
}
|
|
$search.='&classid='.$classid;
|
|
}
|
|
//标题分类
|
|
$truettid=0;
|
|
$ttid=$_GET['ttid'];
|
|
if($ttid)
|
|
{
|
|
$ttid=RepPostVar($ttid);
|
|
if(strstr($ttid,','))//多标题分类
|
|
{
|
|
$son_r=sys_ReturnMoreTT($ttid);
|
|
$truettid=$son_r[0];
|
|
$add.=' and ('.$son_r[1].')';
|
|
}
|
|
else
|
|
{
|
|
$truettid=intval($ttid);
|
|
$add.=" and ttid='$truettid'";
|
|
if($pageecms==1)
|
|
{
|
|
$pagetitle=$class_tr[$truettid]['tname'];
|
|
$pagekey=$class_tr[$truettid]['tname'];
|
|
$pagedes=$class_tr[$truettid]['tname'];
|
|
$classimg=$public_r[newsurl].'e/data/images/notimg.gif';
|
|
$url="<a href='".ReturnSiteIndexUrl()."'>".$fun_r['index']."</a> > ".$class_tr[$truettid]['tname'];
|
|
$pageclassid=$truettid;
|
|
$GLOBALS['navclassid']=$truettid;
|
|
}
|
|
}
|
|
$ttmid=$class_tr[$truettid]['mid'];
|
|
if(empty($ttmid))
|
|
{
|
|
printerror('ErrorUrl','',1);
|
|
}
|
|
if(empty($tbname))
|
|
{
|
|
$tbname=$emod_r[$ttmid]['tbname'];
|
|
$mid=$ttmid;
|
|
$yhid=$class_tr[$truettid][yhid];
|
|
}
|
|
$search.='&ttid='.$ttid;
|
|
}
|
|
if(empty($tbname)||InfoIsInTable($tbname))
|
|
{
|
|
printerror('ErrorUrl','',1);
|
|
}
|
|
if($public_r['fieldandclosetb']&&stristr($public_r['fieldandclosetb'],','.$tbname.','))
|
|
{
|
|
printerror('ErrorUrl','',1);
|
|
}
|
|
//头条
|
|
if($_GET['firsttitle'])
|
|
{
|
|
$firsttitle=(int)$_GET['firsttitle'];
|
|
if($firsttitle==-1)
|
|
{
|
|
$add.=" and firsttitle>0";
|
|
}
|
|
else
|
|
{
|
|
$add.=" and firsttitle='".$firsttitle."'";
|
|
}
|
|
$search.='&firsttitle='.$firsttitle;
|
|
}
|
|
//头条
|
|
if($_GET['isgood'])
|
|
{
|
|
$isgood=(int)$_GET['isgood'];
|
|
if($isgood==-1)
|
|
{
|
|
$add.=" and isgood>0";
|
|
}
|
|
else
|
|
{
|
|
$add.=" and isgood='".$isgood."'";
|
|
}
|
|
$search.='&isgood='.$isgood;
|
|
}
|
|
//时间
|
|
if($_GET['endtime'])
|
|
{
|
|
$starttime=RepPostVar($_GET['starttime']);
|
|
if(empty($starttime))
|
|
{
|
|
$starttime='0000-00-00';
|
|
}
|
|
$endtime=RepPostVar($_GET['endtime']);
|
|
if(empty($endtime))
|
|
{
|
|
$endtime='0000-00-00';
|
|
}
|
|
if($endtime!='0000-00-00')
|
|
{
|
|
$add.=" and (newstime BETWEEN '".to_time($starttime." 00:00:00")."' and '".to_time($endtime." 23:59:59")."')";
|
|
$search.='&starttime='.$starttime.'&endtime='.$endtime;
|
|
}
|
|
}
|
|
//每页显示记录数
|
|
$line=(int)$_GET['line'];
|
|
if($line<10||$line>80)
|
|
{
|
|
if($class_r[$trueclassid]['lencord'])
|
|
{
|
|
$line=$class_r[$trueclassid]['lencord'];
|
|
}
|
|
else
|
|
{
|
|
$line=intval($public_r['qlistinfonum']);
|
|
}
|
|
}
|
|
if(empty($line))
|
|
{
|
|
printerror('ErrorUrl','',1);
|
|
}
|
|
//列表模板
|
|
$tempid=(int)$_GET['tempid'];
|
|
if(empty($tempid))
|
|
{
|
|
if($trueclassid)//栏目
|
|
{
|
|
$tempid=$class_r[$trueclassid]['dtlisttempid']?$class_r[$trueclassid]['dtlisttempid']:$class_r[$trueclassid]['listtempid'];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DtTempIsClose($tempid,'listtemp');
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
$search.='&line='.$line.'&tempid='.$tempid;
|
|
if(empty($mid))
|
|
{
|
|
$mid=$tempr['modid'];
|
|
}
|
|
|
|
//结合项
|
|
if(!empty($emod_r[$mid]['listandf'])&&$_GET['ph']==1)
|
|
{
|
|
$andor=$_GET['andor']=='or'?'or':'and';
|
|
$search.='&ph=1&andor='.$andor;
|
|
$listandf='';
|
|
$andr=explode(',',$emod_r[$mid]['listandf']);
|
|
$count=count($andr)-1;
|
|
for($i=1;$i<$count;$i++)
|
|
{
|
|
$andval=$_GET[$andr[$i]];
|
|
if(!empty($andval))
|
|
{
|
|
if(strlen($andval)>$public_r['max_keyboard'])
|
|
{
|
|
printerror("MinKeyboard","",1);
|
|
}
|
|
$andval=RepPostVar2($andval);
|
|
$doandor=empty($listandf)?'':' '.$andor.' ';
|
|
if(strstr($andval,'__'))
|
|
{
|
|
$andbtr=explode('__',$andval);
|
|
$andbtr[0]=(float)$andbtr[0];
|
|
$andbtr[1]=(float)$andbtr[1];
|
|
if($andbtr[0]&&$andbtr[1])
|
|
{
|
|
$listandf.=$doandor.$andr[$i]." BETWEEN '".$andbtr[0]."' and '".$andbtr[1]."'";
|
|
}
|
|
}
|
|
elseif(empty($emod_r[$mid]['setandf']))
|
|
{
|
|
$listandf.=$doandor.$andr[$i]." LIKE '%".$andval."%'";
|
|
}
|
|
else
|
|
{
|
|
if ($andr[$i]=='title'){
|
|
$listandf.=$doandor." title like '%".$andval."%' or keyboard like '%".$andval."%'";
|
|
}elseif ($andr[$i]=='fengge'){
|
|
$listandff.=$andr[$i]."='".$andval."'";
|
|
}else{
|
|
$listandf.=$doandor.$andr[$i]." like '%".$andval."%'";
|
|
}
|
|
|
|
}
|
|
$search.="&".$andr[$i]."=$andval";
|
|
}
|
|
}
|
|
if($listandf)
|
|
{
|
|
$add.=' and ('.$listandf.')';
|
|
}
|
|
if($listandff)
|
|
{
|
|
$add.=' and ('.$listandff.')';
|
|
}
|
|
}
|
|
|
|
//排序
|
|
$orderby=RepPostVar($_GET['orderby']);
|
|
if ($orderby==1){$orderby='totaldown';}
|
|
if ($orderby==2){$orderby='newstime';}
|
|
if (!$orderby){$orderby='onclick';}
|
|
$myorder=(int)$_GET['myorder'];
|
|
if($orderby)
|
|
{
|
|
$orderr=ReturnDoOrderF($mid,$orderby,$myorder);
|
|
$addorder=$orderr['returnorder'];
|
|
}
|
|
$search.='&orderby='.$orderby.'&myorder='.$myorder;
|
|
$page=(int)$_GET['page'];
|
|
$page=RepPIntvar($page);
|
|
$start=0;
|
|
$page_line=10;//每页显示链接数
|
|
$offset=$page*$line;//总偏移量
|
|
//系统模型
|
|
$ret_r=ReturnReplaceListF($mid);
|
|
//优化
|
|
$yhadd='';
|
|
if($yhid)
|
|
{
|
|
$yhadd=ReturnYhSql($yhid,$yhvar);
|
|
}
|
|
//总数
|
|
$totalnum=(int)$_GET['totalnum'];
|
|
if(!$public_r['usetotalnum'])
|
|
{
|
|
$totalnum=0;
|
|
}
|
|
if($totalnum<1)
|
|
{
|
|
$totalquery="select count(*) as total from {$dbtbpre}ecms_".$tbname.ReturnYhAndSql($yhadd,$add,1);
|
|
$num=$empire->gettotal($totalquery);
|
|
}
|
|
else
|
|
{
|
|
$num=$totalnum;
|
|
}
|
|
if($public_r['usetotalnum'])
|
|
{
|
|
$search.='&totalnum='.$num;
|
|
}
|
|
//checkpageno
|
|
eCheckListPageNo($page,$line,$num);
|
|
//置顶
|
|
if($public_r['fieldandtop'])
|
|
{
|
|
$addorder='istop desc,'.$addorder;
|
|
}
|
|
$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$tbname.ReturnYhAndSql($yhadd,$add,1);
|
|
$query.=" order by ".$addorder." limit $offset,$line";
|
|
$sql=$empire->query($query);
|
|
|
|
$listpage=listpage($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,$pageclassid,$pagetitle,$pagekey,$pagedes,$classimg,$addr,$pageecms);
|
|
$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];
|
|
|
|
echo stripSlashes($string);
|
|
db_close();
|
|
$empire=null;
|
|
?>
|