You are here

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;
    }
  }
}