예제 #1
0
 public function saveEtiquetaPartidoList($con = null)
 {
     if (!$this->isValid()) {
         throw $this->getErrorSchema();
     }
     if (!isset($this->widgetSchema['etiqueta_partido_list'])) {
         // somebody has unset this widget
         return;
     }
     if (null === $con) {
         $con = $this->getConnection();
     }
     $c = new Criteria();
     $c->add(EtiquetaPartidoPeer::PARTIDO_ID, $this->object->getPrimaryKey());
     EtiquetaPartidoPeer::doDelete($c, $con);
     $values = $this->getValue('etiqueta_partido_list');
     if (is_array($values)) {
         foreach ($values as $value) {
             $obj = new EtiquetaPartido();
             $obj->setPartidoId($this->object->getPrimaryKey());
             $obj->setEtiquetaId($value);
             $obj->save();
         }
     }
 }
예제 #2
0
 public static function newTag($entity, $texto)
 {
     $user = sfContext::getInstance()->getUser();
     if ($user->isAuthenticated() && $texto) {
         $tags = preg_split("/[\\s,]+/", $texto);
         foreach ($tags as $tag) {
             $c = new Criteria();
             $c1 = new VoCriterion($c, EtiquetaPeer::TEXTO, SfVoUtil::strtolowerEs($tag));
             $c1->setIgnoreAccent(true);
             //$c->add(EtiquetaPeer::TEXTO, strtolower($tag) . ' collate utf8_bin');
             $c->add($c1);
             $c->add(EtiquetaPeer::CULTURE, $user->getCulture());
             $etiqueta = EtiquetaPeer::doSelectOne($c);
             if (!$etiqueta) {
                 $etiqueta = new Etiqueta();
                 $etiqueta->setTexto(SfVoUtil::strtolowerEs($tag));
                 $etiqueta->setCulture($user->getCulture());
                 $etiqueta->save();
             }
             if ($entity->getType() == Politico::NUM_ENTITY) {
                 $c->add(EtiquetaPoliticoPeer::ETIQUETA_ID, $etiqueta->getId());
                 $c->add(EtiquetaPoliticoPeer::CULTURE, $user->getCulture());
                 $c->add(EtiquetaPoliticoPeer::POLITICO_ID, $entity->getId());
                 $c->add(EtiquetaPoliticoPeer::SF_GUARD_USER_ID, $user->getGuardUser()->getId());
                 $etiquetaPolitico = EtiquetaPoliticoPeer::doSelectOne($c);
                 if (!$etiquetaPolitico) {
                     $etiquetaPolitico = new EtiquetaPolitico();
                     $etiquetaPolitico->setPoliticoId($entity->getId());
                     $etiquetaPolitico->setEtiquetaId($etiqueta->getId());
                     $etiquetaPolitico->setCulture($user->getCulture());
                     $etiquetaPolitico->setFecha(time());
                     $etiquetaPolitico->setSfGuardUserId($user->getGuardUser()->getId());
                     $etiquetaPolitico->save();
                 } else {
                     $etiquetaPolitico->setFecha(time());
                     $etiquetaPolitico->save();
                 }
             } elseif ($entity->getType() == Partido::NUM_ENTITY) {
                 $c->add(EtiquetaPartidoPeer::ETIQUETA_ID, $etiqueta->getId());
                 $c->add(EtiquetaPartidoPeer::CULTURE, $user->getCulture());
                 $c->add(EtiquetaPartidoPeer::PARTIDO_ID, $entity->getId());
                 $c->add(EtiquetaPartidoPeer::SF_GUARD_USER_ID, $user->getGuardUser()->getId());
                 $etiquetaPartido = EtiquetaPartidoPeer::doSelectOne($c);
                 if (!$etiquetaPartido) {
                     $etiquetaPartido = new EtiquetaPartido();
                     $etiquetaPartido->setPartidoId($entity->getId());
                     $etiquetaPartido->setEtiquetaId($etiqueta->getId());
                     $etiquetaPartido->setCulture($user->getCulture());
                     $etiquetaPartido->setFecha(time());
                     $etiquetaPartido->setSfGuardUserId($user->getGuardUser()->getId());
                     $etiquetaPartido->save();
                 } else {
                     $etiquetaPartido->setFecha(time());
                     $etiquetaPartido->save();
                 }
             } elseif ($entity->getType() == Propuesta::NUM_ENTITY) {
                 $c->add(EtiquetaPropuestaPeer::ETIQUETA_ID, $etiqueta->getId());
                 $c->add(EtiquetaPropuestaPeer::CULTURE, $user->getCulture());
                 $c->add(EtiquetaPropuestaPeer::PROPUESTA_ID, $entity->getId());
                 $c->add(EtiquetaPropuestaPeer::SF_GUARD_USER_ID, $user->getGuardUser()->getId());
                 $etiquetaPropuesta = EtiquetaPropuestaPeer::doSelectOne($c);
                 if (!$etiquetaPropuesta) {
                     $etiquetaPropuesta = new EtiquetaPropuesta();
                     $etiquetaPropuesta->setPropuestaId($entity->getId());
                     $etiquetaPropuesta->setEtiquetaId($etiqueta->getId());
                     $etiquetaPropuesta->setCulture($user->getCulture());
                     $etiquetaPropuesta->setFecha(time());
                     $etiquetaPropuesta->setSfGuardUserId($user->getGuardUser()->getId());
                     $etiquetaPropuesta->save();
                 } else {
                     $etiquetaPropuesta->setFecha(time());
                     $etiquetaPropuesta->save();
                 }
             }
         }
     }
 }