You are here

function support_pm_admin_project_form_validate in Support Ticketing System 7

Same name and namespace in other branches
  1. 6 support_pm/support_pm.admin.inc \support_pm_admin_project_form_validate()

Save new or updated project definition.

File

support_pm/support_pm.admin.inc, line 581

Code

function support_pm_admin_project_form_validate($form, &$form_state) {
  $path = $form_state['values']['path'];
  $projid = isset($form['#project']) ? $form['#project']->projid : 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 && $projid) {
    $projid = db_query('SELECT projid FROM {support_project} WHERE path = :path AND projid != :project', array(
      ':path' => $path,
      ':project' => $projid,
    ))
      ->fetchField();
  }
  else {
    if ($path) {
      $projid = db_query('SELECT projid FROM {support_project} WHERE path = :path', array(
        ':path' => $path,
      ))
        ->fetchField();
    }
    else {
      $projid = NULL;
    }
  }
  if ($projid) {
    form_set_error('path', t('Path %path is already being used by another project.', array(
      '%path' => $path,
    )));
  }
}