$c->addAscendingOrderByColumn(AbsenceSaisiePeer::DEBUT_ABS); break; case 'FIN_ABS': $c->addAscendingOrderByColumn(AbsenceSaisiePeer::FIN_ABS); break; case 'UTILISATEUR_ID': $c->addAscendingOrderByColumn(AbsenceSaisiePeer::UTILISATEUR_ID); break; } }else{ $c->addAscendingOrderByColumn(AbsenceSaisiePeer::CREATED_ON); } // On ne veut que les absences qui concernent le jour d'aujourd'hui : $deb_creneau = CreneauPeer::getFirstCreneau(); $_ts = $deb_creneau->getDebutCreneau() + mktime(0, 0, 0, date("m"), date("d"), date("Y")) - 3600; // on conserve une marge de 1 heure avant le premier creneau $c->add(AbsenceSaisiePeer::FIN_ABS, $_ts, Criteria::GREATER_EQUAL); $liste_absents_brute = AbsenceSaisiePeer::doSelect($c); //aff_debug($liste_absents_brute[3]->getJTraitementSaisies());exit(); foreach ($liste_absents_brute as $absents){ if (!in_array($absents->getEleve()->getIdEleve(), $tab_absents)){ $tab_absents[$absents->getEleve()->getIdEleve()][] = $absents; }else{ $place = array_key($tab_absents, $absents->getEleve()->getIdEleve()); $tab_absents[$place][] = $absents; } }
for($a = 0 ; $a < $nbre ; $a++){ if (isset ($_eleve[$a])){ // Alors on propose d'enregistrer l'absence pour garder une trace de la saisie (raisons légales et vérification)... $saisie = new AbsenceSaisie(); $saisie->setUtilisateurId($_SESSION["login"]); $saisie->setEleveId($_eleve[$a]); $_SESSION["_eleveSaisi"] = $_eleve[$a]; // Si on demande la journée entière ... if (isset($_jourentier[$a]) AND $_jourentier[$a] != ''){ // ... On indique le premier et le dernier créneau de la journée $_deb = CreneauPeer::getFirstCreneau()->getDebutCreneau(); $deb = $_deb + mktime(0, 0, 0, date("m"), date("d"), date("Y")); $_fin = CreneauPeer::getLastCreneau()->getFinCreneau(); $fin = $_fin + mktime(0, 0, 0, date("m"), date("d"), date("Y")); }else{ $t_deb = CreneauPeer::retrieveByPK($_deb[$a]); $deb = mktime(0, 0, 0, date("m"), date("d"), date("Y")) + $t_deb->getDebutCreneau(); $t_fin = CreneauPeer::retrieveByPK($_fin[$a]); $fin = mktime(0, 0, 0, date("m"), date("d"), date("Y")) + $t_fin->getFinCreneau(); } $saisie->setDebutAbs($deb); $saisie->setFinAbs($fin);