You are here

function workbench_scheduler_node_form_validate in Workbench Scheduler 7.2

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

Validation function for editing a scheduled node.

Parameters

array $form: The form array.

array $form_state: The form state array.

3 string references to 'workbench_scheduler_node_form_validate'
workbench_scheduler_admin_edit_revision_schedule in ./workbench_scheduler.admin.inc
Form to edit the schedule for an existing node revision.
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 562
Content scheduling for Workbench.

Code

function workbench_scheduler_node_form_validate($form, &$form_state) {
  $values = $form_state['values'];
  if (!empty($values['workbench_scheduler_sid'])) {
    foreach ($values['workbench_scheduler_sid'] as $sid) {
      if (!empty($values['workbench_scheduler_date'][$sid])) {
        $date = $values['workbench_scheduler_date'][$sid];
      }
      else {
        $date = '';
      }

      // Was a schedule selected?
      if ($sid && $sid > 0) {
        if (!empty($date)) {

          // All good.
        }
        else {

          // Only other option, are no dates. throw an error.
          form_set_error('workbench_scheduler_date][' . $sid, t('Must provide date for workbench schedule'));
        }
      }
      elseif (!empty($date)) {
        if ($form_state['values']['workbench_scheduler_sid'] != 0) {

          // Need to select a schedule for the dates unless none were selected.
          form_set_error('workbench_scheduler_sid][' . $sid, t('Must select a workbench schedule to apply to the provided date(s)'));
        }
      }
    }
  }
}