From b47f4ae22a4beea24108b669053514c591ee8bdc Mon Sep 17 00:00:00 2001 From: xushubieli Date: Thu, 14 Apr 2022 23:55:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=AA=E9=9D=99=E6=80=81=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/templets/makehtml_all.htm | 4 +- src/admin/templets/sys_data.htm | 2 +- src/admin/templets/sys_data_revert.htm | 15 +- src/system/archive/listview.class.php | 205 ++++++++++++------------- 4 files changed, 108 insertions(+), 118 deletions(-) diff --git a/src/admin/templets/makehtml_all.htm b/src/admin/templets/makehtml_all.htm index 1f373113..ad21d433 100644 --- a/src/admin/templets/makehtml_all.htm +++ b/src/admin/templets/makehtml_all.htm @@ -67,9 +67,9 @@ function SelUp(){ 更新选项: - + - + diff --git a/src/admin/templets/sys_data.htm b/src/admin/templets/sys_data.htm index 1abaf46c..988e2b7e 100644 --- a/src/admin/templets/sys_data.htm +++ b/src/admin/templets/sys_data.htm @@ -181,7 +181,7 @@ } ?> - + diff --git a/src/admin/templets/sys_data_revert.htm b/src/admin/templets/sys_data_revert.htm index cb21f5eb..0d6a6065 100644 --- a/src/admin/templets/sys_data_revert.htm +++ b/src/admin/templets/sys_data_revert.htm @@ -110,22 +110,19 @@ - - - 附加参数: - + + 附加参数: - + + 还原后删除备份文件 + -   diff --git a/src/system/archive/listview.class.php b/src/system/archive/listview.class.php index 8a18917e..7b139809 100755 --- a/src/system/archive/listview.class.php +++ b/src/system/archive/listview.class.php @@ -76,14 +76,14 @@ class ListView $this->Fields['position'] = $this->TypeLink->GetPositionLink(true); $this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false)); //添加联动多筛选 - if (isset($_REQUEST['tid'])) - { - foreach($_GET as $key => $value) { - if ($key!="tid" && $key!="TotalResult" && $key!="PageNo") { - $this->Fields[string_filter($key)] = string_filter(urldecode($value)); - } - } - } + if (isset($_REQUEST['tid'])) + { + foreach($_GET as $key => $value) { + if ($key!="tid" && $key!="TotalResult" && $key!="PageNo") { + $this->Fields[string_filter($key)] = string_filter(urldecode($value)); + } + } + } //设置一些全局参数的值 foreach ($GLOBALS['PubFields'] as $k => $v) $this->Fields[$k] = $v; $this->Fields['rsslink'] = $GLOBALS['cfg_cmsurl']."/static/rss/".$this->TypeID.".xml"; @@ -131,48 +131,48 @@ class ListView { global $cfg_list_son,$cfg_need_typeid2,$cfg_cross_sectypeid; if(empty($cfg_need_typeid2)) $cfg_need_typeid2 = 'N'; - //获得附加表的相关信息 - $addtable = $this->ChannelUnit->ChannelInfos['addtable']; + //获得附加表的相关信息 + $addtable = $this->ChannelUnit->ChannelInfos['addtable']; $filtersql = ''; - if($addtable!="") - { - $addJoin = " LEFT JOIN `$addtable` ON arc.id = ".$addtable.'.aid '; - $addField = ''; - $fields = explode(',',$this->ChannelUnit->ChannelInfos['listfields']); - foreach($fields as $k=>$v) - { - $nfields[$v] = $k; - } - if(is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields)) - { - foreach($this->ChannelUnit->ChannelFields as $k=>$arr) - { - if(isset($nfields[$k])) - { - if(!empty($arr['rename'])) { - $addField .= ','.$addtable.'.'.$k.' as '.$arr['rename']; - } - else { - $addField .= ','.$addtable.'.'.$k; - } - } - } - } - if (isset($_REQUEST['tid'])) - { - foreach($_GET as $key => $value) { - $value1 = explode("|", $value); - foreach ($value1 as $valuea) - { - $filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND find_in_set('".string_filter(urldecode($valuea))."', ".$addtable.".".string_filter($key).")" : ''; - } - } - } - } else { - $addField = ''; - $addJoin = ''; - } - //统计数据库记录 + if($addtable!="") + { + $addJoin = " LEFT JOIN `$addtable` ON arc.id = ".$addtable.'.aid '; + $addField = ''; + $fields = explode(',',$this->ChannelUnit->ChannelInfos['listfields']); + foreach($fields as $k=>$v) + { + $nfields[$v] = $k; + } + if(is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields)) + { + foreach($this->ChannelUnit->ChannelFields as $k=>$arr) + { + if(isset($nfields[$k])) + { + if(!empty($arr['rename'])) { + $addField .= ','.$addtable.'.'.$k.' as '.$arr['rename']; + } + else { + $addField .= ','.$addtable.'.'.$k; + } + } + } + } + if (isset($_REQUEST['tid'])) + { + foreach($_GET as $key => $value) { + $value1 = explode("|", $value); + foreach ($value1 as $valuea) + { + $filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND find_in_set('".string_filter(urldecode($valuea))."', ".$addtable.".".string_filter($key).")" : ''; + } + } + } + } else { + $addField = ''; + $addJoin = ''; + } + //统计数据库记录 $this->TotalResult = -1; if (isset($GLOBALS['TotalResult'])) $this->TotalResult = $GLOBALS['TotalResult']; if (isset($GLOBALS['PageNo'])) $this->PageNo = $GLOBALS['PageNo']; @@ -633,46 +633,46 @@ class ListView $ordersql = " ORDER BY arc.sortrank $orderWay"; } $filtersql = ''; - //获得附加表的相关信息 - $addtable = $this->ChannelUnit->ChannelInfos['addtable']; - if($addtable!="") - { - $addJoin = " LEFT JOIN `$addtable` ON arc.id = ".$addtable.'.aid '; - $addField = ''; - $fields = explode(',',$this->ChannelUnit->ChannelInfos['listfields']); - foreach($fields as $k=>$v) - { - $nfields[$v] = $k; - } - if(is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields)) - { - foreach($this->ChannelUnit->ChannelFields as $k=>$arr) - { - if(isset($nfields[$k])) - { - if(!empty($arr['rename'])) { - $addField .= ','.$addtable.'.'.$k.' as '.$arr['rename']; - } - else { - $addField .= ','.$addtable.'.'.$k; - } - } - } - } - if (isset($_REQUEST['tid'])) - { - foreach($_GET as $key => $value) { - $value1 = explode("|", $value); - foreach ($value1 as $valuea) - { - $filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND find_in_set('".string_filter(urldecode($valuea))."', ".$addtable.".".string_filter($key).")" : ''; - } - } - } - } else { - $addField = ''; - $addJoin = ''; - } + //获得附加表的相关信息 + $addtable = $this->ChannelUnit->ChannelInfos['addtable']; + if($addtable!="") + { + $addJoin = " LEFT JOIN `$addtable` ON arc.id = ".$addtable.'.aid '; + $addField = ''; + $fields = explode(',',$this->ChannelUnit->ChannelInfos['listfields']); + foreach($fields as $k=>$v) + { + $nfields[$v] = $k; + } + if(is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields)) + { + foreach($this->ChannelUnit->ChannelFields as $k=>$arr) + { + if(isset($nfields[$k])) + { + if(!empty($arr['rename'])) { + $addField .= ','.$addtable.'.'.$k.' as '.$arr['rename']; + } + else { + $addField .= ','.$addtable.'.'.$k; + } + } + } + } + if (isset($_REQUEST['tid'])) + { + foreach($_GET as $key => $value) { + $value1 = explode("|", $value); + foreach ($value1 as $valuea) + { + $filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND find_in_set('".string_filter(urldecode($valuea))."', ".$addtable.".".string_filter($key).")" : ''; + } + } + } + } else { + $addField = ''; + $addJoin = ''; + } //如果不用默认的sortrank或id排序,使用联合查询(数据量大时非常缓慢) if (preg_match('/hot|click|lastpost/', $orderby)) { $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname, @@ -716,7 +716,7 @@ class ListView $GLOBALS['autoindex'] = 0; for ($i = 0; $i < $row; $i++) { if ($col > 1) { - $artlist .= "
\r\n"; + $artlist .= "
"; } for ($j = 0; $j < $col; $j++) { if ($row = $this->dsql->GetArray("al")) { @@ -805,7 +805,7 @@ class ListView }//Loop Col if ($col > 1) { $i += $col - 1; - $artlist .= "
\r\n"; + $artlist .= "
"; } }//Loop Line $t3 = ExecTime(); @@ -899,16 +899,6 @@ class ListView if (preg_match('/end/i', $listitem)) $plist .= $endpage; if (preg_match('/option/i', $listitem)) $plist .= $optionlist; if (preg_match('/info/i', $listitem)) $plist .= $maininfo; - //伪静态分页处理 - if ($cfg_rewrite == 'Y') - { - $plist = str_replace('/apps/', $cfg_cmspath.'/', $plist); - $plist = str_replace('.php?tid=','-',$plist); - $plist = preg_replace("/&TotalResult=(\d+)/i","",$plist);//去掉总结果数值 - //目录版 - $plist = preg_replace("/&PageNo=(\d+)/i",'-\\1',$plist); - //网页版$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist); - } return $plist; } /** @@ -991,11 +981,14 @@ class ListView if (preg_match('/end/i', $listitem)) $plist .= $endpage; if (preg_match('/option/i', $listitem)) $plist .= $optionlist; if (preg_match('/info/i', $listitem)) $plist .= $maininfo; - if ($cfg_rewrite == 'Y') { - $plist = str_replace('/apps/', $cfg_cmspath.'/', $plist); - $plist = str_replace('.php?tid=', '-', $plist); - $plist = str_replace('&TotalResult=', '-', $plist); - $plist = preg_replace("/&PageNo=(\d+)/i", '-\\1.html', $plist); + //伪静态分页 + if ($cfg_rewrite == 'Y') + { + $plist = str_replace('.php?tid=','-',$plist); + $plist = preg_replace("/&TotalResult=(\d+)/i","",$plist);//去掉总结果数值 + //目录版 + $plist = preg_replace("/&PageNo=(\d+)/i",'-\\1',$plist); + //网页版$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist); } return $plist; }