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 "; $cachekey = md5($sql); $arr = GetCache('listcache', $cachekey); if (empty($arr)) { $arr = $dsql->GetOne($sql); SetCache('listcache', $cachekey, $arr); } $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.$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();