PUN_ADMIN) message($lang_common['No permission']); // Add a new category if (isset($_POST['add_cat'])) { confirm_referrer('admin_categories.php'); $new_cat_name = trim($_POST['new_cat_name']); if ($new_cat_name == '') message('You must enter a name for the category.'); $db->query('INSERT INTO '.$db->prefix.'categories (cat_name) VALUES(\''.$db->escape($new_cat_name).'\')') or error('Unable to create category', __FILE__, __LINE__, $db->error()); redirect('admin_categories.php', 'Category added. Redirecting …'); } // Delete a category else if (isset($_POST['del_cat']) || isset($_POST['del_cat_comply'])) { confirm_referrer('admin_categories.php'); $cat_to_delete = intval($_POST['cat_to_delete']); if ($cat_to_delete < 1) message($lang_common['Bad request']); if (isset($_POST['del_cat_comply'])) // Delete a category with all forums and posts { @set_time_limit(0); $result = $db->query('SELECT id FROM '.$db->prefix.'forums WHERE cat_id='.$cat_to_delete) or error('Unable to fetch forum list', __FILE__, __LINE__, $db->error()); $num_forums = $db->num_rows($result); for ($i = 0; $i < $num_forums; ++$i) { $cur_forum = $db->result($result, $i); // Prune all posts and topics prune($cur_forum, 1, -1); // Delete the forum $db->query('DELETE FROM '.$db->prefix.'forums WHERE id='.$cur_forum) or error('Unable to delete forum', __FILE__, __LINE__, $db->error()); } // Locate any "orphaned redirect topics" and delete them $result = $db->query('SELECT t1.id FROM '.$db->prefix.'topics AS t1 LEFT JOIN '.$db->prefix.'topics AS t2 ON t1.moved_to=t2.id WHERE t2.id IS NULL AND t1.moved_to IS NOT NULL') or error('Unable to fetch redirect topics', __FILE__, __LINE__, $db->error()); $num_orphans = $db->num_rows($result); if ($num_orphans) { for ($i = 0; $i < $num_orphans; ++$i) $orphans[] = $db->result($result, $i); $db->query('DELETE FROM '.$db->prefix.'topics WHERE id IN('.implode(',', $orphans).')') or error('Unable to delete redirect topics', __FILE__, __LINE__, $db->error()); } // Delete the category $db->query('DELETE FROM '.$db->prefix.'categories WHERE id='.$cat_to_delete) or error('Unable to delete category', __FILE__, __LINE__, $db->error()); // Regenerate the quickjump cache require_once PUN_ROOT.'include/cache.php'; generate_quickjump_cache(); redirect('admin_categories.php', 'Category deleted. Redirecting …'); } else // If the user hasn't comfirmed the delete { $result = $db->query('SELECT cat_name FROM '.$db->prefix.'categories WHERE id='.$cat_to_delete) or error('Unable to fetch category info', __FILE__, __LINE__, $db->error()); $cat_name = $db->result($result); $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Categories'; require PUN_ROOT.'header.php'; generate_admin_menu('categories'); ?>

Category delete

Confirm delete category

Are you sure that you want to delete the category ""?

WARNING! Deleting a category will delete all forums and posts (if any) in that category!

Go back

query('SELECT id, disp_position FROM '.$db->prefix.'categories ORDER BY disp_position') or error('Unable to fetch category list', __FILE__, __LINE__, $db->error()); $num_cats = $db->num_rows($result); for ($i = 0; $i < $num_cats; ++$i) { if ($cat_name[$i] == '') message('You must enter a category name.'); if (!@preg_match('#^\d+$#', $cat_order[$i])) message('Position must be an integer value.'); list($cat_id, $position) = $db->fetch_row($result); $db->query('UPDATE '.$db->prefix.'categories SET cat_name=\''.$db->escape($cat_name[$i]).'\', disp_position='.$cat_order[$i].' WHERE id='.$cat_id) or error('Unable to update category', __FILE__, __LINE__, $db->error()); } // Regenerate the quickjump cache require_once PUN_ROOT.'include/cache.php'; generate_quickjump_cache(); redirect('admin_categories.php', 'Categories updated. Redirecting …'); } // Generate an array with all categories $result = $db->query('SELECT id, cat_name, disp_position FROM '.$db->prefix.'categories ORDER BY disp_position') or error('Unable to fetch category list', __FILE__, __LINE__, $db->error()); $num_cats = $db->num_rows($result); for ($i = 0; $i < $num_cats; ++$i) $cat_list[] = $db->fetch_row($result); $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Categories'; require PUN_ROOT.'header.php'; generate_admin_menu('categories'); ?>

Add/remove/edit categories

Add/delete categories
Add a new category
The name of the new category you want to add. You can edit the name of the category later (see below).Go to Forums to add forums to your new category.
Delete a category
Select the name of the category you want to delete. You will be asked to confirm your choice of category for deletion before it is deleted.
Edit categories
Name Position