1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

- some fixes

- important bugfix for the mcp and determining allowed ids in general (if global announcements are included)


git-svn-id: file:///svn/phpbb/trunk@6787 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen
2006-12-21 10:37:50 +00:00
parent 2e1eef2713
commit 515085a2a2
11 changed files with 155 additions and 92 deletions

View File

@@ -207,22 +207,22 @@ function mcp_warn_post_view($id, $mode, $action)
WHERE post_id = $post_id
AND u.user_id = p.poster_id";
$result = $db->sql_query($sql);
$userrow = $db->sql_fetchrow($result);
$user_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$userrow)
if (!$user_row)
{
trigger_error($user->lang['NO_POST']);
}
// There is no point issuing a warning to ignored users (ie anonymous and bots)
if ($userrow['user_type'] == USER_IGNORE)
if ($user_row['user_type'] == USER_IGNORE)
{
trigger_error($user->lang['CANNOT_WARN_ANONYMOUS']);
}
// Prevent someone from warning themselves
if ($userrow['user_id'] == $user->data['user_id'])
if ($user_row['user_id'] == $user->data['user_id'])
{
trigger_error($user->lang['CANNOT_WARN_SELF']);
}
@@ -241,11 +241,11 @@ function mcp_warn_post_view($id, $mode, $action)
trigger_error($user->lang['ALREADY_WARNED']);
}
$user_id = $userrow['user_id'];
$user_id = $user_row['user_id'];
if ($warning && $action == 'add_warning')
{
add_warning($userrow, $warning, $notify, $post_id);
add_warning($user_row, $warning, $notify, $post_id);
$redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id");
meta_refresh(2, $redirect);
@@ -256,16 +256,16 @@ function mcp_warn_post_view($id, $mode, $action)
// We want to make the message available here as a reminder
// Parse the message and subject
$message = $userrow['post_text'];
$message = $user_row['post_text'];
$message = str_replace("\n", '<br />', censor_text($message));
// Second parse bbcode here
if ($userrow['bbcode_bitfield'])
if ($user_row['bbcode_bitfield'])
{
include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);
$bbcode = new bbcode($userrow['bbcode_bitfield']);
$bbcode->bbcode_second_pass($message, $userrow['bbcode_uid'], $userrow['bbcode_bitfield']);
$bbcode = new bbcode($user_row['bbcode_bitfield']);
$bbcode->bbcode_second_pass($message, $user_row['bbcode_uid'], $user_row['bbcode_bitfield']);
}
// Always process smilies after parsing bbcodes
@@ -273,13 +273,13 @@ function mcp_warn_post_view($id, $mode, $action)
// Generate the appropriate user information for the user we are looking at
$rank_title = $rank_img = '';
// get_user_rank($userrow['user_rank'], $userrow['user_posts'], $rank_title, $rank_img);
// get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img);
$avatar_img = '';
if (!empty($userrow['user_avatar']))
if (!empty($user_row['user_avatar']))
{
switch ($userrow['user_avatar_type'])
switch ($user_row['user_avatar_type'])
{
case AVATAR_UPLOAD:
$avatar_img = $config['avatar_path'] . '/';
@@ -290,19 +290,19 @@ function mcp_warn_post_view($id, $mode, $action)
break;
}
$avatar_img .= $userrow['user_avatar'];
$avatar_img = '<img src="' . $avatar_img . '" width="' . $userrow['user_avatar_width'] . '" height="' . $userrow['user_avatar_height'] . '" alt="" />';
$avatar_img .= $user_row['user_avatar'];
$avatar_img = '<img src="' . $avatar_img . '" width="' . $user_row['user_avatar_width'] . '" height="' . $user_row['user_avatar_height'] . '" alt="" />';
}
$template->assign_vars(array(
'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&amp;mode=$mode&amp;p=$post_id"),
'POST' => $message,
'USERNAME' => $userrow['username'],
'USER_COLOR' => (!empty($userrow['user_colour'])) ? $userrow['user_colour'] : '',
'USERNAME' => $user_row['username'],
'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '',
'RANK_TITLE' => $rank_title,
'JOINED' => $user->format_date($userrow['user_regdate']),
'POSTS' => ($userrow['user_posts']) ? $userrow['user_posts'] : 0,
'JOINED' => $user->format_date($user_row['user_regdate']),
'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0,
'AVATAR_IMG' => $avatar_img,
'RANK_IMG' => $rank_img,
@@ -331,25 +331,25 @@ function mcp_warn_user_view($id, $mode, $action)
FROM ' . USERS_TABLE . '
WHERE ' . $sql_where;
$result = $db->sql_query($sql);
$userrow = $db->sql_fetchrow($result);
$user_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$userrow)
if (!$user_row)
{
trigger_error('NO_USER');
}
// Prevent someone from warning themselves
if ($userrow['user_id'] == $user->data['user_id'])
if ($user_row['user_id'] == $user->data['user_id'])
{
trigger_error($user->lang['CANNOT_WARN_SELF']);
}
$user_id = $userrow['user_id'];
$user_id = $user_row['user_id'];
if ($warning && $action == 'add_warning')
{
add_warning($userrow, $warning, $notify);
add_warning($user_row, $warning, $notify);
$redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&amp;mode=user_notes&amp;u=$user_id");
meta_refresh(2, $redirect);
@@ -358,13 +358,13 @@ function mcp_warn_user_view($id, $mode, $action)
// Generate the appropriate user information for the user we are looking at
$rank_title = $rank_img = '';
// get_user_rank($userrow['user_rank'], $userrow['user_posts'], $rank_title, $rank_img);
// get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img);
$avatar_img = '';
if (!empty($userrow['user_avatar']))
if (!empty($user_row['user_avatar']))
{
switch ($userrow['user_avatar_type'])
switch ($user_row['user_avatar_type'])
{
case AVATAR_UPLOAD:
$avatar_img = $config['avatar_path'] . '/';
@@ -375,20 +375,20 @@ function mcp_warn_user_view($id, $mode, $action)
break;
}
$avatar_img .= $userrow['user_avatar'];
$avatar_img = '<img src="' . $avatar_img . '" width="' . $userrow['user_avatar_width'] . '" height="' . $userrow['user_avatar_height'] . '" alt="" />';
$avatar_img .= $user_row['user_avatar'];
$avatar_img = '<img src="' . $avatar_img . '" width="' . $user_row['user_avatar_width'] . '" height="' . $user_row['user_avatar_height'] . '" alt="" />';
}
// OK, they didn't submit a warning so lets build the page for them to do so
$template->assign_vars(array(
'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&amp;mode=$mode&amp;u=$user_id"),
'USERNAME' => $userrow['username'],
'USER_COLOR' => (!empty($userrow['user_colour'])) ? $userrow['user_colour'] : '',
'USERNAME' => $user_row['username'],
'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '',
'RANK_TITLE' => $rank_title,
'JOINED' => $user->format_date($userrow['user_regdate']),
'POSTS' => ($userrow['user_posts']) ? $userrow['user_posts'] : 0,
'WARNINGS' => ($userrow['user_warnings']) ? $userrow['user_warnings'] : 0,
'JOINED' => $user->format_date($user_row['user_regdate']),
'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0,
'WARNINGS' => ($user_row['user_warnings']) ? $user_row['user_warnings'] : 0,
'AVATAR_IMG' => $avatar_img,
'RANK_IMG' => $rank_img,
@@ -399,7 +399,7 @@ function mcp_warn_user_view($id, $mode, $action)
/**
* Insert the warning into the database
*/
function add_warning($userrow, $warning, $send_pm = true, $post_id = 0)
function add_warning($user_row, $warning, $send_pm = true, $post_id = 0)
{
global $phpEx, $phpbb_root_path, $config;
global $template, $db, $user, $auth;
@@ -409,8 +409,8 @@ function add_warning($userrow, $warning, $send_pm = true, $post_id = 0)
include_once($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);
include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx);
$userrow['user_lang'] = (file_exists($phpbb_root_path . 'language/' . $userrow['user_lang'] . "/mcp.$phpEx")) ? $userrow['user_lang'] : $config['default_lang'];
include($phpbb_root_path . 'language/' . basename($userrow['user_lang']) . "/mcp.$phpEx");
$user_row['user_lang'] = (file_exists($phpbb_root_path . 'language/' . $user_row['user_lang'] . "/mcp.$phpEx")) ? $user_row['user_lang'] : $config['default_lang'];
include($phpbb_root_path . 'language/' . basename($user_row['user_lang']) . "/mcp.$phpEx");
$message_parser = new parse_message();
@@ -429,17 +429,17 @@ function add_warning($userrow, $warning, $send_pm = true, $post_id = 0)
'bbcode_bitfield' => $message_parser->bbcode_bitfield,
'bbcode_uid' => $message_parser->bbcode_uid,
'message' => $message_parser->message,
'address_list' => array('u' => array($userrow['user_id'] => 'to')),
'address_list' => array('u' => array($user_row['user_id'] => 'to')),
);
submit_pm('post', $lang['WARNING_PM_SUBJECT'], $pm_data, false, false);
}
add_log('admin', 'LOG_USER_WARNING', $userrow['username']);
$log_id = add_log('user', $userrow['user_id'], 'LOG_USER_WARNING_BODY', $warning);
add_log('admin', 'LOG_USER_WARNING', $user_row['username']);
$log_id = add_log('user', $user_row['user_id'], 'LOG_USER_WARNING_BODY', $warning);
$sql_ary = array(
'user_id' => $userrow['user_id'],
'user_id' => $user_row['user_id'],
'post_id' => $post_id,
'log_id' => $log_id,
'warning_time' => time(),
@@ -450,8 +450,18 @@ function add_warning($userrow, $warning, $send_pm = true, $post_id = 0)
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_warnings = user_warnings + 1,
user_last_warning = ' . time() . '
WHERE user_id = ' . $userrow['user_id'];
WHERE user_id = ' . $user_row['user_id'];
$db->sql_query($sql);
// We add this to the mod log too for moderators to see that a specific user got warned.
$sql = 'SELECT forum_id, topic_id
FROM ' . POSTS_TABLE . '
WHERE post_id = ' . $post_id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
add_log('mod', $row['forum_id'], $row['topic_id'], 'LOG_USER_WARNING', $user_row['username']);
}
?>