You are here

function apachesolr_multilingual_textfile_admin_form_submit in Apache Solr Multilingual 6

Same name and namespace in other branches
  1. 6.2 apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module \apachesolr_multilingual_textfile_admin_form_submit()
1 string reference to 'apachesolr_multilingual_textfile_admin_form_submit'
apachesolr_multilingual_textfile_form_alter in apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module

File

apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module, line 426

Code

function apachesolr_multilingual_textfile_admin_form_submit($form, &$form_state) {
  global $user;
  $active_languages = locale_language_list();
  $all_languages = language_list();
  $posted_languages = $form_state['values']['apachesolr_multilingual_languages'];
  $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',
  ));

  // languages to handle
  if ($posted_languages) {
    foreach ($posted_languages as $language) {
      if ($language) {
        foreach ($apachesolr_multilingual_filetypes as $filename) {
          if ('protwords.txt' == $filename && !apachesolr_multilingual_get_stemmer($language)) {

            // solr contains no stemmer for this language. so we don't need protected words.
            continue;
          }
          if (!db_result(db_query("SELECT 1 FROM {apachesolr_multilingual_textfiles} JOIN {node} USING (nid) WHERE language='%s' AND filename='%s'", $language, $filename))) {

            // generate content
            $apachesolr_multilingual_textfile = new stdClass();
            $apachesolr_multilingual_textfile->type = 'apachesolr_multilingual_textfile';
            $apachesolr_multilingual_textfile->title = $active_languages[$language] . ' / ' . $filename;
            $apachesolr_multilingual_textfile->filename = $filename;
            $apachesolr_multilingual_textfile->status = 0;
            $apachesolr_multilingual_textfile->language = $language;
            $apachesolr_multilingual_textfile->uid = $user->uid;
            $apachesolr_multilingual_textfile->programmed = TRUE;
            node_save($apachesolr_multilingual_textfile);
            drupal_set_message(t('the content type named %filename has been created', array(
              '%filename' => $active_languages[$language] . ' / ' . $filename,
            )));
          }
          else {
            drupal_set_message(t('the content type named %filename already exists, nothing to do', array(
              '%filename' => $active_languages[$language] . ' / ' . $filename,
            )));
          }
        }
      }
    }
  }
}