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));
}
 public function executeIndicePresenzeExport()
 {
     sfLoader::loadHelpers(array('Number'));
     $this->session = $this->getUser();
     $this->forward404Unless($this->session->hasCredential('adhoc'));
     $last_date = OppPoliticianHistoryCachePeer::fetchLastData();
     $this->processFilters(array('ramo', 'data'), $last_date);
     $date = $this->filters['data'];
     $this->processListSort('indice', 'presenze');
     $c = new Criteria();
     $this->addFiltersCriteria($c);
     $this->addListSortCriteria($c);
     $c->addDescendingOrderByColumn(OppPoliticianHistoryCachePeer::CHI_ID);
     $c->add(OppPoliticianHistoryCachePeer::CHI_TIPO, 'P');
     if ($this->hasRequestParameter('limit')) {
         $limit = $this->getRequestParameter('limit');
         $c->setLimit($limit);
     }
     $items = OppPoliticianHistoryCachePeer::doSelect($c);
     $this->csv_header = "parlamentare,sesso,gruppo,circoscrizione,indice,presenze,assenze,missioni,ribellioni";
     foreach ($items as $cnt => $item) {
         $parlamentare = OppCaricaPeer::retrieveByPK($item->getChiId());
         if (!is_null($parlamentare)) {
             $parlamentare_string = $parlamentare->getOppPolitico();
             $gruppo = $parlamentare->getGruppo($date) ? $parlamentare->getGruppo($date)->getAcronimo() : '';
             $sesso = $parlamentare->getOppPolitico()->getSesso();
         } else {
             $parlamentare_string = $parlamentare->getId();
             $gruppo = "";
             $sesso = "";
         }
         $circoscrizione = $parlamentare->getCircoscrizione();
         $indice = format_number(round($item->getIndice(), 2), 'it_IT');
         $presenze = $item->getPresenze();
         $assenze = $item->getAssenze();
         $missioni = $item->getMissioni();
         $ribellioni = $item->getRibellioni();
         $csv_row = sprintf("%s,%s,%s,%s,\"%s\",%d,%d,%d,%d", $parlamentare_string, $sesso, $gruppo, $circoscrizione, $indice, $presenze, $assenze, $missioni, $ribellioni);
         $csv_rows[] = $csv_row;
     }
     $this->csv_rows = $csv_rows;
     $this->setLayout(false);
     $this->response->setContentType('text/plain');
 }
 /**
  * get all distinct available presenters for emendamenti of a given atto
  *
  * @param OppAtto $atto 
  * @return hash of type {id => presenter}
  * @author Guglielmo Celata
  */
 public static function getAvailablePresenters(OppAtto $atto)
 {
     $atto_id = $atto->getId();
     $sql = "select distinct ce.carica_id " . "from opp_emendamento e left join opp_carica_has_emendamento ce on ce.emendamento_id = e.id " . "join opp_carica c on (c.id=ce.carica_id || ce.carica_id is null) " . "join opp_atto_has_emendamento ae on ae.emendamento_id=e.id " . "where (ce.tipo = 'P' or ce.tipo is null) and ae.atto_id={$atto_id};";
     $con = Propel::getConnection(BaseOppEmendamentoPeer::DATABASE_NAME);
     $stm = $con->createStatement();
     $rs = $stm->executeQuery($sql, ResultSet::FETCHMODE_NUM);
     $items = array();
     while ($rs->next()) {
         if (is_null($rs->getInt(1))) {
             $items['999999999'] = "Governo, Comm. ...";
         } else {
             $c = OppCaricaPeer::retrieveByPK($rs->getInt(1));
             $p = $c->getOppPolitico();
             $items[$rs->getInt(1)] = $p->getNome() . " " . strtoupper($p->getCognome());
         }
     }
     return $items;
 }
      <th scope="col">missioni:</th>
      <th scope="col">ribellioni:</th>
    </tr>
  </thead>

  <tbody>		
   <?php 
$tr_class = 'even';
?>
	
    <?php 
foreach ($pager->getResults() as $record) {
    ?>

      <?php 
    $parlamentare = OppCaricaPeer::retrieveByPK($record->getChiId());
    ?>
      
      <tr class="<?php 
    echo $tr_class;
    ?>
">
      <?php 
    $tr_class = $tr_class == 'even' ? 'odd' : 'even';
    ?>
        <th scope="row">
          <?php 
    if (!is_null($parlamentare)) {
        ?>
            <p><?php 
        echo link_to($parlamentare->getOppPolitico() . " (" . ($parlamentare->getGruppo($date) ? $parlamentare->getGruppo($date)->getAcronimo() : '') . ") ", 'http://' . sfConfig::get('sf_site_url', 'op_openparlamento') . "@parlamentare?" . $parlamentare->getOppPolitico()->getUrlParams(), true);
Ejemplo n.º 5
0
<?php

if ($opp_politician_history_cache->getChiTipo() == 'P' || $opp_politician_history_cache->getChiTipo() == 'N') {
    ?>
  <?php 
    $parlamentare = OppCaricaPeer::retrieveByPK($opp_politician_history_cache->getChiId());
    ?>
  <a href="/xml/indici/politici/<?php 
    echo $parlamentare->getId();
    ?>
.xml" target="_blank">
    <?php 
    echo $parlamentare->getOppPolitico();
    ?>
  </a>
  -
  <?php 
    echo link_to($parlamentare->getPoliticoId(), 'http://' . sfConfig::get('sf_site_url', 'op_openpolis') . "/parlamentare/" . $parlamentare->getPoliticoId(), true);
    ?>
  (<?php 
    echo $parlamentare->getId();
    ?>
)  
<?php 
}
/**
 * Aggiorna i valori di indice e posizione nella opp_carica
 * copiandoli dalla opp_politician_history_cache
 * Si deve specificare:
 * - il ramo (camera o senato)
 * Si può specificare:
 * - la data (da inizio legislatura a quella data)
 * Se la data non è specificata, viene copiato il valore dell'ultima data presente nei dati
 * Se sono passati degli ID (argomenti), sono interpretati come ID di politici e il calcolo è fatto solo per loro
 */
function run_opp_upgrade_opp_carica_from_cache($task, $args, $options)
{
    static $loaded;
    // load application context
    if (!$loaded) {
        task_loader();
        $loaded = true;
    }
    echo "memory usage: " . memory_get_usage() . "\n";
    $msg = sprintf("start time: %s\n", date('H:i:s'));
    echo $msg;
    $data = '';
    $tipo = 'P';
    if (array_key_exists('data', $options)) {
        $data = $options['data'];
    }
    if (array_key_exists('ramo', $options)) {
        $ramo = substr(strtolower($options['ramo']), 0, 1);
    }
    if ($ramo != 'c' && $ramo != 's') {
        throw new Exception("I valori per il ramo possono essere: camera o senato");
    }
    // definisce la data fino alla quale vanno fatti i calcoli
    // data_lookup serve per controllare se i record già esistono
    if ($data != '') {
        $legislatura_corrente = OppLegislaturaPeer::getCurrent($data);
        $data_lookup = $data;
    } else {
        $legislatura_corrente = OppLegislaturaPeer::getCurrent();
        $data = date('Y-m-d');
        $data_lookup = OppPoliticianHistoryCachePeer::fetchLastData('P');
    }
    $msg = sprintf("aggiornamento valori indice,pos per politici data: %10s\n", $data ? $data : '-');
    echo pakeColor::colorize($msg, array('fg' => 'cyan', 'bold' => true));
    if (count($args) > 0) {
        try {
            $parlamentari_rs = OppCaricaPeer::getRSFromIDArray($args);
        } catch (Exception $e) {
            throw new Exception("Specificare degli ID validi. \n" . $e);
        }
    } else {
        $parlamentari_rs = OppCaricaPeer::getParlamentariRamoDataRS($ramo, $legislatura_corrente, $data);
    }
    echo "memory usage: " . memory_get_usage() . "\n";
    $start_time = time();
    $cnt = 0;
    while ($parlamentari_rs->next()) {
        $cnt++;
        $p = $parlamentari_rs->getRow();
        $nome = $p['nome'];
        $cognome = $p['cognome'];
        $tipo_carica_id = $p['tipo_carica_id'];
        $id = $p['id'];
        // inserimento o aggiornamento del valore in opp_politician_history_cache
        $cache_record = OppPoliticianHistoryCachePeer::retrieveByDataChiTipoChiIdRamo($data_lookup, 'P', $id, $ramo);
        $carica_record = OppCaricaPeer::retrieveByPK($id);
        if (!$cache_record instanceof OppPoliticianHistoryCache) {
            $msg = sprintf("%s %s - %d - carica non in cache\n", $nome, $cognome, $id);
            echo pakeColor::colorize($msg, array('fg' => 'cyan', 'bold' => true));
            continue;
        }
        $indice = $cache_record->getIndice();
        $posizione = $cache_record->getIndicePos();
        $carica_record->setIndice($indice);
        $carica_record->setPosizione($posizione);
        $carica_record->save();
        unset($cache_record);
        unset($carica_record);
        $msg = sprintf("%s %s - i: %7.2f   p:%4d", $nome, $cognome, $indice, $posizione);
        echo pakeColor::colorize($msg, array('fg' => 'cyan', 'bold' => true));
        $msg = sprintf(" [%4d sec] [%10d bytes]\n", time() - $start_time, memory_get_usage());
        echo pakeColor::colorize($msg, array('fg' => 'red', 'bold' => false));
    }
    $msg = sprintf("end time: %s\n", date('H:i:s'));
    echo $msg;
    $msg = sprintf("memory usage: %10d\n", memory_get_usage());
    echo pakeColor::colorize($msg, array('fg' => 'red', 'bold' => false));
    $msg = sprintf("%d parlamentari elaborati\n", $cnt);
    echo pakeColor::colorize($msg, array('fg' => 'cyan', 'bold' => true));
}