Merge branch 'develop-ascraeus' into develop

* develop-ascraeus:
  [ticket/12583] Redirect only on non-empty $message
  [ticket/12583] Add event core.mcp_warn_post_before/after
This commit is contained in:
Joas Schilling 2014-05-26 18:39:51 +02:00
commit e2cb2ec66b

View file

@ -187,7 +187,7 @@ class mcp_warn
function mcp_warn_post_view($action) function mcp_warn_post_view($action)
{ {
global $phpEx, $phpbb_root_path, $config; global $phpEx, $phpbb_root_path, $config;
global $template, $db, $user, $auth; global $template, $db, $user, $auth, $phpbb_dispatcher;
$post_id = request_var('p', 0); $post_id = request_var('p', 0);
$forum_id = request_var('f', 0); $forum_id = request_var('f', 0);
@ -263,17 +263,66 @@ class mcp_warn
if ($warning && $action == 'add_warning') if ($warning && $action == 'add_warning')
{ {
if (check_form_key('mcp_warn')) if (check_form_key('mcp_warn'))
{
$s_mcp_warn_post = true;
/**
* Event for before warning a user for a post.
*
* @event core.mcp_warn_post_before
* @var array user_row The entire user row
* @var string warning The warning message
* @var bool notify If true, we notify the user for the warning
* @var int post_id The post id for which the warning is added
* @var bool s_mcp_warn_post If true, we add the warning else we omit it
* @since 3.1.0-b4
*/
$vars = array(
'user_row',
'warning',
'notify',
'post_id',
's_mcp_warn_post',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_warn_post_before', compact($vars)));
if ($s_mcp_warn_post)
{ {
add_warning($user_row, $warning, $notify, $post_id); add_warning($user_row, $warning, $notify, $post_id);
$msg = $user->lang['USER_WARNING_ADDED']; $message = $user->lang['USER_WARNING_ADDED'];
/**
* Event for after warning a user for a post.
*
* @event core.mcp_warn_post_after
* @var array user_row The entire user row
* @var string warning The warning message
* @var bool notify If true, the user was notified for the warning
* @var int post_id The post id for which the warning is added
* @var string message Message displayed to the moderator
* @since 3.1.0-b4
*/
$vars = array(
'user_row',
'warning',
'notify',
'post_id',
'message',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_warn_post_after', compact($vars)));
}
} }
else else
{ {
$msg = $user->lang['FORM_INVALID']; $message = $user->lang['FORM_INVALID'];
} }
if (!empty($message))
{
$redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id"); $redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id");
meta_refresh(2, $redirect); meta_refresh(2, $redirect);
trigger_error($msg . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>')); trigger_error($message . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>'));
}
} }
// OK, they didn't submit a warning so lets build the page for them to do so // OK, they didn't submit a warning so lets build the page for them to do so