public function getCaricaDepSenCorrente() { $c = new Criteria(); $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(1, 4, 5), Criteria::IN); $c->add(OppCaricaPeer::DATA_FINE, null, Criteria::ISNULL); $c->add(OppCaricaPeer::POLITICO_ID, $this->getId()); return OppCaricaPeer::doSelectOne($c); }
/** * restituisce i componenti del Governo (PresDelCons e Ministri) che appartengono ad un gruppo, se data_fine è zero (default, restituisce i componenti attuali, se 1 quelli di tutta la legislatura) * * @param integer $gruppo_id * @return void * @author Ettore Di Cesare */ public static function getCaricheGovernoPerGruppo($gruppo_id, $data_fine = 0, $leg = 16) { $c = new Criteria(); $c->add(OppCaricaPeer::LEGISLATURA, $leg, Criteria::EQUAL); $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(2, 3), Criteria::IN); $ministri = OppCaricaPeer::doSelect($c); foreach ($ministri as $ministro) { $c = new Criteria(); $c->add(OppCaricaPeer::POLITICO_ID, $ministro->getPoliticoId()); $c->add(OppCaricaPeer::LEGISLATURA, $leg); $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(1, 4, 5), Criteria::IN); $deputato = OppCaricaPeer::doSelectOne($c); if ($deputato) { $gruppi = self::doSelectTuttiGruppiPerCarica($deputato->getId()); foreach ($gruppi as $gruppo) { if ($gruppo['gruppo_id'] == $gruppo_id) { $rs[] = $ministro->getId(); break; } } } } if (count($rs) > 0) { return $rs; } else { return NULL; } }
define('SF_DEBUG', false); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; sfContext::getInstance(); print "Fetching data... \n"; $c = new Criteria(); $c->setOffset(3013213); $c->setLimit(600000); $votazioni = OppVotazioneHasPoliticoPeer::doSelect($c); foreach ($votazioni as $votazione) { echo "votazione: " . $votazione->getVotazioneId() . " politico: " . $votazione->getPoliticoId() . "\n"; $c1 = new Criteria(); $c1->add(OppVotazionePeer::ID, $votazione->getVotazioneId(), Criteria::EQUAL); $vot = OppVotazionePeer::doSelectOne($c1); $c2 = new Criteria(); $c2->add(OppSedutaPeer::ID, $vot->getSedutaId(), Criteria::EQUAL); $seduta = OppSedutaPeer::doSelectOne($c2); $senatori_a_vita = array("1529", "1606", "1719", "1519", "1682", "1456", "1524"); $c3 = new Criteria(); $c3->add(OppCaricaPeer::POLITICO_ID, $votazione->getPoliticoId()); if (!in_array($votazione->getPoliticoId(), $senatori_a_vita)) { $c3->add(OppCaricaPeer::LEGISLATURA, $seduta->getLegislatura()); } $carica = OppCaricaPeer::doSelectOne($c3); $votazioneCarica = new OppVotazioneHasCarica(); $votazioneCarica->setVotazioneId($votazione->getVotazioneId()); $votazioneCarica->setCaricaId($carica->getId()); $votazioneCarica->setVoto($votazione->getVoto()); $votazioneCarica->save(); echo "OK\n"; } print "done.\n";
public function executePolitician() { $this->politician_id = $this->getRequestParameter('id'); $this->politician = OppPoliticoPeer::retrieveByPK($this->politician_id); $this->n_news = oppNewsPeer::countNewsForItem('OppPolitico', $this->politician_id); $this->getResponse()->setTitle('tutte le notizie sul parlamentare ' . $this->politician->getNome() . ' ' . $this->politician->getCognome() . ' - ' . sfConfig::get('app_main_title')); $this->response->addMeta('description', 'Tutte le notizie aggiornate quotidianamente su cosa fa in Parlamento ' . $this->politician->getNome() . ' ' . $this->politician->getCognome(), true); $c = new Criteria(); $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(1, 4, 5), Criteria::IN); $c->add(OppCaricaPeer::DATA_FINE, null, Criteria::ISNULL); $c->add(OppCaricaPeer::POLITICO_ID, $this->politician_id); $this->carica = OppCaricaPeer::doSelectOne($c); $c = oppNewsPeer::getNewsForItemCriteria('OppPolitico', $this->politician_id); $c->addDescendingOrderByColumn(NewsPeer::DATE); if ($this->hasRequestParameter('itemsperpage')) { $this->getUser()->setAttribute('itemsperpage', $this->getRequestParameter('itemsperpage')); } $itemsperpage = $this->getUser()->getAttribute('itemsperpage', sfConfig::get('app_pagination_limit')); $pager = new deppNewsPager('News', $itemsperpage); $pager->setCriteria($c); $pager->setPage($this->getRequestParameter('page', 1)); $pager->init(); $this->pager = $pager; }
public function executeUserVspolitician() { $arr = array(); $user_id = $this->user->getId(); $num = $this->num; $leg = $this->legislatura; $c = new Criteria(); $c->add(sfVotingPeer::USER_ID, $user_id); $voting_objects = sfVotingPeer::doSelect($c); $this->voti_utente = count($voting_objects); foreach ($voting_objects as $voting_object) { $c = new Criteria(); $c->addJoin(OppAttoPeer::ID, OppCaricaHasAttoPeer::ATTO_ID); $c->addJoin(OppCaricaPeer::ID, OppCaricaHasAttoPeer::CARICA_ID); $c->add(OppAttoPeer::ID, $voting_object->getVotableID()); $c->add(OppAttoPeer::LEGISLATURA, $leg); $c->add(OppCaricaHasAttoPeer::TIPO, 'R', Criteria::NOT_EQUAL); // aggiunge vincolo su cariche (dep e sen. della leg. corrente + sen. a vita) $crit1 = $c->getNewCriterion(OppCaricaPeer::LEGISLATURA, $leg); $crit2 = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, 5); $crit1->addOr($crit2); $c->add($crit1); $firme = OppCaricaHasAttoPeer::doSelectJoinAll($c); foreach ($firme as $firma) { $value = $this->calcolaIndice($firma->getOppAtto()->getTipoAttoId(), $firma->getTipo()); $carica = $firma->getOppCarica(); if (!array_key_exists($carica->getPoliticoId(), $arr)) { $arr[$carica->getPoliticoId()] = $value * $voting_object->getVoting(); } else { $arr[$carica->getPoliticoId()] += $value * $voting_object->getVoting(); } } } $this->vicini = array(); $this->lontani = array(); if (count($arr) > 0) { arsort($arr); if ($num != 1000) { $vicini = array_slice($arr, 0, $num, true); } else { $vicini = $arr; } $max_valore_abs = max(abs(min($arr)), max($arr)); $this->normalize = 100 / $max_valore_abs; $this->posizione = $arr; foreach ($vicini as $key => $vicino) { if ($vicino > 0) { $c = new Criteria(); $crit0 = $c->getNewCriterion(OppCaricaPeer::POLITICO_ID, $key); $crit1 = $c->getNewCriterion(OppCaricaPeer::LEGISLATURA, 16); $crit2 = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, 5); $crit1->addOr($crit2); $crit0->addAnd($crit1); $c->add($crit0); $c->addAscendingOrderByColumn(OppCaricaPeer::TIPO_CARICA_ID); $carica = OppCaricaPeer::doSelectOne($c); $this->vicini[] = array($vicino, $carica); } else { break; } } if ($num != 1000) { $lontani = array_slice($arr, count($arr) - $num, count($arr), true); } else { $lontani = $arr; } asort($lontani); foreach ($lontani as $key => $lontano) { if ($lontano < 0) { $c = new Criteria(); $crit0 = $c->getNewCriterion(OppCaricaPeer::POLITICO_ID, $key); $crit1 = $c->getNewCriterion(OppCaricaPeer::LEGISLATURA, 16); $crit2 = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, 5); $crit1->addOr($crit2); $crit0->addAnd($crit1); $c->add($crit0); $c->addAscendingOrderByColumn(OppCaricaPeer::TIPO_CARICA_ID); $carica = OppCaricaPeer::doSelectOne($c); $this->lontani[] = array($lontano, $carica); } } } }
define('SF_ROOT_DIR', realpath(dirname(__FILE__) . '/..')); define('SF_APP', 'fe'); define('SF_ENVIRONMENT', 'dev'); define('SF_DEBUG', false); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; sfContext::getInstance(); print "Fetching data... \n"; $c = new Criteria(); $cariche = OppCaricaPeer::doSelect($c); foreach ($cariche as $carica) { print $carica->getId() . "...\n"; $c = new Criteria(); $c->add(OppCaricaPeer::ID, $carica->getId(), Criteria::EQUAL); $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1, Criteria::EQUAL); $mycarica = OppCaricaPeer::doSelectOne($c); switch ($mycarica->getCarica()) { case 'Deputato': $mycarica->setTipoCaricaId(1); break; case 'Ministro': $mycarica->setTipoCaricaId(2); break; case 'Presidente': $mycarica->setTipoCaricaId(3); break; case 'Senatore': $mycarica->setTipoCaricaId(4); break; case 'Senatore a vita': $mycarica->setTipoCaricaId(5);