📄 category.php
字号:
<?php/*======================================================================*\|| #################################################################### |||| # VirtuaNews - 1.0.4 Pro License ID - [WDYL-WTN]|| # ---------------------------------------------------------------- # |||| # All code in this file is ?2002 VirtuaSystems . # |||| # This file may not be redistributed in whole or significant part. # |||| # --------------- VIRTUANEWS IS NOT FREE SOFTWARE ---------------- # |||| # http://www.virtuanews.co.uk # |||| # http://www.virtuanews.co.uk/license.php # |||| #################################################################### ||\*======================================================================*/if (preg_match("/(admin\/category.php)/i",$PHP_SELF)) { header("location:../admin.php"); exit;}updateadminlog(iif($id,"id = $id",""));function makethemeselectcode($title,$name="themeid",$value=0) { echo " <tr>\n <td>$title</td>\n <td>\n <select name=\"$name\" class=\"form\">\n"; $getdata = query("SELECT id,title FROM news_theme ORDER BY title"); while ($data_arr = fetch_array($getdata)) { echo " <option value=\"$data_arr[id]\"".iif($value == $data_arr[id]," selected=\"selected\"").">$data_arr[title]</option>\n"; } echo " </select>\n </td>\n </tr>\n";}function returncatoptions($data,$level=0) { global $modname,$expand,$subexpand,$botexpand; if ($level == 1) { return "<li><b>$data[name]</b> ".iif($data[children],iif($expand == $data[id],returnlinkcode("Collapse","admin.php?action=category")." |",returnlinkcode("展开","admin.php?action=category&expand=$data[id]")." |")).returnlinkcode("编辑","admin.php?action=category_edit&id=$data[id]")." |".returnlinkcode("删除","admin.php?action=category_delete&id=$data[id]")." |".returnlinkcode("添加隐藏分类","admin.php?action=category_add&parentid=$data[id]")." |".returnlinkcode("编辑公告","admin.php?action=category_ann_edit&catid=$data[id]")."</li>\n"; } elseif ($level == 2) { return "<li><b>$data[name]</b> ".iif($data[children],iif($subexpand == $data[id],returnlinkcode("Collapse","admin.php?action=category&expand=$expand")." |",returnlinkcode("展开","admin.php?action=category&expand=$expand&subexpand=$data[id]")." |")).returnlinkcode("编辑","admin.php?action=category_edit&id=$data[id]")." |".returnlinkcode("删除","admin.php?action=category_delete&id=$data[id]")." |".returnlinkcode("添加隐藏分类","admin.php?action=category_add&parentid=$data[id]")." |".returnlinkcode("编辑公告","admin.php?action=category_ann_edit&catid=$data[id]")."</li>\n"; } elseif ($level == 3) { return "<li><b>$data[name]</b> ".iif($data[children],iif($botexpand == $data[id],returnlinkcode("Collapse","admin.php?action=category&expand=$expand&subexpand=$subexpand")." |")).returnlinkcode("编辑","admin.php?action=category_edit&id=$data[id]")." |".returnlinkcode("删除","admin.php?action=category_delete&id=$data[id]")." |".returnlinkcode("编辑公告","admin.php?action=category_ann_edit&catid=$data[id]")."</li>\n"; }}function makeparentselect($title,$name,$value) { global $id; echo " <tr>\n <td>$title</td>\n <td>\n <select name=\"$name\" class=\"form\">\n"; echo " <option value=\"\">None</option>\n"; $gettop = query("SELECT id,parentid,name,children FROM news_category WHERE parentid = 0 ORDER BY displayorder"); while ($top_arr = fetch_array($gettop)) { if (($top_arr[id] != $id)) { echo " <option value=\"$top_arr[id]\"".iif($value == $top_arr[id]," selected=\"selected\"","").">$top_arr[name]</option>\n"; } if ($top_arr[children]) { $getmid = query("SELECT id,name,parentid,children FROM news_category WHERE parentid = $top_arr[id] ORDER BY displayorder"); while ($mid_arr = fetch_array($getmid)) { if (($mid_arr[parentid] != $id) & ($mid_arr[id] != $id)) { echo " <option value=\"$mid_arr[id]\"".iif($value == $mid_arr[id]," selected=\"selected\"","").">$top_arr[name] >> $mid_arr[name]</option>\n"; } } } } echo " </select>\n </td>\n </tr>\n";}switch ($action) {case "category": echohtmlheader(); echotableheader("编辑新闻分类",1); echotabledescription("在这个站使用这个页面编辑新闻分类. 通过下面的连接继续你想要的分类.",1); echotabledescription(returnlinkcode("添加新的分类","admin.php?action=category_add"),1); $getdata = query("SELECT id,name,children FROM news_category WHERE parentid = 0 ORDER BY displayorder"); $tablerows = "<ul>\n"; while ($data_arr = fetch_array($getdata)) { $tablerows .= returncatoptions($data_arr,1); if ($expand == $data_arr[id]) { $tablerows .= "<ul>\n"; if ($data_arr[children]) { $getsubcats = query("SELECT id,name,children FROM news_category WHERE parentid = $data_arr[id] ORDER BY displayorder"); while ($sub_arr = fetch_array($getsubcats)) { $tablerows .= returncatoptions($sub_arr,2); if ($subexpand == $sub_arr[id]) { $tablerows .= "<ul>\n"; if ($sub_arr[children]) { $getbotcats = query("SELECT id,name,children FROM news_category WHERE parentid = $sub_arr[id] ORDER BY displayorder"); while ($bot_arr = fetch_array($getbotcats)) { $tablerows .= returncatoptions($bot_arr,3); } $tablerows .= "</ul>\n"; } $tablerows .= "</ul>\n"; } } } $tablerows .= "</ul>\n"; } } $tablerows .= "</ul>\n"; echotabledescription("\n$tablerows ",1); echotablefooter(); echohtmlfooter();break;case "category_add": echohtmlheader("qhtmlcode"); echoformheader("category_new","增加新闻分类"); echoinputcode("分类名称:","name"); if ($staff_allowqhtml) { echoqhtmlhelp(); } echotextareacode("分类描述:","content","",5,50,1); echoinputcode("分类图像:","image","",40,1,50); makethemeselectcode("默认风格:","defaulttheme"); echoyesnocode("是否使用默认风格:","forcetheme",0); makeparentselect("子分类:","parentid",$parentid); echopermissionselect("允许注释给:","allowcomments",3); echopermissionselect("允许显示分类给:","allowview",3); echoyesnocode("显示站点信息?","showsitestats",1); if ($use_forum) { echoyesnocode("显示论坛信息?","showforumstats",1); echoyesnocode("显示论坛设置","showforumoptions",1); } echoyesnocode("显示投票?","showpoll",1); echoyesnocode("显示公告?","showannouncement",1); echoyesnocode("显示隐藏分类:<br />如果选择YES,那么将在主页显示这个隐藏分类的最新消息.","showsubcats",0); echoinputcode("显示顺序:","displayorder",1,10); echoyesnocode("显示分类到主页:<br />如果选择NO,那么这个分类将只显示在搜索、文章及注释页面 .","displaymain",1); foreach ($cat_arr as $key => $val) { $checkboxes .= returncheckboxcode("recentpost[$key]",1,$val[name],iif($key == $defaultcategory,1,0)); } echotablerow("显示分类最近的帖子?<br /><span class=\"red\">(你可以选择若干个)</span>","\n$checkboxes "); if ($userinfo[caneditstaff]) { unset($checkboxes); $getdata = query("SELECT news_staff.id,".$foruminfo[user_table].".".$foruminfo[username_field]." AS username FROM news_staff LEFT JOIN $foruminfo[user_table] ON news_staff.userid = ".$foruminfo[user_table].".".$foruminfo[userid_field]." ORDER BY ".$foruminfo[user_table].".".$foruminfo[username_field]); while ($data_arr = fetch_array($getdata)) { $checkboxes .= returncheckboxcode("staff[$data_arr[id]]","1",$data_arr[username],iif($data_arr[id] == $staffid,1,0)); } echotablerow("管理员允许发帖:","\n$checkboxes "); } echoformfooter(); echohtmlfooter();break;case "category_new": if (($name == "") | ($displayorder == "")) { adminerror("栏目空白","所有栏目必须全部填写,只有标记 <span class=\"red\">(可选)</span> 的栏目可以留空"); } verifyid("news_theme",$defaulttheme); settype($parentid,"integer"); if ($parentid) { $data_arr = query_first("SELECT id,parentid FROM news_category WHERE id = $parentid"); if (!$data_arr) { adminerror("无效ID","你指定了一个无效id."); } if ($data_arr[parentid] != 0) { if (query_first("SELECT id FROM news_category WHERE (id = $data_arr[parentid]) AND (parentid <> 0)")) { adminerror("Invalid Parent Category","The parent category you specified is all ready a child to another sub category and therefore cannot have any child categories of its own."); } } query("UPDATE news_category SET children = children+'1' WHERE id = $parentid"); } foreach ($cat_arr AS $key => $val) { $recentpost_new .= iif($recentpost[$key],iif($recentpost_new,",$key",$key),""); } query("INSERT INTO news_category VALUES(NULL,'$parentid','0','$name','$content','$image','0','$allowcomments','$allowview','$showsitestats','$showforumstats','$showforumoptions','$showpoll','$showannouncement','$showsubcats','$defaulttheme','$forcetheme','$recentpost_new','1','$displayorder','$displaymain','0')"); $newid = getlastinsert(); $temp_menu = @join("",@file("pages/default/menu_".$defaultcategory.".vnp")); writepagebit("pages/default/menu_".$newid.".vnp",$temp_menu); unset($data); unset($temp_menu); query("INSERT INTO news_page VALUES (NULL,'-1','menu_$newid','This page is the menu for the category called <b>$name</b>.','1')"); query("INSERT INTO news_announcement VALUES ('$newid','','','')"); if ($parentid == 0) { query("ALTER TABLE news_staff ADD canpost_$newid TINYINT(1) DEFAULT '0' NOT NULL"); query("OPTIMIZE TABLE news_staff"); if ($userinfo[caneditstaff]) { if (count($staff) > 0) { foreach ($staff AS $key => $val) { if ($val == "1") { query("UPDATE news_staff SET canpost_$newid = '1' WHERE id = $key"); } } } } } if ($parentid) { if ($data_arr[parentid]) { $expandurl = "&expand=$data_arr[parentid]&subexpand=$parentid&botexpand=$newid"; } else { $expandurl = "&expand=$parentid&subexpand=$newid"; } } else { $expandurl = "&expand=$newid"; } unset($cat_arr); $cat_arr = getcat_arr(); writeallpages(); echoadminredirect("admin.php?action=category$expandurl");break;case "category_edit": settype($id,"integer"); if ($data_arr = query_first("SELECT parentid,name,description,image,allowcomments,allowview,showsitestats,showforumstats,showforumoptions,showpoll,showannouncement,showsubcats,defaulttheme,forcetheme,recentpost,display,displayorder,displaymain FROM news_category WHERE id = $id")) { echohtmlheader("qhtmlcode"); echoformheader("category_update","更新新闻分类"); updatehiddenvar("id",$id); echotabledescription("你能使用这页编辑本站新的分类. 你改变设置请按submit键保存你的修改."); echotabledescription(returnlinkcode("编辑公告","admin.php?action=category_ann_edit&catid=$id")); echoinputcode("分类名称:","name",$data_arr[name]); if ($staff_allowqhtml) { echoqhtmlhelp(); } echotextareacode("分类描述:","content",$data_arr[description],5,50,1); echoinputcode("分类图片:","image",$data_arr[image],40,1); makethemeselectcode("默认风格:","defaulttheme",$data_arr[defaulttheme]); echoyesnocode("是否强制使用默认风格:","forcetheme",$data_arr[forcetheme]); makeparentselect("子分类:","parentid",$data_arr[parentid]); echopermissionselect("允许注释给:","allowcomments",$data_arr[allowcomments]); echopermissionselect("允许显示分类给:","allowview",$data_arr[allowview]); echoyesnocode("显示站点信息:","showsitestats",$data_arr[showsitestats]); if ($use_forum) { echoyesnocode("显示论坛信息:","showforumstats",$data_arr[showforumstats]); echoyesnocode("显示论坛设置:","showforumoptions",$data_arr[showforumoptions]); } echoyesnocode("显示投票:","showpoll",$data_arr[showpoll]); echoyesnocode("显示公告:","showannouncement",$data_arr[showannouncement]); echoyesnocode("显示隐藏分类:<br />如果选择YES,那么将在主页显示这个隐藏分类的最新消息 .","showsubcats",$data_arr[showsubcats]); echoinputcode("显示顺序:","displayorder",$data_arr[displayorder],10); echoyesnocode("显示分类:","display",$data_arr[display]); echoyesnocode("显示分类到主页:<br />如果选择NO,那么这个分类将只显示在搜索、文章及注释页面 .","displaymain",$data_arr[displaymain]); $recentpost = array(); unset($checkboxes); $recentpost_temp = explode(",",$data_arr[recentpost]); foreach ($recentpost_temp AS $val) { $recentpost[$val] = 1; } foreach ($cat_arr as $key => $val) { $checkboxes .= " <input type=\"checkbox\" name=\"recentpost[$key]\" value=\"1\"".iif($recentpost[$key]," checked=\"checked\"","")."> $val[name]<br />\n"; } echotablerow("显示分类最近的帖子?<br /><span class=\"red\">(你可以选择若干个)</span>","\n$checkboxes "); echoformfooter(); echohtmlfooter(); } else { adminerror("invalid_id"); }break;case "category_update":
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -