diff --git a/uw_custom_blocks.module b/uw_custom_blocks.module index f775891744efe5cfa45512cfd31d261ed16be875..7822dc672e3b2631fa5045540bd2b07a54cfa671 100644 --- a/uw_custom_blocks.module +++ b/uw_custom_blocks.module @@ -293,6 +293,7 @@ function uw_custom_blocks_field_widget_entity_reference_paragraphs_form_alter(&$ * Implements hook_cron(). */ function uw_custom_blocks_cron() { + // Time interval 6 hours in seconds, taken from multi type list block. $interval = UwCblMultiTypeList::$cacheMaxAge; @@ -307,9 +308,13 @@ function uw_custom_blocks_cron() { // Load all aggregator feeds. $feeds = \Drupal::entityTypeManager()->getStorage('aggregator_feed')->loadMultiple(); + + // Step through each of the feeds and update the web resources feed. foreach ($feeds as $feed) { + // Check if the feed title matches 'Web-resources news'. if ($feed->label() == 'Web-resources news') { + // Fetch the current feed items. $current_items = \Drupal::entityTypeManager()->getStorage('aggregator_item')->loadByProperties(['fid' => $feed->id()]); @@ -324,17 +329,22 @@ function uw_custom_blocks_cron() { // Process the latest feed data as needed. // Compare and remove items no longer present in the current feed. foreach ($current_items as $item) { + // Set the flag to FALSE. $item_found = FALSE; + // Loop through all latest feed data. foreach ($latest_feed_data->channel->item as $latest_item) { + // If the current item is in the latest feed data. if ($item->getTitle() == (string) $latest_item->title) { + // Set the flag to TRUE. $item_found = TRUE; break; } } + // If the flag is false, remove the current feed item. if (!$item_found) { $item->delete();