public function createGatheringItems(GatheringDataSourceConfiguration $configuration) { $pl = new PageList(); $pl->ignoreAliases(); $pl->ignorePermissions(); $gathering = $configuration->getGatheringObject(); if ($gathering->getGatheringDateLastUpdated()) { $pl->filterByPublicDate($gathering->getGatheringDateLastUpdated(), '>'); } $ptID = $configuration->getPageTypeID(); if ($ptID > 0) { $pl->filterByPageTypeID($ptID); } $pages = $pl->get(); $items = array(); foreach ($pages as $c) { $item = PageGatheringItem::add($configuration, $c); if (is_object($item)) { $items[] = $item; } } return $items; }