'search_matches'
);
($hook = get_hook('ari_cycle_qr_empty_search_matches')) ? eval($hook) : null;
$forum_db->query_build($query) or error(__FILE__, __LINE__);
$query = array(
'DELETE' => 'search_words'
);
($hook = get_hook('ari_cycle_qr_empty_search_words')) ? eval($hook) : null;
$forum_db->query_build($query) or error(__FILE__, __LINE__);
// Reset the sequence for the search words (not needed for SQLite)
switch ($db_type)
{
case 'mysql':
case 'mysqli':
$result = $forum_db->query('ALTER TABLE '.$forum_db->prefix.'search_words auto_increment=1') or error(__FILE__, __LINE__);
break;
case 'pgsql';
$result = $forum_db->query('SELECT setval(\''.$forum_db->prefix.'search_words_id_seq\', 1, false)') or error(__FILE__, __LINE__);
}
}
// Setup breadcrumbs
$forum_page['crumbs'] = array(
array($forum_config['o_board_title'], forum_link($forum_url['index'])),
array($lang_admin_common['Forum administration'], forum_link($forum_url['admin_index'])),
array($lang_admin_common['Management'], forum_link($forum_url['admin_reports'])),
$lang_admin_reindex['Rebuilding index title']
);
?>
'p.id, p.message, t.id, t.subject, t.first_post_id',
'FROM' => 'posts AS p',
'JOINS' => array(
array(
'INNER JOIN' => 'topics AS t',
'ON' => 't.id=p.topic_id'
)
),
'WHERE' => 'p.id>='.$start_at,
'ORDER BY' => 'p.id',
'LIMIT' => $per_page
);
($hook = get_hook('ari_cycle_qr_fetch_posts')) ? eval($hook) : null;
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
$post_id = 0;
echo '';
while ($cur_post = $forum_db->fetch_row($result))
{
echo sprintf($lang_admin_reindex['Processing post'], $cur_post[0], $cur_post[2]).'
'."\n";
if ($cur_post[0] == $cur_post[4]) // This is the "topic post" so we have to index the subject as well
update_search_index('post', $cur_post[0], $cur_post[1], $cur_post[3]);
else
update_search_index('post', $cur_post[0], $cur_post[1]);
$post_id = $cur_post[0];
}
echo '
';
// Check if there is more work to do
$query = array(
'SELECT' => 'p.id',
'FROM' => 'posts AS p',
'WHERE' => 'p.id>'.$post_id,
'ORDER BY' => 'p.id',
'LIMIT' => '1'
);
($hook = get_hook('ari_cycle_qr_find_next_post')) ? eval($hook) : null;
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
$query_str = ($forum_db->num_rows($result)) ? '?i_per_page='.$per_page.'&i_start_at='.$forum_db->result($result).'&csrf_token='.generate_form_token('reindex'.$forum_user['id']) : '';
($hook = get_hook('ari_cycle_end')) ? eval($hook) : null;
$forum_db->end_transaction();
$forum_db->close();
exit('
'.$lang_admin_reindex['Javascript redirect'].' '.$lang_admin_reindex['Click to continue'].'.');
}
// Get the first post ID from the db
$query = array(
'SELECT' => 'p.id',
'FROM' => 'posts AS p',
'ORDER BY' => 'p.id',
'LIMIT' => '1'
);
($hook = get_hook('ari_qr_find_lowest_post_id')) ? eval($hook) : null;
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
if ($forum_db->num_rows($result))
$first_id = $forum_db->result($result);
// Setup form
$forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;
// Setup breadcrumbs
$forum_page['crumbs'] = array(
array($forum_config['o_board_title'], forum_link($forum_url['index'])),
array($lang_admin_common['Forum administration'], forum_link($forum_url['admin_index'])),
array($lang_admin_common['Management'], forum_link($forum_url['admin_reports'])),
array($lang_admin_common['Rebuild index'], forum_link($forum_url['admin_reindex']))
);
($hook = get_hook('ari_pre_header_load')) ? eval($hook) : null;
define('FORUM_PAGE_SECTION', 'management');
define('FORUM_PAGE', 'admin-reindex');
require FORUM_ROOT.'header.php';
// START SUBST -
ob_start();
($hook = get_hook('ari_main_output_start')) ? eval($hook) : null;
?>
', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST -
require FORUM_ROOT.'footer.php';