Exemplo n.º 1
0
 /**
  * Returns the feed associated with this subscription
  * @return bool|false|Entity|Feed
  */
 function getFeedObject()
 {
     if ($feed_url = $this->getFeedURL()) {
         return Feed::getOne(array('feed_url' => $feed_url));
     }
     return false;
 }
Exemplo n.º 2
0
 /**
  * Retrieves a feed object for the given URL, or creates one if it's new to the system
  * @param $url
  * @param $update Set to true in order to refresh saved feed details. False by default.
  * @return bool|false|\Idno\Common\Entity|Feed
  */
 function getFeedObject($url, $update = false)
 {
     $wc = new Webservice();
     $url = $wc->sanitizeURL($url);
     if ($feed_details = $this->getFeedDetails($url)) {
         if ($feed_array = Feed::get(array('feed_url' => $feed_details['url']))) {
             foreach ($feed_array as $feed_item) {
                 $feed = $feed_item;
                 break;
             }
         } else {
             $feed = new Feed();
         }
         if ($feed->getID() && !$update) {
             return $feed;
         }
         $feed->url = $url;
         if (!empty($feed_details['title'])) {
             $feed->setTitle($feed_details['title']);
         }
         if (!empty($feed_details['type'])) {
             $feed->setType($feed_details['type']);
         }
         if (!empty($feed_details['url'])) {
             $feed->setFeedURL($feed_details['url']);
             if ($feed->save()) {
                 return $feed;
             }
         }
     }
     return false;
 }