diff options
| author | Chris Smith <toonarmy@phpbb.com> | 2010-08-16 22:49:14 +0100 |
|---|---|---|
| committer | Chris Smith <toonarmy@phpbb.com> | 2010-08-20 13:59:21 -0400 |
| commit | b73d45ffc8f35ae2112d5c4bb80dcdac0d5ce6ae (patch) | |
| tree | 5746428f7f7c3edfb6d76d9b36919f729e081089 | |
| parent | e1328e87ce23245dbd55a08fbaf3d48e957a6777 (diff) | |
| download | forums-b73d45ffc8f35ae2112d5c4bb80dcdac0d5ce6ae.tar forums-b73d45ffc8f35ae2112d5c4bb80dcdac0d5ce6ae.tar.gz forums-b73d45ffc8f35ae2112d5c4bb80dcdac0d5ce6ae.tar.bz2 forums-b73d45ffc8f35ae2112d5c4bb80dcdac0d5ce6ae.tar.xz forums-b73d45ffc8f35ae2112d5c4bb80dcdac0d5ce6ae.zip | |
[ticket/7972] Copying topics in the MCP now indexes the new topic.
PHPBB3-7972
| -rw-r--r-- | phpBB/includes/mcp/mcp_main.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/phpBB/includes/mcp/mcp_main.php b/phpBB/includes/mcp/mcp_main.php index 80c3559649..d5551f5114 100644 --- a/phpBB/includes/mcp/mcp_main.php +++ b/phpBB/includes/mcp/mcp_main.php @@ -1048,6 +1048,35 @@ function mcp_fork_topic($topic_ids) $total_posts = 0; $new_topic_id_list = array(); + if ($topic_data['enable_indexing']) + { + // Select the search method and do some additional checks to ensure it can actually be utilised + $search_type = basename($config['search_type']); + + if (!file_exists($phpbb_root_path . 'includes/search/' . $search_type . '.' . $phpEx)) + { + trigger_error('NO_SUCH_SEARCH_MODULE'); + } + + if (!class_exists($search_type)) + { + include("{$phpbb_root_path}includes/search/$search_type.$phpEx"); + } + + $error = false; + $search = new $search_type($error); + $search_mode = 'post'; + + if ($error) + { + trigger_error($error); + } + } + else + { + $search_type = false; + } + foreach ($topic_data as $topic_id => $topic_row) { $sql_ary = array( @@ -1158,6 +1187,12 @@ function mcp_fork_topic($topic_ids) // Copy whether the topic is dotted markread('post', $to_forum_id, $new_topic_id, 0, $row['poster_id']); + if ($search_type) + { + $search->index($search_mode, $sql_ary['post_id'], $sql_ary['post_text'], $sql_ary['post_subject'], $sql_ary['poster_id'], ($topic_row['topic_type'] == POST_GLOBAL) ? 0 : $to_forum_id); + $search_mode = 'reply'; // After one we index replies + } + // Copy Attachments if ($row['post_attachment']) { |
