Esempio n. 1
0
 /**
  * Действие просмотр rss ленты из категори:
  */
 public function viewCategoryRssAction(Application $application, Template $template)
 {
     if (($category = Blog_BlogCategoryModel::GetCategoryByName($_GET['category'])) !== false) {
         $posts = Blog_BlogPostsModel::GetAllPostsFromCategory($category['id'], 0, 30, 'created_at');
         if ($posts) {
             $rss = new rss('utf-8');
             $rss->channel('Первый канал', 'http://1chan.ru/', 'Новости имиджборд и не только.');
             $rss->language('ru-ru');
             $rss->copyright('Все права пренадлежат вам © 2010');
             $rss->managingEditor('*****@*****.**');
             $rss->category('Посты из категории «' . $category['title'] . '»');
             $rss->startRSS();
             foreach ($posts as $key => $post) {
                 $title = $post['category'] ? TemplateHelper::BlogCategory($post['category'], 'title') . ' — ' . $post['title'] : $post['title'];
                 $rss->itemTitle($title);
                 $rss->itemLink('http://' . TemplateHelper::getSiteUrl() . '/news/res/' . $post['id'] . '/');
                 $rss->itemDescription($post['link'] ? '<a href="' . $post['link'] . '">' . $post['link'] . '</a><br />' . $post['text'] : $post['text']);
                 $rss->itemAuthor('anonymous');
                 $rss->itemGuid('http://' . TemplateHelper::getSiteUrl() . '/news/res/' . $post['id'] . '/', true);
                 $rss->itemPubDate(date('D, d M Y H:i:s O', $post['created_at']));
                 $rss->addItem();
             }
             $result = $rss->RSSdone();
         }
         EventModel::getInstance()->Broadcast('view_rss_approved_post');
         $template->headerOk();
         $template->headerContentType('application/rss+xml', 'UTF-8');
         echo $result;
         return false;
     }
 }