You are here

function workbench_scheduler_node_form_submit in Workbench Scheduler 7

Same name and namespace in other branches
  1. 7.2 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.

2 string references to 'workbench_scheduler_node_form_submit'
workbench_scheduler_form_node_form_alter in ./workbench_scheduler.module
Implements hook_form_FORM_ID_alter().
workbench_scheduler_schedules_action_form in actions/workbench_scheduler.action.inc
Workbench scheduler actions form.

File

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

Code

function workbench_scheduler_node_form_submit($form, &$form_state) {
  if (!empty($form_state['values']['workbench_scheduler_start_date'])) {
    $start_date = $form_state['values']['workbench_scheduler_start_date'];
  }
  else {
    $start_date = '';
  }
  if (!empty($form_state['values']['workbench_scheduler_end_date'])) {
    $end_date = $form_state['values']['workbench_scheduler_end_date'];
  }
  else {
    $end_date = '';
  }

  // Retrieve schedule data.
  $schedule_data = array(
    'sid' => $form_state['values']['workbench_scheduler_sid'],
    // Format to timestamp for storage.
    'start_date' => strtotime($start_date),
    // Format to timestamp for storage.
    'end_date' => strtotime($end_date),
  );

  // Get the node data from the form state.
  $nid = $form_state['node']->nid;
  $vid = $form_state['node']->vid;

  // Have a schedule selected? sid of 0 for removing a schedule.
  if ($schedule_data['sid'] || $schedule_data['sid'] == 0) {

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