function workbench_scheduler_save_node_schedule in Workbench Scheduler 7.2
Same name and namespace in other branches
- 7 workbench_scheduler.module \workbench_scheduler_save_node_schedule()
Saves the schedule data for a given node revision.
Parameters
int $nid: The node id.
int $vid: The node revision id.
array $schedule_data: Array of schedule data to set/update.
Return value
bool Boolean TRUE/TRUE on success of query.
4 calls to workbench_scheduler_save_node_schedule()
- workbench_scheduler_admin_edit_revision_schedule_submit in ./
workbench_scheduler.admin.inc - Submit function for editing the schedule applied to a node's revision.
- workbench_scheduler_node_form_submit in ./
workbench_scheduler.module - Submit function for editing a scheduled node.
- workbench_scheduler_node_update in ./
workbench_scheduler.module - Implements hook_node_update().
- workbench_scheduler_update_7200 in ./
workbench_scheduler.install - Update from 7.x-1.x version to 7.x-2.0 version.
File
- ./
workbench_scheduler.module, line 917 - Content scheduling for Workbench.
Code
function workbench_scheduler_save_node_schedule($nid, $vid, $schedule_data) {
// Need to have the sid and start date or end date data.
// Do no save already completed schedules.
if (isset($schedule_data['sid']) && $schedule_data['date'] && empty($schedule_data['completed'])) {
// Run a merge query to insert or update the row.
$merge = db_merge('workbench_scheduler_nodes')
->key(array(
'nid' => $nid,
'vid' => $vid,
'sid' => $schedule_data['sid'],
))
->fields(array(
'sid' => $schedule_data['sid'],
// Start date if it was passed.
'date' => $schedule_data['date'] ? $schedule_data['date'] : 0,
))
->execute();
// Was the merge successful?
if ($merge) {
// Apply update hooks.
module_invoke_all('workbench_scheduler_post_save_node_schedule', $nid, $vid, $schedule_data);
// Clear the cache to ensure the node edit form is accurate.
entity_get_controller('node')
->resetCache(array(
$nid,
));
return TRUE;
}
}
// Return boolean false if missing fields or failed query.
return FALSE;
}