From 67bbcf5c49ba73f05477bc5bb5864e3fa40b5fd8 Mon Sep 17 00:00:00 2001 From: "Paul S. Owen" Date: Tue, 3 Jun 2003 21:40:02 +0000 Subject: Default rank images directory git-svn-id: file:///svn/phpbb/trunk@4076 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/admin_ranks.php | 236 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 164 insertions(+), 72 deletions(-) (limited to 'phpBB/adm/admin_ranks.php') diff --git a/phpBB/adm/admin_ranks.php b/phpBB/adm/admin_ranks.php index b4ff6e9b9f..48b7bcb45f 100644 --- a/phpBB/adm/admin_ranks.php +++ b/phpBB/adm/admin_ranks.php @@ -64,67 +64,115 @@ else } } -// Process mode -if ($mode != '') -{ - if ($mode == 'edit' || $mode == 'add') - { - // - // They want to add a new rank, show the form. - // - $rank_id = (isset($_GET['id'])) ? intval($_GET['id']) : 0; +$rank_id = (isset($_GET['id'])) ? intval($_GET['id']) : 0; - $s_hidden_fields = ''; - if ($mode == 'edit') +// +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)) { - if (empty($rank_id)) + do { - trigger_error($user->lang['Must_select_rank']); + $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); - $sql = "SELECT * FROM " . RANKS_TABLE . " - WHERE rank_id = $rank_id"; - $result = $db->sql_query($sql); - - $rank_info = $db->sql_fetchrow($result); - $db->sql_freeresult($result); - - $s_hidden_fields .= ''; + $imglist = filelist($phpbb_root_path . $config['ranks_path'], ''); - } - else + $edit_img = $filename_list = ''; + foreach ($imglist as $img) { - $rank_info['rank_special'] = 0; + $img = substr($img['path'], 1) . (($img['path'] != '') ? '/' : '') . $img['file']; + + 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']; ?>

lang['RANKS_EXPLAIN']; ?>

-
"> +">
- - + + - - + + - - + + - - + + @@ -135,38 +183,29 @@ if ($mode != '') adm_page_footer(); - } - else if ($mode == 'save') - { + break; + + case 'save': + // // Ok, they sent us our info, let's update it. // - $rank_id = (isset($_POST['id'])) ? intval($_POST['id']) : 0; + $rank_id = (isset($_REQUEST['id'])) ? intval($_REQUEST['id']) : 0; $rank_title = (isset($_POST['title'])) ? trim($_POST['title']) : ''; $special_rank = (!empty($_POST['special_rank'])) ? 1 : 0; $min_posts = (isset($_POST['min_posts'])) ? intval($_POST['min_posts']) : -1; - $rank_image = (isset($_POST['rank_image'])) ? trim($_POST['rank_image']) : ''; - - if ($rank_title == '') - { - trigger_error($user->lang['MUST_SELECT_RANK']); - } + $rank_image = (isset($_POST['rank_image'])) ? trim(htmlspecialchars($_POST['rank_image'])) : ''; if ($special_rank == 1) { $min_posts = -1; } - // // The rank image has to be a jpg, gif or png - // - if ($rank_image != '') + if ($rank_image != '' && !preg_match('#(\.gif|\.png|\.jpg|\.jpeg)$#i', $rank_image)) { - if (!preg_match('#(\.gif|\.png|\.jpg|\.jpeg)$#is', $rank_image)) - { - $rank_image = ''; - } + $rank_image = ''; } if ($rank_id) @@ -190,9 +229,10 @@ if ($mode != '') trigger_error($message); - } - else if ($mode == 'delete') - { + break; + + case 'delete': + // Ok, they want to delete their rank $rank_id = (isset($_REQUEST['id'])) ? intval($_REQUEST['id']) : 0; @@ -215,10 +255,12 @@ if ($mode != '') { trigger_error($user->lang['MUST_SELECT_RANK']); } - } -} -adm_page_header($user->lang['RANKS']); + break; + + default: + + adm_page_header($user->lang['RANKS']); ?> @@ -235,30 +277,44 @@ adm_page_header($user->lang['RANKS']); sql_query($sql); + // + // Show the default page + // + $sql = "SELECT * FROM " . RANKS_TABLE . " + ORDER BY rank_min ASC, rank_special ASC"; + $result = $db->sql_query($sql); + + if ($row = $db->sql_fetchrow($result)) + { + do + { + $row_class = ($row_class != 'row1') ? 'row1' : 'row2'; -if ($row = $db->sql_fetchrow($result)) -{ - do - { - $row_class = ($row_class != 'row1') ? 'row1' : 'row2'; ?> - + sql_fetchrow($result)); -} + } + while ($row = $db->sql_fetchrow($result)); + } ?> @@ -268,6 +324,42 @@ if ($row = $db->sql_fetchrow($result)) $dir, 'file' => $fname); + } + else if ($fname != '.' && $fname != '..' && + !is_file($rootdir . $dir . '/' . $fname) && + !is_link($rootdir . $dir . '/' . $fname)) + { + filelist($rootdir, $dir . '/'. $fname, $type); + } + } + + closedir($dh); + + return $images; +} +// +// FUNCTIONS +// --------- ?> \ No newline at end of file -- cgit v1.2.1
lang['RANKS']; ?>
lang['RANK_TITLE']; ?>: lang['RANK_TITLE']; ?>:
lang['RANK_SPECIAL']; ?>: />lang['YES']; ?>    /> lang['NO']; ?>lang['RANK_IMAGE']; ?>: + + + + + +
  
lang['RANK_MINIMUM']; ?>: lang['RANK_SPECIAL']; ?>: />lang['YES']; ?>    /> lang['NO']; ?>
lang['RANK_IMAGE']; ?>:
lang['RANK_IMAGE_EXPLAIN']; ?>
  ' : ''; ?>lang['RANK_MINIMUM']; ?>:
  
<?php echo $row['rank_title']; ?><?php echo $row['rank_title']; ?>  ">lang['EDIT']; ?> | ">lang['DELETE']; ?>