|
|
@@ -72,14 +72,6 @@ class ListView |
|
|
|
$this->Fields['id'] = $typeid;
|
|
|
|
$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 (!in_array($key,$this->_parms)) {
|
|
|
|
$this->Fields[$key] = RemoveXSS(urldecode($value));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//设置一些全局参数的值
|
|
|
|
foreach ($GLOBALS['PubFields'] as $k => $v) $this->Fields[$k] = $v;
|
|
|
|
//api相关逻辑处理
|
|
|
@@ -147,7 +139,7 @@ class ListView |
|
|
|
*
|
|
|
|
* @access public
|
|
|
|
* @param string
|
|
|
|
* @return string
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
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 {
|
|
|
|
$addField = '';
|
|
|
|
$addJoin = '';
|
|
|
@@ -233,7 +220,7 @@ class ListView |
|
|
|
}
|
|
|
|
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);
|
|
|
|
if (is_array($row)) {
|
|
|
|
$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 {
|
|
|
|
$addField = '';
|
|
|
|
$addJoin = '';
|
|
|
|
}
|
|
|
|
//如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢
|
|
|
|
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查询速度非常快
|
|
|
|
else {
|
|
|
@@ -489,7 +469,7 @@ class ListView |
|
|
|
}
|
|
|
|
$idstr = join(',', $ids);
|
|
|
|
if ($idstr == '') {
|
|
|
|
return '';
|
|
|
|
return array();
|
|
|
|
} 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 ";
|
|
|
|
}
|
|
|
@@ -505,7 +485,6 @@ class ListView |
|
|
|
$ids[$row['id']] = $row['id'];
|
|
|
|
//处理一些特殊字段
|
|
|
|
$row['infos'] = cn_substr($row['description'], $infolen);
|
|
|
|
$row['id'] = $row['id'];
|
|
|
|
if ($row['corank'] > 0 && $row['arcrank'] == 0) {
|
|
|
|
$row['arcrank'] = $row['corank'];
|
|
|
|
}
|
|
|
@@ -619,7 +598,7 @@ class ListView |
|
|
|
*
|
|
|
|
* @access public
|
|
|
|
* @param string
|
|
|
|
* @return string
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
function DisplayPartTemplets()
|
|
|
|
{
|
|
|
@@ -689,7 +668,7 @@ class ListView |
|
|
|
* 解析模板,对固定的标记进行初始给值
|
|
|
|
*
|
|
|
|
* @access public
|
|
|
|
* @return string
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
function ParseTempletsFirst()
|
|
|
|
{
|
|
|
@@ -707,7 +686,7 @@ class ListView |
|
|
|
* @access public
|
|
|
|
* @param int $PageNo 页数
|
|
|
|
* @param int $ismake 是否编译
|
|
|
|
* @return string
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
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 {
|
|
|
|
$addField = '';
|
|
|
|
$addJoin = '';
|
|
|
|
}
|
|
|
|
//如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢
|
|
|
|
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查询速度非常快
|
|
|
|
else {
|
|
|
@@ -937,7 +909,6 @@ class ListView |
|
|
|
$ids[$row['id']] = $row['id'];
|
|
|
|
//处理一些特殊字段
|
|
|
|
$row['infos'] = cn_substr($row['description'], $infolen);
|
|
|
|
$row['id'] = $row['id'];
|
|
|
|
if ($row['corank'] > 0 && $row['arcrank'] == 0) {
|
|
|
|
$row['arcrank'] = $row['corank'];
|
|
|
|
}
|
|
|
@@ -1037,7 +1008,6 @@ class ListView |
|
|
|
*/
|
|
|
|
function GetPageListST($list_len, $listitem = "index,end,pre,next,pageno")
|
|
|
|
{
|
|
|
|
global $cfg_cmspath;
|
|
|
|
$prepage = $nextpage = '';
|
|
|
|
$prepagenum = $this->PageNo - 1;
|
|
|
|
$nextpagenum = $this->PageNo + 1;
|
|
|
@@ -1126,7 +1096,7 @@ class ListView |
|
|
|
*/
|
|
|
|
function GetPageListDM($list_len, $listitem = "index,end,pre,next,pageno")
|
|
|
|
{
|
|
|
|
global $cfg_cmspath, $cfg_rewrite;
|
|
|
|
global $cfg_rewrite;
|
|
|
|
$prepage = $nextpage = '';
|
|
|
|
$prepagenum = $this->PageNo - 1;
|
|
|
|
$nextpagenum = $this->PageNo + 1;
|
|
|
@@ -1145,28 +1115,23 @@ class ListView |
|
|
|
//开启伪静态对规则替换
|
|
|
|
if ($cfg_rewrite == 'Y') {
|
|
|
|
$purl = str_replace("/apps", "", $purl);
|
|
|
|
$nowurls = preg_replace("/", ".php?", $purl);
|
|
|
|
$nowurls = str_replace("/", ".php?", $purl);
|
|
|
|
$nowurls = explode("?", $nowurls);
|
|
|
|
$purl = $nowurls[0];
|
|
|
|
}
|
|
|
|
$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
|
|
|
|
$purl .= '?'.$geturl;
|
|
|
|
$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) {
|
|
|
|
$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 {
|
|
|
|
$indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>";
|
|
|
|
}
|
|
|
|
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 {
|
|
|
|
$endpage = "<li class='page-item'><span class='page-link'>末页</span></li>";
|
|
|
|
}
|
|
|
@@ -1189,7 +1154,7 @@ class ListView |
|
|
|
if ($j == $this->PageNo) {
|
|
|
|
$listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>";
|
|
|
|
} 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 = '';
|
|
|
|