diff --git a/phpBB/includes/acp/acp_ban.php b/phpBB/includes/acp/acp_ban.php
index 5aed78be08..22ae9d4e7b 100644
--- a/phpBB/includes/acp/acp_ban.php
+++ b/phpBB/includes/acp/acp_ban.php
@@ -156,7 +156,8 @@ class acp_ban
break;
}
- self::display_ban_options($mode);
+ display_ban_end_options();
+ display_ban_options($mode);
$template->assign_vars(array(
'L_TITLE' => $this->page_title,
@@ -173,126 +174,4 @@ class acp_ban
'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=acp_ban&field=ban'),
));
}
-
- /**
- * Display ban options
- */
- static public function display_ban_options($mode)
- {
- global $user, $db, $template;
-
- // Ban length options
- $ban_end_text = array(0 => $user->lang['PERMANENT'], 30 => $user->lang['30_MINS'], 60 => $user->lang['1_HOUR'], 360 => $user->lang['6_HOURS'], 1440 => $user->lang['1_DAY'], 10080 => $user->lang['7_DAYS'], 20160 => $user->lang['2_WEEKS'], 40320 => $user->lang['1_MONTH'], -1 => $user->lang['UNTIL'] . ' -> ');
-
- $ban_end_options = '';
- foreach ($ban_end_text as $length => $text)
- {
- $ban_end_options .= '';
- }
-
- switch ($mode)
- {
- case 'user':
-
- $field = 'username';
-
- $sql = 'SELECT b.*, u.user_id, u.username, u.username_clean
- FROM ' . BANLIST_TABLE . ' b, ' . USERS_TABLE . ' u
- WHERE (b.ban_end >= ' . time() . '
- OR b.ban_end = 0)
- AND u.user_id = b.ban_userid
- ORDER BY u.username_clean ASC';
- break;
-
- case 'ip':
-
- $field = 'ban_ip';
-
- $sql = 'SELECT *
- FROM ' . BANLIST_TABLE . '
- WHERE (ban_end >= ' . time() . "
- OR ban_end = 0)
- AND ban_ip <> ''
- ORDER BY ban_ip";
- break;
-
- case 'email':
-
- $field = 'ban_email';
-
- $sql = 'SELECT *
- FROM ' . BANLIST_TABLE . '
- WHERE (ban_end >= ' . time() . "
- OR ban_end = 0)
- AND ban_email <> ''
- ORDER BY ban_email";
- break;
- }
- $result = $db->sql_query($sql);
-
- $banned_options = $excluded_options = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $option = '';
-
- if ($row['ban_exclude'])
- {
- $excluded_options[] = $option;
- }
- else
- {
- $banned_options[] = $option;
- }
-
- $time_length = ($row['ban_end']) ? ($row['ban_end'] - $row['ban_start']) / 60 : 0;
-
- if ($time_length == 0)
- {
- // Banned permanently
- $ban_length = $user->lang['PERMANENT'];
- }
- else if (isset($ban_end_text[$time_length]))
- {
- // Banned for a given duration
- $ban_length = $user->lang('BANNED_UNTIL_DURATION', $ban_end_text[$time_length], $user->format_date($row['ban_end'], false, true));
- }
- else
- {
- // Banned until given date
- $ban_length = $user->lang('BANNED_UNTIL_DATE', $user->format_date($row['ban_end'], false, true));
- }
-
- $template->assign_block_vars('bans', array(
- 'BAN_ID' => (int) $row['ban_id'],
- 'LENGTH' => $ban_length,
- 'A_LENGTH' => addslashes($ban_length),
- 'REASON' => $row['ban_reason'],
- 'A_REASON' => addslashes($row['ban_reason']),
- 'GIVE_REASON' => $row['ban_give_reason'],
- 'A_GIVE_REASON' => addslashes($row['ban_give_reason']),
- ));
- }
- $db->sql_freeresult($result);
-
- $options = '';
- if ($excluded_options)
- {
- $options .= '';
- }
-
- if ($banned_options)
- {
- $options .= '';
- }
-
- $template->assign_vars(array(
- 'S_BAN_END_OPTIONS' => $ban_end_options,
- 'S_BANNED_OPTIONS' => ($banned_options || $excluded_options) ? true : false,
- 'BANNED_OPTIONS' => $options,
- ));
- }
}
diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 4629706048..c116b605e8 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -3094,3 +3094,133 @@ function enable_bitfield_column_flag($table_name, $column_name, $flag, $sql_more
' . $sql_more;
$db->sql_query($sql);
}
+
+function display_ban_end_options()
+{
+ global $user, $template;
+
+ // Ban length options
+ $ban_end_text = array(0 => $user->lang['PERMANENT'], 30 => $user->lang['30_MINS'], 60 => $user->lang['1_HOUR'], 360 => $user->lang['6_HOURS'], 1440 => $user->lang['1_DAY'], 10080 => $user->lang['7_DAYS'], 20160 => $user->lang['2_WEEKS'], 40320 => $user->lang['1_MONTH'], -1 => $user->lang['UNTIL'] . ' -> ');
+
+ $ban_end_options = '';
+ foreach ($ban_end_text as $length => $text)
+ {
+ $ban_end_options .= '';
+ }
+
+ $template->assign_vars(array(
+ 'S_BAN_END_OPTIONS' => $ban_end_options
+ ));
+}
+
+/**
+* Display ban options
+*/
+function display_ban_options($mode)
+{
+ global $user, $db, $template;
+
+ switch ($mode)
+ {
+ case 'user':
+
+ $field = 'username';
+
+ $sql = 'SELECT b.*, u.user_id, u.username, u.username_clean
+ FROM ' . BANLIST_TABLE . ' b, ' . USERS_TABLE . ' u
+ WHERE (b.ban_end >= ' . time() . '
+ OR b.ban_end = 0)
+ AND u.user_id = b.ban_userid
+ ORDER BY u.username_clean ASC';
+ break;
+
+ case 'ip':
+
+ $field = 'ban_ip';
+
+ $sql = 'SELECT *
+ FROM ' . BANLIST_TABLE . '
+ WHERE (ban_end >= ' . time() . "
+ OR ban_end = 0)
+ AND ban_ip <> ''
+ ORDER BY ban_ip";
+ break;
+
+ case 'email':
+
+ $field = 'ban_email';
+
+ $sql = 'SELECT *
+ FROM ' . BANLIST_TABLE . '
+ WHERE (ban_end >= ' . time() . "
+ OR ban_end = 0)
+ AND ban_email <> ''
+ ORDER BY ban_email";
+ break;
+ }
+ $result = $db->sql_query($sql);
+
+ $banned_options = $excluded_options = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $option = '';
+
+ if ($row['ban_exclude'])
+ {
+ $excluded_options[] = $option;
+ }
+ else
+ {
+ $banned_options[] = $option;
+ }
+
+ $time_length = ($row['ban_end']) ? ($row['ban_end'] - $row['ban_start']) / 60 : 0;
+
+ if ($time_length == 0)
+ {
+ // Banned permanently
+ $ban_length = $user->lang['PERMANENT'];
+ }
+ else if (isset($ban_end_text[$time_length]))
+ {
+ // Banned for a given duration
+ $ban_length = $user->lang('BANNED_UNTIL_DURATION', $ban_end_text[$time_length], $user->format_date($row['ban_end'], false, true));
+ }
+ else
+ {
+ // Banned until given date
+ $ban_length = $user->lang('BANNED_UNTIL_DATE', $user->format_date($row['ban_end'], false, true));
+ }
+
+ $template->assign_block_vars('bans', array(
+ 'BAN_ID' => (int) $row['ban_id'],
+ 'LENGTH' => $ban_length,
+ 'A_LENGTH' => addslashes($ban_length),
+ 'REASON' => $row['ban_reason'],
+ 'A_REASON' => addslashes($row['ban_reason']),
+ 'GIVE_REASON' => $row['ban_give_reason'],
+ 'A_GIVE_REASON' => addslashes($row['ban_give_reason']),
+ ));
+ }
+ $db->sql_freeresult($result);
+
+ $options = '';
+ if ($excluded_options)
+ {
+ $options .= '';
+ }
+
+ if ($banned_options)
+ {
+ $options .= '';
+ }
+
+ $template->assign_vars(array(
+ 'S_BANNED_OPTIONS' => ($banned_options || $excluded_options) ? true : false,
+ 'BANNED_OPTIONS' => $options,
+ ));
+}
diff --git a/phpBB/includes/mcp/mcp_ban.php b/phpBB/includes/mcp/mcp_ban.php
index 6f748f5433..c358680e00 100644
--- a/phpBB/includes/mcp/mcp_ban.php
+++ b/phpBB/includes/mcp/mcp_ban.php
@@ -185,15 +185,6 @@ class mcp_ban
}
}
- // Ban length options
- $ban_end_text = array(0 => $user->lang['PERMANENT'], 30 => $user->lang['30_MINS'], 60 => $user->lang['1_HOUR'], 360 => $user->lang['6_HOURS'], 1440 => $user->lang['1_DAY'], 10080 => $user->lang['7_DAYS'], 20160 => $user->lang['2_WEEKS'], 40320 => $user->lang['1_MONTH'], -1 => $user->lang['UNTIL'] . ' -> ');
-
- $ban_end_options = '';
- foreach ($ban_end_text as $length => $text)
- {
- $ban_end_options .= '';
- }
-
// Define language vars
$this->page_title = $user->lang[strtoupper($mode) . '_BAN'];
@@ -218,7 +209,8 @@ class mcp_ban
break;
}
- acp_ban::display_ban_options($mode);
+ display_ban_end_options();
+ display_ban_options($mode);
$template->assign_vars(array(
'L_TITLE' => $this->page_title,