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?f=$f&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();