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