Esempio n. 1
0
 public function executeCardLogin(sfWebRequest $request)
 {
     if ($this->getUser()->isAuthenticated()) {
         $this->redirect('home/index');
         $request->setAttribute('referer', $request->getReferer());
     }
     $this->form = new CardLoginForm();
     $this->cardLoginError = $this->getUser()->hasFlash('cardLoginError');
 }
 public function executeChiaraRedirector(sfWebRequest $request)
 {
     $pathInfo = str_replace('Chiara_PEAR_Server_REST', 'pluginRest', $request->getPathInfo());
     $routing = sfContext::getInstance()->getRouting();
     $parameter = $routing->parse($pathInfo);
     $request->setAttribute('sf_route', $parameter['_sf_route']);
     unset($parameter['_sf_route']);
     $parameterHolder = $request->getParameterHolder();
     $parameterHolder->add($parameter);
     $this->forward($parameter['module'], $parameter['action']);
 }
 /**
  * Processes the "need time" form
  */
 protected function processAddNeedForm(sfWebRequest $request, sfForm $form)
 {
     $form->bind($request->getParameter($form->getName()));
     if ($form->isValid()) {
         $time = $form->save();
         $request->setAttribute('resource', $time);
         $body = $this->getController()->getPresentationFor('time', 'needEmail');
         $message = $this->getMailer()->compose(sfConfig::get('app_email_from'), $form->getValue('email'), dnConfig::getEmailSubject('need_time_creation'), $body);
         $message->setContentType('text/html');
         $this->getMailer()->send($message);
         $this->getUser()->setOwner($time);
         $this->redirect($this->generateUrl('time_show', array('sf_subject' => $time)));
     }
     $this->getUser()->setFlash('error', 'You are missing some of the required fields below.');
 }
 /**
  * Handles the form submit. Is submitted via ajax, doesn't degrade,
  * tough, we're in a hurry
  */
 public function executeSendLoginTokenProcess(sfWebRequest $request)
 {
     $this->form = new sendLoginTokenForm();
     $this->form->bind($request->getParameter('send_login'));
     if ($this->form->isValid()) {
         $user = $this->form->getUser();
         $request->setAttribute('user', $user);
         $body = $this->getController()->getPresentationFor('user', 'sendLoginTokenEmail');
         $message = $this->getMailer()->compose(sfConfig::get('app_email_from'), $this->form->getValue('email'), dnConfig::getEmailSubject('send_token_email'), $body);
         $message->setContentType('text/html');
         $this->getMailer()->send($message);
         // render the confirmation partial
         $this->email = $this->form->getValue('email');
         $this->renderPartial('user/sendTokenConfirmation');
     } else {
         $this->renderPartial('sendLoginTokenForm');
     }
     return sfView::NONE;
 }
Esempio n. 5
0
 public function executeSearch(sfWebRequest $request)
 {
     $culture = $this->getUser()->getCulture();
     $this->page = $this->getRequestParameter('page', 1);
     $tag = $request->getParameter("tag", false);
     $tag = str_replace("_2E_", ".", $tag);
     if ($tag) {
         $this->q = "#{$tag}";
     } else {
         $this->q = $request->getParameter("q");
     }
     $request->setAttribute("q", $this->q);
     $resultsArray = array();
     $cl = $this->resetSphinxClient();
     $needle = $this->q;
     $this->ext = "";
     if (strlen($needle) > 0 && strpos($needle, '#') === 0) {
         $this->ext = "_tag";
         $needle = substr($needle, 1);
     } else {
         $needle = SfVoUtil::stripAccents($this->q);
     }
     $this->politicoCounts = false;
     $this->partidoCounts = false;
     $this->propuestaCounts = false;
     if ($needle) {
         if ($this->ext == "_tag") {
             $cl->SetMatchMode(SPH_MATCH_PHRASE);
             $cl->SetSortMode(SPH_SORT_EXTENDED, "cnt DESC");
             $this->politicoCounts = array();
             $this->partidoCounts = array();
             $this->propuestaCounts = array();
             $indexes = "partido_tag_{$culture}, politico_tag_{$culture}, propuesta_tag_{$culture}";
             $this->res = $cl->Query($needle, $indexes);
             if ($this->res !== false) {
                 $this->total = $this->res['total'];
                 $this->totalFound = $this->res['total_found'];
                 $cl->SetLimits(($this->page - 1) * $this->limit, $this->limit);
                 $this->res = $cl->Query($needle, $indexes);
             }
         } else {
             $cl->SetFieldWeights(array('abreviatura_partido' => 5, 'nombre' => 5, 'apellidos' => 5, 'alias' => 5, 'titulo' => 5, 'nombre_insti' => 8, 'nombre_ele' => 9));
             $cl->SetSortMode(SPH_SORT_EXPR, "@weight + ( 1 * votes/max_votes )");
             $indexes = "politico_{$culture}, partido_{$culture},propuesta_{$culture}, institucion_{$culture}, usuario, eleccion_{$culture}";
             $this->res = $cl->Query($needle, $indexes);
             if ($this->res !== false) {
                 $this->total = $this->res['total'];
                 $this->totalFound = $this->res['total_found'];
                 $cl->SetLimits(($this->page - 1) * $this->limit, $this->limit);
                 $this->res = $cl->Query($needle, $indexes);
             }
         }
         if ($this->res !== false && isset($this->res["matches"]) && is_array($this->res["matches"])) {
             foreach ($this->res["matches"] as $match) {
                 //echo "<pre>";print_r( $match );echo "</pre>";
                 switch ($match['attrs']['type']) {
                     case 1:
                         if ($this->ext == "_tag") {
                             $this->politicoCounts[$match['attrs']['politico_id']] = $match['attrs']['cnt'];
                             $resultsArray[] = PoliticoPeer::retrieveByPK($match['attrs']['politico_id']);
                         } else {
                             $resultsArray[] = PoliticoPeer::retrieveByPK($match['id']);
                         }
                         break;
                     case 2:
                         if ($this->ext == "_tag") {
                             $this->partidoCounts[$match['attrs']['partido_id']] = $match['attrs']['cnt'];
                             $resultsArray[] = PartidoPeer::retrieveByPK($match['attrs']['partido_id']);
                         } else {
                             $resultsArray[] = PartidoPeer::retrieveByPK($match['id']);
                         }
                         break;
                     case 3:
                         if ($this->ext == "_tag") {
                             $this->propuestaCounts[$match['attrs']['propuesta_id']] = $match['attrs']['cnt'];
                             $resultsArray[] = PropuestaPeer::retrieveByPK($match['attrs']['propuesta_id']);
                         } else {
                             $resultsArray[] = PropuestaPeer::retrieveByPK($match['id']);
                         }
                         break;
                     case 101:
                         $resultsArray[] = InstitucionPeer::retrieveByPK($match['id']);
                         break;
                     case 102:
                         $resultsArray[] = SfGuardUserPeer::retrieveByPK($match['id']);
                         break;
                     case 103:
                         $resultsArray[] = ConvocatoriaPeer::retrieveByPK($match['id']);
                         break;
                 }
             }
         }
     }
     $this->results = $resultsArray;
     $this->title = sfContext::getInstance()->getI18N()->__('"%1%" en Voota', array('%1%' => $this->q));
     $descStr = "";
     foreach ($resultsArray as $idx => $result) {
         if ($idx < 3) {
             $descStr .= ($descStr ? ', ' : '') . $result;
         }
     }
     $this->response->addMeta('Description', sfContext::getInstance()->getI18N()->__('Resultados de la búsqueda "%1%" en Voota: %2%, ...', array('%1%' => $this->q, '%2%' => $descStr)));
     $this->response->setTitle($this->title);
 }
 public function executeDelete(sfWebRequest $request)
 {
     if (!$this->getUser()->isAuthenticated()) {
         echo "error";
         die;
     }
     if ($request->getParameter("cf") == '') {
         $request->setAttribute("cf", 1);
         $this->forward('sfReviewFront', 'form');
     }
     if ($request->getParameter("i") != '') {
         SfReviewManager::removeReview($request->getParameter("i"));
     }
 }
Esempio n. 7
0
 public function executeShow(sfWebRequest $request)
 {
     $vanity = $request->getParameter('username');
     $this->f = $request->getParameter('f');
     $culture = $this->getUser()->getCulture();
     $this->sfReviewType = $request->getParameter("type_id", false);
     $this->text = $request->getParameter("t", false);
     $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='******'perfil/show?username='******'', Criteria::NOT_EQUAL);
     $this->enlaces = EnlacePeer::doSelect($c);
     $c = new Criteria();
     $c->add(PropuestaPeer::SF_GUARD_USER_ID, $userProfile->getUserId());
     $c->addDescendingOrderByColumn('created_at');
     $this->propuestas = PropuestaPeer::doSelect($c);
     //$this->reviews = SfReviewManager::getReviewsByUser($this->user->getId(), $this->f);
     $filterText = '';
     switch ($this->sfReviewType) {
         case '1':
             $filterText = sfContext::getInstance()->getI18N()->__('políticos');
             break;
         case '2':
             $filterText = sfContext::getInstance()->getI18N()->__('partidos');
             break;
         case '3':
             $filterText = sfContext::getInstance()->getI18N()->__('propuestas políticas');
             break;
         case 'null':
             $filterText = sfContext::getInstance()->getI18N()->__('otros comentarios');
             break;
     }
     //if (!$filterText){
     $this->title = sfContext::getInstance()->getI18N()->__('Página de usuario de %1% en Voota', array('%1%' => trim($this->user) ? $this->user : $this->user->getProfile()->getVanity()));
     /*}
       else {
        $this->title = sfContext::getInstance()->getI18N()->__('Opiniones de %1% sobre %2% en Voota', array(
        	'%1%' => trim($this->user)?$this->user:$this->user->getProfile()->getVanity()
        	, '%2%' => $filterText
        )); 
       }*/
     $this->response->setTitle($this->title);
     $filter = array();
     if (isset($this->sfReviewType)) {
         $filter['type_id'] = $this->sfReviewType;
         $filter['textFilter'] = $this->text ? 'text' : false;
         $filter['userId'] = $userProfile->getUserId();
         $filter['culture'] = $culture;
     }
     $this->reviewsPager = SfReviewManager::getReviews($filter, 1, 3);
     //if (!$filterText){
     $descripcion = SfVoUtil::cutToLength($userProfile->getPresentacion(), 155, '...', true);
     /*}
         else {
     			
         	if ($this->reviewsPager->getNbResults() == 0){
     		    $descripcion = sfContext::getInstance()->getI18N()->__('%1% aún no se ha animado a comentar', trim($this->user)?$this->user:$this->user->getProfile()->getVanity());
            	}   
         	else { 	
     		    $descripcion = sfContext::getInstance()->getI18N()->__('%1% ha comentado sobre', array('%1%' => trim($this->user)?$this->user:$this->user->getProfile()->getVanity())). ': ';
     		    			    
         		foreach ($this->reviewsPager->getResults() as $idx => $review){
         			$type = $review->getSfReviewTypeId();
     	  			if (! $type){
     	  				$parentReview = $review->getSfReviewRelatedBySfReviewId();
     	  				$aEntityId = $parentReview->getEntityId();
     	  				$aTypeId = $parentReview->getSfReviewTypeId();
     	  				
     	  			}
     	  			else {
     	  				$aTypeId = $type;
     	  				$aEntityId = $review->getEntityId();
     	  			}
     	  			
     	  			$reviewType = SfReviewTypePeer::retrieveByPK ( $aTypeId );
     	  			$peer = $reviewType->getModel() .'Peer';
     	  			
     	  			//$entity = $peer::retrieveByPK($aEntityId);
     	  			$entity = call_user_func("$peer::retrieveByPK", $aEntityId);
     
     	  			$descripcion .= ($idx != 0?', ':'').(!$type?sfContext::getInstance()->getI18N()->__('otro comentario sobre'). ' ':'').($aTypeId==Propuesta::NUM_ENTITY?"\"$entity\"":$entity);
     	    	}
         	}
         }*/
     $this->response->addMeta('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
     $request->setAttribute('rssTitle', $this->title . " Feed RSS");
     $request->setAttribute('rssFeed', 'perfil/feed?username=' . $this->user->getProfile()->getVanity());
 }
Esempio n. 8
0
 public function executeShow(sfWebRequest $request)
 {
     $vanity = $request->getParameter('id');
     $s = $request->getParameter('s', 0);
     $culture = $this->getUser()->getCulture();
     $c = new Criteria();
     $c->add(PropuestaPeer::VANITY, $vanity);
     $this->propuesta = PropuestaPeer::doSelectOne($c);
     $this->forward404Unless($this->propuesta);
     if ($this->propuesta->getCulture() != $culture) {
         $this->redirect("@homepage");
     }
     if ($this->propuesta->getVanity() != $vanity) {
         $this->redirect('propuesta/show?id=' . $this->propuesta->getVanity(), 301);
     }
     // Estabamos vootando antes del login ?
     $sfr_status = $this->getUser()->getAttribute('sfr_status', false, 'sf_review');
     if ($sfr_status) {
         $aSfrStatus = array();
         foreach ($sfr_status as $key => $value) {
             $aSfrStatus[$key] = $value;
         }
         $this->sfr_status = $aSfrStatus;
         $request->setAttribute('sfr_status', $aSfrStatus);
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
     } else {
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
         $this->sfr_status = false;
     }
     $exclude = array();
     $this->positives = SfReviewManager::getReviewsByEntityAndValue($request, Propuesta::NUM_ENTITY, $this->propuesta->getId(), 1);
     $this->negatives = SfReviewManager::getReviewsByEntityAndValue($request, Propuesta::NUM_ENTITY, $this->propuesta->getId(), -1);
     $positiveCount = $this->positives->getNbResults();
     $negativeCount = $this->negatives->getNbResults();
     $this->totalCount = $positiveCount + $negativeCount;
     if ($this->totalCount > 0) {
         $this->positivePerc = intval($positiveCount * 100 / $this->totalCount);
         $this->negativePerc = 100 - $this->positivePerc;
     } else {
         $this->positivePerc = 0;
         $this->negativePerc = 0;
     }
     $this->title = sfContext::getInstance()->getI18N()->__('%1%, opiniones a favor y en contra en Voota', array('%1%' => $this->propuesta->getTitulo()));
     $description = sfContext::getInstance()->getI18N()->__('Página de %1%', array('%1%' => $this->propuesta->getTitulo()));
     $description .= sfContext::getInstance()->getI18N()->__('%1% votos a favor y %2% votos en contra.', array('%1%' => $positiveCount, '%2%' => $negativeCount));
     $this->response->addMeta('Description', $description);
     $this->response->setTitle($this->title);
     // Enlaces
     $this->activeEnlaces = $this->getEnlaces($this->propuesta);
     $this->twitterUser = FALSE;
     foreach ($this->activeEnlaces as $enlace) {
         if (preg_match("/twitter\\.com\\/#!\\/(.*)\$/is", $enlace->getUrl(), $matches)) {
             $this->twitterUser = $matches[1];
             break;
         }
         if (preg_match("/twitter\\.com\\/(.*)\$/is", $enlace->getUrl(), $matches)) {
             $this->twitterUser = $matches[1];
             break;
         }
     }
     /* paginador */
     $this->propuestasPager = EntityManager::getPager($this->propuesta);
     /* / paginador */
     $c = new Criteria();
     $c->add(PropuestaPeer::IS_ACTIVE, true);
     $c->add(PropuestaPeer::CULTURE, $culture);
     $this->propuestasCount = PropuestaPeer::doCount($c);
     // Feed
     $request->setAttribute('rssTitle', $this->title . " Feed RSS");
     $request->setAttribute('rssFeed', 'propuesta/feed?id=' . $this->propuesta->getVanity());
 }
Esempio n. 9
0
 public function executeShow(sfWebRequest $request)
 {
     $abreviatura = $request->getParameter('id');
     $culture = $this->getUser()->getCulture("es");
     $this->institucion = $request->getParameter("institucion");
     if ($this->institucion == '') {
         $this->institucion = "0";
     }
     $c = new Criteria();
     $c->add(PartidoPeer::ABREVIATURA, $abreviatura, Criteria::EQUAL);
     $this->partido = PartidoPeer::doSelectOne($c);
     $this->forward404Unless($this->partido);
     $this->forward404Unless($this->partido->getIsActive());
     if ($this->partido->getAbreviatura() != $abreviatura) {
         $this->redirect('partido/show?id=' . $this->partido->getAbreviatura(), 301);
     }
     // Estabamos vootando antes del login ?
     $sfr_status = $this->getUser()->getAttribute('sfr_status', false, 'sf_review');
     if ($sfr_status) {
         $aSfrStatus = array();
         foreach ($sfr_status as $key => $value) {
             $aSfrStatus[$key] = $value;
         }
         $this->sfr_status = $aSfrStatus;
         $request->setAttribute('sfr_status', $aSfrStatus);
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
     } else {
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
         $this->sfr_status = false;
     }
     if ($this->partido->getImagen() != '') {
         $imageFileName = $this->partido->getImagen();
     } else {
         $imageFileName = "p_unknown.png";
     }
     $this->image = "cc_{$imageFileName}";
     $pu = $this->getUser()->getAttribute('pageU');
     $pd = $this->getUser()->getAttribute('pageD');
     $c = $this->getUser()->getAttribute('review_c');
     if ($c != '' && $pu != '') {
         $resU = BaseSfReviewManager::NUM_REVIEWS * ($pu - 1);
         $this->pageU = $pu;
     } else {
         $resU = BaseSfReviewManager::NUM_REVIEWS;
         $this->pageU = 2;
     }
     if ($c != '' && $pd != '') {
         $resD = BaseSfReviewManager::NUM_REVIEWS * ($pd - 1);
         $this->pageD = $pd;
     } else {
         $resD = BaseSfReviewManager::NUM_REVIEWS;
         $this->pageD = 2;
     }
     $id = $this->partido->getId();
     $this->positives = SfReviewManager::getReviewsByEntityAndValue($request, Partido::NUM_ENTITY, $id, 1, $resU);
     $this->negatives = SfReviewManager::getReviewsByEntityAndValue($request, Partido::NUM_ENTITY, $id, -1, $resD);
     $positiveCount = $this->positives->getNbResults();
     $negativeCount = $this->negatives->getNbResults();
     $this->getUser()->setAttribute('pageU', '');
     $this->getUser()->setAttribute('pageD', '');
     $this->totalCount = $positiveCount + $negativeCount;
     if ($this->totalCount > 0) {
         $this->positivePerc = intval($positiveCount * 100 / $this->totalCount);
         $this->negativePerc = 100 - $this->positivePerc;
     } else {
         $this->positivePerc = 0;
         $this->negativePerc = 0;
     }
     // Enlaces
     $c = new Criteria();
     $rCriterion = $c->getNewCriterion(EnlacePeer::CULTURE, null, Criteria::ISNULL);
     $rCriterion->addOr($c->getNewCriterion(EnlacePeer::CULTURE, $this->getUser()->getCulture()));
     $rCriterion->addOr($c->getNewCriterion(EnlacePeer::CULTURE, ''));
     $c->add($rCriterion);
     $c->add(EnlacePeer::PARTIDO_ID, $id);
     $c->addAscendingOrderByColumn(EnlacePeer::ORDEN);
     $this->activeEnlaces = EnlacePeer::doSelect($c);
     $this->twitterUser = FALSE;
     foreach ($this->activeEnlaces as $enlace) {
         if (preg_match("/twitter\\.com\\/#!\\/(.*)\$/is", $enlace->getUrl(), $matches)) {
             $this->twitterUser = $matches[1];
             break;
         }
         if (preg_match("/twitter\\.com\\/(.*)\$/is", $enlace->getUrl(), $matches)) {
             $this->twitterUser = $matches[1];
             break;
         }
     }
     // Politicos mas votados
     $c = new Criteria();
     $c->addJoin(array(PoliticoPeer::ID, PoliticoI18nPeer::CULTURE), array(PoliticoI18nPeer::ID, "'{$culture}'"), Criteria::LEFT_JOIN);
     $c->add(PoliticoPeer::VANITY, null, Criteria::ISNOTNULL);
     $c->add(PoliticoPeer::PARTIDO_ID, $this->partido->getId());
     $c->addDescendingOrderByColumn(PoliticoPeer::SUMU);
     $c->addAscendingOrderByColumn(PoliticoPeer::SUMD);
     $this->politicos = new sfPropelPager('Politico', 6);
     $this->politicos->setCriteria($c);
     $this->politicos->init();
     // Lista de instituciones
     $c = new Criteria();
     $c->addJoin(InstitucionPeer::ID, PoliticoInstitucionPeer::INSTITUCION_ID);
     $c->addJoin(PoliticoInstitucionPeer::POLITICO_ID, PoliticoPeer::ID);
     $c->addJoin(PoliticoPeer::PARTIDO_ID, PartidoPeer::ID);
     $c->add(PoliticoPeer::PARTIDO_ID, $this->partido->getId());
     $c->add(InstitucionPeer::IS_MAIN, true);
     $c->setDistinct();
     $c->addAscendingOrderByColumn(InstitucionPeer::ORDEN);
     $this->instituciones = InstitucionPeer::doSelect($c);
     // Lista de listas
     $this->listasGenerales = false;
     $this->listasAutonomicas = false;
     $this->listasMunicipales = false;
     foreach ($this->partido->getListas() as $lista) {
         //$lista->getCircunscripcion()->getGeo()
         foreach ($lista->getConvocatoria()->getEleccion()->getEleccionInstitucions() as $insti) {
             $geo = $insti->getInstitucion()->getGeo();
             if ($geo->getId() == 1) {
                 $this->listasGenerales = true;
             } elseif ($geo->getGeoRelatedByGeoId()->getId() == 1) {
                 $this->listasAutonomicas = true;
             } elseif ($geo->getGeoRelatedByGeoId()->getGeoRelatedByGeoId()->getId() == 1) {
             } elseif ($geo->getGeoRelatedByGeoId()->getGeoRelatedByGeoId()->getGeoRelatedByGeoId()->getId() == 1) {
                 $this->listasMunicipales = true;
             }
         }
     }
     $this->pageTitle = $this->partido->getNombre() . " (" . $this->partido->getAbreviatura() . ")";
     $this->title = $this->pageTitle . ' - Voota';
     $this->response->addMeta('Title', $this->title);
     $descripcion = $this->partido->getAbreviatura() . ": " . sfContext::getInstance()->getI18N()->__('presentación, opiniones de usuarios a favor y en contra, políticos mejor valorados y enlaces. ', array()) . SfVoUtil::cutToLength($this->partido->getPresentacion(), 140, '...', true);
     $this->response->addMeta('Descripcion', $descripcion);
     // Listas de electorales
     $convocatoriaActiva = sfConfig::get('sf_convocatoria_activa');
     $this->convocatoria = ConvocatoriaPeer::retrieveByPk($convocatoriaActiva);
     $c = new Criteria();
     $c->add(ListaPeer::PARTIDO_ID, $this->partido->getId());
     $c->add(ListaPeer::CONVOCATORIA_ID, $convocatoriaActiva);
     $c->addJoin(ListaPeer::CIRCUNSCRIPCION_ID, CircunscripcionPeer::ID);
     $c->addJoin(CircunscripcionPeer::GEO_ID, GeoPeer::ID);
     $c->addAscendingOrderByColumn(GeoPeer::NOMBRE);
     $this->listas = ListaPeer::doSelect($c);
     /* paginador */
     $this->partidosPager = EntityManager::getPager($this->partido);
     /* / paginador */
     // Feed
     $request->setAttribute('rssTitle', $this->title . " Feed RSS");
     $request->setAttribute('rssFeed', 'partido/feed?id=' . $this->partido->getVanity());
 }
Esempio n. 10
0
 public function executeShow(sfWebRequest $request)
 {
     $vanity = $request->getParameter('id');
     $s = $request->getParameter('s', 0);
     $f = $request->getParameter('f', 'none');
     $F = $request->getParameter('F', 'none');
     $culture = $this->getUser()->getCulture();
     $c = new Criteria();
     $c->add(PoliticoPeer::VANITY, $vanity, Criteria::EQUAL);
     $politico = PoliticoPeer::doSelectOne($c);
     $this->forward404Unless($politico);
     if ($f != 'none' || $F != 'none') {
         $this->redirect('politico/show?id=' . $politico->getVanity(), 301);
     }
     $this->partido = $request->getParameter("partido");
     $this->institucion = $request->getParameter("institucion");
     $this->rankingUrl = $this->generateRankingUrl($this->partido, $this->institucion);
     $this->politico = $politico;
     $id = $this->politico->getId();
     $this->forward404Unless($this->politico);
     if ($this->politico->getVanity() != $vanity) {
         $this->redirect('politico/show?id=' . $this->politico->getVanity(), 301);
     }
     // Estabamos vootando antes del login ?
     $sfr_status = $this->getUser()->getAttribute('sfr_status', false, 'sf_review');
     if ($sfr_status) {
         $aSfrStatus = array();
         foreach ($sfr_status as $key => $value) {
             $aSfrStatus[$key] = $value;
         }
         $this->sfr_status = $aSfrStatus;
         $request->setAttribute('sfr_status', $aSfrStatus);
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
     } else {
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
         $this->sfr_status = false;
     }
     if ($this->politico->getImagen() != '') {
         $imageFileName = $this->politico->getImagen();
     } else {
         $imageFileName = "p_unknown.png";
     }
     $this->image = "bw_{$imageFileName}";
     $pu = $this->getUser()->getAttribute('pageU');
     $pd = $this->getUser()->getAttribute('pageD');
     $c = $this->getUser()->getAttribute('review_c');
     if ($c != '' && $pu != '') {
         $resU = BaseSfReviewManager::NUM_REVIEWS * ($pu - 1);
         $this->pageU = $pu;
     } else {
         $resU = BaseSfReviewManager::NUM_REVIEWS;
         $this->pageU = 2;
     }
     if ($c != '' && $pd != '') {
         $resD = BaseSfReviewManager::NUM_REVIEWS * ($pd - 1);
         $this->pageD = $pd;
     } else {
         $resD = BaseSfReviewManager::NUM_REVIEWS;
         $this->pageD = 2;
     }
     $exclude = array();
     $this->positives = SfReviewManager::getReviewsByEntityAndValue($request, 1, $id, 1, $resU);
     $this->negatives = SfReviewManager::getReviewsByEntityAndValue($request, 1, $id, -1, $resD);
     $positiveCount = $this->positives->getNbResults();
     $negativeCount = $this->negatives->getNbResults();
     $this->getUser()->setAttribute('pageU', '');
     $this->getUser()->setAttribute('pageD', '');
     $this->totalCount = $positiveCount + $negativeCount;
     if ($this->totalCount > 0) {
         $this->positivePerc = intval($positiveCount * 100 / $this->totalCount);
         $this->negativePerc = 100 - $this->positivePerc;
     } else {
         $this->positivePerc = 0;
         $this->negativePerc = 0;
     }
     $this->title = sfContext::getInstance()->getI18N()->__('%1%, opiniones a favor y en contra en Voota', array('%1%' => $this->politico->getNombre() . ' ' . $this->politico->getApellidos()));
     $description = sfContext::getInstance()->getI18N()->__('Página de %1%', array('%1%' => $this->politico->getNombre() . ' ' . $this->politico->getApellidos()));
     if (count($this->politico->getPoliticoInstitucions()) > 0) {
         $description .= " (";
         //instituciones
         foreach ($this->politico->getPoliticoInstitucions() as $idx => $politicoInstitucion) {
             if ($idx > 0) {
                 $description .= ', ';
             }
             $description .= $politicoInstitucion->getInstitucion()->getNombre();
         }
         $description .= ")";
     }
     $description .= ", " . $this->politico->getPartido() . ", ";
     //partido
     $description .= sfContext::getInstance()->getI18N()->__('%1% votos a favor y %2% votos en contra.', array('%1%' => $positiveCount, '%2%' => $negativeCount));
     $this->response->addMeta('Description', $description);
     $this->response->setTitle($this->title);
     // Enlaces
     $c = new Criteria();
     $rCriterion = $c->getNewCriterion(EnlacePeer::CULTURE, null, Criteria::ISNULL);
     $rCriterion->addOr($c->getNewCriterion(EnlacePeer::CULTURE, $this->getUser()->getCulture()));
     $rCriterion->addOr($c->getNewCriterion(EnlacePeer::CULTURE, ''));
     $c->add($rCriterion);
     if ($politico->getsfGuardUser()) {
         $c->add(EnlacePeer::SF_GUARD_USER_ID, $politico->getsfGuardUser()->getId());
     } else {
         $c->add(EnlacePeer::POLITICO_ID, $id);
     }
     $c->add(EnlacePeer::URL, '', Criteria::NOT_EQUAL);
     $c->addAscendingOrderByColumn(EnlacePeer::ORDEN);
     $this->activeEnlaces = EnlacePeer::doSelect($c);
     if ($politico->getsfGuardUser() && count($this->activeEnlaces) == 0) {
         $c = new Criteria();
         $rCriterion = $c->getNewCriterion(EnlacePeer::CULTURE, null, Criteria::ISNULL);
         $rCriterion->addOr($c->getNewCriterion(EnlacePeer::CULTURE, $this->getUser()->getCulture()));
         $rCriterion->addOr($c->getNewCriterion(EnlacePeer::CULTURE, ''));
         $c->add($rCriterion);
         $c->add(EnlacePeer::POLITICO_ID, $id);
         $c->add(EnlacePeer::URL, '', Criteria::NOT_EQUAL);
         $c->addAscendingOrderByColumn(EnlacePeer::ORDEN);
         $this->activeEnlaces = EnlacePeer::doSelect($c);
     }
     $this->twitterUser = FALSE;
     foreach ($this->activeEnlaces as $enlace) {
         if (preg_match("/twitter\\.com\\/#!\\/(.*)\$/is", $enlace->getUrl(), $matches)) {
             $this->twitterUser = $matches[1];
             break;
         }
         if (preg_match("/twitter\\.com\\/(.*)\$/is", $enlace->getUrl(), $matches)) {
             $this->twitterUser = $matches[1];
             break;
         }
     }
     /* paginador */
     $this->politicosPager = EntityManager::getPager($this->politico);
     /* / paginador */
     // Feed
     $request->setAttribute('rssTitle', $this->title . " Feed RSS");
     $request->setAttribute('rssFeed', 'politico/feed?id=' . $this->politico->getVanity());
     $this->listas = false;
     $c = new Criteria();
     $c->add(PoliticoListaPeer::POLITICO_ID, $this->politico->getId());
     $c->addJoin(PoliticoListaPeer::LISTA_ID, ListaPeer::ID);
     $c->addJoin(ConvocatoriaPeer::ID, ListaPeer::CONVOCATORIA_ID);
     $c->add(ConvocatoriaPeer::FECHA, time(), Criteria::GREATER_THAN);
     $this->listas = PoliticoListaPeer::doSelect($c);
 }
Esempio n. 11
0
 public function executeFilteredActivities(sfWebRequest $request)
 {
     $this->entityId = $request->getParameter("entityId");
     $this->value = $request->getParameter("value");
     $this->page = $request->getParameter("page");
     $this->sfReviewType = $request->getParameter("sfReviewType");
     $this->filter = $request->getParameter("filter", false);
     $this->slot = $request->getParameter("slot", false);
     $this->userId = $request->getParameter("userId", false);
     // Estabamos vootando antes del login ?
     $sfr_status = $this->getUser()->getAttribute('sfr_status', false, 'sf_review');
     if ($sfr_status) {
         $aSfrStatus = array();
         foreach ($sfr_status as $key => $value) {
             $aSfrStatus[$key] = $value;
         }
         $this->sfr_status = $aSfrStatus;
         $request->setAttribute('sfr_status', $aSfrStatus);
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
     } else {
         $this->getUser()->setAttribute('sfr_status', false, 'sf_review');
         $this->sfr_status = false;
     }
     $c = new Criteria();
     if ($this->sfReviewType) {
         $c->add(SfReviewTypePeer::ID, $this->sfReviewType);
     }
     $reviewType = SfReviewTypePeer::doSelectOne($c);
     if ($reviewType) {
         $peer = $reviewType->getModel() . 'Peer';
         $c = new Criteria();
         $c->add($peer::ID, $this->entityId);
         $this->entity = $peer::doSelectOne($c);
     }
     header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
     header('Pragma: no-cache');
 }
Esempio n. 12
0
 public function executeUpdateDefaultParameters(sfWebRequest $request)
 {
     $this->forward404Unless($request->isMethod(sfRequest::POST));
     //If the HTTP method is "post", get the values entered by the user:
     $this->def_values = array('default_building' => $this->getRequestParameter('default_building'), 'default_room' => $this->getRequestParameter('default_room'), 'default_method_of_payment' => $this->getRequestParameter('default_method_of_payment'), 'default_computer' => $this->getRequestParameter('default_computer'), 'default_num_to_display' => $this->getRequestParameter('default_num_to_display'), 'default_follow_moderator' => $this->getRequestParameter('default_follow_moderator'), 'default_language' => $this->getRequestParameter('default_language'), 'default_currency' => $this->getRequestParameter('default_currency'), 'def_mysql_port' => $this->getRequestParameter('def_mysql_port'), 'def_pgsql_port' => $this->getRequestParameter('def_pgsql_port'), 'reservation_min_time' => $this->getRequestParameter('reservation_min_time'), 'reservation_max_time' => $this->getRequestParameter('reservation_max_time'), '_csrf_token' => $this->getRequestParameter('_csrf_token'));
     //Build the form with theses values:
     $this->def_form = new DefaultParametersForm();
     //Execute the validators of this form:
     $this->def_form->bind($this->def_values);
     //If everything is fine:
     if ($this->def_form->isValid()) {
         //Insert the new values in the xml configuration file:
         ParametersConfiguration::setUserPrefix(sfContext::getInstance()->getUser()->getAttribute('login'));
         !$this->def_values['default_follow_moderator'] ? $this->def_values['default_follow_moderator'] = null : ($this->def_values['default_follow_moderator'] = 1);
         ParametersConfiguration::setDefaultParams($this->def_values);
         //Indicate to the template that the values are correct and have been updated:
         $request->setAttribute('update_def', true);
         $this->getUser()->setCulture(ParametersConfiguration::getDefault('default_language'));
     }
     $this->forward('configuration', 'parameters');
 }