CMS  Version 3.9
rss_feed_manager.inc
Go to the documentation of this file.
1 <?php
12 Fakoli::using("settings","rss_feed");
13 Fakoli::usingFeature("data_view");
14 
16 {
17  function RssFeedManager()
18  {
19 
20  }
21 
22  static function setDefaults()
23  {
24  //TODO: Set default configuration parameters here
25  }
26 
27  static function upgradeComponent($version)
28  {
30  $mgr->upgrade($version);
31  }
32 
33  function pullFeed(){
34  $rssFeeds = Query::create(RSSFeed, "ORDER BY rss_feed_id")->execute();
35  echo "The following feed content have been updated:</br>";
36 
37  foreach($rssFeeds as $feed)
38  {
39  echo $feed_id = $feed->rss_title."</br>";
40 
41  $rssurl = simplexml_load_file($feed->rss_url,"SimpleXMLElement", LIBXML_NOCDATA);
42 
43  foreach ($rssurl->channel->item as $item)
44  {
45  try
46  {
47  $rss = $feed->findArticleByURL($item->link);
48  }
49  catch(DataNotFoundException $e)
50  {
51  $rss = new RSSFeedArticles();
52  }
53 
54  $rss->rss_feed_id = $feed->rss_feed_id;
55  $rss->rss_title = $item->title;
56  $rss->article_date = date("Y-m-d H:i:s", strtotime($item->pubDate));
57  $rss->rss_article_URL = $item->link;
58  $rss->rss_article_newsStory = $item->description;
59  $rss->rss_article_content = $item->children('content',true)->encoded;
60  $rss->publish_status = $feed->rss_trusted;
61 
62  $rss->save();
63  }
64  }
65  }
66 
67  static function registerScheduledRSSWorkers(){
68  ScheduledTaskManager::registerWorker("RSS", "RSS Updates", array(RssFeedManager, pullFeed));
69  }
70 }
71 ?>
static usingFeature()
Uses the specified framework feature(s).
Definition: core.inc:388
static using()
Import the datamodels, views and manifest for the specified component(s).
Definition: core.inc:116
static upgradeComponent($version)
static registerScheduledRSSWorkers()
static registerWorker($component, $task_name, $handler, $hourly=false)
Registers a Scheduled Task worker method.
$rssFeeds
Definition: pull_feeds.inc:7
$feed_id