getUserID();
}
$adminid = $cuserLogin->getUserID();
$maintable = '#@__archives';
setcookie('ENV_GOBACK_URL', $dedeNowurl, time()+3600, '/');
$tl = new TypeLink($cid);
//----------------------------------------
//在不指定排序条件和关键字的情况下直接统计微表
//----------------------------------------
if(empty($totalresult) && empty($keyword) && empty($orderby) && empty($flag))
{
$tinyQuerys = array();
if(!empty($userCatalogSql))
{
$tinyQuerys[] = str_replace('arc.', '', $userCatalogSql);
}
if(!empty($channelid) && empty($cid))
{
$tinyQuerys[] = " channel = '$channelid' ";
}
else
{
$tinyQuerys[] = " channel>0 ";
}
if(!empty($arcrank))
{
$tinyQuerys[] = " arcrank='$arcrank' ";
}
else
{
$tinyQuerys[] = " arcrank > -2 ";
}
if(!empty($mid))
{
$tinyQuerys[] = " mid='$mid' ";
}
if(!empty($cid))
{
$tinyQuerys[] = " typeid in(".GetSonIds($cid).") ";
}
if(count($tinyQuerys)>0)
{
$tinyQuery = "WHERE ".join(' AND ',$tinyQuerys);
}
// 缓存处理
$sql = "SELECT COUNT(*) AS dd FROM `#@__arctiny` $tinyQuery ";
$arr = $dsql->GetOne($sql);
$totalresult = $arr['dd'];
}
if($cid==0)
{
if($channelid==0)
{
$positionname = '所有栏目>';
}
else
{
$row = $tl->dsql->GetOne("SELECT id,typename,maintable FROM `#@__channeltype` WHERE id='$channelid'");
$positionname = $row['typename']." > ";
$maintable = $row['maintable'];
$channelid = $row['id'];
}
}
else
{
$positionname = str_replace($cfg_list_symbol," > ",$tl->GetPositionName())." > ";
}
//当选择的是单表模型栏目时,直接跳转到单表模型管理区
if(empty($channelid)
&& isset($tl->TypeInfos['channeltype']))
{
$channelid = $tl->TypeInfos['channeltype'];
}
if($channelid < -1 )
{
header("location:content_sg_list.php?cid=$cid&channelid=$channelid&keyword=$keyword");
exit();
}
// 栏目大于800则需要缓存数据
$optHash = md5($cid. serialize($admin_catalogs).$channelid);
$optCache = DEDEDATA."/tplcache/inc_option_$optHash.inc";
$typeCount = 0;
if (file_exists($cache1)) require_once($cache1);
else $cfg_Cs = array();
$typeCount = count($cfg_Cs);
if ( $typeCount > 800)
{
if (file_exists($optCache))
{
$optionarr = file_get_contents($optCache);
} else {
$optionarr = $tl->GetOptionArray($cid, $admin_catalogs, $channelid);
file_put_contents($optCache, $optionarr);
}
} else {
$optionarr = $tl->GetOptionArray($cid, $admin_catalogs, $channelid);
}
$whereSql = empty($channelid) ? " WHERE arc.channel > 0 AND arc.arcrank > -2 " : " WHERE arc.channel = '$channelid' AND arc.arcrank > -2 ";
$flagsArr = '';
$dsql->Execute('f', 'SELECT * FROM `#@__arcatt` ORDER BY sortid ASC');
while($frow = $dsql->GetArray('f'))
{
$flagsArr .= ($frow['att']==$flag ? "\r\n" : "\r\n");
}
if(!empty($userCatalogSql))
{
$whereSql .= " AND ".$userCatalogSql;
}
if(!empty($mid))
{
$whereSql .= " AND arc.mid = '$mid' ";
}
if($keyword != '')
{
$whereSql .= " AND ( CONCAT(arc.title,arc.writer) LIKE '%$keyword%') ";
}
if($flag != '')
{
$whereSql .= " AND FIND_IN_SET('$flag', arc.flag) ";
}
if($cid != 0)
{
$whereSql .= ' AND arc.typeid IN ('.GetSonIds($cid).')';
}
if($arcrank != '')
{
$whereSql .= " AND arc.arcrank = '$arcrank' ";
$CheckUserSend = "";
}
else
{
$CheckUserSend = "";
}
$orderby = empty($orderby) ? 'id' : preg_replace("#[^a-z0-9]#", "", $orderby);
$orderbyField = 'arc.'.$orderby;
$query = "SELECT arc.id,arc.typeid,arc.senddate,arc.flag,arc.ismake,
arc.channel,arc.arcrank,arc.click,arc.title,arc.color,arc.litpic,arc.pubdate,arc.mid
FROM `$maintable` arc
$whereSql
ORDER BY $orderbyField DESC";
if(empty($f) || !preg_match("#form#", $f)) $f = 'form1.arcid1';
//初始化
$dlist = new DataListCP();
$dlist->pageSize = 30;
//GET参数
$dlist->SetParameter('dopost', 'listArchives');
$dlist->SetParameter('keyword', $keyword);
if(!empty($mid)) $dlist->SetParameter('mid', $mid);
$dlist->SetParameter('cid', $cid);
$dlist->SetParameter('flag', $flag);
$dlist->SetParameter('orderby', $orderby);
$dlist->SetParameter('arcrank', $arcrank);
$dlist->SetParameter('channelid', $channelid);
$dlist->SetParameter('f', $f);
//模板
if(empty($s_tmplets)) $s_tmplets = 'templets/content_list.htm';
$dlist->SetTemplate(DEDEADMIN.'/'.$s_tmplets);
//查询
$dlist->SetSource($query);
//显示
$dlist->Display();
// echo $dlist->queryTime;
$dlist->Close();