/** * Get all feed entries as a parser instance * * @param \Newscoop\IngestPluginBundle\Entity\Feed $feedEntity Feed entity * * @return array Array should contain feed entries */ public static function getStories(\Newscoop\IngestPluginBundle\Entity\Feed $feedEntity) { $feed = new SimplePie(); $feed->set_feed_url($feedEntity->getUrl()); $feedInitialized = $feed->init(); if (!$feedInitialized) { throw new \Exception($feed->error()); } $items = $feed->get_items(); $entries = array(); foreach ($items as $item) { $entries[] = new RFCRSSParser($item); } return array_reverse($entries); }
/** * Get all feed entries as a parser instance * * @param \Newscoop\IngestPluginBundle\Entity\Feed $feedEntity Feed entity * * @return array Array should contain feed entries */ public static function getStories(Feed $feedEntity) { $entries = array(); $data = array(); $clientConfig = array('base_uri' => $feedEntity->getUrl(), 'options' => ''); $client = new GuzzleClient($clientConfig); $sdk = new ContentApiSdk($client); $parameters = array('start_date' => date('Y-m-d', strtotime('-3 days'))); try { $data = $sdk->getPackages($parameters, true); } catch (ContentApiException $e) { throw new NewscoopException($e->getMessage(), $e->getCode(), $e); } // Convert all $data into entries foreach ($data as $package) { $entryPackage = new SuperdeskContentApiParser($package); $images = $entryPackage->getImages(); if (property_exists($package->associations, 'main') && empty($images)) { continue; } $entries[] = $entryPackage; } return $entries; }