diff options
Diffstat (limited to 'phpBB/includes/mcp/mcp_warn.php')
| -rw-r--r-- | phpBB/includes/mcp/mcp_warn.php | 133 | 
1 files changed, 115 insertions, 18 deletions
diff --git a/phpBB/includes/mcp/mcp_warn.php b/phpBB/includes/mcp/mcp_warn.php index 4275182d26..fb47522644 100644 --- a/phpBB/includes/mcp/mcp_warn.php +++ b/phpBB/includes/mcp/mcp_warn.php @@ -1,9 +1,13 @@  <?php  /**  * -* @package mcp -* @copyright (c) 2005 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file.  *  */ @@ -18,7 +22,6 @@ if (!defined('IN_PHPBB'))  /**  * mcp_warn  * Handling warning the users -* @package mcp  */  class mcp_warn  { @@ -187,7 +190,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 +267,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 @@ -318,7 +370,7 @@ class mcp_warn  	function mcp_warn_user_view($action)  	{  		global $phpEx, $phpbb_root_path, $config, $module; -		global $template, $db, $user, $auth; +		global $template, $db, $user, $auth, $phpbb_dispatcher;  		$user_id = request_var('u', 0);  		$username = request_var('username', '', true); @@ -376,16 +428,61 @@ class mcp_warn  		{  			if (check_form_key('mcp_warn'))  			{ -				add_warning($user_row, $warning, $notify); -				$msg = $user->lang['USER_WARNING_ADDED']; +				$s_mcp_warn_user = true; + +				/** +				* Event for before warning a user from MCP. +				* +				* @event core.mcp_warn_user_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 bool		s_mcp_warn_user If true, we add the warning else we omit it +				* @since 3.1.0-b4 +				*/ +				$vars = array( +						'user_row', +						'warning', +						'notify', +						's_mcp_warn_user', +				); +				extract($phpbb_dispatcher->trigger_event('core.mcp_warn_user_before', compact($vars))); + +				if ($s_mcp_warn_user) +				{ +					add_warning($user_row, $warning, $notify); +					$message = $user->lang['USER_WARNING_ADDED']; + +					/** +					* Event for after warning a user from MCP. +					* +					* @event core.mcp_warn_user_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 string	message		Message displayed to the moderator +					* @since 3.1.0-b4 +					*/ +					$vars = array( +							'user_row', +							'warning', +							'notify', +							'message', +					); +					extract($phpbb_dispatcher->trigger_event('core.mcp_warn_user_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>'));  		}  		// Generate the appropriate user information for the user we are looking at  | 
