diff options
Diffstat (limited to 'phpBB/report.php')
| -rw-r--r-- | phpBB/report.php | 71 | 
1 files changed, 52 insertions, 19 deletions
diff --git a/phpBB/report.php b/phpBB/report.php index c909b4fcf3..3684c2162f 100644 --- a/phpBB/report.php +++ b/phpBB/report.php @@ -1,10 +1,13 @@  <?php  /**  * -* @package phpBB3 -* @version $Id$ -* @copyright (c) 2005 phpBB Group -* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* 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.  *  */ @@ -72,8 +75,14 @@ if ($post_id)  		trigger_error('POST_NOT_EXIST');  	} -	$forum_id = (int) ($report_data['forum_id']) ? $report_data['forum_id'] : $forum_id; -	$topic_id = (int) $report_data['topic_id']; +	$forum_id 							= (int) $report_data['forum_id']; +	$topic_id 							= (int) $report_data['topic_id']; +	$reported_post_text					= $report_data['post_text']; +	$reported_post_bitfield				= $report_data['bbcode_bitfield']; +	$reported_post_uid					= $report_data['bbcode_uid']; +	$reported_post_enable_bbcode		= $report_data['enable_bbcode']; +	$reported_post_enable_smilies		= $report_data['enable_smilies']; +	$reported_post_enable_magic_url		= $report_data['enable_magic_url'];  	$sql = 'SELECT *  		FROM ' . FORUMS_TABLE . ' @@ -131,12 +140,19 @@ else  		$message .= '<br /><br />' . sprintf($user->lang['RETURN_PM'], '<a href="' . $redirect_url . '">', '</a>');  		trigger_error($message);  	} + +	$reported_post_text 				= $report_data['message_text']; +	$reported_post_bitfield				= $report_data['bbcode_bitfield']; +	$reported_post_uid					= $report_data['bbcode_uid']; +	$reported_post_enable_bbcode		= $report_data['enable_bbcode']; +	$reported_post_enable_smilies		= $report_data['enable_smilies']; +	$reported_post_enable_magic_url		= $report_data['enable_magic_url'];  }  if ($config['enable_post_confirm'] && !$user->data['is_registered'])  {  	include($phpbb_root_path . 'includes/captcha/captcha_factory.' . $phpEx); -	$captcha =& phpbb_captcha_factory::get_instance($config['captcha_plugin']); +	$captcha = phpbb_captcha_factory::get_instance($config['captcha_plugin']);  	$captcha->init(CONFIRM_REPORT);  } @@ -175,20 +191,28 @@ if ($submit && $reason_id)  		}  		$sql_ary = array( -			'reason_id'		=> (int) $reason_id, -			'post_id'		=> $post_id, -			'pm_id'			=> $pm_id, -			'user_id'		=> (int) $user->data['user_id'], -			'user_notify'	=> (int) $user_notify, -			'report_closed'	=> 0, -			'report_time'	=> (int) time(), -			'report_text'	=> (string) $report_text +			'reason_id'							=> (int) $reason_id, +			'post_id'							=> $post_id, +			'pm_id'								=> $pm_id, +			'user_id'							=> (int) $user->data['user_id'], +			'user_notify'						=> (int) $user_notify, +			'report_closed'						=> 0, +			'report_time'						=> (int) time(), +			'report_text'						=> (string) $report_text, +			'reported_post_text'				=> $reported_post_text, +			'reported_post_uid'					=> $reported_post_uid, +			'reported_post_bitfield'			=> $reported_post_bitfield, +			'reported_post_enable_bbcode'		=> $reported_post_enable_bbcode, +			'reported_post_enable_smilies'		=> $reported_post_enable_smilies, +			'reported_post_enable_magic_url'	=> $reported_post_enable_magic_url,  		);  		$sql = 'INSERT INTO ' . REPORTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);  		$db->sql_query($sql);  		$report_id = $db->sql_nextid(); +		$phpbb_notifications = $phpbb_container->get('notification_manager'); +  		if ($post_id)  		{  			$sql = 'UPDATE ' . POSTS_TABLE . ' @@ -207,6 +231,10 @@ if ($submit && $reason_id)  			$lang_return = $user->lang['RETURN_TOPIC'];  			$lang_success = $user->lang['POST_REPORTED_SUCCESS']; + +			$phpbb_notifications->add_notifications('report_post', array_merge($report_data, $row, $forum_data, array( +				'report_text'	=> $report_text, +			)));  		}  		else  		{ @@ -233,6 +261,12 @@ if ($submit && $reason_id)  			$lang_return = $user->lang['RETURN_PM'];  			$lang_success = $user->lang['PM_REPORTED_SUCCESS']; + +			$phpbb_notifications->add_notifications('report_pm', array_merge($report_data, $row, array( +				'report_text'	=> $report_text, +				'from_user_id'	=> $report_data['author_id'], +				'report_id'		=> $report_id, +			)));  		}  		meta_refresh(3, $redirect_url); @@ -271,8 +305,9 @@ $template->assign_vars(array(  	'S_HIDDEN_FIELDS'	=> (sizeof($s_hidden_fields)) ? $s_hidden_fields : null,  	'S_NOTIFY'			=> $user_notify, -	'S_CAN_NOTIFY'		=> ($user->data['is_registered']) ? true : false) -); +	'S_CAN_NOTIFY'		=> ($user->data['is_registered']) ? true : false, +	'S_IN_REPORT'		=> true, +));  generate_forum_nav($forum_data); @@ -284,5 +319,3 @@ $template->set_filenames(array(  );  page_footer(); - -?>
\ No newline at end of file  | 
