public function executeSearch()
 {
     $feed = new sfAtom1Feed();
     $feed->setTitle('Hoydaa Snippets');
     $feed->setLink('http://codesnippet.hoydaa.org');
     $feed->setAuthorEmail('*****@*****.**');
     $feed->setAuthorName('Hoydaa Snippets');
     $querystring = $this->getRequestParameter('q');
     $query = new sfLuceneCriteria($this->getLuceneInstance());
     $query->addDescendingSortBy('createdat');
     $query->addSane($querystring);
     $pager = new sfLucenePager($this->getLuceneInstance()->friendlyFind($query));
     $num = $pager->getNbResults();
     if ($num > 0) {
         $pager->setMaxPerPage(10);
         $pager->setPage(1);
         foreach ($pager->getResults() as $result) {
             $item = new sfFeedItem();
             $item->setTitle($result->getTitle());
             $item->setLink('snippet/show?id=' . $result->getId());
             $item->setAuthorName($result->getContributor());
             $item->setPubDate(strtotime($result->getCreatedAt()));
             //$item->setAuthorEmail(($code->getSfGuardUser() ?
             //	$code->getSfGuardUser()->getProfile()->getEmail() : $code->getEmail()));
             $item->setUniqueId($result->getId());
             $item->setDescription($result->getSummary());
             $feed->addItem($item);
         }
     }
     $this->feed = $feed;
     $this->setTemplate('feed');
 }
Beispiel #2
0
 protected function createFeed($posts, $tag)
 {
     $feed = new sfAtom1Feed();
     $feed->setTitle('Planeta PHP.pl' . (empty($tag) ? '' : ' - tag: ' . $tag));
     $feed->setLink('@homepage');
     $feed->setFeedUrl(empty($tag) ? '@feed' : '@feeds?tag=' . $tag);
     $feed->setAuthorEmail('*****@*****.**');
     $feed->setAuthorName('Planeta PHP.pl');
     foreach ($posts as $post) {
         $item = new sfFeedItem();
         $item->setTitle($post->getTitle());
         $item->setLink($post->getLink());
         $item->setAuthorName($post->getBlog()->getAuthor());
         $item->setPubdate($post->getCreatedAt('U'));
         $item->setUniqueId($post->getLink());
         $item->setContent($post->getContent());
         $item->setCategories($post->getTagNames());
         $feed->addItem($item);
     }
     return $feed;
 }
Beispiel #3
0
 /**
  * Executes index action
  *
  */
 public function executeShow()
 {
     $feed = new sfAtom1Feed();
     $feed->setTitle('Flinders University Events');
     $feed->setLink('http://www.flinders.edu.au/');
     $feed->setAuthorEmail('*****@*****.**');
     $feed->setAuthorName('Web Development');
     $feedImage = new sfFeedImage();
     $feedImage->setFavicon('http://www.flinders.edu.au/favicon.ico');
     $feed->setImage($feedImage);
     $conn = Propel::getConnection();
     $query = '
   SELECT *
   FROM %s
   JOIN %s ON (%s = %s)
   WHERE
     %s = true
     AND %s::date >= now()::date
   ORDER BY %s ASC
 ';
     $query = sprintf($query, EtimePeer::TABLE_NAME, EventPeer::TABLE_NAME, EtimePeer::EVENT_ID, EventPeer::ID, EventPeer::PUBLISHED, EtimePeer::START_DATE, EtimePeer::START_DATE);
     $stmt = $conn->prepareStatement($query);
     $resultset = $stmt->executeQuery(ResultSet::FETCHMODE_NUM);
     $etimes = EtimePeer::populateObjects($resultset);
     foreach ($etimes as $etime) {
         $item = new sfFeedItem();
         $item->setTitle($etime->getEvent()->getTitle() . ' - ' . $etime->getTitle());
         $item->setLink('@show_outside_event?slug=' . $etime->getEvent()->getSlug());
         $item->setAuthorName($etime->getEtimePeoples());
         $item->setPubdate($etime->getStartDate('U'));
         $item->setUniqueId($etime->getId());
         if ($etime->getDescription()) {
             $item->setDescription($etime->getDescription());
         } else {
             $item->setDescription($etime->getEvent()->getDescription());
         }
         $feed->addItem($item);
     }
     $this->feed = $feed;
 }
 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');
 }
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->getContext()->getConfiguration()->loadHelpers(array('Url'));
     $feed = new sfAtom1Feed();
     $feed->setTitle('日本Symfonyユーザー会 コンテンツ更新情報');
     $feed->setLink($this->getController()->genUrl('@homepage'));
     $feed->setAuthorEmail('*****@*****.**');
     $feed->setAuthorName('日本Symfonyユーザー会');
     $feedImage = new sfFeedImage();
     $feedImage->setFavicon(public_path('images/favicon.ico'));
     $pages = Doctrine_Query::create()->from('Page p')->limit(10)->orderBy('p.last_updated desc')->execute();
     foreach ($pages as $page) {
         $item = new sfFeedItem();
         $item->setTitle($page->getTitle());
         $item->setLink(url_for_page($page->getPath()));
         $item->setPubdate($page->getDateTimeObject('last_updated')->format('U'));
         $item->setDescription(strip_tags($page->getContentRendered()));
         $item->setContent($page->getContentRendered());
         $feed->addItem($item);
     }
     $this->feed = $feed;
 }
$t->is((string) $feedXml->entry[0]->author->name, $itemParams['authorName'], '<entry><author><name> contains the item author name');
$t->is((string) $feedXml->entry[0]->author->email, $itemParams['authorEmail'], '<entry><author><author_email> contains the item author email');
$t->is((string) $feedXml->entry[0]->author->uri, $itemParams['authorLink'], '<entry><author><author_link> contains the item author link');
$t->is((string) $feedXml->entry[0]->id, $itemParams['uniqueId'], '<entry><id> contains the item description');
$t->is((string) $feedXml->entry[0]->summary, $itemParams['description'], '<entry><summary> contains the item description');
$t->is((string) $feedXml->entry[0]->content, $itemParams['content'], '<entry><content> contains the item content');
$t->is((string) $feedXml->entry[0]->category[0]['term'], $itemParams['categories'][0], '<entry><category> contains the item category');
$t->is((string) $feedXml->entry[0]->category[1]['term'], $itemParams['categories'][1], '<entry><category> contains the item category');
$t->is((string) $feedXml->entry[0]->link[1]['href'], $enclosureParams['url'], '<entry><link ref="enclosure"> contains the proper item enclosure url');
$t->is((string) $feedXml->entry[0]->link[1]['length'], $enclosureParams['length'], '<entry><link ref="enclosure"> contains the proper item enclosure length');
$t->is((string) $feedXml->entry[0]->link[1]['type'], $enclosureParams['mimeType'], '<entry><link ref="enclosure"> contains the proper item enclosure mimeType');
$t->diag('asXML() - generated feed');
$feedString = $feed->asXml();
$t->is(sfContext::getInstance()->getResponse()->getContentType(), 'application/atom+xml; charset=UTF-16', 'The response comes with the correct Content-Type');
$t->diag('fromXML() - generated feed');
$generatedFeed = new sfAtom1Feed();
$generatedFeed->fromXml($feedString);
$t->is($generatedFeed->getTitle(), $feed->getTitle(), 'The title property is properly set');
$t->is($generatedFeed->getLink(), $feed->getLink(), 'The link property is properly set');
$t->isnt($generatedFeed->getDescription(), $feed->getDescription(), 'The description property cannot be set from an Atom feed');
$t->is($generatedFeed->getLanguage(), $feed->getLanguage(), 'The language property is properly set');
$t->is($generatedFeed->getAuthorEmail(), $feed->getAuthorEmail(), 'The author email property is properly set');
$t->is($generatedFeed->getAuthorName(), $feed->getAuthorName(), 'The author name property is properly set');
$t->is($generatedFeed->getAuthorLink(), $feed->getAuthorLink(), 'The author link property is properly set');
$t->is($generatedFeed->getSubtitle(), $feed->getSubtitle(), 'The subtitle property is properly set');
$t->is($generatedFeed->getCategories(), $feed->getCategories(), 'The categories property is properly set');
$t->is($generatedFeed->getFeedUrl(), $feed->getFeedUrl(), 'The feedUrl property is properly set');
$t->is($generatedFeed->getEncoding(), $feed->getEncoding(), 'The encoding property is properly set');
$t->is($generatedFeed->getImage()->getFavicon(), $feed->getImage()->getFavicon(), 'The feed favicon property is properly set');
$t->is($generatedFeed->getImage()->getImage(), $feed->getImage()->getImage(), 'The feed logo property is properly set');
$t->is($generatedFeed->getLatestPostDate(), $feed->getLatestPostDate(), 'The latest post date is correct');