function scheduler_api_legacy_test_scheduler_nid_list_alter in Scheduler 2.x
Implements hook_scheduler_nid_list_alter().
File
- tests/
modules/ scheduler_api_test/ scheduler_api_legacy_test/ scheduler_api_legacy_test.module, line 44 - Legacy hook implementations for the Scheduler API Test module.
Code
function scheduler_api_legacy_test_scheduler_nid_list_alter(&$nids, $action) {
$request_time = \Drupal::time()
->getRequestTime();
$results = _scheduler_api_test_get_entities('node');
foreach ($results as $nid => $node) {
if ($action == 'publish' && $node->title->value == 'API TEST nid_list_alter do not publish me') {
// Remove the node id.
$nids = array_diff($nids, [
$nid,
]);
}
if ($action == 'publish' && $node->title->value == 'API TEST nid_list_alter publish me') {
// Set a publish_on date and add the node id.
$node
->set('publish_on', $request_time)
->save();
$nids[] = $nid;
}
if ($action == 'unpublish' && $node->title->value == 'API TEST nid_list_alter do not unpublish me') {
// Remove the node id.
$nids = array_diff($nids, [
$nid,
]);
}
if ($action == 'unpublish' && $node->title->value == 'API TEST nid_list_alter unpublish me') {
// Set an unpublish_on date and add the node id.
$node
->set('unpublish_on', $request_time)
->save();
$nids[] = $nid;
}
}
}