$count = 20; $DOCS = $POD->getContents($params); $description = "{$scope} {$type} " . implode(" and ", $conditions) . " from " . $POD->siteName(false); $year = date("Y"); $rss = new rss('utf-8'); $rss->channel(xmlformat($description), $POD->siteRoot(false), xmlformat($description)); $rss->language('en-us'); $rss->copyright('Copyright ' . $year . ' ' . $POD->siteName(false)); $rss->startRSS(); while ($doc = $DOCS->getNext()) { $rss->itemTitle(xmlformat($doc->get('headline'))); if ($doc->get('link')) { $rss->itemLink($doc->get('link')); } else { $rss->itemLink($doc->get('permalink')); } $nTimestamp = strtotime($doc->get('date')); $sISO8601 = date('Y-m-d\\Th:i:s', $nTimestamp) . substr_replace(date('O', $nTimestamp), ':', 3, 0); $rss->itemPubDate($sISO8601); if ($doc->get('img')) { $rss->itemDescription(xmlformat('<img src="' . $doc->get('img') . '" /><br />' . $doc->get('body'))); } else { $rss->itemDescription(xmlformat($doc->get('body'))); } $rss->itemAuthor(xmlformat($doc->author('nick') . "<" . $doc->author('permalink') . ">")); $rss->itemGuid($doc->get('permalink')); $rss->itemSource($POD->siteName(false), $POD->siteRoot(false)); $rss->addItem(); } header("Content-type: text/xml"); echo $rss->RSSdone();
/** * Действие просмотр rss ленты всех постов: */ public function rssAllAction(Application $application, Template $template) { $posts = Blog_BlogPostsModel::GetAllPosts(0, 20, false); if ($posts) { $rss = new rss('utf-8'); $rss->channel('Первый канал - Все', 'http://1chan.ru/', 'Новости имиджборд и не только.'); $rss->language('ru-ru'); $rss->copyright('Все права пренадлежат вам © 2010'); $rss->managingEditor('*****@*****.**'); $rss->category('Все'); $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_all_post'); $template->headerOk(); $template->headerContentType('application/rss+xml', 'UTF-8'); echo $result; return false; }