You are here

function getdirections_settings_validate in Get Directions 7.2

Same name and namespace in other branches
  1. 6.2 getdirections.admin.inc \getdirections_settings_validate()
  2. 7.3 getdirections.admin.inc \getdirections_settings_validate()
1 string reference to 'getdirections_settings_validate'
getdirections_settings_form in ./getdirections.admin.inc
Function to display the getdirections admin settings form

File

./getdirections.admin.inc, line 916
getdirections module administration functions.

Code

function getdirections_settings_validate($form, &$form_state) {
  if (!is_numeric($form_state['values']['getdirections_default']['to_width']) || $form_state['values']['getdirections_default']['to_width'] < 1) {
    form_set_error('getdirections_default][to_width', t('Width of To box must be a positive number'));
  }
  if (!is_numeric($form_state['values']['getdirections_default']['from_width']) || $form_state['values']['getdirections_default']['from_width'] < 1) {
    form_set_error('getdirections_default][from_width', t('Width of From box must be a positive number'));
  }
  if (isset($form_state['values']['getdirections_returnlink']['page_link'])) {
    if (empty($form_state['values']['getdirections_returnlink']['page_link'])) {
      form_set_error('getdirections_returnlink][page_link', t('Text of return link cannot be empty'));
    }
  }
  if (isset($form_state['values']['getdirections_returnlink']['user_link'])) {
    if (empty($form_state['values']['getdirections_returnlink']['user_link'])) {
      form_set_error('getdirections_returnlink][user_link', t('Text of return link cannot be empty'));
    }
  }
  if (isset($form_state['values']['getdirections_returnlink']['term_link'])) {
    if (empty($form_state['values']['getdirections_returnlink']['term_link'])) {
      form_set_error('getdirections_returnlink][term_link', t('Text of return link cannot be empty'));
    }
  }
  if (isset($form_state['values']['getdirections_returnlink']['comment_link'])) {
    if (empty($form_state['values']['getdirections_returnlink']['comment_link'])) {
      form_set_error('getdirections_returnlink][comment_link', t('Text of return link cannot be empty'));
    }
  }
  if (!variable_get('getdirections_use_v3', 0) && !$form_state['values']['getdirections_use_v3'] && empty($form_state['values']['getdirections_api_key'])) {
    form_set_error('getdirections_api_key', t('API key is required for version 2 of the Googlemaps API'));
  }
  if (isset($form_state['values']['use_advanced']) && !$form_state['values']['use_advanced']) {
    $form_state['values']['advanced_alternate'] = 0;
    $form_state['values']['advanced_autocomplete'] = 0;
    $form_state['values']['advanced_autocomplete_bias'] = 0;
  }
  if ($form_state['values']['getdirections_use_v3']) {
    $list = array(
      'Map',
      'Satellite',
      'Hybrid',
      'Physical',
    );
    $found = 0;
    foreach ($list as $maptype) {
      if (isset($form_state['values']['getdirections_default']['maptype']) && $form_state['values']['getdirections_default']['maptype'] == $maptype && isset($form_state['values']['getdirections_default']['baselayers'][$maptype]) && $form_state['values']['getdirections_default']['baselayers'][$maptype]) {
        $found = 1;
        break;
      }
    }
    if (!$found) {

      // force a setting
      $form_state['values']['getdirections_default']['maptype'] = 'Map';
      $form_state['values']['getdirections_default']['baselayers']['Map'] = 1;
    }
  }
}