コード例 #1
0
 public static function getIndexChartsTopPoliticiansRealTime($ramo, $data, $limit, $group_id = null, $constituency = null, $con = null)
 {
     $items = array();
     $c = new Criteria();
     $c->addJoin(OppPoliticoPeer::ID, OppCaricaPeer::POLITICO_ID);
     //esclude i presidenti di camera e senato
     $c->add(OppPoliticoPeer::ID, array(686427, 687024), Criteria::NOT_IN);
     // prende solo i parlamentari in carica
     $c->add(OppCaricaPeer::DATA_FINE, NULL, Criteria::ISNULL);
     $c->addJoin(OppCaricaHasGruppoPeer::CARICA_ID, OppCaricaPeer::ID);
     $c->addJoin(OppCaricaHasGruppoPeer::GRUPPO_ID, OppGruppoPeer::ID);
     // prende il gruppo corrente
     $c->add(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL);
     if (!is_null($group_id)) {
         $c->add(OppGruppoPeer::ID, $group_id);
     }
     if ($constituency != '') {
         $c->add(OppCaricaPeer::CIRCOSCRIZIONE, $constituency);
     }
     if ($ramo == 'C') {
         $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1);
     } elseif ($ramo == 'S') {
         $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(4, 5), Criteria::IN);
     }
     $c->setLimit($limit);
     $results = OppCaricaPeer::doSelect($c);
     foreach ($results as $k => $r) {
         //$gruppi=$r->getOppCaricaHasGruppos();
         $gruppo = OppCaricaHasGruppoPeer::getGruppoCorrentePerCarica($r->getId());
         $items[$k]['id'] = $r->getId();
         $items[$k]['politico_id'] = $r->getPoliticoId();
         $items[$k]['nome'] = $r->getOppPolitico()->getNome();
         $items[$k]['cognome'] = $r->getOppPolitico()->getCognome();
         $items[$k]['sesso'] = $r->getOppPolitico()->getSesso();
         $items[$k]['acronimo'] = $gruppo->getAcronimo();
         $items[$k]['nome_gruppo'] = $gruppo->getNome();
         $items[$k]['circoscrizione'] = $r->getCircoscrizione();
         $items[$k]['perc_assenze'] = $r->getAssenze() * 100 / ($r->getAssenze() + $r->getPresenze() + $r->getMissioni());
         $items[$k]['assenze'] = $r->getAssenze();
         $items[$k]['perc_presenze'] = $r->getPresenze() * 100 / ($r->getAssenze() + $r->getPresenze() + $r->getMissioni());
         $items[$k]['presenze'] = $r->getPresenze();
         $items[$k]['perc_missioni'] = $r->getMissioni() * 100 / ($r->getAssenze() + $r->getPresenze() + $r->getMissioni());
         $items[$k]['missioni'] = $r->getMissioni();
         $items[$k]['votazioni'] = $r->getAssenze() + $r->getPresenze() + $r->getMissioni();
         $items[$k]['indice'] = $r->getIndice();
         $items[$k]['ribelle'] = $r->getRibelle();
         $items[$k]['perc_ribelle'] = $r->getRibelle() * 100 / $r->getPresenze();
     }
     return $items;
 }
コード例 #2
0
function link_to_politicoNomeTipoFromCaricaId($carica_id, $relevance)
{
    $carica = OppCaricaPeer::retrieveByPK($carica_id);
    if ($carica) {
        $politico = $carica->getOppPolitico();
        $str = $politico->__toString();
    } else {
        return "impossibile trovare carica per {$carica_id}";
    }
    $c = new Criteria();
    $c->add(OppCaricaHasGruppoPeer::CARICA_ID, $carica_id);
    $c->add(OppCaricaHasGruppoPeer::DATA_FINE, NULL);
    $gruppo_attuale = OppCaricaHasGruppoPeer::doSelectOne($c);
    $str = $str . " (" . $gruppo_attuale->getOppGruppo()->getAcronimo() . ")";
    // Visualizzazione dell'indice di rilevanza
    $punteggio = $relevance['punteggio'];
    return link_to($str, '@parlamentare?' . $politico->getUrlParams(), array('class' => 'folk2', 'title' => "punteggio: " . $punteggio));
}
コード例 #3
0
 public static function getIncaricoGruppoCorrente($carica_id, $gruppo_id)
 {
     $c = new Criteria();
     $c->add(OppCaricaHasGruppoPeer::CARICA_ID, $carica_id);
     $c->add(OppCaricaHasGruppoPeer::GRUPPO_ID, $gruppo_id);
     $c->add(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL);
     $g = OppCaricaHasGruppoPeer::doSelectOne($c);
     if ($g) {
         $c1 = new Criteria();
         $c1->add(self::CHG_ID, $g->getId());
         $c1->add(self::DATA_FINE, NULL, Criteria::ISNULL);
         $incarico = self::doSelectOne($c1);
         if ($incarico) {
             return $incarico->getIncarico();
         } else {
             return NULL;
         }
     }
 }
コード例 #4
0
    $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";
    $carica->setPresenze($presenze);
    $carica->setAssenze($report['Assente']);
    $carica->setMissioni($report['In missione']);
    $carica->save();
    if ($presenze != 0) {
        printf("ribelle %d volte su %d voti\n", $ribelle_count, $presenze);
    } else {
        print "ribelle 0 volte su 0 voti (0%)\n";
    }
    $c = new Criteria();
    $c->add(OppCaricaHasGruppoPeer::CARICA_ID, $carica->getId(), Criteria::EQUAL);
    $c->add(OppCaricaHasGruppoPeer::GRUPPO_ID, $gruppo['gruppo_id'], Criteria::EQUAL);
    $carica_gruppo = OppCaricaHasGruppoPeer::doSelectOne($c);
    $carica_gruppo->setRibelle($ribelle_count);
    $carica_gruppo->save();
}
print "done.\n";
コード例 #5
0
<?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\n";
$c = new Criteria();
$c->add(OppCaricaPeer::ID, $argv[1], Criteria::EQUAL);
$carica = OppCaricaPeer::doSelectOne($c);
if ($carica) {
    $parlamentare = OppPoliticoPeer::RetrieveByPk($carica->getPoliticoId());
    $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 ($gruppo['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);
        //CALCOLO VOTO GRUPPO
        $c = new Criteria();
        $c->clearSelectColumns();
        $c->addSelectColumn(OppVotazioneHasGruppoPeer::VOTAZIONE_ID);
        $c->addSelectColumn(OppVotazioneHasGruppoPeer::VOTO);
        $c->addJoin(OppVotazioneHasGruppoPeer::VOTAZIONE_ID, OppVotazionePeer::ID, Criteria::LEFT_JOIN);
コード例 #6
0
define('SF_ENVIRONMENT', 'prod');
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();
$leg = 16;
print "Fetching data... \n";
// DEPUTATI E SENATORI
$c = new Criteria();
$crit0 = $c->getNewCriterion(OppCaricaPeer::LEGISLATURA, $leg);
$crit1 = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, 1);
$crit2 = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, 4);
$crit3 = $c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, 5);
$crit1->addOr($crit2);
$crit1->addOr($crit3);
$crit0->addAnd($crit1);
$c->add($crit0);
$cariche = OppCaricaPeer::doSelect($c);
foreach ($cariche as $carica) {
    $c = new Criteria();
    $c->add(OppCaricaHasGruppoPeer::CARICA_ID, $carica->getId());
    $gruppi = OppCaricaHasGruppoPeer::doSelect($c);
    $n_ribellioni = 0;
    foreach ($gruppi as $gruppo) {
        if ($gruppo->getRibelle() != NULL) {
            $n_ribellioni = $n_ribellioni + $gruppo->getRibelle();
        }
    }
    //$carica->setRibelle($n_ribellioni);
    //$carica->save();
    echo $carica->getOppPolitico()->getCognome() . ": " . $n_ribellioni . "\n";
}
コード例 #7
0
 public function _get_most_something($crit, $tipo_carica, $field, $limit = null)
 {
     sfLoader::loadHelpers(array('Url', 'Tag', 'Slugger'));
     // if limit was not passed, then get it from config file
     if (is_null($limit)) {
         $limit = sfConfig::get('app_api_classifiche_limit', 5);
     }
     $c = clone $crit;
     $c->add(OppCaricaPeer::TIPO_CARICA_ID, $tipo_carica);
     $c->addDescendingOrderByColumn($field);
     $c->setLimit($limit);
     $rs = OppCaricaPeer::doSelectRS($c);
     $results = array();
     while ($rs->next()) {
         $record = array();
         $record['img_src'] = OppPoliticoPeer::getThumbUrl($rs->getInt(2));
         $record['nome'] = $rs->getString(3) . ' ' . $rs->getString(4);
         $record['nome_link'] = url_for('@parlamentare?id=' . $rs->getInt(2) . '&slug=' . slugify($record['nome']));
         $record['gruppi'] = '';
         $gruppi = OppCaricaHasGruppoPeer::doSelectGruppiPerCarica($rs->getInt(1));
         foreach ($gruppi as $nome => $gruppo) {
             if (!$gruppo['data_fine']) {
                 $record['gruppi'] = " ({$nome})";
             }
         }
         switch ($field) {
             case OppCaricaPeer::PRESENZE:
                 $num_votazioni = $rs->getInt(6) + $rs->getInt(7) + $rs->getInt(8);
                 $record['descr'] = "%s% - %d su %d";
                 $record['values'] = array(number_format($rs->getInt(6) * 100 / $num_votazioni, 2), $rs->getInt(6), $num_votazioni);
                 break;
             case OppCaricaPeer::ASSENZE:
                 $num_votazioni = $rs->getInt(6) + $rs->getInt(7) + $rs->getInt(8);
                 $record['descr'] = "%s% - %d su %d";
                 $record['values'] = array(number_format($rs->getInt(7) * 100 / $num_votazioni, 2), $rs->getInt(7), $num_votazioni);
                 break;
             case OppCaricaPeer::INDICE:
                 $record['descr'] = "indice di attivit&agrave;: %5.2f";
                 $record['values'] = array($rs->getFloat(9));
                 break;
             case OppPoliticoPeer::N_MONITORING_USERS:
                 $record['descr'] = "&egrave; monitorato da %d utenti";
                 $record['values'] = array($rs->getInt(13));
                 break;
             case OppCaricaPeer::RIBELLE:
                 $record['descr'] = "voti diversi dal suo gruppo: %d su %d";
                 $record['values'] = array($rs->getInt(12), $rs->getInt(6));
                 break;
         }
         $results[] = $record;
     }
     return $results;
 }
コード例 #8
0
 public function executeOrgani()
 {
     $c = new Criteria();
     if ($this->getRequestParameter('ramo') == 'camera') {
         $this->getResponse()->setTitle('Componenti e statistiche di commissioni e giunte della Camera - ' . sfConfig::get('app_main_title'));
         $this->response->addMeta('description', 'Il potere dei gruppi parlamentari in tutti gli organi della Camera dei Deputati', true);
         $c->add(OppSedePeer::RAMO, 'C');
     } else {
         $this->getResponse()->setTitle('Componenti e statistiche di commissioni e giunte del Senato - ' . sfConfig::get('app_main_title'));
         $this->response->addMeta('description', 'Il potere dei gruppi parlamentari in tutti gli organi del Senato', true);
         $c->add(OppSedePeer::RAMO, 'S');
     }
     $c->add(OppSedePeer::TIPOLOGIA, 'Presidenza');
     $this->comm = OppSedePeer::doSelectOne($c);
     $this->ramo = $this->getRequestParameter('ramo');
     $gruppi_all = array();
     $gruppi_p = array();
     $gruppi_q = array();
     $gruppi_vp = array();
     $gruppi_s = array();
     $gruppi_c = array();
     $membri_regione = array(21 => 0, 23 => 0, 25 => 0, 32 => 0, 34 => 0, 36 => 0, 42 => 0, 45 => 0, 52 => 0, 55 => 0, 57 => 0, 62 => 0, 65 => 0, 67 => 0, 72 => 0, 75 => 0, 77 => 0, 78 => 0, 82 => 0, 88 => 0);
     $c = new Criteria();
     $c->addJoin(OppCaricaInternaPeer::CARICA_ID, OppCaricaPeer::ID);
     $c->addJoin(OppCaricaInternaPeer::SEDE_ID, OppSedePeer::ID);
     if ($this->getRequestParameter('ramo') == 'camera') {
         $c->add(OppSedePeer::RAMO, array('C', 'CS'), Criteria::IN);
         $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1);
     } else {
         $c->add(OppSedePeer::RAMO, array('S', 'CS'), Criteria::IN);
         $c->add(OppCaricaPeer::TIPO_CARICA_ID, 4);
     }
     $c->add(OppCaricaInternaPeer::DATA_FINE, NULL, Criteria::ISNULL);
     $membri = OppCaricaInternaPeer::doSelect($c);
     foreach ($membri as $membro) {
         $regione = strtolower(str_replace(array(" ", "'", "-"), "_", $membro->getOppCarica()->getCircoscrizione()));
         $codice_regione = sfConfig::get('app_circoscrizioni_' . $regione);
         if (array_key_exists($codice_regione, $membri_regione)) {
             $membri_regione[$codice_regione] = $membri_regione[$codice_regione] + 1;
         }
         $gruppo_id = OppCaricaHasGruppoPeer::getGruppoCorrentePerCarica($membro->getCaricaId())->getId();
         $tipo_carica = OppTipoCaricaPeer::retrieveByPk($membro->getTipoCaricaId())->getNome();
         if (array_key_exists($gruppo_id, $gruppi_all)) {
             $gruppi_all[$gruppo_id] = $gruppi_all[$gruppo_id] + 1;
         } else {
             $gruppi_all[$gruppo_id] = 1;
         }
         if ($tipo_carica == 'Presidente') {
             if (array_key_exists($gruppo_id, $gruppi_p)) {
                 $gruppi_p[$gruppo_id] = $gruppi_p[$gruppo_id] + 1;
             } else {
                 $gruppi_p[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Questore') {
             if (array_key_exists($gruppo_id, $gruppi_q)) {
                 $gruppi_q[$gruppo_id] = $gruppi_q[$gruppo_id] + 1;
             } else {
                 $gruppi_q[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Vicepresidente') {
             if (array_key_exists($gruppo_id, $gruppi_vp)) {
                 $gruppi_vp[$gruppo_id] = $gruppi_vp[$gruppo_id] + 1;
             } else {
                 $gruppi_vp[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Segretario') {
             if (array_key_exists($gruppo_id, $gruppi_s)) {
                 $gruppi_s[$gruppo_id] = $gruppi_s[$gruppo_id] + 1;
             } else {
                 $gruppi_s[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Componente') {
             if (array_key_exists($gruppo_id, $gruppi_c)) {
                 $gruppi_c[$gruppo_id] = $gruppi_c[$gruppo_id] + 1;
             } else {
                 $gruppi_c[$gruppo_id] = 1;
             }
         }
     }
     $this->gruppi_all = $gruppi_all;
     $this->gruppi_p = $gruppi_p;
     $this->gruppi_q = $gruppi_q;
     $this->gruppi_vp = $gruppi_vp;
     $this->gruppi_s = $gruppi_s;
     $this->gruppi_c = $gruppi_c;
     $this->membri_regione = $membri_regione;
 }
コード例 #9
0
      <?php 
    $tr_class = $tr_class == 'even' ? 'odd' : 'even';
    ?>
        <th scope="row">
          <p class="politician-id">
            <?php 
    echo image_tag('/images/ico-type-politico-portrait.png', array('width' => '40', 'height' => '53', 'highsrc' => OppPoliticoPeer::getThumbUrl($parlamentari->getInt(2))));
    ?>
	
            <?php 
    use_helper('Slugger');
    $slugParlamentare = slugify($parlamentari->getString(3) . ' ' . $parlamentari->getString(4));
    echo link_to($parlamentari->getString(3) . ' ' . $parlamentari->getString(4), '@parlamentare?id=' . $parlamentari->getInt(2) . '&slug=' . $slugParlamentare);
    ?>
            <?php 
    $gruppi = OppCaricaHasGruppoPeer::doSelectGruppiPerCarica($parlamentari->getInt(1));
    ?>
  	
	        <?php 
    foreach ($gruppi as $nome => $gruppo) {
        ?>
	          <?php 
        if (!$gruppo['data_fine']) {
            ?>
		        <?php 
            print " (" . $nome . ")";
            ?>
	          <?php 
        }
        ?>
 
コード例 #10
0
        ?>
	                (
	                <?php 
        if (OppCaricaHasGruppoPeer::getGruppoCorrentePerCarica($parlamentari->getInt(1))) {
            ?>
	                  <?php 
            echo OppCaricaHasGruppoPeer::getGruppoCorrentePerCarica($parlamentari->getInt(1))->getAcronimo();
            ?>
	                <?php 
        }
        ?>
	                <?php 
        $gruppi = OppCaricaHasGruppoPeer::doSelectTuttiGruppiPerCarica($parlamentari->getInt(1));
        ?>
	                <?php 
        if (count($gruppi) > 1 || !OppCaricaHasGruppoPeer::getGruppoCorrentePerCarica($parlamentari->getInt(1))) {
            ?>
	                  <span style="font-size:10px">
	                    <?php 
            if ($parlamentari->getString(9) != NULL) {
                ?>
	                      <?php 
                echo "<span style='background-color:yellow;'>in carica fino al " . format_date($parlamentari->getString(9), 'dd/MM/yyyy') . "</span>";
                ?>
	                    <?php 
            }
            ?>
	                  <?php 
            foreach ($gruppi as $g) {
                ?>
	                    <?php 
コード例 #11
0
 public static function maggioranzaSalva($leg = 17, $votazione_id = 0)
 {
     $maggioranza_salva = array();
     $c = new Criteria();
     $c->addJoin(OppVotazionePeer::SEDUTA_ID, OppSedutaPeer::ID);
     $c->add(OppVotazionePeer::IS_MAGGIORANZA_SOTTO_SALVA, 1, Criteria::NOT_EQUAL);
     $crit0 = $c->getNewCriterion(OppVotazionePeer::ESITO, 'Appr.');
     $crit1 = $c->getNewCriterion(OppVotazionePeer::ESITO, 'Resp.');
     $crit0->addOr($crit1);
     $c->add($crit0);
     $c->add(OppSedutaPeer::LEGISLATURA, $leg, Criteria::EQUAL);
     $c->add(OppVotazionePeer::TITOLO, '%annullata%', Criteria::NOT_LIKE);
     // Prendi solo votazioni durante il Governo Renzi
     $c->add(OppSedutaPeer::DATA, '2014-02-22', Criteria::GREATER_EQUAL);
     $c->addDescendingOrderByColumn(OppSedutaPeer::DATA);
     if ($votazione_id > 0) {
         $c->add(OppVotazionePeer::ID, $votazione_id);
     }
     $votazioni_magg_su = OppVotazionePeer::doSelect($c);
     foreach ($votazioni_magg_su as $votazione) {
         //echo $votazione->getId();
         if ($votazione->getOppSeduta()->getRamo() == 'C') {
             $ramo = 'camera';
         } else {
             $ramo = 'senato';
         }
         $arr_opposizione = array();
         $c = new Criteria();
         $c->addJoin(OppGruppoPeer::ID, OppGruppoRamoPeer::GRUPPO_ID);
         $c->add(OppGruppoRamoPeer::DATA_INIZIO, $votazione->getOppSeduta()->getData(), Criteria::LESS_EQUAL);
         $crit0 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, NULL, Criteria::ISNULL);
         $crit1 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, $votazione->getOppSeduta()->getData(), Criteria::GREATER_EQUAL);
         $crit0->addOr($crit1);
         $c->add($crit0);
         $c->add(OppGruppoRamoPeer::RAMO, $votazione->getOppSeduta()->getRamo());
         $gruppi = OppGruppoPeer::doSelect($c);
         foreach ($gruppi as $g) {
             if (!OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($g->getId(), $votazione->getOppSeduta()->getData()) && $g->getNome() != 'Gruppo Misto') {
                 $voto_gruppo = OppVotazioneHasGruppoPeer::getVotoGruppoVotazione($g->getId(), $votazione->getId());
                 if ($votazione->getEsito() == 'APPROVATA' && $voto_gruppo == 'Contrario' && $ramo == 'camera' || $votazione->getEsito() == 'RESPINTA' && $voto_gruppo == 'Favorevole' && $ramo == 'camera' || $votazione->getEsito() == 'APPROVATA' && ($voto_gruppo == 'Contrario' || $voto_gruppo == 'Astenuto') && $ramo == 'senato' || $votazione->getEsito() == 'RESPINTA' && $voto_gruppo == 'Favorevole' && $ramo == 'senato') {
                     //echo "\n".$votazione->getEsito()."-".$voto_gruppo."- $ramo\n";
                     //echo "\n".$g->getId()."\n\n";
                     $c = new Criteria();
                     $c->add(OppCaricaHasGruppoPeer::GRUPPO_ID, $g->getId());
                     $c->add(OppCaricaHasGruppoPeer::DATA_INIZIO, $votazione->getOppSeduta()->getData(), Criteria::LESS_EQUAL);
                     $crit0 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL);
                     $crit1 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, $votazione->getOppSeduta()->getData(), Criteria::GREATER_EQUAL);
                     $crit0->addOr($crit1);
                     $c->add($crit0);
                     $parlamentari = OppCaricaHasGruppoPeer::doSelect($c);
                     //$parlamentari = OppCaricaHasGruppoPeer::getParlamentariGruppoData($g->getId(),$votazione->getOppSeduta()->getData());
                     foreach ($parlamentari as $p) {
                         $arr_opposizione[] = $p->getCaricaId();
                     }
                 }
             }
         }
         $c = new Criteria();
         $c->add(OppVotazioneHasCaricaPeer::VOTAZIONE_ID, $votazione->getId());
         $c->add(OppVotazioneHasCaricaPeer::CARICA_ID, $arr_opposizione, Criteria::IN);
         if ($votazione->getEsito() == 'APPROVATA' && $votazione->getOppSeduta()->getRamo() == 'C') {
             $crit0 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Assente');
             $crit1 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Favorevole');
             $crit2 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Astenuto');
             $crit0->addOr($crit1);
             $crit0->addOr($crit2);
             $c->add($crit0);
         } elseif ($votazione->getEsito() == 'RESPINTA') {
             $crit0 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Assente');
             $crit1 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Contrario');
             $crit2 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Astenuto');
             $crit0->addOr($crit1);
             $crit0->addOr($crit2);
             $c->add($crit0);
         } elseif ($votazione->getEsito() == 'APPROVATA' && $votazione->getOppSeduta()->getRamo() == 'S') {
             $crit0 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Assente');
             $crit1 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Favorevole');
             $crit0->addOr($crit1);
             $c->add($crit0);
         }
         $cn = OppVotazioneHasCaricaPeer::doCount($c);
         if ($cn >= $votazione->getMargine()) {
             //echo "!!!!!!!$cn  ".$votazione->getId()."\n";
             $maggioranza_salva[] = $votazione;
         }
     }
     return $maggioranza_salva;
 }
コード例 #12
0
       }
       ?>
               </th>
               <th scope="row" style="border-bottom:0px;">
                 <?php 
       foreach ($lontani as $pos => $lontano) {
           ?>
                 <p class="politician-id">
                 <?php 
           echo image_tag(OppPoliticoPeer::getThumbUrl($lontano[1]->getOppPolitico()->getId()), 'icona parlamentare');
           ?>
                  <?php 
           echo link_to($lontano[1]->getOppPolitico()->getNome() . " " . $lontano[1]->getOppPolitico()->getCognome(), '@parlamentare?' . $lontano[1]->getOppPolitico()->getUrlParams());
           ?>
                <?php 
           $gruppi = OppCaricaHasGruppoPeer::doSelectGruppiPerCarica($lontano[1]->getId());
           ?>
 	
                  <?php 
           foreach ($gruppi as $nome => $gruppo) {
               ?>
                  <?php 
               if (!$gruppo['data_fine']) {
                   ?>
                   <?php 
                   print " (" . $nome . ")";
                   ?>
                  <?php 
               }
               ?>
                  <?php 
コード例 #13
0
 public function executeCommissioniPermanenti()
 {
     $gruppi_all = array();
     $gruppi_p = array();
     $gruppi_q = array();
     $gruppi_vp = array();
     $gruppi_s = array();
     $gruppi_c = array();
     $membri_regione = array(21 => 0, 23 => 0, 25 => 0, 32 => 0, 34 => 0, 36 => 0, 42 => 0, 45 => 0, 52 => 0, 55 => 0, 57 => 0, 62 => 0, 65 => 0, 67 => 0, 72 => 0, 75 => 0, 77 => 0, 78 => 0, 82 => 0, 88 => 0);
     $c = new Criteria();
     $c->addJoin(OppCaricaInternaPeer::CARICA_ID, OppCaricaPeer::ID);
     $c->add(OppCaricaPeer::LEGISLATURA, $this->leg);
     $c->add(OppCaricaInternaPeer::SEDE_ID, $this->sede_id);
     $c->add(OppCaricaInternaPeer::DATA_FINE, NULL, Criteria::ISNULL);
     $membri = OppCaricaInternaPeer::doSelect($c);
     foreach ($membri as $membro) {
         $regione = strtolower(str_replace(array(" ", "'", "-"), "_", $membro->getOppCarica()->getCircoscrizione()));
         $codice_regione = sfConfig::get('app_circoscrizioni_' . $regione);
         if (array_key_exists($codice_regione, $membri_regione)) {
             $membri_regione[$codice_regione] = $membri_regione[$codice_regione] + 1;
         }
         $gruppo_id = OppCaricaHasGruppoPeer::getGruppoCorrentePerCarica($membro->getCaricaId())->getId();
         $tipo_carica = OppTipoCaricaPeer::retrieveByPk($membro->getTipoCaricaId())->getNome();
         if (array_key_exists($gruppo_id, $gruppi_all)) {
             $gruppi_all[$gruppo_id] = $gruppi_all[$gruppo_id] + 1;
         } else {
             $gruppi_all[$gruppo_id] = 1;
         }
         if ($tipo_carica == 'Presidente') {
             if (array_key_exists($gruppo_id, $gruppi_p)) {
                 $gruppi_p[$gruppo_id] = $gruppi_p[$gruppo_id] + 1;
             } else {
                 $gruppi_p[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Questore') {
             if (array_key_exists($gruppo_id, $gruppi_q)) {
                 $gruppi_q[$gruppo_id] = $gruppi_q[$gruppo_id] + 1;
             } else {
                 $gruppi_q[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Vicepresidente') {
             if (array_key_exists($gruppo_id, $gruppi_vp)) {
                 $gruppi_vp[$gruppo_id] = $gruppi_vp[$gruppo_id] + 1;
             } else {
                 $gruppi_vp[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Segretario') {
             if (array_key_exists($gruppo_id, $gruppi_s)) {
                 $gruppi_s[$gruppo_id] = $gruppi_s[$gruppo_id] + 1;
             } else {
                 $gruppi_s[$gruppo_id] = 1;
             }
         }
         if ($tipo_carica == 'Componente') {
             if (array_key_exists($gruppo_id, $gruppi_c)) {
                 $gruppi_c[$gruppo_id] = $gruppi_c[$gruppo_id] + 1;
             } else {
                 $gruppi_c[$gruppo_id] = 1;
             }
         }
     }
     $this->gruppi_all = $gruppi_all;
     $this->gruppi_p = $gruppi_p;
     $this->gruppi_q = $gruppi_q;
     $this->gruppi_vp = $gruppi_vp;
     $this->gruppi_s = $gruppi_s;
     $this->gruppi_c = $gruppi_c;
     $this->membri_regione = $membri_regione;
 }
 $crit0->addOr($crit1);
 $c->add($crit0);
 $c->add(OppGruppoRamoPeer::RAMO, $votazione->getOppSeduta()->getRamo());
 $gruppi = OppGruppoPeer::doSelect($c);
 foreach ($gruppi as $g) {
     if (!OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($g->getId(), $votazione->getOppSeduta()->getData()) and $g->getNome() != 'Gruppo Misto') {
         $voto_gruppo = OppVotazioneHasGruppoPeer::getVotoGruppoVotazione($g->getId(), $votazione->getId());
         if ($votazione->getEsito() == 'APPROVATA' && $voto_gruppo == 'Contrario' && $ramo == 'camera' || $votazione->getEsito() == 'RESPINTA' && $voto_gruppo == 'Favorevole' && $ramo == 'camera' || $votazione->getEsito() == 'APPROVATA' && ($voto_gruppo == 'Contrario' || $voto_gruppo == 'Astenuto') && $ramo == 'senato' || $votazione->getEsito() == 'RESPINTA' && $voto_gruppo == 'Favorevole' && $ramo == 'senato') {
             $c = new Criteria();
             $c->add(OppCaricaHasGruppoPeer::GRUPPO_ID, $g->getId());
             $c->add(OppCaricaHasGruppoPeer::DATA_INIZIO, $votazione->getOppSeduta()->getData(), Criteria::LESS_EQUAL);
             $crit0 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL);
             $crit1 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, $votazione->getOppSeduta()->getData(), Criteria::GREATER_EQUAL);
             $crit0->addOr($crit1);
             $c->add($crit0);
             $parlamentari = OppCaricaHasGruppoPeer::doSelect($c);
             //$parlamentari = OppCaricaHasGruppoPeer::getParlamentariGruppoData($g->getId(),$votazione->getOppSeduta()->getData());
             foreach ($parlamentari as $p) {
                 $arr_opposizione[] = $p->getCaricaId();
             }
         }
     }
 }
 $c = new Criteria();
 $c->add(OppVotazioneHasCaricaPeer::VOTAZIONE_ID, $votazione->getId());
 $c->add(OppVotazioneHasCaricaPeer::CARICA_ID, $arr_opposizione, Criteria::IN);
 if ($votazione->getEsito() == 'APPROVATA' && $votazione->getOppSeduta()->getRamo() == 'C') {
     $crit0 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Assente');
     $crit1 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Favorevole');
     $crit2 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Astenuto');
     $crit0->addOr($crit1);
コード例 #15
0
 public function executeDdl2legge()
 {
     if ($this->gruppo != NULL) {
         $c = new Criteria();
         $c->add(OppGruppoPeer::ACRONIMO, $this->gruppo);
         $gruppo = OppGruppoPeer::doSelectOne($c);
         $cariche = OppCaricaHasGruppoPeer::getCarichePerGruppo($gruppo->getId(), 1);
         foreach ($cariche as $carica) {
             $componenti_gruppo[] = $carica->getCaricaId();
         }
     }
     if ($this->gruppo != NULL) {
         $c = new Criteria();
         $c->add(OppGruppoPeer::ACRONIMO, $this->gruppo);
         $gruppo = OppGruppoPeer::doSelectOne($c);
         $cariche = OppCaricaHasGruppoPeer::getCaricheGovernoPerGruppo($gruppo->getId(), 1);
         foreach ($cariche as $carica) {
             $componenti_gruppo[] = $carica;
         }
     }
     $arrs = array();
     $arr_alls = array();
     foreach (array(1, 2, 4) as $i) {
         $c = new Criteria();
         if ($this->gruppo != NULL) {
             $c->addJoin(OppAttoPeer::ID, OppCaricaHasAttoPeer::ATTO_ID);
             $c->add(OppCaricaHasAttoPeer::CARICA_ID, $componenti_gruppo, Criteria::IN);
             $c->add(OppCaricaHasAttoPeer::TIPO, 'P');
         }
         $c->add(OppAttoPeer::TIPO_ATTO_ID, 1);
         $c->add(OppAttoPeer::LEGISLATURA, $this->leg);
         $c->add(OppAttoPeer::INIZIATIVA, $i);
         $c->setDistinct(OppAttoPeer::ID);
         $atti = OppAttoPeer::doSelect($c);
         $c = new Criteria();
         if ($this->gruppo != NULL) {
             $c->addJoin(OppAttoPeer::ID, OppCaricaHasAttoPeer::ATTO_ID);
             $c->add(OppCaricaHasAttoPeer::CARICA_ID, $componenti_gruppo, Criteria::IN);
             $c->add(OppCaricaHasAttoPeer::TIPO, 'P');
         }
         $c->addJoin(OppAttoPeer::ID, OppAttoHasIterPeer::ATTO_ID);
         $c->add(OppAttoPeer::TIPO_ATTO_ID, 1);
         $c->add(OppAttoPeer::LEGISLATURA, $this->leg);
         $c->add(OppAttoPeer::INIZIATIVA, $i);
         $c->add(OppAttoHasIterPeer::ITER_ID, 16);
         $c->setDistinct(OppAttoPeer::ID);
         $leggi = OppAttoHasIterPeer::doSelect($c);
         $tempo_medio = 0;
         foreach ($leggi as $legge) {
             $ddl = $legge->getOppAtto();
             while ($ddl->getPred() != NULL) {
                 $ddl = OppAttoPeer::retrieveByPk($ddl->getPred());
             }
             //$this->data_pres=$ddl->getDataPres();
             //$this->data_appr=$legge->getData();
             $data_pres = strtotime($ddl->getDataPres());
             $data_appr = strtotime($legge->getData());
             $tempo_medio = $tempo_medio + ($data_appr - $data_pres) / 86400;
             $arr_alls[] = array($legge->getOppAtto(), ($data_appr - $data_pres) / 86400);
         }
         if (count($leggi) > 0) {
             $tempo_medio = intval($tempo_medio / count($leggi));
         } else {
             $tempo_medio = $tempo_medio;
         }
         $arrs[] = array(count($atti), count($leggi), $tempo_medio);
     }
     $this->arrs = $arrs;
     function cmp($a, $b)
     {
         if ($a[1] == $b[1]) {
             return 0;
         }
         return $a[1] < $b[1] ? -1 : 1;
     }
     usort($arr_alls, "cmp");
     $this->arr_alls = $arr_alls;
 }
コード例 #16
0
      <?php 
    } else {
        ?>
	    in carica
      <?php 
    }
    ?>
		
	</td> 	
    <td><?php 
    echo $carica['carica'];
    ?>
</td>
	<td>
	  <?php 
    $gruppi = OppCaricaHasGruppoPeer::doSelectGruppiPerCarica($id);
    ?>
	
	  <?php 
    foreach ($gruppi as $nome => $gruppo) {
        ?>
	    <?php 
        if ($gruppo['data_fine']) {
            ?>
		  <?php 
            printf('dal %s al %s : %s', format_date($gruppo['data_inizio'], 'dd/MM/yyyy'), format_date($gruppo['data_fine'], 'dd/MM/yyyy'), $nome);
            ?>
<br />
	    <?php 
        } else {
            ?>
コード例 #17
0
		  <?php 
    $tr_class = $tr_class == 'even' ? 'odd' : 'even';
    ?>
		    <th scope="row">  
		    <p class="politician-id">
		      <?php 
    echo image_tag(OppPoliticoPeer::getThumbUrl($k), array('width' => '40', 'height' => '53'));
    ?>
		    <?php 
    $politico = OppPoliticoPeer::retrieveByPk($k);
    ?>
		    <?php 
    echo (OppCaricaPeer::retrieveByPk($c[1])->getTipoCaricaId() == 1 ? 'On. ' : 'Sen. ') . link_to($politico->getCognome() . " " . $politico->getNome(), "@parlamentare?" . $politico->getUrlParams());
    ?>
 (<?php 
    echo OppCaricaHasGruppoPeer::getGruppoCorrentePerCarica($c[1])->getAcronimo();
    ?>
)
		    </p>
		    </th>
		    <td><?php 
    echo $c[0];
    ?>
</td>
		  </tr>  
		<?php 
}
?>
      
		</tbody>
		</table>
コード例 #18
0
 /**
  * restituisce tutti i componenti di un gruppo, se data_fine è zero (default, restituisce i componenti attuali, se 1 quelli di tutta la legislatura)
  *
  * @param integer $carica_id 
  * @return void
  * @author Ettore Di Cesare
  */
 public static function getCarichePerGruppo($gruppo_id, $data_fine = 0, $leg = 16)
 {
     $c = new Criteria();
     $c->addJoin(OppCaricaHasGruppoPeer::GRUPPO_ID, OppGruppoPeer::ID);
     $c->addJoin(OppCaricaHasGruppoPeer::CARICA_ID, OppCaricaPeer::ID);
     $c->add(OppCaricaPeer::LEGISLATURA, $leg, Criteria::EQUAL);
     $c->add(OppCaricaHasGruppoPeer::GRUPPO_ID, $gruppo_id, Criteria::EQUAL);
     if ($data_fine == 0) {
         $c->add(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL);
     }
     $rs = OppCaricaHasGruppoPeer::doSelect($c);
     if ($rs) {
         return $rs;
     } else {
         return NULL;
     }
 }
コード例 #19
0
        use_helper('Slugger');
        $slugParlamentare = slugify($parlamentari->getString(2) . ' ' . $parlamentari->getString(3));
        echo ($parlamentari->getInt(6) == 1 ? 'On. ' : 'Sen. ') . link_to($parlamentari->getString(2) . ' ' . $parlamentari->getString(3), '@parlamentare?id=' . $parlamentari->getInt(1) . '&slug=' . $slugParlamentare);
        ?>
      </p>
      </th>
      <td>
      <span class="small">il <?php 
        echo date('d/m/Y', strtotime($parlamentari->getString(5)));
        ?>
 ha aderito al gruppo</span><br/><strong><?php 
        echo $parlamentari->getString(4);
        ?>
</strong>
      <?php 
        $gruppo = OppCaricaHasGruppoPeer::getGruppoPerParlamentareAllaData($parlamentari->getInt(8), date('Y-m-d', strtotime($parlamentari->getString(5)) - 1));
        ?>
      <?php 
        if (count($gruppo) == 1) {
            ?>
        <br/><span class="small"> abbandonando il gruppo</span><br/><?php 
            echo OppGruppoPeer::retrieveByPk($gruppo['gruppo_id'])->getNome();
            ?>
      <?php 
        }
        ?>
      </td>              
    </tr>
  <?php 
    }
    ?>