public static function ph_EstatCurs($AUTH, $OC, $url, $CURSOS_MATRICULATS, $IDU) { //L'usuari està autentificat? $AUTEN = isset($AUTH) && $AUTH > 0; //Queden places al curs? $HiHaPlaces = !$OC->isPle(); //És antic alumne $IsAnticAlumne = MatriculesPeer::isAnticAlumneArray(substr($OC->getCodi(), 0, 3), $CURSOS_MATRICULATS); //Quan comença? $datai = $OC->getDatainmatricula('U'); //La matrícula està activa $isActiu = $OC->getIsactiu(); //L'alumne ja està matriculat? $JaMat = isset($CURSOS_MATRICULATS[$OC->getIdcursos()]); //Hi ha llista d'espera? $LLE = $OC->getIsLlistaEspera(false); //Si puc accedir al curs, ok. Sinó marco com a restringit if (!$OC->getIsRestringit()) { $Rest = true; } elseif (CursosPeer::getRestrictedNotes($IDU, $OC->getIdCursos())) { $Rest = true; } else { $Rest = false; } $url = url_for('@hospici_detall_curs?idC=' . $OC->getIdcursos() . '&titol=' . $OC->getNomForUrl()); $idS = $OC->getSiteId(); $OS = SitesPeer::retrieveByPK($idS); $nom = $OS->getNom(); $email = $OS->getEmailString(); $tel = $OS->getTelefonString(); $MatAntIdi = CursosPeer::IsAnticAlumne($OC->getIdcursos(), $CURSOS_MATRICULATS); $dataiA = mktime(0, 0, 0, 9, 12, 2011); $RET = ""; //Si la data d'inici de matrícula és inferior a la d'avui, mostrem que encara no s'han iniciat les matrícules $avui = time(); //Si no està autentificat if (!$AUTEN) { return "NO_AUTENTIFICAT"; //Ja està autentificat } else { //Ja ha estat matriculat if ($JaMat) { //Seleccionem la matrícula del curs que volem veure l'estat $OM = MatriculesPeer::retrieveByPK($CURSOS_MATRICULATS[$OC->getIdcursos()]); if ($OM instanceof Matricules) { //Si l'usuari ja està matriculat, doncs li marquem if (MatriculesPeer::ACCEPTAT_NO_PAGAT == $OM->getEstat() || MatriculesPeer::ACCEPTAT_PAGAT == $OM->getEstat()) { return "MATRICULAT"; //L'usuari està en espera } elseif (MatriculesPeer::EN_ESPERA == $OM->getEstat()) { return "EN_ESPERA"; //L'usuari està en espera' } elseif (MatriculesPeer::RESERVAT == $OM->getEstat()) { return "RESERVAT"; } } else { return "ANULADA"; } //No està matriculat } else { //El curs està restringit if (!$Rest) { return "CURS_RESTRINGIT"; //No queden places } elseif (!$HiHaPlaces) { //No queden places però hi ha possibilitat de llista d'espera if ($LLE) { return "LLISTA_ESPERA"; } else { return "NO_HI_PLACES"; } //Si no hi ha cap tipus de pagament extern, vol dir que no hi ha reserva en línia. } elseif (in_array(TipusPeer::PAGAMENT_CAP, $OC->getPagamentextern()) > 0) { return "NO_HI_HA_RESERVA_LINIA"; //Encara no ha iniciat el període de matrícules. } elseif ($avui < $datai || date('d', $avui) == date('d', $datai) && date('m', $avui) == date('m', $datai) && date('H') < 9) { return "ABANS_PERIODE_MATRICULA"; // Si ja som dins el període de matrícules, mirem si el curs està o no actiu. } elseif (!$isActiu) { return "CURS_INACTIU"; //Si la data és inferior a la data d'inici de matrícula per a nous alumnes, ho indiquem. } elseif (!$IsAnticAlumne) { return "ANTIC_ALUMNE"; //Si no és cap de les anteriors, pot matricular-se. } else { return "POT_MATRICULAR"; } } } }