From 1d25c80a9c2aa654e99905c227bcbb9dede5d2f1 Mon Sep 17 00:00:00 2001 From: Daniel Sinn Date: Fri, 30 Sep 2016 15:23:17 -0400 Subject: [PATCH 1/3] [ticket/14804] Add core event to MCP after merging topics Renamed $topic_data and defined $to_topic_data in order to avoid ambiguity and to stop overwriting a variable. PHPBB3-14804 --- phpBB/includes/mcp/mcp_forum.php | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php index 9573ecbe0d..b4f0c9e950 100644 --- a/phpBB/includes/mcp/mcp_forum.php +++ b/phpBB/includes/mcp/mcp_forum.php @@ -396,7 +396,7 @@ function mcp_resync_topics($topic_ids) */ 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)) { @@ -411,21 +411,21 @@ function merge_topics($forum_id, $topic_ids, $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(); - foreach ($topic_data as $data) + foreach ($all_topic_data as $data) { $sync_forums[$data['forum_id']] = $data['forum_id']; } - $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); @@ -473,7 +473,7 @@ function merge_topics($forum_id, $topic_ids, $to_topic_id) 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); add_log('mod', $to_forum_id, $to_topic_id, 'LOG_MERGE', $topic_data['topic_title']); @@ -503,6 +503,20 @@ function merge_topics($forum_id, $topic_ids, $to_topic_id) $redirect = request_var('redirect', "{$phpbb_root_path}viewtopic.$phpEx?f=$to_forum_id&t=$to_topic_id"); $redirect = reapply_sid($redirect); + /** + * Perform additional actions after merging topics. + * + * @event core.mcp_merge_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.10-RC1 + */ + $vars = array( + 'all_topic_data', + 'to_topic_id', + ); + extract($phpbb_dispatcher->trigger_event('core.mcp_merge_after', compact($vars))); + meta_refresh(3, $redirect); trigger_error($user->lang[$success_msg] . '

' . $return_link); } From c6383d3f89c79200253f7d82ebca39f1e3b0393c Mon Sep 17 00:00:00 2001 From: Daniel Sinn Date: Fri, 30 Sep 2016 15:58:10 -0400 Subject: [PATCH 2/3] [ticket/14804] Rename event to mcp_forum_merge_topics_after; update @since PHPBB3-14804 --- phpBB/includes/mcp/mcp_forum.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php index b4f0c9e950..f887a6d5ea 100644 --- a/phpBB/includes/mcp/mcp_forum.php +++ b/phpBB/includes/mcp/mcp_forum.php @@ -506,16 +506,16 @@ function merge_topics($forum_id, $topic_ids, $to_topic_id) /** * Perform additional actions after merging topics. * - * @event core.mcp_merge_after + * @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.10-RC1 + * @since 3.1.11-RC1 */ $vars = array( 'all_topic_data', 'to_topic_id', ); - extract($phpbb_dispatcher->trigger_event('core.mcp_merge_after', compact($vars))); + extract($phpbb_dispatcher->trigger_event('core.mcp_forum_merge_topics_after', compact($vars))); meta_refresh(3, $redirect); trigger_error($user->lang[$success_msg] . '

' . $return_link); From 32d569c59464a80eb8c78a98b1953de0aa1008d8 Mon Sep 17 00:00:00 2001 From: Daniel Sinn Date: Fri, 30 Sep 2016 16:34:11 -0400 Subject: [PATCH 3/3] [ticket/14804] Fix undefined $topic_data after trying to port 3.2 changes to 3.1 PHPBB3-14804 --- phpBB/includes/mcp/mcp_forum.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php index f887a6d5ea..87f2e558f5 100644 --- a/phpBB/includes/mcp/mcp_forum.php +++ b/phpBB/includes/mcp/mcp_forum.php @@ -476,7 +476,7 @@ function merge_topics($forum_id, $topic_ids, $to_topic_id) $to_forum_id = $to_topic_data['forum_id']; 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']); // Message and return links $success_msg = 'POSTS_MERGED_SUCCESS';