You are here

function currency_form_currency_locale_process in Currency 7.2

Implements form process callback for a currency_locale element.

1 string reference to 'currency_form_currency_locale_process'
currency_element_info in currency/currency.module
Implements hook_element_info().

File

currency/currency.module, line 407
Provides currency information and allows users to add custom currencies.

Code

function currency_form_currency_locale_process(array $element, array &$form_state, array &$form) {
  require_once DRUPAL_ROOT . '/includes/iso.inc';
  require_once DRUPAL_ROOT . '/includes/locale.inc';
  $locale_language_code = isset($element['#default_value']) ? substr($element['#default_value'], 0, 2) : '';
  $locale_country_code = isset($element['#default_value']) ? substr($element['#default_value'], 3) : '';

  // Modify the element.
  $element['#tree'] = TRUE;
  $element['locale'] = array(
    '#description' => isset($element['#description']) ? $element['#description'] : NULL,
    '#title' => isset($element['#title']) ? $element['#title'] : NULL,
    '#type' => 'fieldset',
  );
  $options = array();
  foreach (_locale_get_predefined_list() as $language_code => $language_data) {
    $options[$language_code] = $language_data[0];
  }
  asort($options);
  $element['locale']['language_code'] = array(
    '#default_value' => $locale_language_code,
    '#empty_value' => '',
    '#options' => $options,
    '#required' => $element['#required'],
    '#title' => t('Language'),
    '#type' => 'select',
  );
  $element['locale']['country_code'] = array(
    '#default_value' => $locale_country_code,
    '#empty_value' => '',
    '#options' => country_get_list(),
    '#required' => $element['#required'],
    '#title' => t('Country'),
    '#type' => 'select',
  );
  return $element;
}