public function executeLastPoliticoRadicali()
 {
     $id = $this->getRequestParameter('id');
     $politico = OppPoliticoPeer::retrieveByPk($id);
     $this->forward404Unless($politico instanceof OppPolitico);
     $c = oppNewsPeer::getNewsForItemCriteria('OppPolitico', $id);
     $c->addDescendingOrderByColumn(NewsPeer::DATE);
     $c->add(NewsPeer::GENERATOR_PRIMARY_KEYS, null, Criteria::ISNOTNULL);
     $c->setLimit(30);
     $news = oppNewsPeer::doSelect($c);
     $feed = $this->_make_feed_from_news('Ultime per ' . $politico, '@parlamentare?id=' . $id . '&slug=' . Util::slugify($politico), $news, 2);
     $this->_send_output($feed);
     return sfView::NONE;
 }
%)|da 10 a 15 anni di incarichi: <?php 
    echo $sg[2] . ' (' . round($sg[2] * 100 / array_sum($sg), 2);
    ?>
%)|da 5 a 10 anni di incarichi: <?php 
    echo $sg[1] . ' (' . round($sg[1] * 100 / array_sum($sg), 2);
    ?>
%)|con+meno di 5 anni di incarichi: <?php 
    echo $sg[0] . ' (' . round($sg[0] * 100 / array_sum($sg), 2);
    ?>
%)&chd=t:<?php 
    echo "{$sg['4']},{$sg['3']},{$sg['2']},{$sg['1']},{$sg['0']}";
    ?>
&chco=FF0000,FFFF10">
	    <p>
	    Con maggior anni di incarichi: <?php 
    echo link_to(OppPoliticoPeer::retrieveByPk($max_gruppi[$k][0])->getNome() . " " . OppPoliticoPeer::retrieveByPk($max_gruppi[$k][0])->getCognome(), "@parlamentare?" . OppPoliticoPeer::retrieveByPk($max_gruppi[$k][0])->getUrlParams()) . ", " . $max_gruppi[$k][1];
    ?>
.
	    </p>
	  <?php 
}
?>
		
	</div>
</div>

<?php 
slot('breadcrumbs');
?>
  <?php 
echo link_to("home", "@homepage");
<?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";
$c = new Criteria();
$parlamentare = OppPoliticoPeer::retrieveByPk(4);
$xml = simplexml_load_file('http://openpolis.depplab.net/api/politician/id/4');
$picture = $xml->politician->image;
$parlamentare->setPicture($picture);
$parlamentare->save();
/*	
foreach ($parlamentari as $parlamentare)
{
  $xml = simplexml_load_file('http://www.openpolis.it/api/politician/id/'.$parlamentare->getOpId());
  $nome = $xml->politician->firstname;
  $cognome = $xml->politician->lastname;
  $politico = new OppPolitico();
  $politico->setId($parlamentare->getOpId());
  $politico->setNome($nome);
  $politico->setCognome($cognome);
  $politico->save();
  echo "$nome $cognome\n";
}
*/
print "done.\n";
	            <?php 
    $c_signers = OppEmendamentoPeer::doSelectCoFirmatari($emendamento->getId());
    ?>
	            <?php 
    if (count($c_signers) > 0) {
        ?>
	            <span style="margin-bottom: 0px; font-size:13px; font-weight:normal">e altri <?php 
        echo count($c_signers);
        ?>
 cofirmatari ... [ <a class="btn-open action" href="#" style="display: inline;">apri</a> <a style="display: none;" class="btn-close action" href="#">chiudi</a> ]</span>
	              <div style="display: none; line-height:1.2em;font-size:13px; font-weight:normal;" class="more-results float-container">
	              <?php 
        $i = 0;
        foreach ($c_signers as $key => $cf) {
            $i++;
            $pol = OppPoliticoPeer::retrieveByPk($key);
            echo link_to($pol->getNome() . " " . $pol->getCognome(), '@parlamentare?' . $pol->getUrlParams()) . ($i < count($c_signers) ? ', ' : '.');
        }
        ?>
	               </div>

	             <?php 
    }
    ?>


	          </h6></li></ul>                  
	        <?php 
}
?>
 public function executeWidget()
 {
     function tronca($testo, $caratteri)
     {
         if (strlen($testo) <= $caratteri) {
             return $testo;
         }
         $nuovo = wordwrap($testo, $caratteri, "|");
         $nuovotesto = explode("|", $nuovo);
         return $nuovotesto[0] . "...";
     }
     $this->bg_color = $this->getRequestParameter('bg_color');
     $this->text_color = $this->getRequestParameter('textcolor');
     $this->pos = $this->getRequestParameter('pos');
     // $this->border_color=retrieveByPk($this->getRequestParameter('border_color'));
     $atto = OppAttoPeer::retrieveByPk($this->getRequestParameter('bill_id'));
     $this->id = $atto->getId();
     $this->tipo = $atto->getOppTipoAtto()->getDescrizione();
     if (substr_count($this->tipo, 'interrogazione') > 0) {
         $this->tipo = 'interrrogazione';
     }
     if (substr_count($this->tipo, 'risoluzione') > 0) {
         $this->tipo = 'risoluzione';
     }
     if (substr_count($this->tipo, 'odg') > 0) {
         $this->tipo = 'ordine del giorno';
     }
     if (substr_count($this->tipo, 'dlgs') > 0) {
         $this->tipo = 'dlgs';
     }
     $this->ramo = $atto->getRamo();
     $this->numfase = $atto->getNumfase();
     $this->datapres = $atto->getDataPres();
     $this->status = $atto->getStatoFase();
     $this->status_data = $atto->getStatoLastDate();
     $this->fav = $atto->getUtFav();
     $this->contr = $atto->getUtContr();
     $this->monitor = $atto->getNMonitoringUsers();
     $this->commenti = $atto->getNbPublicComments();
     $titolo = "";
     $titolos = explode(" ", Text::denominazioneAtto($atto, 'list'));
     for ($x = 1; $x < count($titolos); $x++) {
         $titolo = $titolo . " " . $titolos[$x];
     }
     $this->titolo = tronca(trim($titolo), 180);
     $f_signers = OppAttoPeer::doSelectPrimiFirmatari($atto->getId());
     if (count($f_signers) > 0) {
         $this->firmatario = OppPoliticoPeer::retrieveByPk(key($f_signers));
     }
 }
 public function executeComparaDeputati()
 {
     if ($this->hasRequestParameter('id1') && $this->hasRequestParameter('id2') && $this->hasRequestParameter('ramo')) {
         $this->ramo = $this->getRequestParameter('ramo');
         if ($this->getRequestParameter('id1') != 0 && $this->getRequestParameter('id2') != 0) {
             $this->session = $this->getUser();
             $this->query = $this->getRequestParameter('query', '');
             if ($this->hasRequestParameter('itemsperpage')) {
                 $this->getUser()->setAttribute('itemsperpage', $this->getRequestParameter('itemsperpage'));
             }
             $itemsperpage = $this->getUser()->getAttribute('itemsperpage', sfConfig::get('app_pagination_limit'));
             $this->pager = new sfPropelPager('OppVotazione', $itemsperpage);
             // estrae le cariche dei due parlamentari
             $politico = OppPoliticoPeer::retrieveByPk($this->getRequestParameter('id1'));
             $carica1 = $politico->getCaricaDepSenCorrente();
             $politico = OppPoliticoPeer::retrieveByPk($this->getRequestParameter('id2'));
             $carica2 = $politico->getCaricaDepSenCorrente();
             $c1 = new Criteria();
             $c1->add(OppVotazioneHasCaricaPeer::VOTO, array('Favorevole', 'Contrario', 'Astenuto'), Criteria::IN);
             $c1->add(OppVotazioneHasCaricaPeer::CARICA_ID, array($carica1->getId(), $carica2->getId()), Criteria::IN);
             $results = OppVotazioneHasCaricaPeer::doSelect($c1);
             $arr1 = array();
             $arr2 = array();
             foreach ($results as $result) {
                 if ($result->getCaricaId() == $carica1->getId()) {
                     $arr1[$result->getVotazioneId()] = $result->getVoto();
                 } else {
                     $arr2[$result->getVotazioneId()] = $result->getVoto();
                 }
             }
             $this->compare = count(array_intersect_assoc($arr1, $arr2));
             $this->compare_voti = array_keys(array_intersect_key($arr1, $arr2));
             $this->numero_voti = count($this->compare_voti);
             $c = new Criteria();
             $c->add(OppVotazionePeer::ID, $this->compare_voti, Criteria::IN);
             $this->pager->setCriteria($c);
             $this->pager->setPage($this->getRequestParameter('page', 1));
             $this->pager->setPeerMethod('doSelect');
             $this->pager->init($c);
             $this->arr1 = $arr1;
             $this->arr2 = $arr2;
             $this->parlamentare1 = $carica1;
             $this->assenze1 = round($carica1->getAssenze() * 100 / ($carica1->getPresenze() + $carica1->getAssenze() + $carica1->getMissioni()), 1);
             $this->parlamentare2 = $carica2;
             $this->assenze2 = round($carica2->getAssenze() * 100 / ($carica2->getPresenze() + $carica2->getAssenze() + $carica2->getMissioni()), 1);
             $this->compara_ok = '1';
             // da quanti giorni è parlamentare da openpolis
             $xml = simplexml_load_file("http://politici.openpolis.it/api/parlamentareHowDays?id=" . $carica1->getOppPolitico()->getId());
             $this->giorni = array();
             if ($xml) {
                 $giorni = $xml->xpath("//days");
             }
             if ($giorni[0] / 365 >= 2) {
                 $durata = intval($giorni[0] / 365) . ' anni e ';
             } elseif ($giorni[0] / 365 >= 1) {
                 $durata = 'un anno e ';
             } else {
                 $durata = "";
             }
             if ($giorni[0] % 365 > 0) {
                 $durata = $durata . $giorni[0] % 365 . " giorni";
             }
             $this->durata1 = $durata;
             $xml = simplexml_load_file("http://politici.openpolis.it/api/parlamentareHowDays?id=" . $carica2->getOppPolitico()->getId());
             $this->giorni = array();
             if ($xml) {
                 $giorni = $xml->xpath("//days");
             }
             if ($giorni[0] / 365 >= 2) {
                 $durata = intval($giorni[0] / 365) . ' anni e ';
             } elseif ($giorni[0] / 365 >= 1) {
                 $durata = 'un anno e ';
             } else {
                 $durata = "";
             }
             if ($giorni[0] % 365 > 0) {
                 $durata = $durata . $giorni[0] % 365 . " giorni";
             }
             $this->durata2 = $durata;
             $this->getResponse()->setTitle(($this->ramo == 1 ? 'Deputati ' : 'Senatori ') . 'a confronto:' . $carica1->getOppPolitico()->getCognome() . ' vs ' . $carica2->getOppPolitico()->getCognome() . ' - ' . sfConfig::get('app_main_title'));
             $this->response->addMeta('description', 'Confronto tra le attivit&agrave; parlamentari di ' . $carica1->getOppPolitico()->getCognome() . ' e ' . $carica2->getOppPolitico()->getCognome(), true);
         } else {
             $this->compara_ok = '0';
             $this->parlamentare1 = null;
             $this->getResponse()->setTitle(($this->ramo == 1 ? 'Deputati ' : 'Senatori ') . 'a confronto - ' . sfConfig::get('app_main_title'));
         }
     }
     if ($this->getRequest()->getMethod() != sfRequest::POST) {
         // Display the form
         return sfView::SUCCESS;
     } else {
         // Handle the form submission
         $parlamentare1 = $this->getRequestParameter('parlamentare1');
         $parlamentare2 = $this->getRequestParameter('parlamentare2');
         $ramo = $this->getRequestParameter('ramo');
         if ($ramo == 1) {
             $this->redirect('/parlamentare/comparaDeputati/?id1=' . $parlamentare1 . '&id2=' . $parlamentare2 . '&ramo=1');
         } else {
             $this->redirect('/parlamentare/comparaDeputati/?id1=' . $parlamentare1 . '&id2=' . $parlamentare2 . '&ramo=2');
         }
     }
 }