acl_get('a_ranks')) { return; } $module['USER']['RANKS'] = basename(__FILE__) . $SID; return; } define('IN_PHPBB', 1); // Let's set the root dir for phpBB $phpbb_root_path = '../'; $phpEx = substr(strrchr(__FILE__, '.'), 1); require('pagestart.' . $phpEx); // Do we have permission? if (!$auth->acl_get('a_ranks')) { trigger_error($user->lang['NO_ADMIN']); } // Check mode if (isset($_REQUEST['mode'])) { $mode = $_REQUEST['mode']; } else { // These could be entered via a form button if (isset($_POST['add'])) { $mode = 'add'; } else if (isset($_POST['save'])) { $mode = 'save'; } else { $mode = ''; } } $rank_id = (isset($_GET['id'])) ? intval($_GET['id']) : 0; // switch ($mode) { case 'edit': case 'add': $data = $ranks = $existing_imgs = array(); $result = $db->sql_query('SELECT * FROM ' . RANKS_TABLE . ' ORDER BY rank_special DESC, rank_min DESC'); if ($row = $db->sql_fetchrow($result)) { do { $existing_imgs[] = $row['rank_image']; if ($mode == 'edit' && $rank_id == $row['rank_id']) { $ranks = $row; } } while ($row = $db->sql_fetchrow($result)); } $db->sql_freeresult($result); $imglist = filelist($phpbb_root_path . $config['ranks_path'], ''); $edit_img = $filename_list = ''; foreach ($imglist as $path => $img_ary) { foreach ($img_ary as $img) { $img = substr($path, 1) . (($path != '') ? '/' : '') . $img; if (!in_array($img, $existing_imgs) || $mode == 'edit') { if ($ranks && $img == $ranks['rank_image']) { $selected = ' selected="selected"'; $edit_img = $img; } else { $selected = ''; } $filename_list .= ''; } } } $filename_list = '' . $filename_list; unset($existing_imgs); unset($imglist); // They want to add a new rank, show the form. $s_hidden_fields = ''; adm_page_header($user->lang['RANKS']); ?>
lang['RANKS_EXPLAIN']; ?>
sql_escape($rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . $db->sql_escape($rank_image) . "' WHERE rank_id = $rank_id"; $message = $user->lang['RANK_UPDATED']; } else { $sql = "INSERT INTO " . RANKS_TABLE . " (rank_title, rank_special, rank_min, rank_image) VALUES ('" . $db->sql_escape($rank_title) . "', $special_rank, $min_posts, '" . $db->sql_escape($rank_image) . "')"; $message = $user->lang['RANK_ADDED']; } $db->sql_query($sql); $cache->destroy('ranks'); trigger_error($message); break; case 'delete': // Ok, they want to delete their rank $rank_id = (isset($_REQUEST['id'])) ? intval($_REQUEST['id']) : 0; if ($rank_id) { $sql = "DELETE FROM " . RANKS_TABLE . " WHERE rank_id = $rank_id"; $db->sql_query($sql); $sql = "UPDATE " . USERS_TABLE . " SET user_rank = 0 WHERE user_rank = $rank_id"; $db->sql_query($sql); $cache->destroy('ranks'); trigger_error($user->lang['RANK_REMOVED']); } else { trigger_error($user->lang['MUST_SELECT_RANK']); } break; default: adm_page_header($user->lang['RANKS']); ?>lang['RANKS_EXPLAIN']; ?>