aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/mcp/mcp_main.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/mcp/mcp_main.php')
-rw-r--r--phpBB/includes/mcp/mcp_main.php32
1 files changed, 29 insertions, 3 deletions
diff --git a/phpBB/includes/mcp/mcp_main.php b/phpBB/includes/mcp/mcp_main.php
index a92f89da08..32a4edb6ca 100644
--- a/phpBB/includes/mcp/mcp_main.php
+++ b/phpBB/includes/mcp/mcp_main.php
@@ -854,6 +854,7 @@ function mcp_fork_topic($topic_ids)
$total_posts = 0;
$new_topic_id_list = array();
+
foreach ($topic_data as $topic_id => $topic_row)
{
$sql_ary = array(
@@ -970,9 +971,10 @@ function mcp_fork_topic($topic_ids)
AND in_message = 0";
$result = $db->sql_query($sql);
+ $sql_ary = array();
while ($attach_row = $db->sql_fetchrow($result))
{
- $sql_ary = array(
+ $sql_ary[] = array(
'post_msg_id' => (int) $new_post_id,
'topic_id' => (int) $new_topic_id,
'in_message' => 0,
@@ -988,12 +990,36 @@ function mcp_fork_topic($topic_ids)
'filetime' => (int) $attach_row['filetime'],
'thumbnail' => (int) $attach_row['thumbnail']
);
-
- $db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
}
$db->sql_freeresult($result);
+
+ if (sizeof($sql_ary))
+ {
+ $db->sql_multi_insert(ATTACHMENTS_TABLE, $sql_ary);
+ }
}
}
+
+ $sql = 'SELECT user_id, notify_status
+ FROM ' . TOPICS_WATCH_TABLE . '
+ WHERE topic_id = ' . $topic_id;
+ $result = $db->sql_query($sql);
+
+ $sql_ary = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $sql_ary[] = array(
+ 'topic_id' => $new_topic_id,
+ 'user_id' => $row['user_id'],
+ 'notify_status' => $row['notify_status'],
+ );
+ }
+ $db->sql_freeresult($result);
+
+ if (sizeof($sql_ary))
+ {
+ $db->sql_multi_insert(TOPICS_WATCH_TABLE, $sql_ary);
+ }
}
// Sync new topics, parent forums and board stats