diff -r 000000000000 -r f9ffdbd96607 punbb/admin_ranks.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/punbb/admin_ranks.php Wed Jul 11 21:01:48 2007 -0400 @@ -0,0 +1,195 @@ + PUN_ADMIN) + message($lang_common['No permission']); + + +// Add a rank +if (isset($_POST['add_rank'])) +{ + confirm_referrer('admin_ranks.php'); + + $rank = trim($_POST['new_rank']); + $min_posts = $_POST['new_min_posts']; + + if ($rank == '') + message('You must enter a rank title.'); + + if (!@preg_match('#^\d+$#', $min_posts)) + message('Minimum posts must be a positive integer value.'); + + // Make sure there isn't already a rank with the same min_posts value + $result = $db->query('SELECT 1 FROM '.$db->prefix.'ranks WHERE min_posts='.$min_posts) or error('Unable to fetch rank info', __FILE__, __LINE__, $db->error()); + if ($db->num_rows($result)) + message('There is already a rank with a minimun posts value of '.$min_posts.'.'); + + $db->query('INSERT INTO '.$db->prefix.'ranks (rank, min_posts) VALUES(\''.$db->escape($rank).'\', '.$min_posts.')') or error('Unable to add rank', __FILE__, __LINE__, $db->error()); + + // Regenerate the ranks cache + require_once PUN_ROOT.'include/cache.php'; + generate_ranks_cache(); + + redirect('admin_ranks.php', 'Rank added. Redirecting …'); +} + + +// Update a rank +else if (isset($_POST['update'])) +{ + confirm_referrer('admin_ranks.php'); + + $id = intval(key($_POST['update'])); + + $rank = trim($_POST['rank'][$id]); + $min_posts = trim($_POST['min_posts'][$id]); + + if ($rank == '') + message('You must enter a rank title.'); + + if (!@preg_match('#^\d+$#', $min_posts)) + message('Minimum posts must be a positive integer value.'); + + // Make sure there isn't already a rank with the same min_posts value + $result = $db->query('SELECT 1 FROM '.$db->prefix.'ranks WHERE id!='.$id.' AND min_posts='.$min_posts) or error('Unable to fetch rank info', __FILE__, __LINE__, $db->error()); + if ($db->num_rows($result)) + message('There is already a rank with a minimun posts value of '.$min_posts.'.'); + + $db->query('UPDATE '.$db->prefix.'ranks SET rank=\''.$db->escape($rank).'\', min_posts='.$min_posts.' WHERE id='.$id) or error('Unable to update rank', __FILE__, __LINE__, $db->error()); + + // Regenerate the ranks cache + require_once PUN_ROOT.'include/cache.php'; + generate_ranks_cache(); + + redirect('admin_ranks.php', 'Rank updated. Redirecting …'); +} + + +// Remove a rank +else if (isset($_POST['remove'])) +{ + confirm_referrer('admin_ranks.php'); + + $id = intval(key($_POST['remove'])); + + $db->query('DELETE FROM '.$db->prefix.'ranks WHERE id='.$id) or error('Unable to delete rank', __FILE__, __LINE__, $db->error()); + + // Regenerate the ranks cache + require_once PUN_ROOT.'include/cache.php'; + generate_ranks_cache(); + + redirect('admin_ranks.php', 'Rank removed. Redirecting …'); +} + + +$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Ranks'; +$focus_element = array('ranks', 'new_rank'); +require PUN_ROOT.'header.php'; + +generate_admin_menu('ranks'); + +?> +