/** * get all distinct available statuses for emendamenti of a given atto * * @param OppAtto $atto * @return hash of type {id => status} * @author Guglielmo Celata */ public static function getAvailableStatuses(OppAtto $atto) { $c = new Criteria(); $c->clearSelectColumns(); $c->addJoin(OppAttoHasEmendamentoPeer::EMENDAMENTO_ID, OppEmendamentoPeer::ID); $c->addJoin(OppEmendamentoHasIterPeer::EMENDAMENTO_ID, OppEmendamentoPeer::ID); $c->addJoin(OppEmendamentoHasIterPeer::EM_ITER_ID, OppEmIterPeer::ID); $c->add(OppAttoHasEmendamentoPeer::ATTO_ID, $atto->getId()); $c->addSelectColumn(OppEmIterPeer::ID); $c->addSelectColumn(OppEmIterPeer::FASE); $c->addSelectColumn(OppEmIterPeer::CONCLUSO); $c->setDistinct(); $rs = OppEmendamentoPeer::doSelectRS($c); $items = array(); while ($rs->next()) { if (trim(strtolower($rs->getString(2) != 'altro'))) { $items[$rs->getInt(1)] = $rs->getString(2); } } return $items; }