You are here

function scheduler_api_test_scheduler_node_list_alter in Scheduler 2.x

Implements hook_scheduler_node_list_alter().

2 calls to scheduler_api_test_scheduler_node_list_alter()
scheduler_api_test_scheduler_commerce_product_list_alter in tests/modules/scheduler_api_test/scheduler_api_test.module
Implements hook_scheduler_commerce_product_list_alter().
scheduler_api_test_scheduler_media_list_alter in tests/modules/scheduler_api_test/scheduler_api_test.module
Implements hook_scheduler_media_list_alter().

File

tests/modules/scheduler_api_test/scheduler_api_test.module, line 140
Hook implementations of the Scheduler API Test module.

Code

function scheduler_api_test_scheduler_node_list_alter(&$ids, $process, $entityTypeId) {
  $request_time = \Drupal::time()
    ->getRequestTime();
  $results = _scheduler_api_test_get_entities($entityTypeId);
  foreach ($results as $id => $entity) {
    if ($process == 'publish' && $entity
      ->label() == "Purple {$entityTypeId} list_alter do not publish me") {

      // Remove the id.
      $ids = array_diff($ids, [
        $id,
      ]);
    }
    if ($process == 'publish' && $entity
      ->label() == "Purple {$entityTypeId} list_alter publish me") {

      // Set a publish_on date and add the id.
      $entity
        ->set('publish_on', $request_time)
        ->save();
      $ids[] = $id;
    }
    if ($process == 'unpublish' && $entity
      ->label() == "Purple {$entityTypeId} list_alter do not unpublish me") {

      // Remove the id.
      $ids = array_diff($ids, [
        $id,
      ]);
    }
    if ($process == 'unpublish' && $entity
      ->label() == "Purple {$entityTypeId} list_alter unpublish me") {

      // Set an unpublish_on date and add the id.
      $entity
        ->set('unpublish_on', $request_time)
        ->save();
      $ids[] = $id;
    }
  }
}