0 ? "style='display: none;'" : "")." class='$class'>\n\t".$space; $subs = ""; $downlink = " "; $uplink = " "; $$thiscat = $catlist; foreach($$thiscat as $cat => $catinfo) { if($catinfo['pid'] == $thiscatinfo['pid'] && $thiscatinfo['order'] > $catinfo['order']) $uplink = "$up"; if($catinfo['pid'] == $thiscatinfo['pid'] && $thiscatinfo['order'] < $catinfo['order']) $downlink = "$down"; if($catinfo['pid'] == $thiscat) $subs .= build_cat_row($cat, $catinfo); } if($subs) $output .= "on "; $output .= $thiscatinfo['name']."\n $downlink\n $uplink\n "._EDIT." | "._DELETE." | "._ADD.": $space "._SUBCATEGORY.", "._CHARACTERS.", "._ADMINS."\r\n$subs"; return $output; } function relevelcategory($cat, $leveldown) { global $action; $subs = dbquery("SELECT catid FROM ".TABLEPREFIX."fanfiction_categories WHERE parentcatid = '$cat'"); if(dbnumrows($subs)) { while($sub = dbassoc($subs)) {relevelcategory($sub[catid], $leveldown + 1); } } dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET leveldown = $leveldown WHERE catid = '$cat'"); } $showlist = 1; $output .= "
"._CATEGORIES."
"; if(isset($_GET['catcounts'])) $output .= catcounts( ); if(isset($_GET["delete"]) && isNumber($_GET["delete"])) { $catid = $_GET["delete"]; $confirm = isset($_GET['confirm']) ? $_GET['confirm'] : false; if($confirm == "yes") { $result = dbquery("SELECT displayorder,leveldown, parentcatid FROM ".TABLEPREFIX."fanfiction_categories WHERE catid = '$catid'"); $cat = dbassoc($result); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = (displayorder - '1') WHERE displayorder > '$cat[displayorder]' AND parentcatid = '$cat[parentcatid]'"); dbquery("DELETE FROM ".TABLEPREFIX."fanfiction_categories WHERE catid = '$catid'"); dbquery("DELETE FROM ".TABLEPREFIX."fanfiction_categories WHERE parentcatid = '$catid'"); $stories = dbquery("SELECT title,sid, catid FROM ".TABLEPREFIX."fanfiction_stories WHERE FIND_IN_SET(catid, '$catid')"); while($story = dbassoc($stories)) { $cats = explode(",", $story['catid']); if(count($cats) == 1) $newcat = "-1"; else $newcat = implode(",", array_dif($cats, array($catid))); dbquery("UPDATE ".TABLEPREFIX."fanfiction_stories SET catid = '$newcat' WHERE sid = '$story[sid]' LIMIT 1"); } $code = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'delcategory'"); while($c = dbassoc($code)) { eval($c['code_text']); } $output .= write_message(_ACTIONSUCCESSFUL); } else if ($confirm == "no") { $output .= write_message(_ACTIONCANCELLED); } else { $showlist = 0; $output .= write_message(_CONFIRMDELETE."

[ "._YES." | "._NO." ]"); } } if (isset($_POST["submit"]) && !isset($_GET['catcounts'])) { if(isset($_POST['catid']) && $_POST['parentcatid'] == $_POST['catid']) { $output .= write_error(_ACTIONCANCELLED." "._CATERROR); $tpl->assign( "output", $output ); $tpl->printToScreen(); dbclose( ); exit( ); } if($_POST['parentcatid'] != "-1") { $parentquery = dbquery("SELECT leveldown FROM ".TABLEPREFIX."fanfiction_categories WHERE catid = '$_POST[parentcatid]'"); $parentresult = dbassoc($parentquery); $leveldown = $parentresult['leveldown'] + 1; } else $leveldown = 0; $locked = (isset($_POST['locked']) && $_POST['locked'] == "on" ? "1" : "0"); $displayorder = (isNumber($_POST['orderafter']) ? $_POST['orderafter'] : 0) + 1; if($_GET["cat"] == "new") { $query = dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = (displayorder + 1) WHERE displayorder > '".$_POST['orderafter']."' AND leveldown = '$leveldown' AND parentcatid ='".$_POST['parentcatid']."'"); $catresult = dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_categories (category, parentcatid, description, locked, image, leveldown, displayorder) VALUES ('".addslashes(descript(strip_tags(trim($_POST['category']))))."', '".$_POST['parentcatid']."', '".addslashes(descript($_POST['description']))."', '$locked', '".$_POST['image']."', '$leveldown', '$displayorder')"); } else { $oldinfo = dbquery("SELECT displayorder, parentcatid, leveldown FROM ".TABLEPREFIX."fanfiction_categories WHERE catid = '$_GET[cat]' LIMIT 1"); list($oldorder, $oldparent, $oldleveldown) = dbrow($oldinfo); $catresult = "UPDATE ".TABLEPREFIX."fanfiction_categories SET category = '".addslashes(descript($_POST['category']))."', description = '".addslashes(descript($_POST['description']))."', locked = '$locked', parentcatid = '".$_POST['parentcatid']."', image = '".$_POST['image']."', leveldown = '$leveldown', displayorder = '$displayorder' WHERE catid = '".$_POST['catid']."'"; if($oldparent == $_POST['parentcatid']) { if($oldorder && $oldorder < $displayorder) { dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = displayorder - 1 WHERE displayorder > $oldorder AND displayorder < $displayorder"); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = $displayorder - 1 WHERE catid = '".$_GET['cat']."'"); } if($oldorder > $displayorder) { dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = displayorder + 1 WHERE displayorder >= $displayorder AND displayorder < $oldorder"); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = $displayorder WHERE catid = '".$_GET['cat']."'"); } } else { if($oldleveldown != $leveldown) relevelcategory($_GET['cat'], $leveldown); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = displayorder -1 WHERE displayorder > $oldorder AND parentcatid = '$oldparent'"); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = displayorder + 1 WHERE displayorder > '".$_POST['orderafter']."' AND parentcatid = '".$_POST['parentcatid']."'"); } $success = dbquery($catresult); } $selectA = "SELECT category, catid FROM ".TABLEPREFIX."fanfiction_categories WHERE parentcatid = -1 ORDER BY displayorder"; $resultA = dbquery($selectA); $countA = 1; while($cat = dbassoc($resultA)) { $count = 1; if($cat['parentcatid'] = -1) { dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = $countA WHERE catid = $cat[catid]"); $countA++; } $selectB = "SELECT category, catid FROM ".TABLEPREFIX."fanfiction_categories WHERE parentcatid = '$cat[catid]' ORDER BY displayorder"; $resultB = dbquery($selectB); while($sub = dbassoc($resultB)) { dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = $count WHERE catid = $sub[catid]"); $count++; } } $showlist = false; $output .= write_message(_ACTIONSUCCESSFUL."

".""._CONTINUE.""); } else { if(isset($_GET["go"])) { $displayorder = $_GET["displayorder"]; $oneabove = ($_GET["go"] == "up" ? $displayorder -1 : $displayorder + 1); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = '-1' WHERE displayorder = '$displayorder' AND parentcatid = '".$_GET['parentcatid']."'"); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = '$displayorder' WHERE displayorder = '$oneabove' AND parentcatid = '".$_GET['parentcatid']."'"); dbquery("UPDATE ".TABLEPREFIX."fanfiction_categories SET displayorder = '$oneabove' WHERE displayorder = '-1' AND parentcatid = '".$_GET['parentcatid']."'"); $catlist = array( ); $catresults = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_categories ORDER BY leveldown, displayorder"); while($cat = dbassoc($catresults)) { $catlist[$cat['catid']] = array("name" => stripslashes($cat['category']), "pid" => $cat['parentcatid'], "order" => $cat['displayorder'], "locked" => $cat['locked'], "leveldown" => $cat['leveldown']); } } if(isset($_GET["cat"])) { $subof = isset($_GET['subof']) ? $_GET['subof'] : -1; $after = isset($_GET['after']) ? $_GET['after'] : false; $cat = isset($_GET['cat']) ? $_GET['cat'] : "new"; $new = isNumber($cat) ? false : true; if(isNumber($cat)) { $query = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_categories WHERE catid='$cat' LIMIT 1"); $cat1 = dbassoc($query); $subof = $cat1['parentcatid']; $after = $cat1['displayorder'] -1; } $showlist = 0; $output .= "
".(!$new ? _EDITCAT : _NEWCAT)."
[?]"._HELP_CATLEVEL."
"; $output .= "
[?]"._HELP_ORDERAFTER."
" : "value='$cat1[category]'>")." [?]"._HELP_CATNAME."
[?]"._HELP_CATDESC."
"; if($tinyMCE) $output .= "
"; $output.= "
[?]"._HELP_LOCKED."
[?]"._HELP_CATIMAGE."
 
"; } } if($showlist) { // Rebuild the category list to reflect any changes we just did. $catlist = array( ); $catresults = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_categories ORDER BY leveldown, displayorder"); while($cat = dbassoc($catresults)) { $catlist[$cat['catid']] = array("name" => stripslashes($cat['category']), "pid" => $cat['parentcatid'], "order" => $cat['displayorder'], "locked" => $cat['locked'], "leveldown" => $cat['leveldown']); } $output .= " "; foreach($catlist as $cat => $catinfo) { if($catinfo['pid'] == -1) $output .= build_cat_row($cat, $catinfo); } $output .= "
"._CATEGORY.""._MOVE.""._OPTIONS."
"._NEWMAIN."
"; } ?>