diff options
Diffstat (limited to 'phpBB/includes/mcp/mcp_post.php')
| -rw-r--r-- | phpBB/includes/mcp/mcp_post.php | 63 | 
1 files changed, 40 insertions, 23 deletions
| diff --git a/phpBB/includes/mcp/mcp_post.php b/phpBB/includes/mcp/mcp_post.php index ba45037a18..06f27655ae 100644 --- a/phpBB/includes/mcp/mcp_post.php +++ b/phpBB/includes/mcp/mcp_post.php @@ -2,9 +2,8 @@  /**  *  * @package mcp -* @version $Id$  * @copyright (c) 2005 phpBB Group -* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2  *  */ @@ -126,17 +125,8 @@ function mcp_post_details($id, $mode, $action)  	$post_unread = (isset($topic_tracking_info[$post_info['topic_id']]) && $post_info['post_time'] > $topic_tracking_info[$post_info['topic_id']]) ? true : false;  	// Process message, leave it uncensored -	$message = $post_info['post_text']; - -	if ($post_info['bbcode_bitfield']) -	{ -		include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx); -		$bbcode = new bbcode($post_info['bbcode_bitfield']); -		$bbcode->bbcode_second_pass($message, $post_info['bbcode_uid'], $post_info['bbcode_bitfield']); -	} - -	$message = bbcode_nl2br($message); -	$message = smiley_text($message); +	$parse_flags = ($post_info['bbcode_bitfield'] ? OPTION_FLAG_BBCODE : 0) | OPTION_FLAG_SMILIES; +	$message = generate_text_for_display($post_info['post_text'], $post_info['bbcode_uid'], $post_info['bbcode_bitfield'], $parse_flags, false);  	if ($post_info['post_attachment'] && $auth->acl_get('u_download') && $auth->acl_get('f_download', $post_info['forum_id']))  	{ @@ -175,6 +165,33 @@ function mcp_post_details($id, $mode, $action)  		}  	} +	// Deleting information +	if ($post_info['post_visibility'] == ITEM_DELETED && $post_info['post_delete_user']) +	{ +		// User having deleted the post also being the post author? +		if (!$post_info['post_delete_user'] || $post_info['post_delete_user'] == $post_info['poster_id']) +		{ +			$display_username = get_username_string('full', $post_info['poster_id'], $post_info['username'], $post_info['user_colour'], $post_info['post_username']); +		} +		else +		{ +			$sql = 'SELECT user_id, username, user_colour +				FROM ' . USERS_TABLE . ' +				WHERE user_id = ' . (int) $post_info['post_delete_user']; +			$result = $db->sql_query($sql); +			$user_delete_row = $db->sql_fetchrow($result); +			$db->sql_freeresult($result); +			$display_username = get_username_string('full', $post_info['post_delete_user'], $user_delete_row['username'], $user_delete_row['user_colour']); +		} + +		$user->add_lang('viewtopic'); +		$l_deleted_by = $user->lang('DELETED_INFORMATION', $display_username, $user->format_date($post_info['post_delete_time'], false, true)); +	} +	else +	{ +		$l_deleted_by = ''; +	} +  	$template->assign_vars(array(  		'U_MCP_ACTION'			=> "$url&i=main&quickmod=1&mode=post_details", // Use this for mode paramaters  		'U_POST_ACTION'			=> "$url&i=$id&mode=post_details", // Use this for action parameters @@ -186,10 +203,13 @@ function mcp_post_details($id, $mode, $action)  		'S_CAN_DELETE_POST'		=> $auth->acl_get('m_delete', $post_info['forum_id']),  		'S_POST_REPORTED'		=> ($post_info['post_reported']) ? true : false, -		'S_POST_UNAPPROVED'		=> (!$post_info['post_approved']) ? true : false, +		'S_POST_UNAPPROVED'		=> ($post_info['post_visibility'] == ITEM_UNAPPROVED) ? true : false, +		'S_POST_DELETED'		=> ($post_info['post_visibility'] == ITEM_DELETED) ? true : false,  		'S_POST_LOCKED'			=> ($post_info['post_edit_locked']) ? true : false,  		'S_USER_NOTES'			=> true,  		'S_CLEAR_ALLOWED'		=> ($auth->acl_get('a_clearlogs')) ? true : false, +		'DELETED_MESSAGE'		=> $l_deleted_by, +		'DELETE_REASON'			=> $post_info['post_delete_reason'],  		'U_EDIT'				=> ($auth->acl_get('m_edit', $post_info['forum_id'])) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=edit&f={$post_info['forum_id']}&p={$post_info['post_id']}") : '',  		'U_FIND_USERNAME'		=> append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=mcp_chgposter&field=username&select_single=true'), @@ -206,6 +226,7 @@ function mcp_post_details($id, $mode, $action)  		'RETURN_FORUM'			=> sprintf($user->lang['RETURN_FORUM'], '<a href="' . append_sid("{$phpbb_root_path}viewforum.$phpEx", "f={$post_info['forum_id']}&start={$start}") . '">', '</a>'),  		'REPORTED_IMG'			=> $user->img('icon_topic_reported', $user->lang['POST_REPORTED']),  		'UNAPPROVED_IMG'		=> $user->img('icon_topic_unapproved', $user->lang['POST_UNAPPROVED']), +		'DELETED_IMG'			=> $user->img('icon_topic_deleted', $user->lang['POST_DELETED']),  		'EDIT_IMG'				=> $user->img('icon_post_edit', $user->lang['EDIT_POST']),  		'SEARCH_IMG'			=> $user->img('icon_user_search', $user->lang['SEARCH']), @@ -394,7 +415,7 @@ function mcp_post_details($id, $mode, $action)  */  function change_poster(&$post_info, $userdata)  { -	global $auth, $db, $config, $phpbb_root_path, $phpEx; +	global $auth, $db, $config, $phpbb_root_path, $phpEx, $user;  	if (empty($userdata) || $userdata['user_id'] == $post_info['user_id'])  	{ @@ -416,7 +437,7 @@ function change_poster(&$post_info, $userdata)  	}  	// Adjust post counts... only if the post is approved (else, it was not added the users post count anyway) -	if ($post_info['post_postcount'] && $post_info['post_approved']) +	if ($post_info['post_postcount'] && $post_info['post_visibility'] == ITEM_APPROVED)  	{  		$sql = 'UPDATE ' . USERS_TABLE . '  			SET user_posts = user_posts - 1 @@ -465,15 +486,13 @@ function change_poster(&$post_info, $userdata)  	}  	// refresh search cache of this post -	$search_type = basename($config['search_type']); +	$search_type = $config['search_type']; -	if (file_exists($phpbb_root_path . 'includes/search/' . $search_type . '.' . $phpEx)) +	if (class_exists($search_type))  	{ -		require("{$phpbb_root_path}includes/search/$search_type.$phpEx"); -  		// We do some additional checks in the module to ensure it can actually be utilised  		$error = false; -		$search = new $search_type($error); +		$search = new $search_type($error, $phpbb_root_path, $phpEx, $auth, $config, $db, $user);  		if (!$error && method_exists($search, 'destroy_cache'))  		{ @@ -497,5 +516,3 @@ function change_poster(&$post_info, $userdata)  	// Now add log entry  	add_log('mod', $post_info['forum_id'], $post_info['topic_id'], 'LOG_MCP_CHANGE_POSTER', $post_info['topic_title'], $from_username, $to_username);  } - -?>
\ No newline at end of file | 
