function run()
 {
     try {
         $repository = new SapphireRssNewsRepository();
         $tx_manager = SapphireTransactionManager::getInstance();
         $rss_news_manager = new RssNewsManager($repository, $tx_manager);
         $rss_news = $rss_news_manager->getNewsItemsFromSource();
         $rss_news_manager->deleteAllNewsItems();
         $rss_news_manager->saveNewsItems($rss_news);
         return 'OK';
     } catch (Exception $ex) {
         SS_Log::log($ex, SS_Log::ERR);
         echo $ex->getMessage();
     }
 }
Example #2
0
 function NewsItems($limit = 20)
 {
     $repository = new SapphireRssNewsRepository();
     $tx_manager = SapphireTransactionManager::getInstance();
     $rss_news_manager = new RssNewsManager($repository, $tx_manager);
     $return_array = new ArrayList();
     $group_array = $rss_news_manager->getNewsItemsFromDatabaseGroupedByCategory();
     for ($i = 0; $i < 7 && $i < count($group_array[RssNews::SuperUser]); $i++) {
         $item = $group_array[RssNews::SuperUser][$i];
         $return_array->push(array('type' => $item->Category, 'link' => $item->Link, 'title' => $item->Headline, 'pubdate' => date('D, M jS Y', strtotime($item->Date)), 'rawpubdate' => $item->Date));
     }
     for ($i = 0; $i < 3 && $i < count($group_array[RssNews::Planet]); $i++) {
         $item = $group_array[RssNews::Planet][$i];
         $return_array->push(array('type' => $item->Category, 'link' => $item->Link, 'title' => $item->Headline, 'pubdate' => date('D, M jS Y', strtotime($item->Date)), 'rawpubdate' => $item->Date));
     }
     /*for ($i = 0; $i < 3 && $i < count($group_array[RssNews::Blog]); $i++ ) {
                 $item = $group_array[RssNews::Blog][$i];
     
                 $return_array->push(array('type' => $item->Category, 'link' => $item->Link, 'title' => $item->Headline,
                     'pubdate' => date('D, M jS Y', strtotime($item->Date)), 'rawpubdate' => $item->Date));
             }*/
     $rss_count = $return_array->count();
     $openstack_news = DataObject::get('News', "Approved = 1", "Date DESC", "", $limit - $rss_count)->toArray();
     foreach ($openstack_news as $item) {
         $art_link = 'news/view/' . $item->ID . '/' . $item->HeadlineForUrl;
         $return_array->push(array('type' => 'News', 'link' => $art_link, 'title' => $item->Headline, 'pubdate' => date('D, M jS Y', strtotime($item->Date)), 'rawpubdate' => $item->Date));
     }
     return $return_array->sort('rawpubdate', 'DESC')->limit($limit, 0);
 }