/** * 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; } }
public static function getActiveMPs($ramo, $limit = 0, $leg = 16) { if (!in_array($ramo, array('C', 'S'))) { throw new Exception("Ramo must be 'C' or 'S'"); } $c = new Criteria(); if ($ramo == 'C') { $c->add(self::TIPO_CARICA_ID, 1); $c->add(OppCaricaPeer::TIPO_CARICA_ID, '1', Criteria::EQUAL); } else { $c->add(self::TIPO_CARICA_ID, array(4, 5), Criteria::IN); $cton = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, '4', Criteria::EQUAL); $cton1 = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, '5', Criteria::EQUAL); $cton->addOr($cton1); $c->add($cton); } $c->add(OppCaricaPeer::LEGISLATURA, $leg, Criteria::EQUAL); $c->add(self::DATA_FINE, null, Criteria::ISNULL); $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID, Criteria::INNER_JOIN); if ($limit > 0) { $c->setLimit($limit); } return OppCaricaPeer::doSelect($c); }
<?php 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(); $c->add(OppCaricaPeer::DATA_FINE, NULL, Criteria::EQUAL); $c->add(OppCaricaPeer::LEGISLATURA, 16, Criteria::EQUAL); $cariche = OppCaricaPeer::doSelect($c); foreach ($cariche as $carica) { $parlamentare = OppPoliticoPeer::RetrieveByPk($carica->getPoliticoId()); $report = $carica->getReport(); $presenze = $report['Astenuto'] + $report['Contrario'] + $report['Favorevole'] + $report['Partecipante votazione non valida'] + $report['Presidente di turno'] + $report['Richiedente la votazione e non votante'] + $report['Voto segreto']; $numero_votazioni = $report['Astenuto'] + $report['Contrario'] + $report['Favorevole'] + $report['Partecipante votazione non valida'] + $report['Presidente di turno'] + $report['Richiedente la votazione e non votante'] + $report['Voto segreto'] + $report['Assente'] + $report['In missione']; $gruppi = OppCaricaHasGruppoPeer::doSelectGruppiPerCarica($carica->getId()); foreach ($gruppi as $nome => $gruppo) { $data_inizio = split("/", $gruppo['data_inizio']); $di = "20" . $data_inizio[2] . "-" . $data_inizio[0] . "-" . $data_inizio[1]; if ($data_fine != '') { $data_fine = split("/", $gruppo['data_fine']); $df = "20" . $data_fine[2] . "-" . $data_fine[0] . "-" . $data_fine[1]; } else { $df = ''; } $ribelle_count = $parlamentare->getRibelleReport($carica->getId(), $report['carica'] == 'Deputato' ? 'C' : 'S', $nome, $di, $df); } print "id carica:" . $carica->getId() . " presenze:" . $presenze . " assenze:" . $report['Assente'] . " missioni:" . $report['In missione'] . "\n";
public function executeGetParlamentoIdParlamentariInCarica() { $ramo = $this->getRequestParameter('ramo'); $resp_node = new SimpleXMLExtended('<opp xmlns="' . $this->opp_ns . '" ' . ' xmlns:opp="' . $this->op_ns . '" ' . ' xmlns:xlink="' . $this->xlink_ns . '" >' . '</opp>'); // start producing xml $content_node = $resp_node->addChild('opp:content', null, $this->op_ns); $c = new Criteria(); if ($ramo == 'C') { $arr_tipo_id = array(1); } else { $arr_tipo_id = array(4, 5); } $c->add(OppCaricaPeer::TIPO_CARICA_ID, $arr_tipo_id, Criteria::IN); $c->add(OppCaricaPeer::DATA_FINE, NULL, Criteria::ISNULL); $parlamentari = OppCaricaPeer::doSelect($c); foreach ($parlamentari as $p) { $p_node = $content_node->addChild('parlamentare', $p->getId()); $p_node->addAttribute('parlamento_id', $p->getParliamentId()); } $xmlContent = $resp_node->asXML(); $this->_send_output($xmlContent); return sfView::NONE; }
<?php define('SF_ROOT_DIR', realpath(dirname(__FILE__) . '/..')); define('SF_APP', 'fe'); define('SF_ENVIRONMENT', 'dev'); define('SF_DEBUG', true); 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"; $cariche = OppCaricaPeer::doSelect(new Criteria()); foreach ($cariche as $carica) { $c = new Criteria(); $c->add(OppGruppoPeer::NOME, $carica->getGruppo(), Criteria::EQUAL); $gruppo = OppGruppoPeer::doSelectOne($c); if ($gruppo != null) { $carica_gruppo = new OppCaricaHasGruppo(); $carica_gruppo->setCaricaId($carica->getId()); $carica_gruppo->setGruppoId($gruppo->getId()); $carica_gruppo->setDataInizio($carica->getDataInizio()); $carica_gruppo->setDataFine($carica->getDataFine()); $carica_gruppo->save(); } else { echo "carica {$carica->getId}() gruppo non trovato\n"; } } print "done.\n";
<?php define('SF_ROOT_DIR', realpath(dirname(__FILE__) . '/..')); define('SF_APP', 'fe'); define('SF_ENVIRONMENT', 'dev'); define('SF_DEBUG', true); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; sfContext::getInstance(); $c = new Criteria(); $c->add(OppCaricaPeer::LEGISLATURA, 16); $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1); $c->add(OppCaricaPeer::DATA_INIZIO, '2008-04-29'); $c->add(OppCaricaPeer::DATA_FINE, NULL, Criteria::EQUAL); $deps = OppCaricaPeer::doSelect($c); foreach ($deps as $dep) { $c = new Criteria(); $c->add(OppVotazioneHasCaricaPeer::CARICA_ID, $dep->getId()); //$c->add(OppVotazioneHasCaricaPeer::VOTO,'Votazione annullata',Criteria::NOT_EQUAL); $count = OppVotazioneHasCaricaPeer::doCount($c); if ($count != 4825) { echo $dep->getId() . " " . $count . "\n"; } }
verifica l'esattezza del numero delle firme nei ddl di ogni singolo parlamentare Prende in input - il numero della legislatura */ 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(); include "../parser/simple_html_dom.php"; //Controllo per i senatori $c = new Criteria(); $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(1, 4), Criteria::IN); $c->add(OppCaricaPeer::LEGISLATURA, $argv[1]); $results = OppCaricaPeer::doSelect($c); foreach ($results as $result) { if ($result->getTipoCaricaId() == 1) { $c = new Criteria(); $c->add(OppAppoggioPeer::CARICA_ID, $result->getId()); $c->add(OppAppoggioPeer::TIPOLOGIA, 2); $c->add(OppAppoggioPeer::LEGISLATURA, $argv[1]); $aka = OppAppoggioPeer::doSelectOne($c); if ($aka) { $url = "http://www.senato.it/ricerche/sDDLa/risultati.ricerca?searchID=null&parms.output=&parms.statoDiv=0%2C0%2C0%2C1%2C0%2C0%2C0&parms.statoIcone=0%2C0%2C0%2C1%2C0%2C0%2C0&parms.sel=&parms.des=&parms.selmode=&parms.legislatura=" . $argv[1] . "&parms.ramo=+&parms.numeroFase=&parms.specification=&parms.testoScheda=&parms.natura=+&parms.lettura=+&parms.presentatoDal=&parms.presentatoAl=&parms.numeroDecretoLegge=&parms.decretoLeggeDel=&parms.numeroGazzettaDecreto=&parms.gazzettaDecretoDel=&parms.numeroLegge=&parms.leggeDel=&parms.numeroGazzettaLegge=&parms.gazzettaLeggeDel=&parms.statoDal=&parms.statoAl=&parms.tuttiTermini=T&parms.teseo=&parms.livelloTeseo=+&parms.naturaParlamentare=on&parms.deputatoIniziativa=" . $aka->getAka() . "&parms.iniziativa=&parms.tipoFirmatari=+&parms.assegnazione=&parms.ultimaAssegnazione=on&parms.assegnatoDal=&parms.assegnatoAl=&parms.pareri=&parms.criterioPareriAssegnazione=OR&parms.trattazione=&parms.trattatoDal=&parms.trattatoAl=&parms.fattoProprio=&parms.relatori=&parms.options.resultsPerPage=10&parms.ordinamento=DESC&parms.ordinaPerData=true&button-cerca=Cerca"; } else { echo "??? non trovo AKA per " . $result->getId() . "\n"; $url = ""; } } else { $parl_id = $result->getParliamentId();
public function executeUserVsSinglePolitician() { $user_id = $this->user->getId(); $pol_id = $this->politico->getId(); $leg = $this->legislatura; $arr = array(); $come = array(); $contro = array(); $indice = 0; $c = new Criteria(); $c->add(OppCaricaPeer::POLITICO_ID, $pol_id); $c->add(OppCaricaPeer::LEGISLATURA, $leg); $cariche = OppCaricaPeer::doSelect($c); foreach ($cariche as $carica) { $arr[] = $carica->getId(); } $c = new Criteria(); $c->add(sfVotingPeer::USER_ID, $user_id); $voting_objects = sfVotingPeer::doSelect($c); foreach ($voting_objects as $voting_object) { $c = new Criteria(); $c->addJoin(OppAttoPeer::ID, OppCaricaHasAttoPeer::ATTO_ID); $c->add(OppCaricaHasAttoPeer::CARICA_ID, $arr, Criteria::IN); $c->add(OppAttoPeer::ID, $voting_object->getVotableID()); $c->add(OppAttoPeer::LEGISLATURA, $leg); $c->add(OppCaricaHasAttoPeer::TIPO, 'R', Criteria::NOT_EQUAL); $firme = OppCaricaHasAttoPeer::doSelect($c); foreach ($firme as $firma) { $value = $this->calcolaIndice($firma->getOppAtto()->getTipoAttoId(), $firma->getTipo()); $indice = $indice + $value * $voting_object->getVoting(); if ($voting_object->getVoting() == 1) { if (!in_array($firma->getAttoId(), $come)) { $come[] = $firma->getAttoId(); } } else { if (!in_array($firma->getAttoId(), $contro)) { $contro[] = $firma->getAttoId(); } } } } $this->comes = $come; $this->contros = $contro; $this->indice = $indice; }