Exemple #1
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();
                 }
             }
         }
     }
 }