public static function getRecordsetFirmatari($id, $tipo)
 {
     $c = new Criteria();
     $c->clearSelectColumns();
     $c->addSelectColumn(OppPoliticoPeer::ID);
     $c->addSelectColumn(OppPoliticoPeer::NOME);
     $c->addSelectColumn(OppPoliticoPeer::COGNOME);
     $c->addSelectColumn(OppGruppoPeer::NOME);
     $c->addSelectColumn(OppCaricaHasAttoPeer::DATA);
     $c->addSelectColumn(OppGruppoPeer::ACRONIMO);
     $c->addSelectColumn(OppCaricaPeer::TIPO_CARICA_ID);
     $c->addSelectColumn(OppCaricaPeer::ID);
     $c->add(OppCaricaHasAttoPeer::ATTO_ID, $id, Criteria::EQUAL);
     $c->addJoin(OppCaricaHasAttoPeer::CARICA_ID, OppCaricaPeer::ID, Criteria::LEFT_JOIN);
     $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::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(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL);
     $c->add(OppCaricaHasAttoPeer::TIPO, $tipo, Criteria::EQUAL);
     $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME);
     $c->addAscendingOrderByColumn(OppCaricaHasGruppoPeer::DATA_FINE);
     $rs = OppCaricaHasAttoPeer::doSelectRS($c);
     return $rs;
 }
 /**
  * torna gli atti firmati dal politico, come array di id
  * qualsiasi firma
  *
  * @param string $criteria 
  * @param string $con 
  * @return void
  * @author Guglielmo Celata
  */
 public function getOppCaricaHasAttosPKs($criteria = null, $con = null)
 {
     $oppCaricaHasAttosPKs = array();
     if (!$this->isNew()) {
         if ($criteria === null) {
             $criteria = new Criteria();
         } elseif ($criteria instanceof Criteria) {
             $criteria = clone $criteria;
         }
         $criteria->add(OppCaricaHasAttoPeer::CARICA_ID, $this->getId());
         $criteria->clearSelectColumns();
         $criteria->addSelectColumn(OppCaricaHasAttoPeer::ATTO_ID);
         $rs = OppCaricaHasAttoPeer::doSelectRS($criteria, $con);
         while ($rs->next()) {
             $oppCaricaHasAttosPKs[] = $rs->getInt(1);
         }
     }
     return $oppCaricaHasAttosPKs;
 }
echo $ncariche . "\n";
// costruisce array dei politici, con le firme
$politici = array();
foreach ($cariche as $i => $carica) {
    $politico = $carica->getOppPolitico();
    $politici[$i]['id'] = $carica->getId();
    $politici[$i]['cognome'] = $politico->getCognome();
    $politici[$i]['nome'] = $politico->getNome();
    echo $i . "(" . $politici[$i]['id'] . "): " . $politici[$i]['nome'] . " " . $politici[$i]['cognome'] . ": ";
    // legge le firme dal DB e li mette nell'array firme
    $c = new Criteria();
    $c->clearSelectColumns();
    $c->addSelectColumn(OppCaricaHasAttoPeer::ATTO_ID);
    $c->addSelectColumn(OppCaricaHasAttoPeer::TIPO);
    $c->add(OppCaricaHasAttoPeer::CARICA_ID, $carica->getId());
    $res = OppCaricaHasAttoPeer::doSelectRS($c);
    $firme = array();
    while ($res->next()) {
        $firme[$res->getInt(1)] = $res->getString(2);
    }
    $politici[$i]['firme'] = $firme;
    unset($res);
    $nfirme = count($firme);
    echo " ({$nfirme} firme)\n";
}
// update dei valori delle firme
for ($i = 0; $i < $ncariche; $i++) {
    $dd = OppSimilaritaPeer::retrieveByPK($politici[$i]['id'], $politici[$i]['id']);
    if (is_null($dd)) {
        $dd = new OppSimilarita();
        $dd->setCaricaFromId($politici[$i]['id']);