function format_selectbox_heure($utilisateur, $id_creneau, $dt_date_absence_eleve, $id_box) { if ($utilisateur->getStatut() != 'professeur' || getSettingValue("abs2_saisie_prof_decale_journee")=='y' || getSettingValue("abs2_saisie_prof_decale")=='y') { ?> <label class="invisible" for="<?php echo $id_box; ?>">heure</label> <select id="<?php echo $id_box; ?>" name="id_creneau" class="small"> <?php //echo ("<select name=\"id_creneau\" class=\"small\">"); $edt_creneau_col = EdtCreneauPeer::retrieveAllEdtCreneauxOrderByTime(); ?> <option value='-1'>choisissez un créneau</option> <?php foreach ($edt_creneau_col as $edt_creneau) { if ($edt_creneau->getTypeCreneaux() == EdtCreneau::TYPE_PAUSE || $edt_creneau->getTypeCreneaux() == EdtCreneau::TYPE_REPAS) { continue; } echo "<option value='".$edt_creneau->getIdDefiniePeriode()."'"; if ($id_creneau == $edt_creneau->getIdDefiniePeriode()) echo " selected='selected' "; echo ">"; echo $edt_creneau->getDescription(); echo "</option>\n"; } ?> </select> <?php } else { $current_creneau = EdtCreneauPeer::retrieveEdtCreneauActuel(); if ($current_creneau != null) { echo $current_creneau->getDescription().' '; echo '<input type="hidden" name="id_creneau" value="'.$current_creneau->getIdDefiniePeriode().'"/>'; } else { echo "Aucun creneau actuellement. "; } } if ($utilisateur->getStatut() != 'professeur' || (getSettingValue("abs2_saisie_prof_decale")=='y' && getSettingValue("abs2_saisie_prof_decale_journee")=='y')) { $rand_id = rand(0,10000000); echo '<label class="invisible" for="date_absence_eleve_'.$rand_id.'">date</label>'; echo '<input size="9" id="date_absence_eleve_'.$rand_id.'" name="date_absence_eleve" value="'.$dt_date_absence_eleve->format('d/m/Y').'" /> '; echo ' <script type="text/javascript"> Calendar.setup({ inputField : "date_absence_eleve_'.$rand_id.'", // id of the input field ifFormat : "%d/%m/%Y", // format of the input field button : "date_absence_eleve_1", // trigger for the calendar (button ID) align : "Bl", // alignment (defaults to "Bl") singleClick : true }); </script>'; } else { echo ' Le '.$dt_date_absence_eleve->format('d/m/Y').' '; } }
if ($utilisateur->getStatut()!="cpe" && $utilisateur->getStatut()!="scolarite") { die("acces interdit"); } // Initialisation des variables $date_absence_eleve = isset($_POST["date_absence_eleve"]) ? $_POST["date_absence_eleve"] :(isset($_GET["date_absence_eleve"]) ? $_GET["date_absence_eleve"] :(isset($_SESSION["date_absence_eleve"]) ? $_SESSION["date_absence_eleve"] : NULL)); if ($date_absence_eleve != null) {$_SESSION["date_absence_eleve"] = $date_absence_eleve;} if ($date_absence_eleve != null) { $dt_date_absence_eleve = new DateTime(str_replace("/",".",$date_absence_eleve)); } else { $dt_date_absence_eleve = new DateTime('now'); } $choix_creneau = isset($_POST["choix_creneau"]) ? $_POST["choix_creneau"] : (isset($_GET["choix_creneau"]) ? $_GET["choix_creneau"] : null); if ($choix_creneau === null) { $choix_creneau_obj = EdtCreneauPeer::retrieveEdtCreneauActuel(); if ($choix_creneau_obj != null) { $choix_creneau = $choix_creneau_obj->getIdDefiniePeriode(); } } else { $choix_creneau_obj= EdtCreneauPeer::retrieveByPK($choix_creneau); } $avec_js_et_css_edt="y"; $style_specifique[] = "edt_organisation/style_edt"; $style_specifique[] = "templates/DefaultEDT/css/small_edt"; $style_specifique[] = "mod_abs2/lib/abs_style"; //$javascript_specifique[] = "mod_abs2/lib/include"; $javascript_specifique[] = "edt_organisation/script/fonctions_edt"; $dojo=true;
echo(' alors qu\'on ne devrait pas avoir de retour en toute logique'); } else { echo('test recuperation d\'un creneau à minuit a reussi : pas de retour <br><br/>'); } $time = mktime(8, 40, 0); $creneau = EdtCreneauPeer::retrieveEdtCreneauActuel($time); echo ($logger->getDisplay()); if ($creneau == null) { echo('test recuperation d\'un creneau à 8h40 a <font color="red">echoue</font> : '); echo('pas de retour <br><br/>'); } else { echo('test recuperation d\'un creneau à 8h40 a reussi : '.$creneau->getNomDefiniePeriode().'<br><br/>'); } $creneau = EdtCreneauPeer::retrieveEdtCreneauActuel('8:40'); echo ($logger->getDisplay()); if ($creneau == null) { echo('test recuperation d\'un creneau à 8h40 a <font color="red">echoue</font> : '); echo('pas de retour <br><br/>'); } else { echo('test recuperation d\'un creneau à 8h40 a reussi : '.$creneau->getNomDefiniePeriode().'<br><br/>'); } //Creation d'un utilisateur $utilisateurProfessionnel = new UtilisateurProfessionnel(); $utilisateurProfessionnel = UnitTestUtilisateurProfessionnel::getUtilisateurProfessionnel(); $utilisateurProfessionnel->save(); $newUtilisateurProfessionnel = UtilisateurProfessionnelPeer::retrieveByPK($utilisateurProfessionnel->getLogin()); $logger->getDisplay();
/** * * Retourne la collection des absences saisies pour ce creneau. Si null, on prend le creneau actuel * * @param mixed $v string, integer (timestamp), or DateTime value. Empty string will * be treated as NULL for temporal objects. * @return PropelObjectCollection AbsenceEleveSaisie */ public function getEdtCreneauAbsenceSaisie($edtcreneau = null, $v = 'now'){ if ($edtcreneau == null) { $edtcreneau = EdtCreneauPeer::retrieveEdtCreneauActuel($v); } if (!($edtcreneau instanceof EdtCreneau)) { $edtcreneau = EdtCreneauQuery::create()->findPk($edtcreneau); if ($edtcreneau == null) { return new PropelObjectCollection(); } } // we treat '' and NULL as 'now' for temporal if ($v === null || $v === '') { $dt = new DateTime('now'); } elseif ($v instanceof DateTime) { $dt = clone $v; } else { // some string/numeric value passed; we normalize that so that we can // validate it. try { if (is_numeric($v)) { // if it's a unix timestamp $dt = new DateTime('@'.$v, new DateTimeZone('UTC')); // We have to explicitly specify and then change the time zone because of a // DateTime bug: http://bugs.php.net/bug.php?id=43003 $dt->setTimeZone(new DateTimeZone(date_default_timezone_get())); } else { $dt = new DateTime($v); } } catch (Exception $x) { throw new PropelException('Error parsing date/time value: ' . var_export($v, true), $x); } } $query = AbsenceEleveSaisieQuery::create(); $query->filterByUtilisateurProfessionnel($this); $dt->setTime($edtcreneau->getHeuredebutDefiniePeriode('H'), $edtcreneau->getHeuredebutDefiniePeriode('i')); $dt_end = clone $dt; $dt_end->setTime($edtcreneau->getHeurefinDefiniePeriode('H'), $edtcreneau->getHeurefinDefiniePeriode('i')); $query->filterByPlageTemps($dt, $dt_end); $col = $query->find(); return $col; }
/** * * Retourne une liste d'absence qui montrent un manquement à l'obligation de présence pour le creneau et le jour donné. * * @param EdtCreneau $edtcreneau * @param mixed $v string, integer (timestamp), or DateTime value. Empty string will * be treated as NULL for temporal objects. * * @return PropelColection AbsenceEleveSaisie[] */ public function getAbsenceEleveSaisiesDecompteDemiJourneesDuCreneau($edtcreneau = null, $v = 'now') { if ($edtcreneau == null) { $edtcreneau = EdtCreneauPeer::retrieveEdtCreneauActuel($v); } if (!($edtcreneau instanceof EdtCreneau)) { throw new PropelException('Le premier argument doit etre de la classe EdtCreneau'); } // we treat '' as NULL for temporal objects because DateTime('') == DateTime('now') // -- which is unexpected, to say the least. //$dt = new DateTime(); if ($v === null || $v === '') { $dt = null; } elseif ($v instanceof DateTime) { $dt = clone $v; } else { // some string/numeric value passed; we normalize that so that we can // validate it. try { if (is_numeric($v)) { // if it's a unix timestamp $dt = new DateTime('@'.$v, new DateTimeZone('UTC')); // We have to explicitly specify and then change the time zone because of a // DateTime bug: http://bugs.php.net/bug.php?id=43003 $dt->setTimeZone(new DateTimeZone(date_default_timezone_get())); } else { $dt = new DateTime($v); } } catch (Exception $x) { throw new PropelException('Error parsing date/time value: ' . var_export($v, true), $x); } } $dt->setTime($edtcreneau->getHeuredebutDefiniePeriode('H'), $edtcreneau->getHeuredebutDefiniePeriode('i'), 0); $dt_fin_creneau = clone $dt; $dt_fin_creneau->setTime($edtcreneau->getHeurefinDefiniePeriode('H'), $edtcreneau->getHeurefinDefiniePeriode('i'), 0); return $this->getAbsenceEleveSaisiesDecompteDemiJournees($dt, $dt_fin_creneau); }