Example #1
0
 /**
  * Displays an RSS feed of comments for a given article
  *
  * @return  void
  */
 public function commentsTask()
 {
     if (!$this->config->get('feeds_enabled')) {
         throw new Exception(Lang::txt('COM_KB_ERROR_ARTICLE_NOT_FOUND'), 404);
     }
     // Incoming
     $alias = Request::getVar('alias', '');
     $id = Request::getInt('id', 0);
     // Load the article
     $category = Category::oneByAlias(Request::getVar('category'));
     $article = $alias ? Article::oneByAlias($alias) : Article::oneOrFail($id);
     if (!$article->get('id')) {
         throw new Exception(Lang::txt('COM_KB_ERROR_ARTICLE_NOT_FOUND'), 404);
     }
     // Set the mime encoding for the document
     Document::setType('feed');
     // Start a new feed object
     Document::setLink(Route::url($article->link()));
     // Build some basic RSS document information
     $title = Config::get('sitename') . ' - ' . Lang::txt(strtoupper($this->_option));
     $title .= $article->get('title') ? ': ' . stripslashes($article->get('title')) : '';
     $title .= ': ' . Lang::txt('COM_KB_COMMENTS');
     Document::setTitle($title);
     Document::instance()->description = Lang::txt('COM_KB_COMMENTS_RSS_DESCRIPTION', Config::get('sitename'), stripslashes($article->get('title')));
     Document::instance()->copyright = Lang::txt('COM_KB_COMMENTS_RSS_COPYRIGHT', gmdate("Y"), Config::get('sitename'));
     // Start outputing results if any found
     $this->_feedItem($article->comments('list'));
 }