function workbench_scheduler_admin_edit_schedule_submit in Workbench Scheduler 7
Same name and namespace in other branches
- 7.2 workbench_scheduler.admin.inc \workbench_scheduler_admin_edit_schedule_submit()
Submit function for adding/editing a schedule.
File
- ./
workbench_scheduler.admin.inc, line 249 - Provides admin functions for Workbench Scheduler.
Code
function workbench_scheduler_admin_edit_schedule_submit($form, &$form_state) {
// Check to see if the delete button was clicked.
if ($form_state['clicked_button']['#id'] == 'edit-delete') {
// Redirect to the delete form.
drupal_goto('admin/config/workbench/scheduler/schedules/' . $form['#schedule']->name . '/delete');
}
else {
// Build the array of schedule data.
$schedule_data = array(
'label' => trim(strip_tags($form_state['values']['label'])),
'start_state' => $form_state['values']['start_state'],
'end_state' => $form_state['values']['end_state'],
// Add the checked types to the schedule data.
'types' => array_intersect($form['#types'], $form_state['values']['types']),
);
// Updating an existing schedule?
if (isset($form['#schedule'])) {
// Fetch the machine name form the object.
$machine_name = $form['#schedule']->name;
}
else {
// Fetch the new machine name from passed values.
$machine_name = $form_state['values']['name'];
}
// Attempt a save/update
if ($result = workbench_scheduler_save_schedule($machine_name, $schedule_data)) {
drupal_set_message(t('Schedule @status', array(
'@status' => $result == 1 ? t('Saved') : t('Updated'),
)), 'status', FALSE);
// Redirect back to the schedules table.
$form_state['redirect'] = 'admin/config/workbench/scheduler/schedules';
}
else {
drupal_set_message(t('Error saving schedule'), 'error', FALSE);
}
}
}