| 1 search.admin.inc | search_reindex_confirm_submit(&$form, &$form_state) | 
Handler for rebuild confirmation
File
- core/modules/ search/ search.admin.inc, line 55 
- Admin page callbacks for the Search module.
Code
function search_reindex_confirm_submit(&$form, &$form_state) {
  $config = config('search.settings');
  $limit_per_pass = $config->get('search_cron_limit');
  $index_stats = search_get_stats();
  if ($form_state['values']['index_type'] == 'total') {
    // Mark all content as needing to be re-indexed.
    search_reindex();
  }
  // Determine how many items need to be indexed.
  $number_of_items = $index_stats[$form_state['values']['index_type']];
  // Determine how many passes are needed to reindex.
  $passes_needed = ceil($number_of_items / $limit_per_pass);
  $search_active_modules = config_get('search.settings', 'search_active_modules');
  // Create the batch if needed.
  if ($passes_needed && isset($search_active_modules)) {
    $batch = array(
      'title' => t('Rebuilding search index'),
      'operations' => array(
        array('search_reindex_batch', array($passes_needed, $search_active_modules)),
      ),
      'progress_message' => '',
      'finished' => 'search_reindex_batch_finished',
    );
    batch_set($batch);
  }
  $form_state['redirect'] = 'admin/config/search/settings';
}
