function workbench_scheduler_node_form_validate in Workbench Scheduler 7
Same name and namespace in other branches
- 7.2 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 401 - Content scheduling for Workbench.
Code
function workbench_scheduler_node_form_validate($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.
$sid = $form_state['values']['workbench_scheduler_sid'];
// Was a schedule selected?
if ($sid && $sid > 0) {
// Both a start date and an end date, start should be before end.
if ($start_date && $end_date && $start_date >= $end_date) {
form_set_error('workbench_scheduler_end_date', t('End date must be after start date.'));
}
elseif ($start_date || $end_date) {
// All good.
}
else {
// Only other option, are no dates. throw an error.
form_set_error('workbench_scheduler_start_date', t('Must provide either a start date or end date for workbench schedule'));
}
}
elseif ($start_date || $end_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', t('Must select a workbench schedule to apply to the provided date(s)'));
}
}
}