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; }
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; }
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; }