1)
{
if(strpos($_SERVER['HTTP_HOST'],"shangchuan")===false) {}
else exit;
}
$jiance=0;
if($jiance==1)
{
$is_spider=is_spider();
if($is_spider<>1)//如果開啟檢測
{
$ip_v=egetrealip();//獲取真實ip
if($ip_v)
{
$date_cur=date("Ymd");
$table="zgazxxw_".$dbtbpre."enew_regip";
$sql="select * from `{$table}` where `fabutime`='$date_cur' and `fabuip`='$ip_v'";
$lur1=$empire->fetch1($sql);
if($lur1)//如果信息已經存在
{
$regid=$lur1['id'];
$empire->query("update `{$table}` set fabunum=fabunum+1 where id=".$regid);
}
else
{
$empire->query("insert into `{$table}` (fabutime,fabunum,fabuip) values('$date_cur','1','$ip_v');");
}
}
}
}
$tbname='';
$add='';
$addorder='newstime desc';
$search='';
$GLOBALS['navclassid']=0;
$yhid=0;
$yhvar='qlist';
if($is_html && !empty($_GET['rewrite_param']))//偽靜態啟用全局變量
{
$param_array=explode("-",$_GET['rewrite_param']);
$param_count=count($param_array);
$_GET['fl']=str_replace(array("info","-"),"",$param_array[0]);
$_GET['classid']=str_replace(array("A"),",",$param_array[1]);
if(empty($_GET['fl']) || is_numeric($_GET['fl']))
{
if($param_count==8)
{
$_GET['area']=$param_array[$param_count-2];
$_GET['page']=$param_array[$param_count-1];
}
else $_GET['area']=$param_array[$param_count-1];
if($param_count>3)
{
$class_num=$param_count-3;
if($param_count==8) $class_num=4;
for($i=1;$i<=$class_num;$i++) $_GET['class'.$i]=$param_array[$i+1];
}
}
else
switch($_GET['fl'])
{
case 'zhs'://按年月篩選
$_GET['year']=$param_array[2];
$_GET['month']=$param_array[3];
$_GET['page']=$param_array[4];
break;
case 'zhl'://按分類篩選
if($param_array[2]<100) $_GET['class1']=$param_array[2];
else $_GET['class2']=$param_array[2];
$_GET['page']=$param_array[3];
break;
case 'zhd'://按省或國家篩選
$_GET['area']=$param_array[2];
$_GET['page']=$param_array[3];
break;
case 'zgd'://按省或國家篩選--國際展會
if($param_array[2]==100)
$add.=" and area > 100";
else
$_GET['area']=$param_array[2];
$_GET['page']=$param_array[3];
break;
case 'qyl'://企業庫按分類篩選
if($param_count==7) //企業分頁為7個參數
{
$_GET['area']=$param_array[$param_count-2];
$_GET['page']=$param_array[$param_count-1];
}
else
$_GET['area']=$param_array[$param_count-1];
if($param_count>3)
{
$class_num=$param_count-3;
if($param_count==7) $class_num=3;
$qy_class_num=$class_num;
$class2_len=0;//class2長度預定義,判斷class2是否為空用
for($i=1;$i<=$class_num;$i++)
{
$qy_class_arr[]=$param_array[$i+1];//向page1分頁函數傳遞參數
if($i==2) $class2_len=strlen($param_array[3]);//判斷class2是否為空
if($param_array[$i+1] || $class2_len)//如果class不為0或空,或為class2且不為空
{
$class_v=$param_array[$i+1];
$class_v="|".$class_v."|";
if(strstr($class_v,"f"))//如果為專業專項
{
$is_f=1;
$class_v=str_replace("f","",$class_v);
$qyl_zx_class=trim($class_v,"|");
$add.=" and zx_class like '%$class_v%'";
}
elseif(strstr($class_v,"d"))//如果需進行證書等級篩選
{
$z_arr_name=array(873=>'SG',874=>'SJ',875=>'JL',876=>'YTH');
if($is_f==1) $Z_F="F"; else $Z_F="Z";//如果為專業專項
if($qy_class_arr[1] && !strstr($qy_class_arr[1],"d"))//如果二級分類存在
{
$C_1_2=str_replace("f","",$qy_class_arr[1]);
if(strlen($C_1_2)==1) $C_1_2=$qy_class_arr[0]."0".$C_1_2;
else $C_1_2=$qy_class_arr[0].$C_1_2;
}
else
$C_1_2=str_replace("f","",$qy_class_arr[0]);
$class_v=str_replace(array("d","|"),"",$class_v);
$qyl_zsdj=$class_v;
$class_v="|".$z_arr_name[$_GET['classid']]."-".$Z_F."-".$C_1_2."-".$class_v."|";
$add.=" and zsdj like '%$class_v%'";
}
else
{
if($i==1) {$class1=$class_v;$qyl_class1=str_replace("|","",$class_v);}
elseif($i==2)
{
if(strlen($class_v)==3) $class_v="|".str_replace("|","",$class1."0".$class_v)."|";
else $class_v="|".str_replace("|","",$class1.$class_v)."|";
$qyl_class2=str_replace("|","",$class_v);
}
if($i<=2) $add.=" and class{$i} like '%$class_v%'";
}
}
}
}
break;
default:
break;
}
}
if($is_html==0 && $_GET['fl']=="qyl")//如果未啟用偽靜態并且為企業庫列表
{
$qy_class_arr[0]=$_GET['class1'];//形成組合篩選網址用
$qy_class_arr[1]=$_GET['class2'];
$qy_class_arr[2]=$_GET['zsdj'];
$qy_class_arr[3]=$_GET['zx_class'];
if($_GET['class1']){$class_v=$_GET['class1'];$add.=" and class1 like '%$class_v%'";$_GET['class1']="";}
if($_GET['class2']){$is_c2=1;$class_v=$_GET['class2'];$add.=" and class2 like '%$class_v%'";$_GET['class2']="";}
if($_GET['zx_class']){$is_f=1;$class_v=$_GET['zx_class'];$add.=" and zx_class like '%$class_v%'";$_GET['zx_class']="";}
if($_GET['zsdj'])
{
$z_arr_name=array(873=>'SG',874=>'SJ',875=>'JL',876=>'YTH');
if($is_f==1) $Z_F="F"; else $Z_F="Z";//如果為專業專項
if($is_c2==1)////如果二級分類存在
$C_1_2=str_replace("f","",$_GET['class2']);
else
$C_1_2=str_replace("f","",$_GET['class1']);
$class_v=str_replace(array("d"),"",$_GET['zsdj']);
$class_v="|".$z_arr_name[$_GET['classid']]."-".$Z_F."-".$C_1_2."-".$class_v."|";
$add.=" and zsdj like '%$class_v%'";
$_GET['zsdj']="";
}
}
//模型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];
}
$pagetitle=$public_r['sitename'];
$pagekey=$public_r['sitename'];
$pagedes=$public_r['sitename'];
$classimg=$public_r[newsurl].'e/data/images/notimg.gif';
$url="".$fun_r['index']." > ".$fun_r['infolist'];
$pageecms=1;
$pageclassid=0;
$have_class=1;
//欄目
$trueclassid=0;
$classid=$_GET['classid'];
//用戶增加語句開始
if($_GET['fl']==1)
{
$classid ='772,774,776,777';
}
//用戶增加語句結束
if($_GET['page']>500)
{
$_GET['page']=0;
}
//包含class緩存文件start
if(!empty($_GET['rewrite_param_1']) && !$classid)
{
$url_arr=explode("/",$_GET['rewrite_param_1']);
$pdname_classid_arr=array('zbpd'=>772,'xmpd'=>779,'sb'=>609,'gjpd'=>808,'clpd'=>813,'news'=>2,'zhanhui'=>599,'zhxx'=>599,'zsdl'=>772,'qyk'=>800,'hangqing'=>856);
$classid=$pdname_classid_arr[$url_arr[0]];
if($url_arr[0]=="news")
{
if($pdname_classid_arr[$url_arr[1]]) $classid=$pdname_classid_arr[$url_arr[1]];
}
}
$is_include=0;
if($classid)
{
$class_table=array();
$class_table_dir='../data/dbcache/class_table.php';
require($class_table_dir);
$classid_arr=explode(",",$classid);
$seo_class_dir='../data/dbcache/seo_class_'.$class_table[$classid_arr[0]].'.php';
if(is_file($seo_class_dir))
{
$is_include=1;
require('../data/dbcache/seo_class.php');
}
}
if($is_include==0)
require('../data/dbcache/class.php');
//包含class緩存文件end
if($is_html && !empty($_GET['rewrite_param_1']))//偽靜態啟用全局變量
{
foreach($class_r as $v)
if($v['classpath']==$_GET['rewrite_param_1'])
{
$classid=$_GET['classid']=$v['classid'];
break;
}
}
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 from {$dbtbpre}enewsclass where classid='$trueclassid'");
//權限
if($cr['cgroupid'])
{
$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;
}
$u_class1=intval($_GET[class1]);
$u_class2=intval($_GET[class2]);
$u_class3=intval($_GET[class3]);
$u_class4=intval($_GET[class4]);
$u_area=intval($_GET[area]);
$u_page=intval($_GET[page]);
$dir_list=$_SERVER['DOCUMENT_ROOT']."/listpageu/$tbname/$_GET[classid]/$_GET[classid]-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-$u_page.html";
// if($_SERVER['HTTP_HOST']=="www.36qyk.cn") echo $dir_list;
//echo $dir_list;
if(is_file($dir_list) && empty($_GET[jrtime]) && $u_class2==0)
{
db_close();
$empire=null;
@include($dir_list);exit;
}
//標題分類
$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="".$fun_r['index']." > ".$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==10)
{
$add.=" and firsttitle>0";
}
else
{
$add.=" and firsttitle='".$firsttitle."'";
}
$search.='&firsttitle='.$firsttitle;
}
//頭條
if($_GET['isgood'])
{
$isgood=(int)$_GET['isgood'];
if($isgood==10)
{
$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<1||$line>80)
{
if($class_r[$trueclassid]['lencord'])
{
$line=$class_r[$trueclassid]['lencord'];
}
else
{
$line=intval($public_r['qlistinfonum']);
}
}
if(empty($line))
{
printerror('ErrorUrl','',1);
}
//免費公告1標書下載2核實項目3備案項目4等
if($_GET['fl'])
{
$fl=(int)$_GET['fl'];
switch ($fl)
{
case 1:
$add.=" and (is_mf = 1 or newstime < UNIX_TIMESTAMP()-86400*5)";
$_GET['tempid']=89;
break;
case 2:
$add.=" and biaoshu <>''";
$_GET['tempid']=90;
break;
case 3:
$add.=" and heshi = 1";
$_GET['tempid']=65;
break;
case 4:
$add.=" and beian = 1";
$_GET['tempid']=66;
break;
default:
break;
}
}
//列表模板
$tempid=(int)$_GET['tempid'];
//echo $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))
{
$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]."='".$andval."'";
}
else
{
$listandf.=$doandor.$andr[$i]." like '%".$andval."%'";
}
$search.="&".$andr[$i]."=$andval";
}
}
if($listandf)
{
$add.=' and ('.$listandf.')';
}
}
//排序
$orderby=RepPostVar($_GET['orderby']);
$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=9;//每頁顯示鏈接數
$offset=$page*$line;//總偏移量
//系統模型
$ret_r=ReturnReplaceListF($mid);
//優化
$yhadd='';
if($yhid)
{
$yhadd=ReturnYhSql($yhid,$yhvar);
}
//總數
$totalnum=(int)$_GET['totalnum'];
//list($s1,$s2)=explode(" ",microtime());
//$s1=(int)($s1*1000);
//$start_time=$s2.$s1;
//--------------------用戶增加訪問總表與分表判斷語句--------------------------------------------
$ml_name=$_SERVER['DOCUMENT_ROOT']."/listpageu/tableconfig/$tbname/";
//@include($ml_name."total_cfg.php");
$file_dir="{$ml_name}db_cfg_file.php";
//$area_class_file="$_GET[classid]-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0.php";
$area_class_file="$_GET[classid]/$u_area/$_GET[classid]-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0.php";
$area_class_file_xin="$_GET[classid]-$u_area-$u_class1.php";
$area_class_key="$_GET[classid]-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0";
$u_classid=$_GET[classid];
//展會分類信息轉換classid及class1開始------------
if($_GET['fl']=="zhl")
{
$u_class1=intval($u_class2/100);
if(!is_numeric($u_classid))
{
$TEMP_ARR=explode("A",$u_classid);
$TEMP_ARR=explode(",",$TEMP_ARR[0]);
$u_classid=$TEMP_ARR[0];
while($u_classid)
{
$temp_classid=$u_classid;
$u_classid=$class_r[$u_classid]['bclassid'];
}
$u_classid=$temp_classid;
}
}
//展會分類信息轉換classid及class1結束------------
//企業分類信息轉換class1、2、3、4開始------------
if($_GET['fl']=="qyl")
{
$u_class1=intval($qyl_class1);
$u_class2=intval($qyl_class2);
$u_class3=intval($qyl_zx_class);
if(trim($qyl_zsdj)=="" || $qyl_zsdj>0)
$u_class4=intval($qyl_zsdj);
else
$u_class4=999;
//echo $u_class1."==".$u_class2."==".$u_class3."==".$u_class4."==".$u_area;
}
//企業分類信息轉換class1、2、3、4結束------------
$total_infonum=0;
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
@include($file_dir);
if(count($db_cfg_arr)>0)
{
$is_zb_fb=1;
$min_year=(int)substr(min($db_cfg_arr),0,4);
$cur_year=date(Y);
$max_infonum=$offset+$line;//各分表分類分區域信息最大數值
$min_infonum=$offset;//各分表分類分區域信息最小數值
$is_enough=0;//本頁列表信息存在于哪幾年的分表判斷標示
$tb_year_arr=array();//本頁列表信息存在于哪幾年的分表數組
$tb_year_infonum=array();//
for($i=$cur_year;$i>=$min_year;$i--)
{
$infonum=0;
$infonum_year_dir=$ml_name."classid_area_class1/".$i."/".$area_class_file_xin;
if(is_file($infonum_year_dir))
@include($ml_name."classid_area_class1/".$i."/".$area_class_file_xin);
else {$file_cunzai=1; $tb_year_arr[]=$i; continue;}
$infonum=$config_arr[$area_class_key];
$total_infonum+=$infonum;
//如果本年度分表信息總數大于本頁最小信息數(偏移數)
if($total_infonum>$min_infonum && $is_enough==0) $tb_year_arr[]=$i;
elseif($is_enough==0) $tb_year_infonum[]=$infonum;
if($total_infonum>=$max_infonum) $is_enough=1;
}
//獲取各分表信息數
$infonum_arr=array();//各分表信息數數組
// if($_SERVER['HTTP_HOST']=="zgazxxw.zgazxxw.com") echo $total_infonum;
if($total_infonum>0 || $file_cunzai==1)
{
$is_infonum_arr=1;//是否采用信息數組標示
if(intval($u_class3)>0 || intval($u_class4)>0)
$dtb_qz="zgazxxw_".$dbtbpre."ecms_".$tbname."_cid_area_class34_";
else
$dtb_qz="zgazxxw_".$dbtbpre."ecms_".$tbname."_cid_area_class12_";
$cid_area_class="$u_classid-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0";
foreach($tb_year_arr as $v)
{
$dtb_cac=$dtb_qz.$v;
$sql=$empire->query("select * from $dtb_cac where cid_area_class='$cid_area_class' limit 1");
$value_arr=array();//信息數
$value_arr=mysql_fetch_assoc($sql);
unset($value_arr["cid_area_class"]);
$key_arr=array("{$v}01","{$v}02","{$v}03","{$v}04","{$v}05","{$v}06","{$v}07","{$v}08","{$v}09","{$v}10","{$v}11","{$v}12");
$key_value_arr=array();//年月-信息數對應數組
$key_value_arr=array_combine($key_arr,$value_arr);//年月數組與信息數數組組合為新數組
if($key_value_arr) $infonum_arr+=$key_value_arr;
}
if($file_cunzai==1) $total_infonum=array_sum($infonum_arr);
}
$file_dir="{$ml_name}update_time_cache.php";
if(is_file($file_dir) && $_GET['fl']<>"zhs" && $_GET['fl']<>"zhd")
{
$is_ids=1;//存在預讀信息標志
//獲取預讀ids開始--------------
$rulenum=1;
$file_dir="{$ml_name}fbrule.php";
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
@include($file_dir);
}
$total_temp=array_sum($tb_year_infonum);//起始總數
$max_infonum=$offset+$line;//分類分區域信息最大數值
$min_infonum=$offset;//分類分區域信息最小數值
$no_include=0;//是否采用預讀信息標示
$cur_infonum=0;//當前分類分區域信息總數
$add_infonum=0;//當前列表頁已經獲取的信息數
$cur_line=$line;//當前需獲取的信息數量
$include_arr=array();
krsort($infonum_arr);
foreach($infonum_arr as $k=>$v)
{
//如果不是rulenum規則的時段則跳過
$m_str=(int)substr($k,4,2);
if($rulenum>1 && ($m_str%$rulenum)<>1) continue;
// echo $k."==".$v."
";
$total_temp_pre=$total_temp;
$total_temp+=$v;
//如果累計信息數小于等于最小信息數則跳過
if($total_temp<=$min_infonum) continue;
$total_temp_100=$total_temp_pre+100;
//如果累計信息數大于最小信息數但上次累計信息數+100卻小于等于最小信息數則不采用預讀信息
if($total_temp_100<=$min_infonum) {$no_include=1; break;}
//如果累計信息數大于最大信息數但上次累計信息數+100卻小于最大信息數則不采用預讀信息
if($total_temp>=$max_infonum && $total_temp_100<$max_infonum) {$no_include=1; break;}
$include_arr[]=$k;
if($total_temp_pre<=$min_infonum)
{
$offset_arr[]=$min_infonum-$total_temp_pre;
$cur_line=$total_temp-$min_infonum;
if($cur_line>$line) $cur_line=$line;
$line_arr[]=$cur_line;
}
else
{
$offset_arr[]=0;
$cur_line=$total_temp-$total_temp_pre;
$max_line=$max_infonum-$total_temp_pre;
if($cur_line>$max_line) $cur_line=$max_line;
$line_arr[]=$cur_line;
}
if($total_temp>=$max_infonum) break;
}
if($no_include==1) $is_ids=0;//不采用預讀信
else
{
$merge_arr=array();
foreach($include_arr as $k=>$v)
{
$file_dir="{$ml_name}cache-class-area/{$v}/{$u_class1}-{$u_area}.php";
$config_arr=array();
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
@include($file_dir);
}
if($no_shiinfo==1)//如果市級信息存在
$area_class_key="$u_classid-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0$city_str";
else
$area_class_key="$u_classid-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0";
$temp=array_slice($config_arr[$area_class_key],$offset_arr[$k],$line_arr[$k]);
if($temp) $merge_arr=array_merge($merge_arr,$temp);
}
// echo $area_class_key;
// echo print_r($merge_arr);
}
//獲取預讀ids結束--------------
}
if($total_infonum==0)
foreach($db_cfg_arr as $k=>$v)
{
$infonum=0;
@include($ml_name.$v."/".$area_class_file);
$total_infonum+=$infonum;
}
}
if($totalnum<1) $totalnum=$total_infonum;
}
//--------------------用戶增加訪問總表與分表判斷語句--------------------------------------------
//list($s1,$s2)=explode(" ",microtime());
//$s1=(int)($s1*1000);
//$end_time=$s2.$s1;
//echo $end_time-$start_time;
if($totalnum<1 && $is_zb_fb<>1)//add && $is_zb_fb<>1
{
$file_dir="{$ml_name}min_newstime.php";
$min_year=0;
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
@include($file_dir);
$min_year=(int)date(Y,$min_newstime_arr[$tbname]);
}
if($min_year>=2030 && $_GET['fl']<>"zhs" && $_GET['fl']<>"zhd")
{
$is_ids=1;//存在預讀信息標志
$cur_year=date(Y);
$infonum_arr=array();
$infoids_arr=array();
for($i=$cur_year;$i>=$min_year;$i--)
{
if(intval($u_class3)>0 || intval($u_class4)>0)
$dtb_qz="zgazxxw_".$dbtbpre."ecms_".$tbname."_cid_area_class34_";
else
$dtb_qz="zgazxxw_".$dbtbpre."ecms_".$tbname."_cid_area_class12_";
if($no_shiinfo==1)//如果市級信息存在
$cid_area_class="$u_classid-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0$city_str";
else
$cid_area_class="$u_classid-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0";
$dtb_cac=$dtb_qz.$i;
$sql=$empire->query("select * from $dtb_cac where cid_area_class='$cid_area_class' limit 1");
$value_arr=array();//信息數
$value_arr=mysql_fetch_assoc($sql);
unset($value_arr["cid_area_class"]);
$key_arr=array("{$i}01","{$i}02","{$i}03","{$i}04","{$i}05","{$i}06","{$i}07","{$i}08","{$i}09","{$i}10","{$i}11","{$i}12");
$key_value_arr=array();//年月-信息數對應數組
$key_value_arr=@array_combine($key_arr,$value_arr);//年月數組與信息數數組組合為新數組
if($key_value_arr) $infonum_arr+=$key_value_arr;
}
$num=array_sum($infonum_arr);
// echo $num;
$rulenum=1;
$file_dir="{$ml_name}fbrule.php";
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
@include($file_dir);
}
$total_temp=0;
$max_infonum=$offset+$line;//分類分區域信息最大數值
$min_infonum=$offset;//分類分區域信息最小數值
$no_include=0;//是否采用預讀信息標示
$cur_infonum=0;//當前分類分區域信息總數
$add_infonum=0;//當前列表頁已經獲取的信息數
$cur_line=$line;//當前需獲取的信息數量
krsort($infonum_arr);
foreach($infonum_arr as $k=>$v)
{
//如果不是rulenum規則的時段則跳過
$m_str=(int)substr($k,4,2);
if($rulenum>1 && ($m_str%$rulenum)<>1) continue;
$total_temp_pre=$total_temp;
$total_temp+=$v;
//如果累計信息數小于等于最小信息數則跳過
if($total_temp<=$min_infonum) continue;
$total_temp_100=$total_temp_pre+100;
//如果累計信息數大于最小信息數但上次累計信息數+100卻小于等于最小信息數則不采用預讀信息
if($total_temp_100<=$min_infonum) {$no_include=1; break;}
//如果累計信息數大于最大信息數但上次累計信息數+100卻小于最大信息數則不采用預讀信息
if($total_temp>=$max_infonum && $total_temp_100<$max_infonum) {$no_include=1; break;}
$include_arr[]=$k;
if($total_temp_pre<=$min_infonum)
{
$offset_arr[]=$min_infonum-$total_temp_pre;
$cur_line=$total_temp-$min_infonum;
if($cur_line>$line) $cur_line=$line;
$line_arr[]=$cur_line;
}
else
{
$offset_arr[]=0;
$cur_line=$total_temp-$total_temp_pre;
$max_line=$max_infonum-$total_temp_pre;
if($cur_line>$max_line) $cur_line=$max_line;
$line_arr[]=$cur_line;
}
if($total_temp>=$max_infonum) break;
}
if($no_include==1) $is_ids=0;//不采用預讀信
else
{
$merge_arr=array();
foreach($include_arr as $k=>$v)
{
$file_dir="{$ml_name}cache-class-area/{$v}/{$u_class1}-{$u_area}.php";
$config_arr=array();
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
@include($file_dir);
}
if($no_shiinfo==1)//如果市級信息存在
$area_class_key="$u_classid-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0$city_str";
else
$area_class_key="$u_classid-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0";
$temp=@array_slice($config_arr[$area_class_key],$offset_arr[$k],$line_arr[$k]);
if($temp) $merge_arr=array_merge($merge_arr,$temp);
}
// echo print_r($merge_arr);
}
// print_r($include_arr);
}
else
{
$totalquery="select count(*) as total from {$dbtbpre}ecms_".$tbname.ReturnYhAndSql($yhadd,$add,1);//ydm
$num=$empire->gettotal($totalquery);//ydm
}
}
else
{
$num=$totalnum;
}
$search.='&totalnum='.$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";
//--------------------用戶增加訪問總表與分表判斷語句--------------------------------------------
$ml_name=$_SERVER['DOCUMENT_ROOT']."/listpageu/tableconfig/$tbname/";
if($page==0)
{
$page1_file="$_GET[classid]-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0.php";
$ml_name_1=$_SERVER['DOCUMENT_ROOT']."/listpageu/listarru/$tbname/$_GET[classid]/";
$file_dir="{$ml_name_1}{$page1_file}";
if(is_file($file_dir))
{
if(php_check_syntax($file_dir, $msg))
{
$list_u=array();
@include($file_dir);
$config_arr_page1=$list_u;
$is_page1=1;
}
}
else
{
$file_dir="{$ml_name}total_config_year_page1/page1/{$u_class1}/{$page1_file}";
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
$config_arr_page1=array();
@include($file_dir);
$is_page1=1;
}
}
// if($_SERVER['HTTP_HOST']=="www.36qyk.cn") echo $file_dir;
}
$file_dir="{$ml_name}db_cfg_file.php";
$max_infonum=$offset+$line;//各分表分類分區域信息最大數值
$min_infonum=$offset;//各分表分類分區域信息最小數值
$cur_infonum=0;//當前各分表分類分區域信息總數
$add_infonum=0;//當前列表頁已經獲取的信息數
$cur_line=$line;//當前需獲取的信息數量
$cur_db=array();//需訪問的數據庫SQL語句
//$area_class_file="$_GET[classid]-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0.php";
$area_class_file="$_GET[classid]/$u_area/$_GET[classid]-$u_class1-$u_class2-$u_class3-$u_class4-$u_area-0.php";
$oldtb="{$dbtbpre}ecms_".$tbname;//總表數據庫名稱
$oldlimit="limit $offset,$line";//總表limit條件
if(is_file($file_dir) && php_check_syntax($file_dir, $msg))
{
@include($file_dir);
$max_ym=(@max($tb_year_arr)+1)*100;
$start_infonum=@array_sum($tb_year_infonum);
if(count($db_cfg_arr)>0)
foreach($db_cfg_arr as $k=>$v)
{
//如果信息跨年
if($v>$max_ym) {$cur_infonum=$start_infonum;continue;}
$cur_line=$cur_line-$add_infonum;//當前列表頁還需獲取的信息數
$add_infonum=0;
$cur_offset=$min_infonum-$cur_infonum;//當前列表頁在當前表獲取信息偏移值
if($cur_offset<0) $cur_offset=0;//如果需從多表獲取數據,除第一次獲取有偏移值,其余均為0(因從新表獲取)
if($cur_line<=0) break;//如果當前需獲取的信息小于等于0則跳出循環
$infonum=0;
if($is_infonum_arr==1) $infonum=(int)$infonum_arr[$v];
else @include($ml_name.$v."/".$area_class_file);
$cur_infonum+=$infonum;
if($cur_infonum>=$min_infonum)
{
$add_infonum=$infonum-$cur_offset;//當前列表頁從當前表中可獲取的信息數量
if($add_infonum>$cur_line) $add_infonum=$cur_line;
$newtb="zgazxxw_".$oldtb."_".$v;//分表數據庫名稱
$newlimit="limit $cur_offset,$add_infonum";//總表limit條件
$cur_db[]=str_replace($oldlimit,$newlimit,str_replace($oldtb,$newtb,$query));
}
}
}
else $cur_db[]=$query;
//--------------------用戶增加訪問總表與分表判斷語句--------------------------------------------
$sql_arr=array();
$cur_db1=array();$cur_db1[]=$query;
$query_xin="";
if(count($cur_db)>1) {$kh_left="(";$kh_right=")";}
else {$kh_left="";$kh_right="";}
foreach($cur_db as $query_k=>$query_new)
{
//如果存在并采用預讀信息
if($is_ids==1 && $tbname<>"zhaobiao")
{
if(count($merge_arr)>0)
{
$query_arr=explode(" where ",$query_new);
$query_new=$query_arr[0]." where id in(".implode(",",$merge_arr).") order by ".$addorder;
}
else break;
}
if($query_k==0) $union="";
else $union=" union all ";
$query_xin.=$union.$kh_left.$query_new.$kh_right;
// $sql_arr[$query_k]="sql".$query_k;
// ${$sql_arr[$query_k]}=$empire->query($query_new);
}
if($query_xin && $is_page1<>1) $sql=$empire->query($query_xin);
//echo $query_xin;
//if($_SERVER['HTTP_HOST']=="www.36qyk.cn") echo $query_xin;
//分頁
$listpage=page1($num,$line,$page_line,$start,$page,$search);
//頁面支持標簽
if($public_r['dtcanbq'])
{
$file_dir_temp=$_SERVER['DOCUMENT_ROOT']."/pc_temp/infotemp/list/".$tbname.".php";
if(is_file($file_dir_temp))
{
ob_start();
include($file_dir_temp);
$tempr[temptext]=ob_get_contents();
ob_end_clean();
if(!empty($tempr[temptext]))
$tempr[temptext]=RepExeCode($tempr[temptext]);//解析代碼
}
else
$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);
$listtemp=str_replace('[!--total.num--]',$num,$listtemp);
//取得列表模板
$list_exp="[!--empirenews.listtemp--]";
$list_r=explode($list_exp,$listtemp);
$listtext=$list_r[1];
$no=$offset+1;
$changerow=1; $ad_num=0; $ad_num_total=0;
$cp_tb_arr=array("sb"=>1,"gj"=>1,"cl"=>1);
if($cp_tb_arr[$tbname]==1) $str_div='