protected function execute($arguments = array(), $options = array()) { // initialize the database connection $databaseManager = new sfDatabaseManager($this->configuration); $connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getConnection(); $c = new Criteria(); #$c->add(PoliticoPeer::ID, 18256, Criteria::EQUAL); $politicos = PoliticoPeer::doSelect($c); #echo SfVoUtil::myUcfirst("Casilda")."\n";die; foreach ($politicos as $politico) { $vanity = $politico->getVanity(); $nombre = $politico->getNombre(); $apellidos = $politico->getApellidos(); if (strcmp($vanity, $newVanity = SfVoUtil::fixCase($vanity))) { echo "politico:{$vanity} -> {$newVanity}\n"; $politico->setVanity($newVanity); } if ($nombre != ($newNombre = SfVoUtil::fixCase($nombre))) { echo "politico:{$nombre} -> {$newNombre}\n"; $politico->setNombre($newNombre); } if ($apellidos != ($newApellidos = SfVoUtil::fixCase($apellidos))) { echo "politico:{$apellidos} -> {$newApellidos}\n"; $politico->setApellidos($newApellidos); } $politico->save(); } $instituciones = InstitucionI18nPeer::doSelect($c); foreach ($instituciones as $institucion) { $vanity = $institucion->getVanity(); $nombreCorto = $institucion->getNombreCorto(); $nombre = $institucion->getNombre(); if (strcmp($vanity, $newVanity = SfVoUtil::fixCase($vanity))) { echo "institucion:{$vanity} -> {$newVanity}\n"; $institucion->setVanity($newVanity); } if (strcmp($nombreCorto, $newNombreCorto = SfVoUtil::fixCase($nombreCorto))) { echo "institucion:{$nombreCorto} -> {$newNombreCorto}\n"; $institucion->setNombreCorto($newNombreCorto); } if (strcmp($nombre, $newNombre = SfVoUtil::fixCase($nombre))) { echo "institucion:{$nombre} -> {$newNombre}\n"; $institucion->setNombre($newNombre); } $institucion->save(); } $geos = GeoPeer::doSelect($c); foreach ($geos as $geo) { $nombre = $geo->getNombre(); if (strcmp($nombre, $newNombre = SfVoUtil::fixCase($nombre))) { echo "geo:{$nombre} -> {$newNombre}\n"; $geo->setNombre($newNombre); } $geo->save(); } }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(GeoPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(GeoPeer::DATABASE_NAME); $criteria->add(GeoPeer::ID, $pks, Criteria::IN); $objs = GeoPeer::doSelect($criteria, $con); } return $objs; }
/** * Selects a collection of Circunscripcion objects pre-filled with all related objects. * * @param Criteria $criteria * @param PropelPDO $con * @param String $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN * @return array Array of Circunscripcion objects. * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doSelectJoinAll(Criteria $criteria, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $criteria = clone $criteria; // Set the correct dbName if it has not been overridden if ($criteria->getDbName() == Propel::getDefaultDB()) { $criteria->setDbName(self::DATABASE_NAME); } CircunscripcionPeer::addSelectColumns($criteria); $startcol2 = CircunscripcionPeer::NUM_COLUMNS - CircunscripcionPeer::NUM_LAZY_LOAD_COLUMNS; GeoPeer::addSelectColumns($criteria); $startcol3 = $startcol2 + (GeoPeer::NUM_COLUMNS - GeoPeer::NUM_LAZY_LOAD_COLUMNS); $criteria->addJoin(CircunscripcionPeer::GEO_ID, GeoPeer::ID, $join_behavior); // symfony_behaviors behavior foreach (sfMixer::getCallables(self::getMixerPreSelectHook(__FUNCTION__)) as $sf_hook) { call_user_func($sf_hook, 'BaseCircunscripcionPeer', $criteria, $con); } $stmt = BasePeer::doSelect($criteria, $con); $results = array(); while ($row = $stmt->fetch(PDO::FETCH_NUM)) { $key1 = CircunscripcionPeer::getPrimaryKeyHashFromRow($row, 0); if (null !== ($obj1 = CircunscripcionPeer::getInstanceFromPool($key1))) { // We no longer rehydrate the object, since this can cause data loss. // See http://propel.phpdb.org/trac/ticket/509 // $obj1->hydrate($row, 0, true); // rehydrate } else { $cls = CircunscripcionPeer::getOMClass(false); $obj1 = new $cls(); $obj1->hydrate($row); CircunscripcionPeer::addInstanceToPool($obj1, $key1); } // if obj1 already loaded // Add objects for joined Geo rows $key2 = GeoPeer::getPrimaryKeyHashFromRow($row, $startcol2); if ($key2 !== null) { $obj2 = GeoPeer::getInstanceFromPool($key2); if (!$obj2) { $cls = GeoPeer::getOMClass(false); $obj2 = new $cls(); $obj2->hydrate($row, $startcol2); GeoPeer::addInstanceToPool($obj2, $key2); } // if obj2 loaded // Add the $obj1 (Circunscripcion) to the collection in $obj2 (Geo) $obj2->addCircunscripcion($obj1); } // if joined row not null $results[] = $obj1; } $stmt->closeCursor(); return $results; }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeShow(sfWebRequest $request) { $vanity = $request->getParameter('vanity'); $convocatoria = $request->getParameter('convocatoria'); $this->geoName = $request->getParameter('geo'); $partido = $request->getParameter('partido'); $order = $request->getParameter("o", ""); $c = new Criteria(); $c->addJoin(ListaPeer::CIRCUNSCRIPCION_ID, CircunscripcionPeer::ID); $c->addJoin(CircunscripcionPeer::GEO_ID, GeoPeer::ID); $c->addJoin(ListaPeer::PARTIDO_ID, PartidoPeer::ID); $c->addJoin(ListaPeer::CONVOCATORIA_ID, ConvocatoriaPeer::ID); $c->addJoin(ConvocatoriaPeer::ELECCION_ID, EleccionPeer::ID); $c->add(ConvocatoriaPeer::NOMBRE, $convocatoria); $c->add(GeoPeer::NOMBRE, $this->geoName); $c->add(PartidoPeer::ABREVIATURA, $partido); $c->add(EleccionPeer::VANITY, $vanity); $this->lista = ListaPeer::doSelectOne($c); $this->forward404Unless($this->lista); // Geos $c = new Criteria(); $c->addJoin(ListaPeer::CIRCUNSCRIPCION_ID, CircunscripcionPeer::ID); $c->addJoin(CircunscripcionPeer::GEO_ID, GeoPeer::ID); $c->add(ListaPeer::CONVOCATORIA_ID, $this->lista->getConvocatoria()->getId()); $c->add(ListaPeer::PARTIDO_ID, $this->lista->getPartido()->getId()); $c->addAscendingOrderByColumn(GeoPeer::NOMBRE); $c->setDistinct(); $this->geos = GeoPeer::doSelect($c); $instituciones = $this->lista->getConvocatoria()->getEleccion()->getEleccionInstitucions(); $this->institucionName = $instituciones[0]->getInstitucion(); // Lista Voota $c = new Criteria(); $c->add(ConvocatoriaPeer::NOMBRE, $convocatoria); $this->convocatoria = ConvocatoriaPeer::doSelectOne($c); $this->order = $order ? $order : 'pd'; /* if ($this->convocatoria->getClosedAt()){ $c = new Criteria(); $c->addJoin(ListaCallePeer::POLITICO_ID, PoliticoPeer::ID); $c->addJoin(PoliticoListaPeer::POLITICO_ID, PoliticoPeer::ID); $c->add(PoliticoListaPeer::LISTA_ID, $this->lista->getId()); if ($this->order == "pa"){ $c->addAscendingOrderByColumn(ListaCallePeer::SUMU); } else if ($this->order == "pd") { $c->addDescendingOrderByColumn(ListaCallePeer::SUMU); $c->addAscendingOrderByColumn(ListaCallePeer::SUMD); } else if ($this->order == "na"){ $c->addAscendingOrderByColumn(ListaCallePeer::SUMD); } else if ($this->order == "nd") { $c->addDescendingOrderByColumn(ListaCallePeer::SUMD); $c->addAscendingOrderByColumn(ListaCallePeer::SUMU); } $c->setDistinct(); $this->politicosListaVoota = PoliticoPeer::doSelect( $c ); } else { $c = new Criteria(); $c->addJoin(PoliticoListaPeer::POLITICO_ID, PoliticoPeer::ID); $c->add(PoliticoListaPeer::LISTA_ID, $this->lista->getId()); if ($this->order == "pa"){ $c->addAscendingOrderByColumn(PoliticoPeer::SUMU); } else if ($this->order == "pd") { $c->addDescendingOrderByColumn(PoliticoPeer::SUMU); $c->addAscendingOrderByColumn(PoliticoPeer::SUMD); } else if ($this->order == "na"){ $c->addAscendingOrderByColumn(PoliticoPeer::SUMD); } else if ($this->order == "nd") { $c->addDescendingOrderByColumn(PoliticoPeer::SUMD); $c->addAscendingOrderByColumn(PoliticoPeer::SUMU); } $this->politicosListaVoota = PoliticoPeer::doSelect( $c ); } */ $listaElectoral = new ListaElectoral($this->lista->getConvocatoriaId(), $this->lista->getPartidoId(), $this->lista->getCircunscripcion()->getGeo()->getNombre(), $this->order); $this->politicosListaVoota = $listaElectoral->getPoliticos(); // Lista oficial $c = new Criteria(); $c->addJoin(PoliticoListaPeer::POLITICO_ID, PoliticoPeer::ID); $c->add(PoliticoListaPeer::LISTA_ID, $this->lista->getId()); $c->add(PoliticoListaPeer::ORDEN, null, Criteria::ISNOTNULL); $c->add(PoliticoListaPeer::ORDEN, 0, Criteria::GREATER_THAN); $c->addAscendingOrderByColumn(PoliticoListaPeer::ORDEN); $this->politicosListaOficial = PoliticoPeer::doSelect($c); // Metas $this->title = sfContext::getInstance()->getI18N()->__("Lista electoral %1% %2% %3%, %4%", array('%1%' => $this->lista->getPartido(), '%2%' => $this->lista->getConvocatoria()->getEleccion()->getNombre(), '%3%' => $this->lista->getConvocatoria()->getNombre(), '%4%' => $this->lista->getCircunscripcion()->getGeo())); $this->response->setTitle($this->title); $description = sfContext::getInstance()->getI18N()->__("Lista oficial del partido vs Lo que dice la calle: %1%, circunscripcón de %2%, %3% %4%", array('%1%' => $this->lista->getPartido()->getNombre(), '%2%' => $this->lista->getCircunscripcion()->getGeo(), '%3%' => $this->lista->getConvocatoria()->getEleccion()->getNombre(), '%4%' => $this->lista->getConvocatoria()->getNombre())); $this->response->addMeta('Description', $description); }
protected function execute($arguments = array(), $options = array()) { // initialize the database connection $databaseManager = new sfDatabaseManager($this->configuration); $connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getConnection(); $handle = fopen("php://stdin", "r"); $line = fgets($handle); while ($line = fgets($handle)) { $data = explode(";", "{$line}"); $c = new Criteria(); $c->add(GeoPeer::NOMBRE, $data[3]); $geos = GeoPeer::doSelect($c); $aGeo = false; foreach ($geos as $geo) { if ($geo->getGeoRelatedByGeoId() != null && $geo->getGeoRelatedByGeoId()->getCodigo() && $geo->getGeoRelatedByGeoId()->getCodigo() != '') { //echo 'geo: ' . $geo->getNombre() . "\n"; $aGeo = $geo; } } if (!$aGeo) { echo 'Geo not found: (' . $data[3] . ")\n"; continue; } $c = new Criteria(); $c->add(PartidoPeer::ABREVIATURA, $data[5]); $partido = PartidoPeer::doSelectOne($c); if (!$partido) { $partido = new Partido(); $partido->setAbreviatura($data[5]); $partido->setIsActive(true); $partido->setNombre($data[5], 'es'); $partido->setNombre($data[5], 'ca'); $partido->save(); echo "Created partido ({$partido})\n"; } $c = new Criteria(); $c->add(CircunscripcionPeer::GEO_ID, $aGeo->getId()); $circu = CircunscripcionPeer::doSelectOne($c); $c = new Criteria(); $c->addJoin(ConvocatoriaPeer::ELECCION_ID, EleccionPeer::ID); $c->addJoin(EleccionInstitucionPeer::ELECCION_ID, EleccionPeer::ID); $c->addJoin(InstitucionPeer::ID, EleccionInstitucionPeer::INSTITUCION_ID); $c->add(InstitucionPeer::GEO_ID, $aGeo->getId()); $convocatoria = ConvocatoriaPeer::doSelectOne($c); if (!$convocatoria) { echo "Convocatoria not found: ({$geo})\n"; continue; } $c = new Criteria(); $c->add(ListaPeer::CONVOCATORIA_ID, $convocatoria->getId()); $c->add(ListaPeer::CIRCUNSCRIPCION_ID, $circu->getId()); $c->add(ListaPeer::PARTIDO_ID, $partido->getId()); $lista = ListaPeer::doSelectOne($c); if (!$lista) { $lista = new Lista(); $lista->setPartido($partido); $lista->setCircunscripcion($circu); $lista->setConvocatoria($convocatoria); $lista->save(); echo "Created lista ({$partido}, {$circu})\n"; } $politicos = false; $c = new Criteria(); $c->add("concat(nombre, ' ', apellidos)", trim($data[2])); //$c->add('fullname', utf8_encode( trim($data[2]) ), Criteria::EQUAL); $politicos = PoliticoPeer::doSelect($c); if (count($politicos) != 0) { echo "(ASIGNADO) " . $data[2] . "\n"; $politico = $politicos[0]; } else { echo "(NUEVO) " . $data[2] . "\n"; $politico = new Politico(); $nombreApellidos = explode(" ", $data[2]); $nombre = array_shift($nombreApellidos); $apellidos = implode(" ", $nombreApellidos); $politico->setNombre($nombre); $politico->setApellidos($apellidos); if ($data[7] != '1') { if (trim($data[10]) != '') { $c = new Criteria(); $c->add(PartidoPeer::ABREVIATURA, $data[5]); $partido = PartidoPeer::doSelectOne($c); if ($partido) { $politico->setPartido($partido); } } else { $politico->setPartido($lista->getPartido()); } } $politico->setSexo($data[1] == "hombre" ? 'H' : 'M'); $politico->save(); $politicoI18n = new PoliticoI18n(); $politicoI18n->setPolitico($politico); $politicoI18n->setCulture('es'); $politicoI18n->save(); $politicoI18n = new PoliticoI18n(); $politicoI18n->setPolitico($politico); $politicoI18n->setCulture('ca'); $politicoI18n->save(); } $c = new Criteria(); $c->add(PoliticoListaPeer::LISTA_ID, $lista->getId()); $c->add(PoliticoListaPeer::POLITICO_ID, $politico->getId()); $pl = PoliticoListaPeer::doSelectOne($c); if (!$pl) { $pl = new PoliticoLista(); $pl->setLista($lista); $pl->setPolitico($politico); } else { echo "Ya estaba.\n"; } $pl->setOrden($data[0]); $pl->save(); } fclose($handle); }
/** * Get the associated Geo object * * @param PropelPDO Optional Connection object. * @return Geo The associated Geo object. * @throws PropelException */ public function getGeo(PropelPDO $con = null) { if ($this->aGeo === null && $this->geo_id !== null) { $this->aGeo = GeoPeer::retrieveByPk($this->geo_id); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. $this->aGeo->addInstitucions($this); */ } return $this->aGeo; }
/** * Returns the number of related Geo objects. * * @param Criteria $criteria * @param boolean $distinct * @param PropelPDO $con * @return int Count of related Geo objects. * @throws PropelException */ public function countGeosRelatedByGeoId(Criteria $criteria = null, $distinct = false, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(GeoPeer::DATABASE_NAME); } else { $criteria = clone $criteria; } if ($distinct) { $criteria->setDistinct(); } $count = null; if ($this->collGeosRelatedByGeoId === null) { if ($this->isNew()) { $count = 0; } else { $criteria->add(GeoPeer::GEO_ID, $this->id); $count = GeoPeer::doCount($criteria, false, $con); } } else { // criteria has no effect for a new object if (!$this->isNew()) { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return count of the collection. $criteria->add(GeoPeer::GEO_ID, $this->id); if (!isset($this->lastGeoRelatedByGeoIdCriteria) || !$this->lastGeoRelatedByGeoIdCriteria->equals($criteria)) { $count = GeoPeer::doCount($criteria, false, $con); } else { $count = count($this->collGeosRelatedByGeoId); } } else { $count = count($this->collGeosRelatedByGeoId); } } return $count; }
protected function execute($arguments = array(), $options = array()) { // initialize the database connection $databaseManager = new sfDatabaseManager($this->configuration); $connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getConnection(); $c = new Criteria(); $c->add(InstitucionI18nPeer::NOMBRE, 'Ayuntamiento%', Criteria::LIKE); $c->add(InstitucionI18nPeer::CULTURE, 'es'); $pager = new sfPropelPager('InstitucionI18n', 100); $pager->setCriteria($c); $pageNum = 0; do { $pageNum++; echo "\nBlock no. {$pageNum} \n"; $pager->setPage($pageNum); $pager->init(); $instituciones = $pager->getResults(); foreach ($instituciones as $institucion) { $geo = GeoPeer::retrieveByPK($institucion->getInstitucion()->getGeoId()); if ($geo) { echo "."; $nombreCorto = $geo->getNombre(); //$nombreCorto = $institucion->getInstitucion()->getGeo()->getNombre(); $vanityUrl = SfVoUtil::encodeVanity($nombreCorto); $c2 = new Criteria(); $c2->add(EleccionPeer::VANITY, "{$vanityUrl}%", Criteria::LIKE); //$c2->add(EleccionPeer::ID, $id, Criteria::NOT_EQUAL); $eleccionesLikeMe = EleccionPeer::doSelect($c2); $counter = 0; foreach ($eleccionesLikeMe as $eleccionLikeMe) { $counter++; } $vanity = "{$vanityUrl}" . ($counter == 0 ? '' : "-{$counter}"); $eleccion = new Eleccion(); $eleccion->setVanity($vanity); $eleccion->save(); $ei = new EleccionInstitucion(); $ei->setEleccion($eleccion); $ei->setInstitucion($institucion->getInstitucion()); $ei->save(); $eleccion_i18n = new EleccionI18n(); $eleccion_i18n->setCulture('es'); $eleccion_i18n->setNombreCorto($nombreCorto); $eleccion_i18n->setNombre("Elecciones al Ayuntamiento de {$nombreCorto}"); $eleccion_i18n->setEleccion($eleccion); $eleccion_i18n->save(); $eleccion_i18n = new EleccionI18n(); $eleccion_i18n->setCulture('ca'); $eleccion_i18n->setNombreCorto($nombreCorto); $eleccion_i18n->setNombre("Eleccions al Ajuntament de {$nombreCorto}"); $eleccion_i18n->setEleccion($eleccion); $eleccion_i18n->save(); $convocatoria = new Convocatoria(); $convocatoria->setEleccion($eleccion); $convocatoria->setNombre('2011'); $convocatoria->setFecha('2011/05/22'); $convocatoria->save(); $convocatoria_i18n = new ConvocatoriaI18n(); $convocatoria_i18n->setConvocatoria($convocatoria); $convocatoria_i18n->setCulture('es'); $convocatoria_i18n->setDescripcion("Las listas y candidatos que se presentan a las elecciones de mayo. Vota y elige al alcalde y a los concejales de {$nombreCorto}. Compara las listas cerradas de los partidos con las listas abiertas de Voota, la lista oficial contra lo que dice la calle."); $convocatoria_i18n->save(); $convocatoria_i18n = new ConvocatoriaI18n(); $convocatoria_i18n->setConvocatoria($convocatoria); $convocatoria_i18n->setCulture('ca'); $convocatoria_i18n->setDescripcion("Las listas y candidatos que se presentan a las elecciones de mayo. Vota y elige al alcalde y a los concejales de {$nombreCorto}. Compara las listas cerradas de los partidos con las listas abiertas de Voota, la lista oficial contra lo que dice la calle."); $convocatoria_i18n->save(); $circu = new Circunscripcion(); $circu->setGeo($geo); $criteria = new Criteria(); $criteria->add(PoliticoInstitucionPeer::INSTITUCION_ID, $institucion->getId()); $count = PoliticoInstitucionPeer::doCount($criteria); $circu->setEscanyos($count); $circu->save(); } } } while (!$pager->isLastPage()); }