/** * estrae l'elenco di cariche di un parlamentare, per la legislatura corrente * se il parlamentare è un senatore a vita, vengono estratte solo le cariche attuali (la legislatura non conta) * * @return void * @author Guglielmo Celata */ public function getCaricheCorrentiIds() { $c = new Criteria(); $cton = $c->getNewCriterion(OppCaricaPeer::POLITICO_ID, $this->getId()); $cton->addAnd($c->getNewCriterion(OppCaricaPeer::LEGISLATURA, sfConfig::get('app_legislatura_corrente'))); $cton_vita = $c->getNewCriterion(OppCaricaPeer::POLITICO_ID, $this->getId()); $cton_vita->addAnd($c->getNewCriterion(OppCaricaPeer::TIPO_CARICA_ID, 5)); $cton_vita->addAnd($c->getNewCriterion(OppCaricaPeer::DATA_FINE, null, Criteria::ISNULL)); $cton->addOr($cton_vita); $c->add($cton); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $rs = OppCaricaPeer::doSelectRS($c); $cariche = array(); while ($rs->next()) { $cariche[] = $rs->getInt(1); } return $cariche; }
public function executeBoxparlamentari() { $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $c->addSelectColumn(OppPoliticoPeer::ID); $c->addSelectColumn(OppPoliticoPeer::COGNOME); $c->addSelectColumn(OppPoliticoPeer::NOME); $c->addSelectColumn(OppPoliticoPeer::N_MONITORING_USERS); $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID, Criteria::INNER_JOIN); $c->add(OppCaricaPeer::DATA_FINE, NULL, Criteria::ISNULL); // deputati + monitorati if ($this->type == 'deputati') { $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1); } else { // senatori + monitorati $c->add(OppCaricaPeer::TIPO_CARICA_ID, 4); } $c->addDescendingOrderByColumn(OppPoliticoPeer::N_MONITORING_USERS); $c->setLimit(3); $this->parlamentari = OppCaricaPeer::doSelectRS($c); }
public function executeClassifiche() { // box rotazione politici // random del ramo if ($this->ramo == 0) { if (rand(1, 2) == 1) { $tipo_carica = 1; $this->nome_carica = 'deputati'; } else { $tipo_carica = 4; $this->nome_carica = 'senatori'; } } if ($this->ramo == 1) { $tipo_carica = 1; $this->nome_carica = 'deputati'; } if ($this->ramo == 2) { $tipo_carica = 4; $this->nome_carica = 'senatori'; } $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $c->addSelectColumn(OppPoliticoPeer::ID); $c->addSelectColumn(OppPoliticoPeer::COGNOME); $c->addSelectColumn(OppPoliticoPeer::NOME); $c->addSelectColumn(OppCaricaPeer::CIRCOSCRIZIONE); $c->addSelectColumn(OppCaricaPeer::PRESENZE); $c->addSelectColumn(OppCaricaPeer::ASSENZE); $c->addSelectColumn(OppCaricaPeer::MISSIONI); $c->addSelectColumn(OppCaricaPeer::INDICE); $c->addSelectColumn(OppCaricaPeer::POSIZIONE); $c->addSelectColumn(OppCaricaPeer::MEDIA); $c->addSelectColumn(OppCaricaPeer::RIBELLE); $c->addSelectColumn(OppPoliticoPeer::N_MONITORING_USERS); $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID, Criteria::INNER_JOIN); $c->add(OppCaricaPeer::DATA_FINE, NULL, Criteria::ISNULL); $c->add(OppCaricaPeer::TIPO_CARICA_ID, $tipo_carica); // escludere boldrini e grasso $c->add(OppPoliticoPeer::ID, array(686427, 687024), Criteria::NOT_IN); $this->quale_pagina = $this->classifica; // random sul cosa if ($this->classifica == 0) { $random = rand(1, 4); } else { $random = $this->classifica; } switch ($random) { case 1: $c->addDescendingOrderByColumn(OppCaricaPeer::PRESENZE); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $this->color = 'green'; $this->string = 'più presenti'; $this->cosa = 1; break; case 2: $c->addDescendingOrderByColumn(OppCaricaPeer::ASSENZE); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $this->color = 'red'; $this->string = 'più assenti'; $this->cosa = 2; break; case 5: $c->addDescendingOrderByColumn(OppCaricaPeer::INDICE); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $this->color = 'blue'; $this->string = 'più produttivi <span style="margin-left:5px;"><a href="http://indice.openpolis.it/info.html" style="font-size:11px;">come sono calcolati?</a></span>'; $this->cosa = 3; break; case 3: $c->addDescendingOrderByColumn(OppPoliticoPeer::N_MONITORING_USERS); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $this->color = 'orange'; $this->string = 'più monitorati dagli utenti'; $this->cosa = 4; break; case 4: $c->addDescendingOrderByColumn(OppCaricaPeer::RIBELLE); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $this->color = 'violet'; $this->string = 'più ribelli al proprio gruppo'; $this->cosa = 5; break; /* case 6: $c->addAscendingOrderByColumn(OppCaricaPeer::INDICE); $this->color='violet'; $this->string='meno attivi'; $this->cosa=6; break; */ } $c->setLimit($this->limit); $this->parlamentari = OppCaricaPeer::doSelectRS($c); }
public function getRibelliList($voto_gruppi = null) { if (is_null($voto_gruppi)) { $voto_gruppi = OppVotazioneHasCaricaPeer::doSelectGroupByGruppo($this->getId()); } $ribelli_id = array(); $ribelli = array(); foreach ($voto_gruppi as $gruppo => $risultato) { if ($gruppo != 'Gruppo Misto') { $c = new Criteria(); $c->add(OppGruppoPeer::NOME, $gruppo); $gruppo_id = $risultato['id']; $c = new Criteria(); $c->add(OppVotazioneHasGruppoPeer::VOTAZIONE_ID, $this->getId()); $c->add(OppVotazioneHasGruppoPeer::GRUPPO_ID, $gruppo_id); $voto_gruppo = OppVotazioneHasGruppoPeer::doSelectOne($c); if ($voto_gruppo) { if ($voto_gruppo->getVoto() != 'nv') { unset($risultato['Assente']); unset($risultato['In missione']); arsort($risultato); array_shift($risultato); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::POLITICO_ID); $c->addSelectColumn(OppGruppoPeer::NOME); $c->addSelectColumn(OppCaricaPeer::CIRCOSCRIZIONE); $c->addSelectColumn(OppVotazioneHasCaricaPeer::VOTO); $c->addJoin(OppCaricaPeer::ID, OppVotazioneHasCaricaPeer::CARICA_ID, Criteria::LEFT_JOIN); $c->addJoin(OppCaricaPeer::ID, OppCaricaHasGruppoPeer::CARICA_ID, Criteria::LEFT_JOIN); $c->addJoin(OppCaricaHasGruppoPeer::GRUPPO_ID, OppGruppoPeer::ID, Criteria::LEFT_JOIN); $c->add(OppGruppoPeer::NOME, $gruppo, Criteria::EQUAL); $c->add(OppVotazioneHasCaricaPeer::VOTAZIONE_ID, $this->getId(), Criteria::EQUAL); $c->add(OppVotazioneHasCaricaPeer::VOTO, array_keys($risultato), Criteria::IN); $c->add(OppCaricaHasGruppoPeer::DATA_INIZIO, $this->getOppSeduta()->getData(), Criteria::LESS_EQUAL); $cton1 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, $this->getOppSeduta()->getData(), Criteria::GREATER_EQUAL); $cton2 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, null, Criteria::ISNULL); $cton1->addOr($cton2); $c->add($cton1); $rs = OppCaricaPeer::doSelectRS($c); while ($rs->next()) { $ribelli1[$rs->getInt(1)] = array('id' => $rs->getInt(1), 'gruppo' => $rs->getString(2), 'circoscrizione' => $rs->getString(3), 'voto_gruppo' => $voto_gruppo->getVoto(), 'voto' => $rs->getString(4)); array_push($ribelli_id, $rs->getInt(1)); } } } } } $c = new Criteria(); $c->add(OppPoliticoPeer::ID, $ribelli_id, Criteria::IN); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $rs1 = OppPoliticoPeer::doSelectRS($c); while ($rs1->next()) { $ribelli[$rs1->getString(3) . ' ' . $rs1->getString(2)] = $ribelli1[$rs1->getInt(1)]; } return $ribelli; }
public static function doSelectFullReport($politico_id) { $risultato = array(); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $c->addSelectColumn(OppCaricaPeer::DATA_INIZIO); $c->addSelectColumn(OppCaricaPeer::DATA_FINE); $c->addSelectColumn(OppCaricaPeer::CARICA); $c->addSelectColumn(OppCaricaPeer::CIRCOSCRIZIONE); $c->addSelectColumn(OppVotazioneHasCaricaPeer::VOTO); $c->addSelectColumn(OppCaricaPeer::INDICE); $c->addSelectColumn(OppCaricaPeer::POSIZIONE); $c->addAsColumn('CONT', 'COUNT(*)'); $c->addJoin(OppVotazioneHasCaricaPeer::CARICA_ID, OppCaricaPeer::ID, Criteria::LEFT_JOIN); $c->addGroupByColumn(OppCaricaPeer::ID); $c->addGroupByColumn(OppVotazioneHasCaricaPeer::VOTO); $c->add(OppCaricaPeer::POLITICO_ID, $politico_id, Criteria::EQUAL); $c->addDescendingOrderByColumn(OppCaricaPeer::DATA_INIZIO); $c->addDescendingOrderByColumn(OppCaricaPeer::DATA_FINE); $rs = OppCaricaPeer::doSelectRS($c); while ($rs->next()) { if (!isset($risultato[$rs->getInt(1)])) { $risultato[$rs->getInt(1)] = array('data_inizio' => $rs->getDate(2, 'Y-m-d'), 'data_fine' => $rs->getDate(3, 'Y-m-d'), 'carica' => $rs->getString(4), 'circoscrizione' => $rs->getString(5), 'Assente' => 0, 'Astenuto' => 0, 'Contrario' => 0, 'Favorevole' => 0, 'In missione' => 0, 'Partecipante votazione non valida' => 0, 'Presidente di turno' => 0, 'Richiedente la votazione e non votante' => 0, 'Voto segreto' => 0, 'Indice' => $rs->getFloat(7), 'Posizione' => $rs->getInt(8)); } $risultato[$rs->getInt(1)][$rs->getString(6)] = $rs->getInt(9); } return $risultato; }
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à: %5.2f"; $record['values'] = array($rs->getFloat(9)); break; case OppPoliticoPeer::N_MONITORING_USERS: $record['descr'] = "è 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; }
public function getReport() { $risultato = array('Assente' => 0, 'Astenuto' => 0, 'Contrario' => 0, 'Favorevole' => 0, 'In missione' => 0, 'Partecipante votazione non valida' => 0, 'Presidente di turno' => 0, 'Richiedente la votazione e non votante' => 0, 'Voto segreto' => 0); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $c->addSelectColumn(OppCaricaPeer::DATA_INIZIO); $c->addSelectColumn(OppCaricaPeer::DATA_FINE); $c->addSelectColumn(OppCaricaPeer::CARICA); $c->addSelectColumn(OppCaricaPeer::CIRCOSCRIZIONE); $c->addSelectColumn(OppVotazioneHasCaricaPeer::VOTO); $c->addAsColumn('CONT', 'COUNT(*)'); $c->addJoin(OppVotazioneHasCaricaPeer::CARICA_ID, OppCaricaPeer::ID, Criteria::LEFT_JOIN); $c->addGroupByColumn(OppCaricaPeer::ID); $c->addGroupByColumn(OppVotazioneHasCaricaPeer::VOTO); $c->add(OppCaricaPeer::ID, $this->getId(), Criteria::EQUAL); $c->addDescendingOrderByColumn(OppCaricaPeer::DATA_INIZIO); $c->addDescendingOrderByColumn(OppCaricaPeer::DATA_FINE); $rs = OppCaricaPeer::doSelectRS($c); while ($rs->next()) { if (!isset($risultato['carica'])) { $risultato['carica'] = $rs->getString(4); } $risultato[$rs->getString(6)] = $rs->getInt(7); } return $risultato; }
public function executeSenatorisioccupanodi() { $options = array('limit' => 10, 'sort_by_relevance' => true); //$options = array('sort_by_relevance' => true); // estrazione cariche, tipo firma, tipo atto $c = new Criteria(); $c->addJoin(OppCaricaPeer::ID, OppCaricaHasAttoPeer::CARICA_ID); $c->addJoin(OppCaricaHasAttoPeer::ATTO_ID, OppAttoPeer::ID); $c->addJoin(TaggingPeer::TAGGABLE_ID, OppAttoPeer::ID); $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(4, 5), Criteria::IN); $c->add(OppCaricaPeer::DATA_FINE, NULL); $c->add(TaggingPeer::TAG_ID, $this->tag->getId()); $c->add(TaggingPeer::TAGGABLE_MODEL, 'OppAtto'); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $c->addSelectColumn(OppCaricaHasAttoPeer::TIPO); $c->addSelectColumn(OppAttoPeer::TIPO_ATTO_ID); // costruzione array associativo dei politici $politici = array(); $rs = OppCaricaPeer::doSelectRS($c); while ($rs->next()) { $carica_id = $rs->getInt(1); $tipo = $rs->getString(2); $tipo_atto_id = $rs->getInt(3); if (!array_key_exists($carica_id, $politici)) { $politici[$carica_id] = 0; } $politici[$carica_id] += OppCaricaHasAttoPeer::get_nuovo_fattore_firma($tipo) * OppAttoPeer::get_fattore_tipo_atto($tipo_atto_id); } // ordinamento per rilevanza, prima dello slice arsort($politici); // slice dell'array, se specificata l'opzione limit $this->n_remaining_politici = 0; if (isset($options['limit']) && count($politici) > $options['limit']) { $this->n_remaining_politici = count($politici) - $options['limit']; $politici = array_slice($politici, 0, $options['limit'], true); } // ordinamento per triple_value, in caso sort_by_relevance non sia specificato if (!isset($options['sort_by_relevance']) || true !== $options['sort_by_relevance']) { krsort($politici); } $this->politici = $politici; }
public static function doSelectVotoGruppo($votazione_id, $gruppo) { $c = new Criteria(); $c->add(OppVotazionePeer::ID, $votazione_id); $votazione = OppVotazionePeer::doSelectOne($c); $data_votazione = $votazione->getOppSeduta()->getData(); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppVotazioneHasCaricaPeer::VOTO); $c->addAsColumn('CONT', 'COUNT(*)'); $c->addJoin(OppVotazioneHasCaricaPeer::CARICA_ID, OppCaricaPeer::ID, Criteria::INNER_JOIN); $c->addJoin(OppVotazioneHasCaricaPeer::VOTAZIONE_ID, OppVotazionePeer::ID, Criteria::INNER_JOIN); //$c->addJoin(OppVotazionePeer::SEDUTA_ID, OppSedutaPeer::ID, Criteria::INNER_JOIN); $c->addJoin(OppCaricaPeer::ID, OppCaricaHasGruppoPeer::CARICA_ID, Criteria::INNER_JOIN); $c->addJoin(OppCaricaHasGruppoPeer::GRUPPO_ID, OppGruppoPeer::ID, Criteria::INNER_JOIN); $c->add(OppVotazioneHasCaricaPeer::VOTO, 'Assente', Criteria::NOT_EQUAL); $cton1 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Favorevole', Criteria::EQUAL); $cton2 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Contrario', Criteria::EQUAL); $cton1->addOr($cton2); $cton3 = $c->getNewCriterion(OppVotazioneHasCaricaPeer::VOTO, 'Astenuto', Criteria::EQUAL); $cton1->addOr($cton3); $c->add($cton1); $c->add(OppVotazioneHasCaricaPeer::VOTAZIONE_ID, $votazione_id, Criteria::EQUAL); $c->add(OppGruppoPeer::NOME, $gruppo, Criteria::EQUAL); $c->add(OppCaricaHasGruppoPeer::DATA_INIZIO, $data_votazione, Criteria::LESS_EQUAL); $cton4 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, $data_votazione, Criteria::GREATER_EQUAL); $cton5 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, null, Criteria::ISNULL); $cton4->addOr($cton5); $c->add($cton4); $c->addGroupByColumn(OppVotazioneHasCaricaPeer::VOTO); $c->addDescendingOrderByColumn('CONT'); $c->setLimit(2); $rs = OppCaricaPeer::doSelectRS($c); $voto = 'nv'; $voti = array(); $i = 0; while ($rs->next()) { $voti[$i] = array('voto' => $rs->getString(1), 'numero' => $rs->getInt(2)); $i++; } if (count($voti) > 1 && $voti[0]['numero'] != $voti[1]['numero'] || count($voti) == 1) { $voto = $voti[0]['voto']; } return $voto; }
public function executeComparaQuesto() { if ($this->ramo == 1) { $this->tipo_carica = 1; } else { $this->tipo_carica = 4; } $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppPoliticoPeer::ID); $c->addSelectColumn(OppPoliticoPeer::COGNOME); $c->addSelectColumn(OppPoliticoPeer::NOME); $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID); $c->add(OppCaricaPeer::LEGISLATURA, '17', Criteria::EQUAL); $c->add(OppCaricaPeer::TIPO_CARICA_ID, $this->tipo_carica, Criteria::EQUAL); $c->add(OppCaricaPeer::DATA_FINE, null, Criteria::EQUAL); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $this->parlamentari = OppCaricaPeer::doSelectRS($c); }
public function executeParlamentariSalva() { $ramo = $this->getRequestParameter('ramo'); $this->ramo = $ramo; $this->getResponse()->setTitle('la classifica dei ' . ($ramo == 'camera' ? 'deputati' : 'senatori') . ' di opposizione che hanno salvato la maggioranza nelle votazioni - ' . sfConfig::get('app_main_title')); $this->response->addMeta('description', 'La lista e il dettaglio dei ' . ($ramo == 'camera' ? 'deputati' : 'senatori') . ' di opposizione che con i loro voti e con le assenze hanno salvato la maggioranza nelle votazione elettroniche', true); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $c->addSelectColumn(OppPoliticoPeer::ID); $c->addSelectColumn(OppPoliticoPeer::COGNOME); $c->addSelectColumn(OppPoliticoPeer::NOME); $c->addSelectColumn(OppCaricaPeer::MAGGIORANZA_SALVA); $c->addSelectColumn(OppCaricaPeer::TIPO_CARICA_ID); $c->addSelectColumn(OppCaricaPeer::MAGGIORANZA_SALVA_ASSENTE); $c->addAsColumn("CONT", "CONCAT(" . OppCaricaPeer::MAGGIORANZA_SALVA . " - " . OppCaricaPeer::MAGGIORANZA_SALVA_ASSENTE . ")"); $c->addSelectColumn(OppCaricaPeer::CIRCOSCRIZIONE); $c->addSelectColumn(OppCaricaPeer::DATA_FINE); $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID, Criteria::INNER_JOIN); $c->add(OppCaricaPeer::LEGISLATURA, '17', Criteria::EQUAL); //$c->add(OppCaricaPeer::DATA_FINE, NULL, Criteria::ISNULL); if ($this->getRequestParameter('ramo') == 'camera') { $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1); } elseif ($this->getRequestParameter('ramo') == 'senato') { $c->add(OppCaricaPeer::TIPO_CARICA_ID, 4); } $c->addDescendingOrderByColumn(OppCaricaPeer::MAGGIORANZA_SALVA); //$c->addDescendingOrderByColumn('CAST(CONT AS UNSIGNED )'); $this->parlamentari = OppCaricaPeer::doSelectRS($c); }
public function executeCommissioniMembri() { $this->setLayout(false); $this->getResponse()->setTitle('I componenti della Commissione - ' . sfConfig::get('app_main_title')); $sede_id = $this->getRequestParameter('sede'); $this->sort = $this->getRequestParameter('sort'); //estrae le commissioni parmanenti senato $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaPeer::ID); $c->addSelectColumn(OppTipoCaricaPeer::NOME); $c->addSelectColumn(OppCaricaHasGruppoPeer::GRUPPO_ID); $c->addJoin(OppCaricaInternaPeer::TIPO_CARICA_ID, OppTipoCaricaPeer::ID); $c->addJoin(OppCaricaInternaPeer::CARICA_ID, OppCaricaPeer::ID); $c->addJoin(OppPoliticoPeer::ID, OppCaricaPeer::POLITICO_ID); $c->addJoin(OppCaricaHasGruppoPeer::CARICA_ID, OppCaricaPeer::ID); $c->add(OppCaricaInternaPeer::SEDE_ID, $sede_id); $c->add(OppCaricaInternaPeer::DATA_FINE, NULL, Criteria::ISNULL); $c->add(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $rs = OppCaricaPeer::doSelectRS($c); $g_membri = array(); while ($rs->next()) { $c_membri[$rs->getInt(1)] = strtolower($rs->getString(2)); if (array_key_exists($rs->getInt(3), $g_membri)) { $g_membri[$rs->getInt(3)] = $g_membri[$rs->getInt(3)] . "," . $rs->getInt(1) . "-" . strtolower($rs->getString(2)); } else { $g_membri[$rs->getInt(3)] = $rs->getInt(1) . "-" . strtolower($rs->getString(2)); } } $this->c_membri = $c_membri; $this->g_membri = $g_membri; $this->sede_id = $sede_id; }