You are here

function apachesolr_multilingual_textfile_form_alter in Apache Solr Multilingual 6.2

Same name and namespace in other branches
  1. 6 apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module \apachesolr_multilingual_textfile_form_alter()

File

apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module, line 211

Code

function apachesolr_multilingual_textfile_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'apachesolr_multilingual_textfile_node_form') {
    if ($form['#node']->filename && $form['#node']->language) {
      unset($form['language']);
      $form['language']['#type'] = 'value';
      $form['language']['#value'] = $form['#node']->language;
    }
  }
  elseif ($form_id == 'node_type_form') {
    if ('apachesolr_multilingual_textfile' == $form['#node_type']->orig_type) {

      // set the needed values
      $form['workflow']['language_content_type']['#type'] = 'value';
      $form['workflow']['language_content_type']['#default_value'] = '1';

      // inform the user
      $form['workflow']['language_content_type_info']['#type'] = 'radio';
      $form['workflow']['language_content_type_info']['#values'] = array(
        0 => '0',
        1 => '1',
      );
      $form['workflow']['language_content_type_info']['#checked'] = 'checked';
      $form['workflow']['language_content_type_info']["#title"] = t("Multilingual support");
      $form['workflow']['language_content_type_info']["#description"] = t("Enabled multilingual support is necessary for this content type");
    }
  }
  elseif ($form_id == 'apachesolr_multilingual_admin_form') {
    $form['#submit'][] = 'apachesolr_multilingual_textfile_admin_form_submit';
  }
  elseif ($form_id == 'apachesolr_multilingual_schema_generator_form') {
    $apachesolr_multilingual_filetypes = variable_get('apachesolr_multilingual_filetypes', array(
      'stopwords.txt' => 'stopwords.txt',
      'synonyms.txt' => 'synonyms.txt',
      'protwords.txt' => 'protwords.txt',
      'compoundwords.txt' => 'compoundwords.txt',
    ));
    $selected_languages = variable_get('apachesolr_multilingual_languages', array());
    $language_count = 0;
    foreach ($selected_languages as $lang) {
      if ($lang) {
        $language_count++;
      }
    }
    if ($language_count > 0) {
      $form['#validate'][] = 'apachesolr_multilingual_textfile_form_validate';
      if ($language_count == 1) {
        $form['set1']['submit_zip'] = array(
          '#type' => 'submit',
          '#value' => t('Download !file', array(
            '!file' => 'apachesolr_unique_language_config.zip',
          )),
          '#validate' => array_merge($form['set1']['submit']['#validate'], array(
            'apachesolr_multilingual_textfile_download_unique_langauge_config_validate',
          )),
        );
      }
      $form['set2']['submit_zip'] = array(
        '#type' => 'submit',
        '#value' => t('Download !file', array(
          '!file' => 'apachesolr_multilingual_config.zip',
        )),
        '#validate' => array_merge($form['set2']['submit']['#validate'], array(
          'apachesolr_multilingual_textfile_download_multilingual_config_validate',
        )),
      );
      $form['set3'] = array(
        '#type' => 'fieldset',
        '#title' => t('Manage Multilingual Configuration Files'),
        '#weight' => 7,
        '#collapsible' => FALSE,
        '#collapsed' => FALSE,
      );
      $form['set3']['textfiles'] = array(
        '#type' => 'item',
        '#value' => theme('apachesolr_multilingual_textfile_form_element', $selected_languages),
      );
    }
  }
}