You are here

function apachesolr_multilingual_form_apachesolr_environment_edit_form_alter in Apache Solr Multilingual 7

Same name and namespace in other branches
  1. 6.3 apachesolr_multilingual.module \apachesolr_multilingual_form_apachesolr_environment_edit_form_alter()

Implements hook_form_alter().

Parameters

$form_state:

File

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

Code

function apachesolr_multilingual_form_apachesolr_environment_edit_form_alter(&$form, &$form_state, $form_id) {
  $active_languages = apachesolr_multilingual_language_list();
  $environment = apachesolr_multilingual_environment_load($form['env_id']['#default_value']);
  $form['conf']['apachesolr_multilingual_index_settings'] = array(
    '#type' => 'fieldset',
    '#title' => t('Multilingual Index Settings'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_index'] = array(
    '#type' => 'checkbox',
    '#title' => t('This is a multilingual index'),
    '#default_value' => $environment['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_index'],
    '#description' => t('The configuration of this index has been created by Apache Solr Multilingual Config Generator'),
  );
  $form['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_map_language_neutral'] = array(
    '#type' => 'radios',
    '#title' => t('Map language-neutral'),
    '#options' => array_merge(array(
      LANGUAGE_NONE => t('No mapping'),
      APACHESOLR_MULTILINGUAL_MAP_ALL => t('All languages'),
    ), $active_languages),
    '#default_value' => $environment['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_map_language_neutral'],
    '#description' => t('Select a language to treat content marked as language-neutral. Language-neutral will not occur as filter option any more.'),
  );
  $form['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_clir'] = array(
    '#type' => 'fieldset',
    '#title' => t('CLIR'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
    '#description' => filter_xss(t('<strong>Cross-language information retrieval</strong>. As a special feature Apache Solr Multilingual could be configured to provide a simple implementation of CLIR. That means that you can find content in any language it has been translated to, no matter which language was used to enter the search phrase. The standard use case for CLIR is to have only a few good translations, but machine translations for the other languages. See !wikipedia for details.', array(
      '!wikipedia' => l(t('CLIR on Wikipedia'), 'http://en.wikipedia.org/wiki/Cross-language_information_retrieval'),
    ))),
  );
  $form['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_clir']['apachesolr_multilingual_index_translations'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enable CLIR'),
    '#default_value' => $environment['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_clir']['apachesolr_multilingual_index_translations'],
    '#description' => t('All translations of a node will be added to the node itself.'),
  );
  $form['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_clir']['apachesolr_multilingual_index_unpublished_translations'] = array(
    '#type' => 'checkbox',
    '#title' => t('Index unpublished translations'),
    '#default_value' => $environment['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_clir']['apachesolr_multilingual_index_unpublished_translations'],
    '#description' => t('Index unpublished translations, e.g. machine translations.'),
  );
  $form['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_clir']['apachesolr_multilingual_index_term_translations'] = array(
    '#type' => 'checkbox',
    '#title' => t('Index taxonomy term translations'),
    '#default_value' => $environment['conf']['apachesolr_multilingual_index_settings']['apachesolr_multilingual_clir']['apachesolr_multilingual_index_term_translations'],
    '#description' => t('Index translations of the taxonomy terms. Requires module Taxonomy Translation which is part of !link.', array(
      '!link' => l(t('Internationalization'), 'http://drupal.org/project/i18n'),
    )),
    '#disabled' => !module_exists('i18n_taxonomy'),
  );
  array_unshift($form['actions']['save']['#submit'], 'apachesolr_multilingual_environment_edit_form_submit');
  array_unshift($form['actions']['save_edit']['#submit'], 'apachesolr_multilingual_environment_edit_form_submit');
  array_unshift($form['actions']['test']['#submit'], 'apachesolr_multilingual_environment_edit_form_submit');
}