phpBB

Code Changes

File: includes/mcp/mcp_forum.php

  Unmodified   Added   Modified   Removed
Line 396Line 396
*/
function merge_topics($forum_id, $topic_ids, $to_topic_id)
{

*/
function merge_topics($forum_id, $topic_ids, $to_topic_id)
{

	global $db, $template, $user, $phpEx, $phpbb_root_path, $auth;

	global $db, $template, $user, $phpEx, $phpbb_root_path, $auth, $phpbb_dispatcher;


if (!sizeof($topic_ids))
{


if (!sizeof($topic_ids))
{

Line 411Line 411

$sync_topics = array_merge($topic_ids, array($to_topic_id));



$sync_topics = array_merge($topic_ids, array($to_topic_id));


	$topic_data = phpbb_get_topic_data($sync_topics, 'm_merge');

	$all_topic_data = phpbb_get_topic_data($sync_topics, 'm_merge');





	if (!sizeof($topic_data) || empty($topic_data[$to_topic_id]))

	if (!sizeof($all_topic_data) || empty($all_topic_data[$to_topic_id]))

	{
$template->assign_var('MESSAGE', $user->lang['NO_FINAL_TOPIC_SELECTED']);
return;
}

$sync_forums = array();

	{
$template->assign_var('MESSAGE', $user->lang['NO_FINAL_TOPIC_SELECTED']);
return;
}

$sync_forums = array();

	foreach ($topic_data as $data)


	$topic_views = 0;
foreach ($all_topic_data as $data)

	{
$sync_forums[$data['forum_id']] = $data['forum_id'];

	{
$sync_forums[$data['forum_id']] = $data['forum_id'];

 
		$topic_views = max($topic_views, $data['topic_views']);

	}


	}


	$topic_data = $topic_data[$to_topic_id];

	$to_topic_data = $all_topic_data[$to_topic_id];


$post_id_list = request_var('post_id_list', array(0));
$start = request_var('start', 0);


$post_id_list = request_var('post_id_list', array(0));
$start = request_var('start', 0);

Line 456Line 458
		return;
}


		return;
}


	$redirect = request_var('redirect', build_url(array('quickmod')));

	$redirect = request_var('redirect', "{$phpbb_root_path}mcp.$phpEx?f=$forum_id&i=main&mode=forum_view");


$s_hidden_fields = build_hidden_fields(array(
'i' => 'main',


$s_hidden_fields = build_hidden_fields(array(
'i' => 'main',

Line 473Line 475

if (confirm_box(true))
{


if (confirm_box(true))
{

		$to_forum_id = $topic_data['forum_id'];

		$to_forum_id = $to_topic_data['forum_id'];


move_posts($post_id_list, $to_topic_id, false);


move_posts($post_id_list, $to_topic_id, false);

		add_log('mod', $to_forum_id, $to_topic_id, 'LOG_MERGE', $topic_data['topic_title']);







		add_log('mod', $to_forum_id, $to_topic_id, 'LOG_MERGE', $to_topic_data['topic_title']);

// Update topic views count
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_views = ' . $topic_views . '
WHERE topic_id = ' . $to_topic_id;
$db->sql_query($sql);


// Message and return links
$success_msg = 'POSTS_MERGED_SUCCESS';


// Message and return links
$success_msg = 'POSTS_MERGED_SUCCESS';

Line 502Line 510
		$return_link .= (($return_link) ? '<br /><br />' : '') . sprintf($user->lang['RETURN_NEW_TOPIC'], '<a href="' . append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $to_forum_id . '&amp;t=' . $to_topic_id) . '">', '</a>');
$redirect = request_var('redirect', "{$phpbb_root_path}viewtopic.$phpEx?f=$to_forum_id&amp;t=$to_topic_id");
$redirect = reapply_sid($redirect);

		$return_link .= (($return_link) ? '<br /><br />' : '') . sprintf($user->lang['RETURN_NEW_TOPIC'], '<a href="' . append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $to_forum_id . '&amp;t=' . $to_topic_id) . '">', '</a>');
$redirect = request_var('redirect', "{$phpbb_root_path}viewtopic.$phpEx?f=$to_forum_id&amp;t=$to_topic_id");
$redirect = reapply_sid($redirect);

 

/**
* Perform additional actions after merging topics.
*
* @event core.mcp_forum_merge_topics_after
* @var array all_topic_data The data from all topics involved in the merge
* @var int to_topic_id The ID of the topic into which the rest are merged
* @since 3.1.11-RC1
*/
$vars = array(
'all_topic_data',
'to_topic_id',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_forum_merge_topics_after', compact($vars)));


meta_refresh(3, $redirect);
trigger_error($user->lang[$success_msg] . '<br /><br />' . $return_link);


meta_refresh(3, $redirect);
trigger_error($user->lang[$success_msg] . '<br /><br />' . $return_link);