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