Beispiel #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;
 }
Beispiel #2
0
 public function executeRss(dmWebRequest $request)
 {
     $records = dmDb::query('Plugin p')->leftJoin('p.CreatedBy user')->where('p.is_active = ?', true)->orderBy('p.position ASC')->limit(20)->fetchRecords();
     $this->preloadPages($records);
     $feed = new sfRssFeed();
     $feed->setTitle('Diem Project Plugins');
     $feed->setLink('http://diem-project.org/plugins');
     $feed->setAuthorName('Thibault Duplessis');
     foreach ($records as $record) {
         $item = new sfFeedItem();
         $item->setTitle($record->name);
         $item->setLink($this->getHelper()->link($record)->getAbsoluteHref());
         $item->setAuthorName($record->CreatedBy);
         $item->setPubdate($record->getDateTimeObject('created_at')->format('U'));
         $item->setUniqueId($record->name . ' (' . $record->id . ')');
         $item->setDescription($this->getService('markdown')->toHtml($record->text));
         $feed->addItem($item);
     }
     $this->feed = $feed;
 }
 public function initialize($feed_array)
 {
     parent::initialize($feed_array);
     $this->setSiteUrl(isset($feed_array['siteUrl']) ? $feed_array['siteUrl'] : '');
     $this->setCopyright(isset($feed_array['copyright']) ? $feed_array['copyright'] : '');
     $this->setAtomLink(isset($feed_array['atom_link']) ? $feed_array['atom_link'] : '');
     $this->setLastBuildDate(isset($feed_array['lastBuildDate']) ? $feed_array['lastBuildDate'] : '');
     $this->setTTL(isset($feed_array['ttl']) ? $feed_array['ttl'] : '');
     $this->setImage(isset($feed_array['image']) ? $feed_array['image'] : '');
     $this->setSyUpdatePeriod(isset($feed_array['sy_updatePeriod']) ? $feed_array['sy_updatePeriod'] : '');
     $this->setSyUpdateFrequency(isset($feed_array['sy_updateFrequency']) ? $feed_array['sy_updateFrequency'] : '');
     $this->setSyUpdateBase(isset($feed_array['sy_updateBase']) ? $feed_array['sy_updateBase'] : '');
 }
$t->isnt($generatedItem->getAuthorLink(), $feedItem->getAuthorLink(), 'The author link property cannot be set from a RSS feed');
$t->is($generatedItem->getPubDate(), $feedItem->getPubdate(), 'The publication date property is properly set');
$t->is($generatedItem->getComments(), $feedItem->getComments(), 'The comments property is properly set');
$t->is($generatedItem->getUniqueId(), $feedItem->getUniqueId(), 'The unique id property is properly set');
$t->is($generatedItem->getEnclosure()->__toString(), $feedItem->getEnclosure()->__toString(), 'The enclosure property is properly set');
$t->is($generatedItem->getCategories(), $feedItem->getCategories(), 'The categories property is properly set');
$generatedItem = $items[1];
$t->is($generatedItem->getAuthorEmail(), $feedItem2->getAuthorEmail(), 'The author email property is properly set, even if there is no email address');
$t->diag('RSS 0.91');
$feed = new sfRssFeed();
$feed->setVersion('0.91');
$feed->initialize($feedParams);
$feedItem = new sfFeedItem();
$feedItem->initialize($itemParams);
$feed->addItem($feedItem);
$feedItem2 = new sfFeedItem();
$feedItem2->initialize($item2Params);
$feed->addItem($feedItem2);
$feedString = $feed->asXml();
$generatedFeed = new sfRssFeed();
$generatedFeed->fromXml($feedString);
$t->isnt($generatedFeed->getCategories(), $feed->getCategories(), '<category> doesn\'t exist in a RSS0.91 feed');
$items = $generatedFeed->getItems();
$generatedItem = $items[0];
$t->isnt($generatedItem->getAuthorEmail(), $feedItem->getAuthorEmail(), '<item><author> doesn\'t exist in a RSS0.91 feed');
$t->isnt($generatedItem->getAuthorName(), $feedItem->getAuthorName(), '<item><author> doesn\'t exist in a RSS0.91 feed');
$t->isnt($generatedItem->getPubDate(), $feedItem->getPubdate(), '<item><pubDate> doesn\'t exist in a RSS0.91 feed');
$t->isnt($generatedItem->getComments(), $feedItem->getComments(), '<item><comments> doesn\'t exist in a RSS0.91 feed');
$t->isnt($generatedItem->getUniqueId(), $feedItem->getUniqueId(), '<item><guid> doesn\'t exist in a RSS0.91 feed');
$t->is($generatedItem->getEnclosure(), '', '<item><enclosure> doesn\'t exist in a RSS0.91 feed');
$t->isnt($generatedItem->getCategories(), $feedItem->getCategories(), '<item><category> doesn\'t exist in a RSS0.91 feed');
Beispiel #5
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;
 }
Beispiel #6
0
 public function executeDiscussion(sfWebRequest $request)
 {
     $user = sfGuardUser::getUserByUsername($request->getParameter('username'));
     $this->forward404Unless($user);
     sfApplicationConfiguration::getActive()->loadHelpers(array('I18N', 'Url'));
     $feed = new sfRssFeed();
     $feed->setTitle(__('Обсуждаемое') . '/' . sfConfig::get('app_sitename'));
     $feed->setLink(url_for('post/duscussion', 'absolute=true'));
     $feed->setAuthorEmail(sfConfig::get('app_rss_editor'));
     $feed->setAuthorName(sfConfig::get('app_sitename'));
     $this->setPosts($feed, $user->getDiscussionLine());
     return $this->renderPartial('feed', array('feed' => $feed));
 }
 public function getDefaultFeed($max = 25)
 {
     $feed = new sfRssFeed();
     $feed->initialize(array('title' => 'Cothink Feed for ' . $this->getFullName(), 'link' => 'http://www.cothink.org/', 'authorEmail' => $this->getPrimaryContactInfo()->getEmail(), 'authorName' => $this->getFullName()));
     $events = HistoryEventPeer::retrieveByUser($this->getUserId(), $max);
     // TODO: Allow user to configure max
     $eventItems = sfFeedPeer::convertObjectsToItems($events, array('routeName' => '@permalink'));
     $feed->addItems($eventItems);
     return $feed;
 }
Beispiel #8
0
 public function executeFeed(sfWebRequest $request)
 {
     $this->page = $request->getParameter("page", "1");
     $this->entityId = $request->getParameter("entityId", false);
     $this->value = $request->getParameter("value", false);
     $this->sfReviewType = $request->getParameter("type_id", false);
     $this->text = $request->getParameter("t", false);
     $this->entity = false;
     $this->filter = false;
     $culture = $this->getUser()->getCulture();
     $filter = array();
     //$filter['culture'] = $culture;
     if ($this->sfReviewType) {
         $filter['type_id'] = $this->sfReviewType;
     }
     if ($this->text) {
         $filter['textFilter'] = 'text';
     }
     $reviewsPager = SfReviewManager::getReviews($filter);
     $str = '';
     switch ($this->sfReviewType) {
         case 1:
             $str = sfContext::getInstance()->getI18N()->__("políticos");
             break;
         case 2:
             $str = sfContext::getInstance()->getI18N()->__("partidos");
             break;
         case 3:
             $str = sfContext::getInstance()->getI18N()->__("propuestas");
             break;
         case "null":
             $str = sfContext::getInstance()->getI18N()->__("respuestas a otros comentarios");
             break;
     }
     $title = sfContext::getInstance()->getI18N()->__("Últimas opiniones%1% en Voota.", array('%1%' => $str ? " " . sfContext::getInstance()->getI18N()->__("sobre") . " {$str}" : ""));
     $reviews = $reviewsPager->getResults();
     $description = ($reviews[0]->getAnonymous() ? sfContext::getInstance()->getI18N()->__('anónimo') : (trim($reviews[0]->getSfGuardUser()) ? $reviews[0]->getSfGuardUser() : $reviews[0]->getSfGuardUser()->getProfile())) . " (" . ago(strtotime($reviews[0]->getModifiedAt() ? $reviews[0]->getModifiedAt() : $reviews[0]->getCreatedAt())) . "), " . ($reviews[1]->getAnonymous() ? sfContext::getInstance()->getI18N()->__('anónimo') : (trim($reviews[1]->getSfGuardUser()) ? $reviews[1]->getSfGuardUser() : $reviews[1]->getSfGuardUser()->getProfile())) . " (" . ago(strtotime($reviews[1]->getModifiedAt() ? $reviews[1]->getModifiedAt() : $reviews[1]->getCreatedAt())) . "), " . ($reviews[2]->getAnonymous() ? sfContext::getInstance()->getI18N()->__('anónimo') : (trim($reviews[2]->getSfGuardUser()) ? $reviews[2]->getSfGuardUser() : $reviews[2]->getSfGuardUser()->getProfile())) . " (" . ago(strtotime($reviews[2]->getModifiedAt() ? $reviews[2]->getModifiedAt() : $reviews[2]->getCreatedAt())) . "), " . "...";
     $feed = new sfRssFeed();
     $feed->setTitle($title);
     $feed->setLanguage($culture);
     $feed->setSubtitle($description);
     $feed->setDescription($description);
     $params = "";
     if ($this->sfReviewType) {
         $params .= ($params ? '&' : '?') . 'type_id=' . $this->sfReviewType;
     }
     if ($this->text) {
         $params .= ($params ? '&' : '?') . 't=' . $this->text;
     }
     $feed->setLink("sfReviewFront/feed{$params}");
     $domainExt = $culture == 'ca' ? "cat" : $culture;
     $feed->setAuthorName("Voota.{$domainExt}");
     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% de %3%.', array('%1%' => $review->getAnonymous() ? sfContext::getInstance()->getI18N()->__('anónimo') : $review->getSfGuardUser(), '%2%' => $review->getValue() == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor'), '%3%' => $entityText)));
         $item->setLink('sfReviewFront/show?id=' . SfVoUtil::reviewPermalink($review));
         if (!$review->getAnonymous()) {
             $item->setAuthorName($review->getSfGuardUser());
         }
         $item->setPubdate($review->getCreatedAt('U'));
         $item->setUniqueId($review->getId());
         if (!$review->getAnonymous()) {
             $avatar = S3Voota::getImagesUrl() . '/usuarios/cc_s_' . $review->getSfGuardUser()->getProfile()->getImagen();
         }
         $text = $culture == $review->getCulture() || !$review->getCulture() ? $review->getText() : '';
         if (!$review->getAnonymous()) {
             $img = $review->getSfGuardUser()->getProfile()->getImagen() ? "<img src=\"{$avatar}\" alt =\"" . $review->getSfGuardUser() . "\" /> " : "";
         }
         $content = "{$text}";
         $item->setDescription($content);
         $feed->addItem($item);
     }
     $this->feed = $feed;
 }