| @@ -72,14 +72,6 @@ class ListView | |||||
| $this->Fields['id'] = $typeid; | $this->Fields['id'] = $typeid; | ||||
| $this->Fields['position'] = $this->TypeLink->GetPositionLink(true); | $this->Fields['position'] = $this->TypeLink->GetPositionLink(true); | ||||
| $this->Fields['title'] = preg_replace("/[<>]/", "-", $this->TypeLink->GetPositionLink(false)); | $this->Fields['title'] = preg_replace("/[<>]/", "-", $this->TypeLink->GetPositionLink(false)); | ||||
| //添加联动单筛选 | |||||
| if (isset($_REQUEST['tid'])) { | |||||
| foreach($_GET as $key => $value) { | |||||
| if (!in_array($key,$this->_parms)) { | |||||
| $this->Fields[$key] = RemoveXSS(urldecode($value)); | |||||
| } | |||||
| } | |||||
| } | |||||
| //设置一些全局参数的值 | //设置一些全局参数的值 | ||||
| foreach ($GLOBALS['PubFields'] as $k => $v) $this->Fields[$k] = $v; | foreach ($GLOBALS['PubFields'] as $k => $v) $this->Fields[$k] = $v; | ||||
| //api相关逻辑处理 | //api相关逻辑处理 | ||||
| @@ -147,7 +139,7 @@ class ListView | |||||
| * | * | ||||
| * @access public | * @access public | ||||
| * @param string | * @param string | ||||
| * @return string | |||||
| * @return void | |||||
| */ | */ | ||||
| function CountRecord() | function CountRecord() | ||||
| { | { | ||||
| @@ -176,11 +168,6 @@ class ListView | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if (isset($_REQUEST['tid'])) { | |||||
| foreach ($_GET as $key => $value) { | |||||
| $filtersql .= (!in_array($key,$this->_parms)) ? " AND $addtable.".HtmlReplace($key, -1)." = '".HtmlReplace(urldecode($value), -1)."'" : ''; | |||||
| } | |||||
| } | |||||
| } else { | } else { | ||||
| $addField = ''; | $addField = ''; | ||||
| $addJoin = ''; | $addJoin = ''; | ||||
| @@ -233,7 +220,7 @@ class ListView | |||||
| } | } | ||||
| if ($this->TotalResult==-1) { | if ($this->TotalResult==-1) { | ||||
| //添加联动单筛选 | //添加联动单筛选 | ||||
| $cquery = "SELECT COUNT(*) AS dd FROM `#@__arctiny` arc $addJoin WHERE ".$this->addSql.$filtersql; | |||||
| $cquery = "SELECT COUNT(*) AS dd FROM `#@__arctiny` arc $addJoin WHERE ".$this->addSql; | |||||
| $row = $this->dsql->GetOne($cquery); | $row = $this->dsql->GetOne($cquery); | ||||
| if (is_array($row)) { | if (is_array($row)) { | ||||
| $this->TotalResult = $row['dd']; | $this->TotalResult = $row['dd']; | ||||
| @@ -462,20 +449,13 @@ class ListView | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| //添加联动单筛选 | |||||
| if (isset($_REQUEST['tid'])) { | |||||
| foreach($_GET as $key => $value) | |||||
| { | |||||
| $filtersql .= (!in_array($key,$this->_parms)) ? " AND $addtable.".HtmlReplace($key, -1)." = '".HtmlReplace(urldecode($value), -1)."'" : ''; | |||||
| } | |||||
| } | |||||
| } else { | } else { | ||||
| $addField = ''; | $addField = ''; | ||||
| $addJoin = ''; | $addJoin = ''; | ||||
| } | } | ||||
| //如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | //如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | ||||
| if (preg_match('/senddate|pubdate|senddate|hot|click|weight|lastpost|rand/', $orderby)) { | if (preg_match('/senddate|pubdate|senddate|hot|click|weight|lastpost|rand/', $orderby)) { | ||||
| $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row"; | |||||
| $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $ordersql LIMIT $limitstart,$row"; | |||||
| } | } | ||||
| //普通情况先从arctiny表查出id,然后按id查询速度非常快 | //普通情况先从arctiny表查出id,然后按id查询速度非常快 | ||||
| else { | else { | ||||
| @@ -489,7 +469,7 @@ class ListView | |||||
| } | } | ||||
| $idstr = join(',', $ids); | $idstr = join(',', $ids); | ||||
| if ($idstr == '') { | if ($idstr == '') { | ||||
| return ''; | |||||
| return array(); | |||||
| } else { | } else { | ||||
| $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE arc.id in($idstr) $ordersql "; | $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE arc.id in($idstr) $ordersql "; | ||||
| } | } | ||||
| @@ -505,7 +485,6 @@ class ListView | |||||
| $ids[$row['id']] = $row['id']; | $ids[$row['id']] = $row['id']; | ||||
| //处理一些特殊字段 | //处理一些特殊字段 | ||||
| $row['infos'] = cn_substr($row['description'], $infolen); | $row['infos'] = cn_substr($row['description'], $infolen); | ||||
| $row['id'] = $row['id']; | |||||
| if ($row['corank'] > 0 && $row['arcrank'] == 0) { | if ($row['corank'] > 0 && $row['arcrank'] == 0) { | ||||
| $row['arcrank'] = $row['corank']; | $row['arcrank'] = $row['corank']; | ||||
| } | } | ||||
| @@ -619,7 +598,7 @@ class ListView | |||||
| * | * | ||||
| * @access public | * @access public | ||||
| * @param string | * @param string | ||||
| * @return string | |||||
| * @return void | |||||
| */ | */ | ||||
| function DisplayPartTemplets() | function DisplayPartTemplets() | ||||
| { | { | ||||
| @@ -689,7 +668,7 @@ class ListView | |||||
| * 解析模板,对固定的标记进行初始给值 | * 解析模板,对固定的标记进行初始给值 | ||||
| * | * | ||||
| * @access public | * @access public | ||||
| * @return string | |||||
| * @return void | |||||
| */ | */ | ||||
| function ParseTempletsFirst() | function ParseTempletsFirst() | ||||
| { | { | ||||
| @@ -707,7 +686,7 @@ class ListView | |||||
| * @access public | * @access public | ||||
| * @param int $PageNo 页数 | * @param int $PageNo 页数 | ||||
| * @param int $ismake 是否编译 | * @param int $ismake 是否编译 | ||||
| * @return string | |||||
| * @return void | |||||
| */ | */ | ||||
| function ParseDMFields($PageNo, $ismake = 1) | function ParseDMFields($PageNo, $ismake = 1) | ||||
| { | { | ||||
| @@ -888,20 +867,13 @@ class ListView | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| //添加联动单筛选 | |||||
| if (isset($_REQUEST['tid'])) { | |||||
| foreach($_GET as $key => $value) | |||||
| { | |||||
| $filtersql .= (!in_array($key,$this->_parms)) ? " AND $addtable.".HtmlReplace($key, -1)." = '".HtmlReplace(urldecode($value), -1)."'" : ''; | |||||
| } | |||||
| } | |||||
| } else { | } else { | ||||
| $addField = ''; | $addField = ''; | ||||
| $addJoin = ''; | $addJoin = ''; | ||||
| } | } | ||||
| //如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | //如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | ||||
| if (preg_match('/senddate|pubdate|senddate|hot|click|weight|lastpost|rand/', $orderby)) { | if (preg_match('/senddate|pubdate|senddate|hot|click|weight|lastpost|rand/', $orderby)) { | ||||
| $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row"; | |||||
| $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $ordersql LIMIT $limitstart,$row"; | |||||
| } | } | ||||
| //普通情况先从arctiny表查出id,然后按di查询速度非常快 | //普通情况先从arctiny表查出id,然后按di查询速度非常快 | ||||
| else { | else { | ||||
| @@ -937,7 +909,6 @@ class ListView | |||||
| $ids[$row['id']] = $row['id']; | $ids[$row['id']] = $row['id']; | ||||
| //处理一些特殊字段 | //处理一些特殊字段 | ||||
| $row['infos'] = cn_substr($row['description'], $infolen); | $row['infos'] = cn_substr($row['description'], $infolen); | ||||
| $row['id'] = $row['id']; | |||||
| if ($row['corank'] > 0 && $row['arcrank'] == 0) { | if ($row['corank'] > 0 && $row['arcrank'] == 0) { | ||||
| $row['arcrank'] = $row['corank']; | $row['arcrank'] = $row['corank']; | ||||
| } | } | ||||
| @@ -1037,7 +1008,6 @@ class ListView | |||||
| */ | */ | ||||
| function GetPageListST($list_len, $listitem = "index,end,pre,next,pageno") | function GetPageListST($list_len, $listitem = "index,end,pre,next,pageno") | ||||
| { | { | ||||
| global $cfg_cmspath; | |||||
| $prepage = $nextpage = ''; | $prepage = $nextpage = ''; | ||||
| $prepagenum = $this->PageNo - 1; | $prepagenum = $this->PageNo - 1; | ||||
| $nextpagenum = $this->PageNo + 1; | $nextpagenum = $this->PageNo + 1; | ||||
| @@ -1126,7 +1096,7 @@ class ListView | |||||
| */ | */ | ||||
| function GetPageListDM($list_len, $listitem = "index,end,pre,next,pageno") | function GetPageListDM($list_len, $listitem = "index,end,pre,next,pageno") | ||||
| { | { | ||||
| global $cfg_cmspath, $cfg_rewrite; | |||||
| global $cfg_rewrite; | |||||
| $prepage = $nextpage = ''; | $prepage = $nextpage = ''; | ||||
| $prepagenum = $this->PageNo - 1; | $prepagenum = $this->PageNo - 1; | ||||
| $nextpagenum = $this->PageNo + 1; | $nextpagenum = $this->PageNo + 1; | ||||
| @@ -1145,28 +1115,23 @@ class ListView | |||||
| //开启伪静态对规则替换 | //开启伪静态对规则替换 | ||||
| if ($cfg_rewrite == 'Y') { | if ($cfg_rewrite == 'Y') { | ||||
| $purl = str_replace("/apps", "", $purl); | $purl = str_replace("/apps", "", $purl); | ||||
| $nowurls = preg_replace("/", ".php?", $purl); | |||||
| $nowurls = str_replace("/", ".php?", $purl); | |||||
| $nowurls = explode("?", $nowurls); | $nowurls = explode("?", $nowurls); | ||||
| $purl = $nowurls[0]; | $purl = $nowurls[0]; | ||||
| } | } | ||||
| $geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&"; | $geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&"; | ||||
| $purl .= '?'.$geturl; | $purl .= '?'.$geturl; | ||||
| $optionlist = ''; | $optionlist = ''; | ||||
| //添加联动单筛选 | |||||
| $pageaddurl = ''; | |||||
| foreach ($_GET as $key => $value) { | |||||
| $pageaddurl .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo" && $key!="PageSize" && $key!="mod") ? "&".RemoveXSS($key)."=".RemoveXSS($value) : ''; | |||||
| } | |||||
| //获得上页和下页的链接 | //获得上页和下页的链接 | ||||
| if ($this->PageNo != 1) { | if ($this->PageNo != 1) { | ||||
| $prepage .= "<li class='page-item'><a href='".$purl."PageNo=$prepagenum".$pageaddurl."' class='page-link'>上页</a></li>"; | |||||
| $indexpage = "<li class='page-item'><a href='".$purl."PageNo=1".$pageaddurl."' class='page-link'>首页</a></li>"; | |||||
| $prepage .= "<li class='page-item'><a href='".$purl."PageNo=$prepagenum"."' class='page-link'>上页</a></li>"; | |||||
| $indexpage = "<li class='page-item'><a href='".$purl."PageNo=1"."' class='page-link'>首页</a></li>"; | |||||
| } else { | } else { | ||||
| $indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>"; | $indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>"; | ||||
| } | } | ||||
| if ($this->PageNo != $totalpage && $totalpage > 1) { | if ($this->PageNo != $totalpage && $totalpage > 1) { | ||||
| $nextpage .= "<li class='page-item'><a href='".$purl."PageNo=$nextpagenum".$pageaddurl."' class='page-link'>下页</a></li>"; | |||||
| $endpage = "<li class='page-item'><a href='".$purl."PageNo=$totalpage".$pageaddurl."' class='page-link'>末页</a></li>"; | |||||
| $nextpage .= "<li class='page-item'><a href='".$purl."PageNo=$nextpagenum"."' class='page-link'>下页</a></li>"; | |||||
| $endpage = "<li class='page-item'><a href='".$purl."PageNo=$totalpage"."' class='page-link'>末页</a></li>"; | |||||
| } else { | } else { | ||||
| $endpage = "<li class='page-item'><span class='page-link'>末页</span></li>"; | $endpage = "<li class='page-item'><span class='page-link'>末页</span></li>"; | ||||
| } | } | ||||
| @@ -1189,7 +1154,7 @@ class ListView | |||||
| if ($j == $this->PageNo) { | if ($j == $this->PageNo) { | ||||
| $listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>"; | $listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>"; | ||||
| } else { | } else { | ||||
| $listdd .= "<li class='page-item'><a href='".$purl."PageNo=$j".$pageaddurl."' class='page-link'>$j</a></li>"; | |||||
| $listdd .= "<li class='page-item'><a href='".$purl."PageNo=$j"."' class='page-link'>$j</a></li>"; | |||||
| } | } | ||||
| } | } | ||||
| $plist = ''; | $plist = ''; | ||||