From 84ccb3aded7fe303fb176b87f7b976288dcedf35 Mon Sep 17 00:00:00 2001 From: Daniel Sinn Date: Wed, 3 Jan 2018 16:18:14 -0500 Subject: [ticket/15495] Use transaction in ACP move_forum Should prevent the forums table from getting messed up if an error or concurrent execution happens. PHPBB3-15495 --- phpBB/includes/acp/acp_forums.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'phpBB/includes/acp/acp_forums.php') diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php index 66bb630241..6c749bb7bd 100644 --- a/phpBB/includes/acp/acp_forums.php +++ b/phpBB/includes/acp/acp_forums.php @@ -1431,6 +1431,8 @@ class acp_forums return $errors; } + $db->sql_transaction('begin'); + $moved_forums = get_forum_branch($from_id, 'children', 'descending'); $from_data = $moved_forums[0]; $diff = sizeof($moved_forums) * 2; @@ -1502,6 +1504,8 @@ class acp_forums WHERE " . $db->sql_in_set('forum_id', $moved_ids); $db->sql_query($sql); + $db->sql_transaction('commit'); + return $errors; } -- cgit v1.2.1