You are here

function workbench_scheduler_admin_edit_revision_schedule_submit in Workbench Scheduler 7.2

Same name and namespace in other branches
  1. 7 workbench_scheduler.admin.inc \workbench_scheduler_admin_edit_revision_schedule_submit()

Submit function for editing the schedule applied to a node's revision.

File

./workbench_scheduler.admin.inc, line 736
Provides admin functions for Workbench Scheduler.

Code

function workbench_scheduler_admin_edit_revision_schedule_submit($form, &$form_state) {

  // Get the node data from the form state.
  $nid = $form_state['values']['nid'];
  $vid = $form_state['values']['vid'];
  foreach ($form_state['values']['workbench_scheduler_sid'] as $sid => $sid_enabled) {
    if (!empty($form_state['values']['workbench_scheduler_date'][$sid])) {
      $date = $form_state['values']['workbench_scheduler_date'][$sid];
    }
    else {
      $date = '';
    }

    // Have a schedule selected?
    if ($sid_enabled) {

      // Retrieve schedule data.
      $schedule_data = array(
        'sid' => $sid,
        // Format to timestamp for storage.
        'date' => strtotime($date),
      );

      // Attempt to save the schedule for this node.
      if (workbench_scheduler_save_node_schedule($nid, $vid, $schedule_data)) {

        // Success.
        drupal_set_message(t('Revision schedule updated'), 'status', FALSE);
      }
      else {
        drupal_set_message(t('Error saving workbench schedule for node'), 'error', FALSE);
      }
    }
    else {
      workbench_scheduler_delete_node_schedule($nid, $vid, $sid);
    }
  }
  drupal_goto('node/' . $nid . '/manage_schedules/');
}