You are here

function google_appliance_admin_settings_validate in Google Search Appliance 6.2

Same name and namespace in other branches
  1. 5 google_appliance.module \google_appliance_admin_settings_validate()
  2. 7 google_appliance.admin.inc \google_appliance_admin_settings_validate()

Validation for module configuration form.

File

./google_appliance.module, line 781
Google Search Appliance (GSA) / Google Mini integration

Code

function google_appliance_admin_settings_validate($form, &$form_state) {

  // Ensure all config_init values are plain text
  foreach (element_children($form['config_init']) as $field) {
    $value = $form_state['values'][$field];
    if ($value != check_plain($value)) {
      $field_title = $form['config_init'][$field]['#title'];
      form_set_error($field, t('!field must be plain text.', array(
        '!field' => $field_title,
      )));
    }
  }

  // Cache timeout value must be empty, or a positive integer.
  $field = 'google_appliance_cache_timeout';
  $field_title = $form['config_init'][$field]['#title'];
  $timeout = $form_state['values'][$field];
  if (!empty($timeout)) {
    if (!is_numeric($timeout) or $timeout < 0 or (double) $timeout !== (double) (int) $timeout) {
      form_set_error($field, t('!field must be a positive integer, or else blank.', array(
        '!field' => $field_title,
      )));
    }
    else {
      $form_state['values'][$field] = (int) $timeout;
    }
  }
}