/** * Создать ленту * * @param array $rows * @param array $parameters * * @return sfFeed */ private function buildFeed(array $rows, array $parameters) { // default parameters $parameters = array_merge(sfConfig::get('app_feeds_default_parameters', array()), $parameters); $feed = sfFeed::newInstance($parameters['feed_type']); $feed->setTitle($parameters['title']); $feed->setLink($parameters['link']); $feed->setAuthorName($parameters['author_name']); if (isset($parameters['author_email'])) { $feed->setAuthorEmail($parameters['author_email']); } foreach ($rows as $row) { $item = new sfFeedItem(); $item->setTitle($row['title']); $item->setAuthorName($row['author_name']); if (isset($parameters['permalink_url'])) { $item->setLink(sprintf('@%s?%s=%s', $parameters['permalink_url'], $parameters['permalink_param_name'], $row[$parameters['permalink_param_column']])); } if (isset($row['author_email'])) { $item->setAuthorEmail($row['author_email']); } $item->setPubdate(strtotime($row['created_at']) - date('Z', strtotime($row['created_at']))); $item->setUniqueId($row['id']); $item->setDescription($row['description']); $feed->addItem($item); } $this->feed = $feed; $this->getContext()->getResponse()->setContentType($feed->getContentType()); $this->setTemplate('feed'); }
public function addItemFromArray($item_array) { $item = new sfFeedItem(); $item->setTitle(isset($item_array['title']) ? $item_array['title'] : ''); $item->setLink(isset($item_array['link']) ? $item_array['link'] : ''); $item->setDescription(isset($item_array['description']) ? $item_array['description'] : ''); $item->setAuthorEmail(isset($item_array['authorEmail']) ? $item_array['authorEmail'] : ''); $item->setAuthorName(isset($item_array['authorName']) ? $item_array['authorName'] : ''); $item->setAuthorLink(isset($item_array['authorLink']) ? $item_array['authorLink'] : ''); $item->setPubdate(isset($item_array['pubdate']) ? $item_array['pubdate'] : ''); $item->setComments(isset($item_array['comments']) ? $item_array['comments'] : ''); $item->setUniqueId(isset($item_array['uniqueId']) ? $item_array['uniqueId'] : ''); $item->setEnclosure(isset($item_array['enclosure']) ? $item_array['enclosure'] : ''); $item->setCategories(isset($item_array['categories']) ? $item_array['categories'] : ''); $this->items[] = $item; }
public function executeNoticiesCulturalsLastPosts() { $this->IDS = 1; $feed = new sfAtom1Feed(); $feed->setTitle('NotÃcies Culturals de Girona'); $feed->setLink('http://www.casadecultura.org/noticiesculturals'); $feed->setAuthorEmail('*****@*****.**'); $feed->setAuthorName('Giroscopi || Casa de Cultura de Girona'); $feedImage = new sfFeedImage(); $feedImage->setFavicon('http://www.casadecultura.cat/images/blogs/Dissenys/noticies_culturals/blog_02.png'); $feed->setImage($feedImage); $C = new Criteria(); $C = AppBlogsEntriesPeer::getCriteriaActiu($C, $this->IDS); $C->add(AppBlogsEntriesPeer::PAGE_ID, 1); $C->addDescendingOrderByColumn(AppBlogsEntriesPeer::ID); $Q = AppBlogsEntriesPeer::doSelect($C); $WEBROOTURL = OptionsPeer::getString('SF_WEBROOTURL', $this->IDS); foreach ($Q as $post) { $item = new sfFeedItem(); $item->setTitle($post->getTitle()); $item->setLink($WEBROOTURL . 'noticiesculturals?NOTICIA_ID=' . $post->getId()); $item->setAuthorName('Giroscopi'); $item->setAuthorEmail('*****@*****.**'); $IMG = $post->getImages(); if (!$IMG) { $url = ""; } else { $url = '<img width="100px" src="' . $WEBROOTURL . 'images/blogs/' . $IMG[0]->getUrl() . '">'; } $url_web = $WEBROOTURL . 'noticiesculturals?NOTICIA_ID=' . $post->getId(); $item->setUniqueId($url_web); $TEXT = "\t\r\n\t \t\t <table border=\"0\"><tr><td>{$url}</td><td>\t \t\t \r\n\t\t <h1>{$post->getTitle()}</h1><br />\r\n\t\t <h2>{$post->getSubtitle1()}</h2><br />\r\n\t\t <h3>{$post->getSubtitle2()}</h3><br />\r\n\t\t <a href=\"{$post->getUrl()}\">Web</a><br />\r\n\t\t <a href=\"{$url_web}\">NotÃcia original</a>\r\n\t\t </td></tr></table>\t \r\n\t "; $item->setContent($TEXT); $feed->addItem($item); } $this->feed = $feed; $this->setLayout('blank'); $this->setTemplate('RSS'); }
public function executeNewCodes() { $feed = new sfAtom1Feed(); $feed->setTitle('Hoydaa Snippets'); $feed->setLink('http://codesnippet.hoydaa.org'); $feed->setAuthorEmail('*****@*****.**'); $feed->setAuthorName('Hoydaa Snippets'); $codes = SnippetPeer::getNewCodes(); foreach ($codes as $code) { $item = new sfFeedItem(); $item->setTitle($code->getTitle()); $item->setLink('snippet/show?id=' . $code->getFriendlyUrl()); $item->setAuthorName($code->getSfGuardUser() ? $code->getSfGuardUser()->getProfile()->getFullName() : $code->getName()); $item->setAuthorEmail($code->getSfGuardUser() ? $code->getSfGuardUser()->getProfile()->getEmail() : $code->getEmail()); $item->setPubdate($code->getCreatedAt('U')); $item->setUniqueId($code->getId()); $item->setDescription($code->getSummary()); $feed->addItem($item); } $this->feed = $feed; $this->setTemplate('feed'); }
private static function addToFeed($feed, $reports) { foreach ($reports as $report) { $item = new sfFeedItem(); $item->setTitle($report->getTitle()); $item->setLink('report/show?id=' . $report->getFriendlyUrl()); if ($report->getsfGuardUser()) { $item->setAuthorName($report->getsfGuardUser()->getProfile()->getFirstname() . ' ' . $report->getsfGuardUser()->getProfile()->getLastname()); $item->setAuthorEmail($report->getsfGuardUser()->getProfile()->getEmail()); } $item->setPubdate($report->getCreatedAt('U')); $item->setUniqueId($report->getFriendlyUrl()); $titles = array(); foreach ($report->getReportQuerys() as $report_query) { $titles[] = $report_query->getTitle(); } //print_r($titles); $item->setDescription(($report->getDescription() ? $report->getDescription() . " " : "") . 'Queries: ' . implode(', ', $titles)); $feed->addItem($item); } }
public function executeFeed(sfWebRequest $request) { $format = $request->getParameter('format'); if ($format === 'atom') { $format = 'atom1'; } elseif ($format === 'rss') { $format = 'rss201'; } $feed = sfFeedPeer::newInstance($format); $feed->setTitle(sfConfig::get('app_rt_blog_title', 'Latest News')); $feed->setLink('http://' . rtSiteToolkit::getCurrentDomain()); $feed->setAuthorEmail(sfConfig::get('app_rt_blog_author_email')); $feed->setAuthorName(sfConfig::get('app_rt_blog_author_name', 'News Editor')); // $feedImage = new sfFeedImage(); // $feedImage->setFavicon('http://'.rtSiteToolkit::getCurrentDomain().'/favicon.ico'); // $feed->setImage($feedImage); $query = Doctrine::getTable('rtBlogPage')->addPublishedQuery(); $query->limit(20)->orderBy('page.id DESC'); $posts = $query->execute(); foreach ($posts as $rt_blog_page) { $item = new sfFeedItem(); $item->setTitle($rt_blog_page->getTitle()); $item->setLink($this->generateUrl('rt_blog_page_show', $rt_blog_page, array('absolute' => true))); $item->setAuthorName($rt_blog_page->getAuthorName()); $item->setAuthorEmail($rt_blog_page->getAuthorEmail()); $item->setPubdate(strtotime($rt_blog_page->getCreatedAt())); $item->setUniqueId($rt_blog_page->getSlug()); $item->setDescription($rt_blog_page->getDescription()); $feed->addItem($item); } $this->feed = $feed; }