Example #1
1
 public function executeFeed(sfWebRequest $request)
 {
     $vanity = $request->getParameter('id');
     $s = $request->getParameter('s', 0);
     $culture = $this->getUser()->getCulture();
     $c = new Criteria();
     $c->add(PropuestaPeer::VANITY, $vanity);
     $entity = PropuestaPeer::doSelectOne($c);
     $this->forward404Unless($entity);
     if ($entity->getCulture() != $culture) {
         $this->redirect("@homepage");
     }
     $filter = array();
     $filter['type_id'] = Propuesta::NUM_ENTITY;
     $filter['entity_id'] = $entity->getId();
     $reviews = SfReviewManager::getReviews($filter);
     $title = sfContext::getInstance()->getI18N()->__('%1% en Voota.es', array('%1%' => $entity));
     $description = sfContext::getInstance()->getI18N()->__('Opiniones sobre %1%, %2% votos a favor y %3% votos en contra', array('%1%' => $entity, '%2%' => $entity->getSumu(), '%3%' => $entity->getSumd()));
     $feed = new sfRssFeed();
     $feed->setTitle($title);
     $feed->setLanguage($culture);
     $feed->setSubtitle($description);
     $feed->setDescription($description);
     $feed->setLink('propuesta/show?id=' . $entity->getVanity());
     $domainExt = $culture == 'ca' ? "cat" : $culture;
     $feed->setAuthorName("Voota.{$domainExt}");
     $feedImage = new sfFeedImage();
     $feedImage->setLink('propuesta/show?id=' . $entity->getVanity());
     $feedImage->setImage(S3Voota::getImagesUrl() . '/' . $entity->getImagePath() . '/cc_' . $entity->getImagen());
     $feedImage->setTitle($entity);
     $feed->setImage($feedImage);
     foreach ($reviews as $review) {
         $item = new sfFeedItem();
         $item->setTitle(sfContext::getInstance()->getI18N()->__('%1%, voota %2%.', array('%1%' => $review->getSfGuardUser(), '%2%' => $review->getValue() == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor'))));
         $item->setLink('sfReviewFront/show?id=' . SfVoUtil::reviewPermalink($review));
         $item->setAuthorName($review->getSfGuardUser());
         $item->setPubdate($review->getCreatedAt('U'));
         $item->setUniqueId($review->getId());
         $avatar = S3Voota::getImagesUrl() . '/usuarios/cc_s_' . $review->getSfGuardUser()->getProfile()->getImagen();
         $text = $culture == $review->getCulture() || !$review->getCulture() ? $review->getText() : '';
         $img = $review->getSfGuardUser()->getProfile()->getImagen() ? "<img src=\"{$avatar}\" alt =\"" . $review->getSfGuardUser() . "\" /> " : "";
         $content = "{$text}";
         $item->setDescription($content);
         $feed->addItem($item);
     }
     $this->feed = $feed;
 }
 private function getFeed($format = 'atom1')
 {
     $feed = sfFeedPeer::newInstance($format);
     $feed->setTitle('PluginsKit - Latest');
     $feed->setLink('@homepage');
     $feedImage = new sfFeedImage();
     $feedImage->setLink('@homepage');
     $feed->setImage($feedImage);
     return $feed;
 }
Example #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;
 }
Example #4
0
 /**
  * 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;
 }
 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');
 }
$feedParams = array('title' => 'foo', 'link' => 'http://foobar', 'description' => 'foobar baz', 'language' => 'fr', 'authorName' => 'francois', 'authorEmail' => '*****@*****.**', 'authorLink' => 'http://bar.baz', 'subtitle' => 'hey, foo, this is bar', 'categories' => array('foo', 'bar'), 'feedUrl' => 'http://www.example.com', 'encoding' => 'UTF-16');
$enclosureParams = array('url' => 'foo.com', 'length' => '1234', 'mimeType' => 'foobarmimetype');
$enclosure = new sfFeedEnclosure();
$enclosure->initialize($enclosureParams);
$itemParams = array('title' => 'fooitem', 'link' => 'http://www.example.com/item1', 'description' => 'foobar baz item', 'content' => 'this is foo bar baz', 'authorName' => 'francois item', 'authorEmail' => '*****@*****.**', 'authorLink' => 'http://bar.baz.item', 'categories' => array('fooitem', 'baritem'), 'pubDate' => '12345', 'comments' => 'gee', 'uniqueId' => '98765', 'enclosure' => $enclosure, 'categories' => array('fooitem', 'baritem'));
$item2Params = array('title' => 'foobaritem', 'pubDate' => '123456', 'authorEmail' => '*****@*****.**', 'link' => 'http://www.example.com/item2');
$image_params = array('title' => 'symfony project', 'link' => 'http://www.symfony-project.org', 'favicon' => 'http://www.symfony-project.org/favicon.ico', 'image' => 'http://www.symfony-project.org/images/symfony_logo.gif', 'faviconX' => '16', 'faviconY' => '16', 'imageX' => '176', 'imageY' => '37');
$feed = new sfRssFeed();
$feed->initialize($feedParams);
$feedItem = new sfFeedItem();
$feedItem->initialize($itemParams);
$feed->addItem($feedItem);
$feedItem2 = new sfFeedItem();
$feedItem2->initialize($item2Params);
$feed->addItem($feedItem2);
$feedImage = new sfFeedImage();
$feedImage->initialize($image_params);
$feed->setImage($feedImage);
$t = new lime_test(62, new lime_output_color());
$t->diag('toXML() - generated feed');
$feedString = $feed->toXml();
$feedXml = simplexml_load_string($feedString);
$t->is($feedXml->getName(), 'rss', '<rss> is the main tag');
preg_match('/^<\\?xml\\s*version="1\\.0"\\s*encoding="(.*?)".*?\\?>$/mi', $feedString, $matches);
$t->is($matches[1], $feed->getEncoding(), 'The encoding is set with the proper feed encoding');
$t->is((string) $feedXml->channel[0]->title, $feedParams['title'], '<title> contains the feed title');
$t->is((string) $feedXml->channel[0]->link, $feedParams['link'], '<link> contains the feed link');
$t->is((string) $feedXml->channel[0]->description, $feedParams['description'], '<description> contains the feed description');
$t->is((string) $feedXml->channel[0]->language, $feedParams['language'], '<language> contains the feed language');
$t->is((string) $feedXml->channel[0]->managingEditor, $feedParams['authorEmail'] . ' (' . $feedParams['authorName'] . ')', '<managingEditor> contains the author email and name');
$t->is((string) $feedXml->channel[0]->pubDate, date(DATE_RFC822, $item2Params['pubDate']), '<pubDate> contains the latest publication date of all feed items');
<?php

define('SF_ROOT_DIR', realpath(dirname(__FILE__) . '/../../../..'));
define('SF_APP', 'frontend');
include dirname(__FILE__) . '/../../../../test/bootstrap/functional.php';
$b = new sfTestBrowser();
$b->initialize();
$t = new lime_test(9, new lime_output_color());
$image_params = array('title' => 'symfony project', 'link' => 'http://www.symfony-project.org', 'favicon' => 'http://www.symfony-project.org/favicon.ico', 'image' => 'http://www.symfony-project.org/images/symfony_logo.gif', 'faviconX' => '16', 'faviconY' => '16', 'imageX' => '176', 'imageY' => '37');
$item = new sfFeedImage();
$t->isa_ok($item->initialize($image_params), 'sfFeedImage', 'initialize() returns the current feed image object');
$t->is($item->getTitle(), $image_params['title'], 'getTitle() gets the feed image title');
$t->is($item->getLink(), $image_params['link'], 'getLink() gets the feed image link');
$t->is($item->getFavicon(), $image_params['favicon'], 'getFavicon() gets the feed favicon url');
$t->is($item->getImage(), $image_params['image'], 'getImage() gets the feed image url');
$t->is($item->getFaviconX(), $image_params['faviconX'], 'getFaviconX() gets the feed favicon x size');
$t->is($item->getFaviconY(), $image_params['faviconY'], 'getFaviconY() gets the feed favicon y size');
$t->is($item->getImageX(), $image_params['imageX'], 'getImageX() gets the feed image x size');
$t->is($item->getImageY(), $image_params['imageY'], 'getImageY() gets the feed image y size');
Example #8
0
 public function executeFeed(sfWebRequest $request)
 {
     $vanity = $request->getParameter('username');
     $this->f = $request->getParameter('f');
     $culture = $this->getUser()->getCulture();
     $c = new Criteria();
     $c->add(SfGuardUserProfilePeer::VANITY, $vanity, Criteria::EQUAL);
     $userProfile = SfGuardUserProfilePeer::doSelectOne($c);
     $this->forward404Unless($userProfile);
     $this->user = $userProfile->getsfGuardUser();
     if (!$this->user->getIsActive() && is_numeric($userProfile->getFacebookUid())) {
         $user = SfGuardUserPeer::retrieveByPK($userProfile->getFacebookUid());
         $this->forward404Unless($user);
         $this->redirect('perfil/show?username='******'%1% en Voota.es', array('%1%' => $this->user));
     $descripcion = SfVoUtil::cutToLength($userProfile->getPresentacion(), 155, '...', true);
     $description = $descripcion ? $descripcion : sfContext::getInstance()->getI18N()->__('Votos y opiniones de %1% sobre políticos y partidos de España', array('%1%' => trim($this->user) ? $this->user : $this->user->getProfile()->getVanity()));
     $feed = new sfRssFeed();
     $feed->setTitle($title);
     $feed->setLanguage($culture);
     $feed->setSubtitle($description);
     $feed->setDescription($description);
     $feed->setLink('perfil/show?username='******'ca' ? "cat" : $culture;
     $feed->setAuthorName("Voota.{$domainExt}");
     $feedImage = new sfFeedImage();
     $feedImage->setLink('perfil/show?username='******'/usuarios/cc_' . $this->user->getProfile()->getImagen());
     $feedImage->setTitle($this->user);
     $feed->setImage($feedImage);
     foreach ($reviews as $review) {
         $item = new sfFeedItem();
         $entityText = "";
         if (!$review->getSfReviewType()) {
             $tmpReview = $review->getSfReviewRelatedBySfReviewId();
             $entityText = sfContext::getInstance()->getI18N()->__('Otra opinión sobre') . ' ';
         } else {
             $tmpReview = $review;
         }
         $sfReviewType = SfReviewTypePeer::retrieveByPk($tmpReview->getSfReviewTypeId());
         $peer = $sfReviewType->getModel() . 'Peer';
         $entity = $peer::retrieveByPk($tmpReview->getEntityId());
         $entityText .= $entity;
         $item->setTitle(sfContext::getInstance()->getI18N()->__('%1%, voota %2%.', array('%1%' => $entityText, '%2%' => $review->getValue() == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor'))));
         $item->setLink('sfReviewFront/show?id=' . SfVoUtil::reviewPermalink($review));
         $item->setAuthorName($review->getSfGuardUser());
         $item->setPubdate($review->getCreatedAt('U'));
         $item->setUniqueId($review->getId());
         $avatar = S3Voota::getImagesUrl() . '/usuarios/cc_s_' . $review->getSfGuardUser()->getProfile()->getImagen();
         $text = $culture == $review->getCulture() || !$review->getCulture() ? $review->getText() : '';
         $img = $review->getSfGuardUser()->getProfile()->getImagen() ? "<img src=\"{$avatar}\" alt =\"" . $review->getSfGuardUser() . "\" /> " : "";
         $content = "{$text}";
         $item->setDescription($content);
         $feed->addItem($item);
     }
     $this->feed = $feed;
 }
 /**
  * Displays the latest changes to the registry
  *
  */
 public function getChangeFeed()
 {
     try {
         $feed1 = sfFeedPeer::createFromWeb($this->getRequest()->getUriPrefix() . "/schemahistory/feed.atom");
         $feed2 = sfFeedPeer::createFromWeb($this->getRequest()->getUriPrefix() . "/history/feed.atom");
         if ($feed1 && $feed2) {
             $image = new sfFeedImage();
             $image->setFavicon($this->getRequest()->getUriPrefix() . "/favicon.ico");
             $image->setFeed($this->getRequest()->getUriPrefix() . "/allhistoryfeeds.atom");
             $image->setLink($image->getFeed());
             $image->setTitle("Metadata Registry Change History");
             $this->feed = sfFeedPeer::aggregate(array($feed1, $feed2), array('limit' => 100, 'format' => 'atom1', 'link' => $image->getLink(), 'title' => $image->getTitle(), 'feedUrl' => $image->getFeed(), 'image' => $image, 'description' => 'A statement-level list of all of the recent changes to the vocabularies and element sets maintained in the Metadata registry.'));
             $this->changeFeedItems = $this->feed->getItems();
         }
     } catch (Exception $e) {
     }
 }