function _scheduler_rules_integration_dispatch_cron_event in Scheduler 8
Same name and namespace in other branches
- 2.x scheduler_rules_integration/scheduler_rules_integration.module \_scheduler_rules_integration_dispatch_cron_event()
Trigger Rules events during cron.
This function is called from the main Scheduler module publish() and unpublish() functions in the SchedulerManager class.
2 calls to _scheduler_rules_integration_dispatch_cron_event()
- SchedulerManager::publish in src/
SchedulerManager.php - Publish scheduled nodes.
- SchedulerManager::unpublish in src/
SchedulerManager.php - Unpublish scheduled nodes.
File
- scheduler_rules_integration/
scheduler_rules_integration.module, line 60 - Scheduler Rules Integration.
Code
function _scheduler_rules_integration_dispatch_cron_event(EntityInterface $node, $event_type) {
$scheduler_manager = \Drupal::service('scheduler.manager');
if ($event_type == 'publish') {
// Invoke the event to tell Rules that Scheduler has published this node.
// @todo 2nd param $publish_on may be needed as the date will no longer be on the node
$event = new SchedulerHasPublishedThisNodeEvent($node);
$scheduler_manager
->dispatch($event, SchedulerHasPublishedThisNodeEvent::EVENT_NAME);
}
elseif ($event_type == 'unpublish') {
// Invoke the event to tell Rules that Scheduler has unpublished this node.
// @todo 2nd param $publish_on may be needed as the date will no longer be on the node
$event = new SchedulerHasUnpublishedThisNodeEvent($node);
$scheduler_manager
->dispatch($event, SchedulerHasUnpublishedThisNodeEvent::EVENT_NAME);
}
}