diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-05-26 18:39:44 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2014-05-26 18:39:44 +0200 |
commit | 26674bff3999cf70840b6c15007f9c66ef4bb218 (patch) | |
tree | f133fc4051940f157c7e53b29cbf2f942e470707 /phpBB | |
parent | 85fb2bf203c6beff867c474cb109f131490a7d97 (diff) | |
parent | 589ad564cc194bdca9cdada333ec60b2fa6a214b (diff) | |
download | forums-26674bff3999cf70840b6c15007f9c66ef4bb218.tar forums-26674bff3999cf70840b6c15007f9c66ef4bb218.tar.gz forums-26674bff3999cf70840b6c15007f9c66ef4bb218.tar.bz2 forums-26674bff3999cf70840b6c15007f9c66ef4bb218.tar.xz forums-26674bff3999cf70840b6c15007f9c66ef4bb218.zip |
Merge pull request #2487 from n-aleha/ticket/12583
[ticket/12583] Add event core.mcp_warn_post_before/after
* n-aleha/ticket/12583:
[ticket/12583] Redirect only on non-empty $message
[ticket/12583] Add event core.mcp_warn_post_before/after
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/includes/mcp/mcp_warn.php | 63 |
1 files changed, 56 insertions, 7 deletions
diff --git a/phpBB/includes/mcp/mcp_warn.php b/phpBB/includes/mcp/mcp_warn.php index 9f368727f6..ea6277ae2c 100644 --- a/phpBB/includes/mcp/mcp_warn.php +++ b/phpBB/includes/mcp/mcp_warn.php @@ -187,7 +187,7 @@ class mcp_warn function mcp_warn_post_view($action) { global $phpEx, $phpbb_root_path, $config; - global $template, $db, $user, $auth; + global $template, $db, $user, $auth, $phpbb_dispatcher; $post_id = request_var('p', 0); $forum_id = request_var('f', 0); @@ -264,16 +264,65 @@ class mcp_warn { if (check_form_key('mcp_warn')) { - add_warning($user_row, $warning, $notify, $post_id); - $msg = $user->lang['USER_WARNING_ADDED']; + $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); + $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 { - $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"); + meta_refresh(2, $redirect); + trigger_error($message . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>')); } - $redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id"); - meta_refresh(2, $redirect); - trigger_error($msg . '<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 |