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');
}