You are here

function support_substatus_admin_form_validate in Support Ticketing System 6

Save new or updated substatus field definition.

File

support_substatus/support_substatus.admin.inc, line 136

Code

function support_substatus_admin_form_validate($form, &$form_state) {
  $path = $form_state['values']['path'];
  $ssid = isset($form_state['values']['ssid']) ? $form_state['values']['ssid'] : 0;
  if ($path != preg_replace('/[^0-9a-zA-Z_-]/', '', $path)) {
    form_set_error('path', t('Path %path contains invalid characters.', array(
      '%path' => $path,
    )));
  }
  if (strtolower($path) == 'null') {
    form_set_error('path', t('The path %path is reserved by the system, please choose a different path.', array(
      '%path' => strtolower($path),
    )));
  }
  if ($path && $ssid) {
    $ssid = db_result(db_query("SELECT ssid FROM {support_substatus} WHERE path = '%s' AND ssid != %d", $path, $form_state['values']['ssid']));
  }
  else {
    if ($path) {
      $ssid = db_result(db_query("SELECT ssid FROM {support_substatus} WHERE path = '%s'", $path));
    }
    else {
      $ssid = NULL;
    }
  }
  if ($ssid) {
    form_set_error('path', t('Path %path is already being used by another substatus field.', array(
      '%path' => $path,
    )));
  }
}