You are here

function pathauto_i18n_taxonomy_form_pathauto_patterns_form_alter in Pathauto i18n 8

Same name and namespace in other branches
  1. 7 modules/pathauto_i18n_taxonomy/pathauto_i18n_taxonomy.module \pathauto_i18n_taxonomy_form_pathauto_patterns_form_alter()

Implements hook_form_BASE_FORM_ID_alter().

File

modules/pathauto_i18n_taxonomy/pathauto_i18n_taxonomy.module, line 22
Provides tools for creating multilanguage aliases for taxonomy terms.

Code

function pathauto_i18n_taxonomy_form_pathauto_patterns_form_alter(&$form, &$form_state) {
  $languages = language_list();
  $default_pattern_name = 'pathauto_taxonomy_term_pattern';
  $default_pattern = $form['taxonomy_term'][$default_pattern_name];

  // Remove parents handlers.
  unset($default_pattern['#parents']);
  $form['taxonomy_term']['token_help']['#weight'] = 1;
  foreach (element_children($form['taxonomy_term']) as $term_pattern_name) {
    if ($term_pattern_name != $default_pattern_name && $term_pattern_name != 'token_help') {
      foreach ($languages as $language) {
        $vocabulary = pathauto_i18n_taxonomy_get_vocabulary_name($term_pattern_name);
        if ($vocabulary) {
          $pattern_name = 'pathauto_taxonomy_term_' . $vocabulary . '_' . $language->language . '_pattern';
          $form['taxonomy_term'][$pattern_name] = $default_pattern;
          $form['taxonomy_term'][$pattern_name]['#title'] = t('Pattern for all @language @vocabulary paths', array(
            '@language' => $language->name,
            '@vocabulary' => $vocabulary,
          ));
          $form['taxonomy_term'][$pattern_name]['#default_value'] = variable_get($pattern_name, '');
        }
      }
    }
  }
}