You are here

function support_substatus_admin_form_submit in Support Ticketing System 6

Save new or updated substatus field definition.

File

support_substatus/support_substatus.admin.inc, line 162

Code

function support_substatus_admin_form_submit($form, &$form_state) {
  $client = support_client_load($form_state['values']['clid']);
  if ($form_state['clicked_button']['#value'] == t('Delete substatus field')) {
    drupal_set_message(t('Deleted %substatus substus field.', array(
      '%substatus' => $form_state['values']['substatus'],
    )));
    db_query('DELETE FROM {support_substatus} WHERE ssid = %d', $form_state['values']['ssid']);
    db_query('DELETE FROM {support_substatus_client} WHERE ssid = %d', $form_state['values']['ssid']);
    db_query('DELETE FROM {support_substatus_state} WHERE ssid = %d', $form_state['values']['ssid']);
    db_query('DELETE FROM {support_substatus_ticket} WHERE subid = %d', $form_state['values']['ssid']);
  }
  else {
    if ($form_state['clicked_button']['#value'] == t('Update substatus field')) {
      db_query("UPDATE {support_substatus} SET substatus = '%s', disabled = %d, weight = %d WHERE ssid = %d", $form_state['values']['substatus'], $form_state['values']['disabled'], $form_state['values']['weight'], $form_state['values']['ssid']);
      db_query('DELETE FROM {support_substatus_client} WHERE ssid = %d', $form_state['values']['ssid']);
      foreach ($form_state['values']['clids'] as $clid) {
        db_query('INSERT INTO {support_substatus_client} (ssid, clid) VALUES(%d, %d)', $form_state['values']['ssid'], $clid);
      }
      db_query('DELETE FROM {support_substatus_state} WHERE ssid = %d', $form_state['values']['ssid']);
      foreach ($form_state['values']['state'] as $stid) {
        db_query('INSERT INTO {support_substatus_state} (ssid, stid) VALUES(%d, %d)', $form_state['values']['ssid'], $stid);
      }
      drupal_set_message(t('Updated %substatus field substatus.', array(
        '%substatus' => $form_state['values']['substatus'],
      )));
    }
    else {
      db_query("INSERT INTO {support_substatus} (substatus, disabled, weight) VALUES('%s', %d, %d)", $form_state['values']['substatus'], $form_state['values']['disabled'], $form_state['values']['weight']);
      drupal_set_message("INSERT INTO {support_substatus} (substatus, disabled, weight) VALUES('" . $form_state['values']['substatus'] . "', " . $form_state['values']['disabled'] . ", " . $form_state['values']['weight'] . ")");
      $ssid = db_last_insert_id('support_substatus', 'ssid');
      foreach ($form_state['values']['clids'] as $clid) {
        db_query('INSERT INTO {support_substatus_client} (ssid, clid) VALUES(%d, %d)', $ssid, $clid);
      }
      foreach ($form_state['values']['state'] as $stid) {
        db_query('INSERT INTO {support_substatus_state} (ssid, stid) VALUES(%d, %d)', $ssid, $stid);
      }
      drupal_set_message(t('Created %substatus substatus field.', array(
        '%substatus' => $form_state['values']['substatus'],
      )));
    }
  }
  menu_rebuild();
  drupal_goto('admin/support/substatus');
}