1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-19 07:08:09 +01:00

Improve feedback for banned users

git-svn-id: file:///svn/phpbb/trunk@3769 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2003-03-31 21:47:10 +00:00
parent 372c2d65d1
commit 6e3908893d
3 changed files with 26 additions and 14 deletions

View File

@ -181,16 +181,15 @@ class session
$autologin = '';
$this->data['user_id'] = $user_id = ANONYMOUS;
}
// Is user banned? Are they excluded?
if (!$this->data['user_founder'])
{
$banned = false;
$sql = "SELECT ban_ip, ban_userid, ban_email, ban_exclude
FROM " . BANLIST_TABLE . "
WHERE ban_end >= $current_time
OR ban_end = 0";
$sql = 'SELECT ban_ip, ban_userid, ban_email, ban_exclude, ban_give_reason, ban_end
FROM ' . BANLIST_TABLE . '
WHERE ban_end >= ' . time() . '
OR ban_end = 0';
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
@ -218,10 +217,17 @@ class session
if ($banned)
{
// TODO
// Note that at present this doesn't surround the administrator
// text with an appropriate URL
trigger_error('BOARD_BANNED');
// Initiate environment ... since it won't be set at this stage
$this->setup();
// Determine which message to output
$till_date = (!empty($row['ban_end'])) ? $this->format_date($row['ban_end']) : '';
$message = (!empty($row['ban_end'])) ? 'BOARD_BAN_TIME' : 'BOARD_BAN_PERM';
$message = sprintf($this->lang[$message], $till_date, '<a href="mailto:' . $config['board_contact'] . '">', '</a>');
// More internal HTML ... :D
$message .= (!empty($row['ban_show_reason'])) ? '<br /><br />' . sprintf($this->lang['BOARD_BAN_REASON'], $row['ban_show_reason']) : '';
trigger_error($message);
}
}
@ -390,7 +396,7 @@ class user extends session
$this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/';
$this->date_format = $config['default_dateformat'];
$this->timezone = $config['board_timezone'] * 3600;
$this->dst = 0;
$this->dst = $config['board_dst'] * 3600;
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
@ -509,6 +515,8 @@ class auth
{
global $db, $cache;
$this->founder = ($userdata['user_founder']) ? true : false;
if (!($this->acl_options = $cache->get('acl_options')))
{
$sql = "SELECT auth_value, is_global, is_local
@ -577,7 +585,7 @@ class auth
}
}
return $cache[$f][$opt];
return ($this->founder) ? true : $cache[$f][$opt];
}
function acl_gets()

View File

@ -123,7 +123,8 @@ CREATE TABLE phpbb_banlist (
ban_start int(11),
ban_end int(11),
ban_exclude tinyint(1) DEFAULT '0' NOT NULL,
ban_reason varchar(255),
ban_reason varchar(255),
ban_give_reason varchar(255),
PRIMARY KEY (ban_id)
);

View File

@ -119,7 +119,10 @@ $lang = array(
'BOARD_DISABLE' => 'Sorry but this board is currently unavailable',
'BOARD_UNAVAILABLE' => 'Sorry but the board is temporarily unavailable, please try again in a few minutes',
'BOARD_BANNED' => 'You have been banned from this forum<br />Please contact the %sboard administrator%s for more information',
'BOARD_BAN_TIME' => 'You have been banned from this board until <b>%1$s</b>.<br /><br />Please contact the %2$sBoard Administrator%3$s for more information.',
'BOARD_BAN_PERM' => 'You have been <b>permanently</b> banned from this board.<br /><br />Please contact the %2$sBoard Administrator%3$s for more information.',
'BOARD_BAN_REASON' => 'Reason given for ban: <b>%s</b>',
'EMAIL_DISABLED' => 'Sorry but all emailing functions have been disabled.',