From bcdd3d5becb6b304615ec14d94682b25f4f8db0b Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sun, 14 Jul 2013 17:57:25 -0400 Subject: [PATCH] [ticket/11352] Redirect the user back to view*.php after disapproving The user should be redirected back to: - the topic, if he came from viewtopic and the topic still exists - the forum, if he came from viewtopic, but the topic does not exist anymore PHPBB3-11352 --- phpBB/includes/mcp/mcp_queue.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php index a46c4bd499..8d998919e5 100644 --- a/phpBB/includes/mcp/mcp_queue.php +++ b/phpBB/includes/mcp/mcp_queue.php @@ -1163,6 +1163,22 @@ class mcp_queue $success_msg .= '_DELETED_SUCCESS'; } + // If we came from viewtopic, we try to go back to it. + if (strpos($redirect, $phpbb_root_path . 'viewtopic.' . $phpEx) === 0) + { + if ($num_disapproved_topics == 0) + { + // So we need to remove the post id part from the Url + $redirect = str_replace("&p={$post_id_list[0]}#p{$post_id_list[0]}", '', $redirect); + } + else + { + // However this is only possible if the topic still exists, + // Otherwise we go back to the viewforum page + $redirect = append_sid($phpbb_root_path . 'viewforum.' . $phpEx, 'f=' . $request->variable('f', 0)); + } + } + meta_refresh(3, $redirect); $message = $user->lang[$success_msg];