예제 #1
1
파일: _review.php 프로젝트: voota/voota
$dc->add(SfReviewPeer::IS_ACTIVE, true);
$listValue = isset($listValue) ? $listValue : '';
?>

<li class="review" id="<?php 
echo "sf_review_c_m" . $review->getId();
?>
">

  <?php 
include_partial('sfReviewFront/user_header', array('review' => $review));
?>

	<p class="review-date">
	  <?php 
echo link_to(ago(strtotime($review->getModifiedAt() ? $review->getModifiedAt() : $review->getCreatedAt())), 'sfReviewFront/show?id=' . SfVoUtil::reviewPermalink($review));
?>
	</p>
  <p class="review-body">
    <?php 
echo review_text($review);
?>
  </p>
  
	<?php 
if ($reviewable) {
    ?>
    <?php 
    include_partial('sfReviewFront/add_subreview', array('sf_user' => $sf_user, 'review' => $review, 'uc' => $uc, 'dc' => $dc, 'listValue' => $listValue));
    ?>
    <?php 
예제 #2
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;
 }
 public function executeShow(sfWebRequest $request)
 {
     $id = $request->getParameter("id");
     $this->review = SfReviewPeer::retrieveByPK($id);
     // Mmovido aqui para fix de #848
     $this->forward404Unless($this->review);
     if (($goodVanity = SfVoUtil::reviewPermalink($this->review)) != $id) {
         //echo "$goodVanity == $id";
         $this->redirect('sfReviewFront/show?id=' . $goodVanity, 301);
     }
     if ($this->review->getSfReviewTypeId()) {
         $c = new Criteria();
         $c->add(SfReviewTypePeer::ID, $this->review->getSfReviewTypeId());
         $reviewType = SfReviewTypePeer::doSelectOne($c);
         $peer = $reviewType->getModel() . 'Peer';
         $c = new Criteria();
         $c->add($peer::ID, $this->review->getEntityId());
         $this->entity = new Entity($peer::doSelectOne($c));
     }
 }
예제 #4
0
    ?>
<a title='<?php 
    echo sfVoUtil::secureString($activity->getEntity(), "&#39;");
    ?>
' href="<?php 
    echo url_for($activity->getEntity()->getModule() . '/show?id=' . $activity->getEntity()->getVanity());
    ?>
"><?php 
    echo trim(sfVoUtil::cutToLength(sfVoUtil::secureString($activity->getEntity(), "&#39;"), 32, '...'));
    ?>
</a><?php 
    echo $activity->getEntity()->getType() == Politico::NUM_ENTITY && $activity->getEntity()->getPartido() ? " (" . $activity->getEntity()->getPartido() . ")" : '';
    ?>
.
	    <span class="review-date"><?php 
    echo link_to(ago(strtotime($activity->getDate())), 'sfReviewFront/show?id=' . SfVoUtil::reviewPermalink($activity));
    ?>
.</span>
  	<?php 
}
?>
  	<?php 
if ($activity->getMode() == 2) {
    ?>
	  		<?php 
    echo __('A %1% le han puesto la etiqueta "%2%".', array('%1%' => "<a title='" . sfVoUtil::secureString($activity->getEntity(), "&#39;") . "' href= \"" . url_for($activity->getEntity()->getModule() . '/show?id=' . $activity->getEntity()->getVanity()) . "\">" . trim(sfVoUtil::cutToLength(sfVoUtil::secureString($activity->getEntity(), "&#39;"), 32, '...')) . "</a>" . ($activity->getEntity()->getType() == Politico::NUM_ENTITY && $activity->getEntity()->getPartido() ? " (" . $activity->getEntity()->getPartido() . ")" : ''), '%2%' => review_text($activity)));
    ?>
	<?php 
}
?>
  </div>
예제 #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;
 }
예제 #6
0
function changeCulture($culture)
{
    $extensions = array('es' => 'es', 'ca' => 'cat');
    $sf_context = sfContext::getInstance();
    $request = $sf_context->getRequest();
    $module = $request->getParameter('module');
    $action = $request->getParameter('action');
    $parameters = $request->getParameterHolder()->getAll();
    $curCulture = $sf_context->getUser()->getCulture('es');
    $routeName = $sf_context->getRouting()->getCurrentRouteName();
    $routeName = preg_replace("/_{$curCulture}\$/", "_{$culture}", $routeName);
    $params = "";
    foreach ($parameters as $name => $value) {
        if ($name != 'module' && $name != 'action') {
            if ($name == 'institucion') {
                $c = new Criteria();
                $c->addJoin(InstitucionPeer::ID, InstitucionI18nPeer::ID);
                $c->addJoin(array(InstitucionPeer::ID, InstitucionI18nPeer::CULTURE), array(InstitucionI18nPeer::ID, "'{$curCulture}'"), Criteria::INNER_JOIN);
                $c->add(InstitucionI18nPeer::VANITY, $value);
                $aInstitucion = InstitucionPeer::doSelectOne($c);
                if ($aInstitucion) {
                    $value = $aInstitucion->getVanity($culture);
                }
            }
            if ($module == 'sfReviewFront' && $action == 'show' && $name == 'id') {
                $review = SfReviewPeer::retrieveByPk($request->getParameter('id'));
                $value = SfVoUtil::reviewPermalink($review, $culture);
            }
            $params .= ($params == "" ? '?' : '&') . "{$name}={$value}";
        }
    }
    $route = sfContext::getInstance()->getController()->genUrl("@{$routeName}{$params}");
    $host = preg_replace("/\\.[a-zA-Z]*\$/is", "." . $extensions[$culture], $_SERVER['HTTP_HOST']);
    return "http://{$host}{$route}";
}
예제 #7
0
</span>
		<?php 
}
?>
	</div>
              
	<div class="body">
  	<?php 
echo review_text($review, array(), false);
?>
  </div>
    
	<div class="actions">
		<?php 
if ($sf_user->isAuthenticated() && $sf_user->getGuardUser()->getId() == $review->getSfGuardUser()->getId()) {
    ?>
      <?php 
    echo link_to(__('Hacer cambios'), "@usuario_votos?o=e&t=" . $review->getSfReviewTypeId() . "&e=" . ($review->getSfReviewType() ? $review->getEntityId() : $review->getSfReviewRelatedBySfReviewId()->getId()) . "&r=" . $review->getId());
    ?>
    <?php 
} else {
    ?>
      <?php 
    echo link_to(__('Ir a su comentario'), 'sfReviewFront/show?id=' . SfVoUtil::reviewPermalink($review));
    ?>
    <?php 
}
?>
	</div>
</li>  
예제 #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;
 }