function list_allsort($fid, $table = 'sort', $getnum = '') { global $db, $pre, $sortdb, $Fid_db; $query = $db->query("SELECT * FROM {$pre}{$table} where fup='{$fid}' ORDER BY list DESC"); while ($rs = $db->fetch_array($query)) { $icon = ""; for ($i = 1; $i < $rs['class']; $i++) { $icon .= " | "; } if ($icon) { $icon = substr($icon, 0, -24); $icon .= "--"; } $rs[config] = unserialize($rs[config]); $rs[icon] = $icon; $NUM = 0; if ($getnum && !$rs[type]) { $erp = $Fid_db[iftable][$rs[fid]]; @extract($db->get_one("SELECT COUNT(*) AS NUM FROM {$pre}article{$erp} WHERE fid='{$rs['fid']}'")); $rs[NUM] = intval($NUM); } $sortdb[] = $rs; list_allsort($rs[fid], $table, $getnum); } }
<?php !function_exists('html') && exit('ERR'); if ($job == "listsort" && $Apower[spsort_listsort]) { $fid = intval($fid); $sortdb = array(); list_allsort($fid, $table = 'spsort'); if ($fid) { $rsdb = $db->get_one(" SELECT * FROM {$pre}spsort WHERE fid='{$fid}' "); } $sort_fup = $Guidedb->Select("{$pre}spsort", "fup", $fid); require dirname(__FILE__) . "/" . "head.php"; require dirname(__FILE__) . "/" . "template/spsort/menu.htm"; require dirname(__FILE__) . "/" . "template/spsort/sort.htm"; require dirname(__FILE__) . "/" . "foot.php"; } elseif ($action == "addsort" && $Apower[spsort_listsort]) { if ($fup) { $rs = $db->get_one("SELECT name,class FROM {$pre}spsort WHERE fid='{$fup}' "); $class = $rs['class']; $db->query("UPDATE {$pre}spsort SET sons=sons+1 WHERE fid='{$fup}'"); $type = 0; } else { $class = 0; } $type = 1; /*分类标志*/ $class++; $db->query("INSERT INTO {$pre}spsort (name,fup,class,type,allowcomment) VALUES ('{$name}','{$fup}','{$class}','{$type}',1) "); @extract($db->get_one("SELECT fid FROM {$pre}spsort ORDER BY fid DESC LIMIT 0,1")); mod_sort_class("{$pre}spsort", 0, 0); //更新class
$min = ($page - 1) * $rows; $showpage = getpage("{$pre}sort", "WHERE fup='{$fid}'", "index.php?lfj={$lfj}&job={$job}&only={$only}&mid={$mid}&fid={$fid}", $rows); $query = $db->query("SELECT * FROM {$pre}sort WHERE fup='{$fid}' ORDER BY list DESC,fid ASC LIMIT {$min},{$rows}"); while ($rs = $db->fetch_array($query)) { //if(!$rs[type]){ // $erp=$Fid_db[iftable][$rs[fid]]; // @extract($db->get_one("SELECT COUNT(*) AS NUM FROM {$pre}article$erp WHERE fid='$rs[fid]'")); // $rs[NUM]=intval($NUM); //} $sortdb[] = $rs; } if ($fid) { $show_guide = "<A HREF='index.php?lfj={$lfj}&job={$job}&only={$only}&mid={$mid}'>返回顶级目录</A> " . list_sort_guide($fid); } } else { list_allsort($fid, 'sort', 1); } $article_show_step[$webdb[labelsort_show_step]] = 'red;'; require dirname(__FILE__) . "/" . "head.php"; require dirname(__FILE__) . "/" . "template/channel/list_fid.htm"; require dirname(__FILE__) . "/" . "foot.php"; } elseif ($action == "order" && $Apower[channel_list]) { asort($fiddb); $keyfid = array_keys($fiddb); $postdb[fids] = implode(",", $keyfid); unset($con); $con[rows] = $atc_rows; $con[leng] = $atc_leng; $con[order] = $atc_order; $config = addslashes(serialize($con)); $db->query("UPDATE `{$pre}channel` SET fids='{$postdb['fids']}',config='{$config}' WHERE id='{$id}' ");
function list_allsort($fid, $Class, $ckfid, $fmid = "0") { global $db, $pre, $listdb; $Class++; if (!$fmid) { $query = $db->query("SELECT * FROM {$pre}sort WHERE fup='{$fid}' ORDER BY list DESC"); } else { $query = $db->query("SELECT * FROM {$pre}sort WHERE fup='{$fid}' AND fmid ='{$fmid}'ORDER BY list DESC"); } while ($rs = $db->fetch_array($query)) { $icon = ""; for ($i = 1; $i < $Class; $i++) { $icon .= " | "; } if ($icon) { $icon = substr($icon, 0, -12); $icon .= "--"; } if ($rs[type]) { $fid_select .= "<option value='-1' style='color:red;'>{$icon}{$rs['name']}</option>"; } else { $ckk = $ckfid == $rs[fid] ? ' selected ' : ' '; $fid_select .= "<option value='{$rs['fid']}' {$ckk}>{$icon}{$rs['name']}</option>"; } $fid_select .= list_allsort($rs[fid], $Class, $ckfid); } return $fid_select; }