function workbench_email_form_submit in Workbench Email 7.3
Same name and namespace in other branches
- 7 workbench_email.admin.inc \workbench_email_form_submit()
Form submit handler for email transitions.
Adds or deletes email transitions depending on user input.
Parameters
array $form: The form array
array $form_state: The form_state array
File
- ./
workbench_email.admin.inc, line 358 - Administrative forms for Workbench Email Module.
Code
function workbench_email_form_submit($form, &$form_state) {
variable_set('workbench_email_queue_mail', $form_state['values']['config_container']['queue_mail']);
$roles = workbench_email_determine_valid_roles();
foreach ($form_state['values']['transitions'] as $transition) {
foreach ($roles as $rid => $role) {
if ($transition[$role]['notify']) {
$rid == WORKBENCH_EMAIL_AUTHOR ? $author = 1 : ($author = 0);
$automatic = $transition[$role]['auto_notify'];
$transition_label = $transition['transition']->from_name . '_to_' . $transition['transition']->to_name;
$subject = NULL;
$message = NULL;
if (isset($form_state['values']['emails'])) {
$message = $form_state['values']['emails'][$transition_label][$rid]['message'];
$subject = $form_state['values']['emails'][$transition_label][$rid]['subject'];
}
workbench_email_save($transition['transition'], $rid, $subject, $message, $author, $automatic);
}
else {
workbench_email_delete($transition['transition'], $rid);
}
}
}
drupal_set_message(t('Settings have been updated'));
}