You are here

function workbench_scheduler_node_form_submit in Workbench Scheduler 7.2

Same name and namespace in other branches
  1. 7 workbench_scheduler.module \workbench_scheduler_node_form_submit()

Submit function for editing a scheduled node.

Parameters

array $form: The form array.

array $form_state: The form state array.

1 string reference to 'workbench_scheduler_node_form_submit'
workbench_scheduler_form_node_form_alter in ./workbench_scheduler.module
Implements hook_form_FORM_ID_alter().

File

./workbench_scheduler.module, line 603
Content scheduling for Workbench.

Code

function workbench_scheduler_node_form_submit($form, &$form_state) {

  // Get the node data from the form state.
  $nid = $form_state['node']->nid;
  $vid = $form_state['node']->vid;
  if (!empty($form_state['values']['workbench_scheduler_sid'])) {
    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.
        }
        else {
          drupal_set_message(t('Error saving workbench schedule for node'), 'error', FALSE);
        }
      }
      else {
        workbench_scheduler_delete_node_schedule($nid, $vid, $sid);
      }
    }
  }
}