Example #1
0
 private function extractFeed(\DOMElement $element)
 {
     $feed = new Feed();
     foreach (self::$feedPropertiesMapping as $nodeName => $methodName) {
         $feed->{$methodName}($this->getNodeValueByTagName($element, $nodeName));
     }
     if ($date = $this->getNodeValueByTagName($element, 'pubDate')) {
         $feed->setPublishedDate(\DateTime::createFromFormat(\DateTime::RSS, $date));
     }
     $feed->setLastFetched(new \DateTime());
     return $feed;
 }
Example #2
0
 private function extractFeed(\DOMElement $element)
 {
     $feed = new Feed();
     foreach (self::$feedPropertiesMapping as $nodeName => $methodName) {
         $feed->{$methodName}($this->getNodeValueByTagName($element, $nodeName));
     }
     if ($date = $this->getNodeValueByTagName($element, 'updated')) {
         $feed->setPublishedDate(\DateTime::createFromFormat(\DateTime::ATOM, $date));
     }
     $nodeList = $element->getElementsByTagName('link');
     foreach ($nodeList as $nodeResult) {
         /** @var \DomElement $nodeResult */
         if ($nodeResult->getAttribute('rel') === 'alternate') {
             $feed->setLink($nodeResult->getAttribute('href'));
             break;
         }
     }
     if (!$feed->getLink()) {
         $feed->setLink($this->getNodeValueByTagName($element, 'id'));
     }
     $feed->setLastFetched(new \DateTime());
     return $feed;
 }
Example #3
0
 private function hydrateFeed(array $row)
 {
     $feed = new Feed();
     $feed->setId($row['id']);
     $feed->setSource($row['source']);
     $feed->setLink($row['link']);
     $feed->setDescription($row['description']);
     $feed->setTitle($row['title']);
     $feed->setPublishedDate(new \DateTime($row['published_date']));
     $feed->setLastFetched(new \DateTime($row['last_fetched']));
     $feed->setLastModified(new \DateTime($row['last_modified']));
     return $feed;
 }