You are here

function apachesolr_multilingual_form_apachesolr_search_page_settings_form_alter in Apache Solr Multilingual 6.3

Same name and namespace in other branches
  1. 7 apachesolr_multilingual.module \apachesolr_multilingual_form_apachesolr_search_page_settings_form_alter()

Implements hook_form_alter().

Parameters

$form_state:

File

./apachesolr_multilingual.module, line 717
Multilingual search using Apache Solr.

Code

function apachesolr_multilingual_form_apachesolr_search_page_settings_form_alter(&$form, &$form_state) {
  $environment = apachesolr_multilingual_environment_load($form['search_page']['#value']['env_id']);
  if (array_key_exists('apachesolr_multilingual_index_settings', $environment['conf']) && $environment['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_index']) {
    $search_page_settings = $form['search_page']['#value']['settings'];
    $tmp_actions = $form['actions'];
    unset($form['actions']);

    // Add multilingual defaults.
    apachesolr_multilingual_search_page_settings_add_defaults($search_page_settings);
    apachesolr_multilingual_add_settings_form_elements($form, $search_page_settings);

    // Move actions to bottom of the form.
    $form['actions'] = $tmp_actions;
    array_unshift($form['#validate'], 'apachesolr_multilingual_search_page_settings_form_validate');

    // We have to modify $form_state['values']['advanced'] BEFORE apachesolr_search.module!
    array_unshift($form['#submit'], 'apachesolr_multilingual_search_page_settings_form_submit');
    array_unshift($form['actions']['submit']['#submit'], 'apachesolr_multilingual_search_page_settings_form_submit');
    array_unshift($form['actions']['submit_edit']['#submit'], 'apachesolr_multilingual_search_page_settings_form_submit');
  }
}