public static function doSelectDataUltimaVotazione($data_inizio, $data_fine, $legislatura, $ramo)
 {
     $c = new Criteria();
     $c->addJoin(OppSedutaPeer::ID, OppVotazionePeer::SEDUTA_ID);
     //$c->add(OppSedutaPeer::DATA, $data_inizio, Criteria::GREATER_EQUAL);
     $c->add(OppSedutaPeer::RAMO, $ramo, Criteria::EQUAL);
     $c->add(OppSedutaPeer::LEGISLATURA, $legislatura, Criteria::EQUAL);
     if ($data_inizio != '') {
         $c->add(OppSedutaPeer::DATA, $data_inizio, Criteria::GREATER_EQUAL);
     }
     if ($data_fine != '') {
         $c->add(OppSedutaPeer::DATA, $data_fine, Criteria::LESS_EQUAL);
     }
     $c->addDescendingOrderByColumn(OppSedutaPeer::DATA);
     $result = OppSedutaPeer::doSelectOne($c);
     return $result->getData();
 }
define('SF_ROOT_DIR', realpath(dirname(__FILE__) . '/..'));
define('SF_APP', 'fe');
define('SF_ENVIRONMENT', 'dev');
define('SF_DEBUG', false);
require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php';
sfContext::getInstance();
if ($argv[1]) {
    print "elaborazione votazione: " . $argv[1] . "...\n";
    $c = new Criteria();
    $c->add(OppVotazionePeer::ID, $argv[1], Criteria::EQUAL);
    $votazione = OppVotazionePeer::doSelectOne($c);
    if ($votazione) {
        $c = new Criteria();
        $c->add(OppSedutaPeer::ID, $votazione->getSedutaId(), Criteria::EQUAL);
        $seduta = OppSedutaPeer::doSelectOne($c);
        $c = new Criteria();
        $crit0 = $c->getNewCriterion(OppGruppoRamoPeer::RAMO, $seduta->getRamo());
        $crit1 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_INIZIO, $seduta->getData(), Criteria::LESS_EQUAL);
        $crit2 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, $seduta->getData(), Criteria::GREATER_THAN);
        $crit3 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, NULL, Criteria::ISNULL);
        $crit2->addOr($crit3);
        $crit0->addAnd($crit1);
        $crit0->addAnd($crit2);
        $c->add($crit0);
        $gruppi_votazione = OppGruppoRamoPeer::doSelect($c);
        foreach ($gruppi_votazione as $gruppo) {
            $gr = OppGruppoPeer::retrieveByPk($gruppo->getGruppoId());
            $voto_gruppo = OppVotazionePeer::doSelectVotoGruppo($votazione->getId(), $gr->getNome());
            $c = new Criteria();
            $c->add(OppVotazioneHasGruppoPeer::VOTAZIONE_ID, $votazione->getId());
 protected function addVotiSortCriteria($c)
 {
     if ($sort_column = $this->session->getAttribute('sort', 'data', 'opp_parlamentare_voti/sort')) {
         if ($sort_column == 'data') {
             $sort_column = OppSedutaPeer::translateFieldName($sort_column, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_COLNAME);
         } else {
             $sort_column = OppVotazionePeer::translateFieldName($sort_column, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_COLNAME);
         }
         if ($this->session->getAttribute('type', null, 'opp_parlamentare_voti/sort') == 'asc') {
             $c->addAscendingOrderByColumn($sort_column);
         } else {
             $c->addDescendingOrderByColumn($sort_column);
         }
     }
 }