30) { $result = '分类名不能为空并且不能超过30个字符
'; return $result; } } //添加分类 if($action == 'doaddcate') { $cate_title = trim($_POST['name']); $cate_content = trim($_POST['content']); $displayorder = intval($_POST['displayorder']); $result = checkname($cate_title); if($result) { redirect($result); } $cate_title = char_cv($cate_title); $rs = $db->fetch_one_array("SELECT count(*) AS categories FROM {$tablepre}xna_category WHERE cate_title='$cate_title'"); if($rs['categories']) { redirect('该分类名在数据库中已存在'); } $db->query("INSERT INTO {$tablepre}xna_category (cate_title,cate_content,displayorder) VALUES ('$cate_title','$cate_content','$displayorder')"); $db->query("UPDATE {$tablepre}xna_statistics SET cate_count=cate_count+1"); categories_recache(); statistics_recache(); redirect('添加新分类成功', 'index.php?job=category'); } //修改分类 if($action == 'domodcate') { $cate_title = trim($_POST['name']); $cate_content = trim($_POST['content']); $cid = intval($_POST['cid']); $result = checkname($name); if($result) {redirect($result);} $name = char_cv($name); $rs = $db->fetch_one_array("SELECT count(*) AS categories FROM {$tablepre}xna_category WHERE cid!='$cid' AND cate_title='$name'"); if($rs['categories']) { redirect('已经有其他分类使用【'.$name.'】这个名称'); } // 更新分类 $db->query("UPDATE {$tablepre}xna_category SET cate_title='$name',cate_content='$cate_content' WHERE cid='$cid'"); categories_recache(); redirect('修改分类成功', 'index.php?job=category'); } //删除分类 if($action == 'dodelcate') { $cid = intval($_POST['cid']); $aids = $a_tatol = 0; // 删除分类 $db->query("DELETE FROM {$tablepre}xna_category WHERE cid='$cid'"); /*$query = $db->query("SELECT feedid, keywords, uid, state FROM {$tablepre}xna_site WHERE cid='$cid' ORDER BY id"); while ($article = $db->row($query)) { $aids .= ','.$article['feedid']; if ($article['keywords']) { updatetags($article['feedid'], '', $article['keywords']); } if ($article['state']) { $a_tatol++; $db->query("UPDATE {$tablepre}users SET xna_site=xna_site-1 WHERE userid='".$article['uid']."'"); } }*///end while redirect('成功删除分类', 'index.php?job=category'); } //修改Tag if($action == 'domodtag') { $newitem = addslashes($_POST['tag']); $olditem = addslashes($_POST['oldtag']); $tagid = intval($_POST['tagid']); $result = checktag($newitem); if($result) { redirect($result); } $result = $db->num($db->query("SELECT tagid FROM {$tablepre}xna_tags WHERE tag='$newitem'")); if($result) { redirect('数据库中已存在相同的数据', 'index.php?job=category&action=modtag&tagid='.$tagid); } $tag = $db->fetch_one_array("SELECT aids FROM {$tablepre}xna_tags WHERE tag='$olditem'"); if ($tag) { $query = $db->query("SELECT siteid, keywords FROM {$tablepre}xna_site WHERE siteid IN (".$tag['aids'].")"); while ($article = $db->row($query)) { $newtag = str_replace($olditem, $newitem, $article['keywords']); $db->query("UPDATE {$tablepre}xna_site SET keywords='".addslashes($newtag)."' WHERE articleid='".$article['articleid']."'"); } $db->query("UPDATE {$tablepre}xna_tags SET tag='$newitem' WHERE tagid='$tagid'"); } hottags_recache(); redirect('修改Tags成功', 'index.php?job=category&action=taglist'); } //批量删除Tag if($action == 'dodeltag') { if (!$_POST['tag'] || !is_array($_POST['tag'])) { redirect('未选择任何Tags'); } $tag_count=0; foreach ($tag as $name => $id) { removetag($name, $id); $tag_count++; } $db->query("UPDATE {$tablepre}statistics SET tag_count=tag_count-".$tag_count); hottags_recache(); statistics_recache(); redirect('成功删除所选Tags', 'index.php?job=category&action=taglist'); } //清理Tags if ($action == 'dotagclear') { //清空Tags表 if (!$step) { $db->query("TRUNCATE TABLE {$tablepre}xna_tags"); $step=1; } $percount = ($percount <= 0) ? 100 : $percount; $start = ($step - 1) * $percount; $next = $start + $percount; $step++; $jumpurl = 'index.php?job=category&action=dotagclear&step='.$step.'&percount='.$percount; $goon = 0; $query = $db->query("SELECT siteid, keywords FROM {$tablepre}xna_site WHERE visible='1' ORDER BY siteid LIMIT $start, $percount"); while($article = $db->row($query)){ $goon = 1; if ($article['keywords']) { $tagdb = explode(',', $article['keywords']); $tagnum = count($tagdb); for($i=0; $i<$tagnum; $i++) { $tagdb[$i] = trim($tagdb[$i]); if ($tagdb[$i]) { $tag = $db->fetch_one_array("SELECT tagid,aids FROM {$tablepre}xna_tags WHERE tag='$tagdb[$i]'"); if(!$tag) { $db->query("INSERT INTO {$tablepre}xna_tags (tag,usenum,aids) VALUES ('$tagdb[$i]', '1', '".$article['articleid']."')"); } else { $aids = $tag['aids'].','.$article['articleid']; $db->query("UPDATE {$tablepre}xna_tags SET usenum=usenum+1, aids='$aids' WHERE tag='$tagdb[$i]'"); } } unset($aids); } } } if($goon){ redirect('正在更新 '.$start.' 到 '.$next.' 项', $jumpurl, '2'); } else{ $tag_count = $db->num($db->query("SELECT tagid FROM {$tablepre}xna_tags")); $db->query("UPDATE {$tablepre}xna_statistics SET tag_count='$tag_count'"); hottags_recache(); statistics_recache(); redirect('成功执行清理操作', 'index.php?job=category&action=taglist'); } } // 更新分类排序 if ($action == 'updatedisplayorder') { if (!$_POST['displayorder'] || !is_array($_POST['displayorder'])) { redirect('未选择任何分类'); } foreach($displayorder as $cid => $order) { $db->query("UPDATE {$tablepre}xna_category SET displayorder='".intval($order)."' WHERE cid='$cid'"); } categories_recache(); redirect('所有分类的排序已更新', 'index.php?job=category'); } if(!$action) { $action = 'catelist'; } //分类列表 if ($action == 'catelist') { $catedb = array(); $query = $db->query("SELECT * FROM {$tablepre}xna_category ORDER BY displayorder ASC"); $tatol = $db->num($query); while($cate = $db->row($query)){ $catedb[] = $cate; } unset($cate); $db->free($query); $subnav = '分类管理'; } //分类操作 if (in_array($action, array('addcate', 'modcate', 'delcate'))) { if ($action == 'addcate') { $subnav = '添加分类'; $cate["cid"]=intval($_GET['cid']); } else { $cate = $db->fetch_one_array("SELECT * FROM {$tablepre}xna_category WHERE cid='".intval($_GET['cid'])."'"); if($action == 'modcate') { $subnav = '修改分类'; } else { $subnav = '删除分类'; } } } //标签列表 if (in_array($action, array('taglist', 'getalltags'))) { if($action == 'taglist') { $order = $_GET['ordered'] == 'usenum' ? 'usenum' : 'tagid'; if($page) { $start_limit = ($page - 1) * 30; } else { $start_limit = 0; $page = 1; } $numsql = "LIMIT $start_limit, 30"; $rs = $db->fetch_one_array("SELECT count(*) AS tags FROM {$tablepre}xna_tags"); $tatol = $rs['tags']; $multipage = multi($tatol, 30, $page, 'index.php?job=category&action=taglist'); } else { $order = 'tagid'; $numsql = ''; } $query = $db->query("SELECT tagid,tag,usenum FROM {$tablepre}xna_tags ORDER BY $order DESC $numsql"); $tagdb = array(); while ($tag = $db->row($query)) { $tag['url'] = urlencode($tag['tag']); $tag['item'] = htmlspecialchars($tag['tag']); $tagdb[] = $tag; } unset($tag); $db->free($query); if($action == 'taglist') { $subnav = '全部标签'; } else { include PrintEot('getalltags'); PageEnd(); } }//list //修改标签 if($action == 'modtag') { $tagid = intval($_GET['tagid']); $taginfo = $db->fetch_one_array("SELECT tagid,tag,usenum,aids FROM {$tablepre}xna_tags WHERE tagid='$tagid'"); if ($taginfo) { $taginfo['item'] = htmlspecialchars($taginfo['tag']); $query = $db->query("SELECT siteid, title FROM {$tablepre}xna_site WHERE siteid IN (".$taginfo['aids'].")"); $articledb = array(); while ($article = $db->row($query)) { $articledb[] = $article; } unset($article); $db->free($query); } $subnav = '修改标签'; }//mod //标签清理 if($action == 'tagclear') { $subnav = '标签清理'; } if (strstr($action, 'tag')) { $catenav = '标签管理'; $cateurl = 'taglist'; } else { $catenav = '分类管理'; $cateurl = 'catelist'; } $navlink_L = ' » '.$catenav.''.($subnav ? ' » '.$subnav : ''); cpheader(); include template("category", _ROOT . "/template/admin/"); ?>