security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); }; if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } //recherche de l'utilisateur avec propel $utilisateur = UtilisateurProfessionnelPeer::getUtilisateursSessionEnCours(); if ($utilisateur == null) { header("Location: ../logout.php?auto=1"); die(); } //On vérifie si le module est activé if (getSettingValue("active_module_absence")!='2') { die("Le module n'est pas activé."); } if ($utilisateur->getStatut()!="cpe" && $utilisateur->getStatut()!="scolarite" && $utilisateur->getStatut()!="administrateur" ) { die("acces interdit"); } include_once 'lib/function.php'; // Initialisation des variables //récupération des paramètres de la requète $nom_eleve = isset($_POST["nom_eleve"]) ? $_POST["nom_eleve"] :(isset($_GET["nom_eleve"]) ? $_GET["nom_eleve"] :(isset($_SESSION["nom_eleve"]) ? $_SESSION["nom_eleve"] : NULL)); $id_classe = isset($_POST["id_classe"]) ? $_POST["id_classe"] :(isset($_GET["id_classe"]) ? $_GET["id_classe"] :(isset($_SESSION["id_classe_abs"]) ? $_SESSION["id_classe_abs"] : NULL)); $date_absence_eleve_debut = isset($_POST["date_absence_eleve_debut"]) ? $_POST["date_absence_eleve_debut"] :(isset($_GET["date_absence_eleve_debut"]) ? $_GET["date_absence_eleve_debut"] :(isset($_SESSION["date_absence_eleve_debut"]) ? $_SESSION["date_absence_eleve_debut"] : NULL)); $date_absence_eleve_fin = isset($_POST["date_absence_eleve_fin"]) ? $_POST["date_absence_eleve_fin"] :(isset($_GET["date_absence_eleve_fin"]) ? $_GET["date_absence_eleve_fin"] :(isset($_SESSION["date_absence_eleve_fin"]) ? $_SESSION["date_absence_eleve_fin"] : NULL)); $type_extrait = isset($_POST["type_extrait"]) ? $_POST["type_extrait"] :(isset($_GET["type_extrait"]) ? $_GET["type_extrait"] : 1); $affichage = isset($_POST["affichage"]) ? $_POST["affichage"] :(isset($_GET["affichage"]) ? $_GET["affichage"] : NULL); $page= isset($_REQUEST['page'])?$_REQUEST['page']:0; $traitement_csv_en_cours= isset($_REQUEST['traitement_csv_en_cours'])?$_REQUEST['traitement_csv_en_cours']:'non_defini'; if (isset($id_classe) && $id_classe != null) $_SESSION['id_classe_abs'] = $id_classe; if (isset($date_absence_eleve_debut) && $date_absence_eleve_debut != null) $_SESSION['date_absence_eleve_debut'] = $date_absence_eleve_debut; if (isset($date_absence_eleve_fin) && $date_absence_eleve_fin != null) $_SESSION['date_absence_eleve_fin'] = $date_absence_eleve_fin; //if (($date_absence_eleve_debut != null)&&(preg_match("#^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$#", $date_absence_eleve_debut))) { if ($date_absence_eleve_debut != null) { if (preg_match("#^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$#", $date_absence_eleve_debut)) { $dt_date_absence_eleve_debut = new DateTime(str_replace("/",".",$date_absence_eleve_debut)); } else { $msg="Date de début invalide : $date_absence_eleve_debut
"; $dt_date_absence_eleve_debut = new DateTime('now'); $dt_date_absence_eleve_debut->setDate($dt_date_absence_eleve_debut->format('Y'), $dt_date_absence_eleve_debut->format('m') - 1, $dt_date_absence_eleve_debut->format('d')); } } else { $dt_date_absence_eleve_debut = new DateTime('now'); $dt_date_absence_eleve_debut->setDate($dt_date_absence_eleve_debut->format('Y'), $dt_date_absence_eleve_debut->format('m') - 1, $dt_date_absence_eleve_debut->format('d')); } //if (($date_absence_eleve_fin != null)&&(preg_match("#^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$#", $date_absence_eleve_fin))) { if ($date_absence_eleve_fin != null) { if(preg_match("#^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$#", $date_absence_eleve_fin)) { $dt_date_absence_eleve_fin = new DateTime(str_replace("/",".",$date_absence_eleve_fin)); } else { $msg="Date invalide de fin : $date_absence_eleve_fin
"; $dt_date_absence_eleve_fin = new DateTime('now'); } } else { $dt_date_absence_eleve_fin = new DateTime('now'); } $dt_date_absence_eleve_debut->setTime(0,0,0); $dt_date_absence_eleve_fin->setTime(23,59,59); $type_saisie=isset($_POST['type_saisie']) ? $_POST['type_saisie'] : ""; if (($type_saisie != "")&&($type_saisie != "SANS")) { $type_extrait=2; } $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; $utilisation_tablekit="ok"; //**************** EN-TETE ***************** $titre_page = "Les absences"; if ($affichage != 'ods') {// on affiche pas de html require_once("../lib/header.inc.php"); //****************************************** //debug_var(); if ($traitement_csv_en_cours != 'true') { include('menu_abs2.inc.php'); include('menu_bilans.inc.php'); //debug_var(); // Semaine précédente,... $ts_debut_semaine=time()-strftime("%u")*24*3600; $ts_fin_semaine=$ts_debut_semaine+7*24*3600; $ts_debut_semaine_prec=$ts_debut_semaine-7*24*3600; $ts_fin_semaine_prec=$ts_debut_semaine_prec+7*24*3600; ?>

Extraire les saisies du au  J1Aujourd'hui  - SemSemaine courante  - S-1Semaine précédente

getStatut()!="administrateur" ) { echo '

Nom (facultatif) : '; //on affiche une boite de selection avec les classe if ($affichage != 'ods') if (getSettingValue("GepiAccesAbsTouteClasseCpe")=='yes' && $utilisateur->getStatut() == "cpe") { $classe_col = ClasseQuery::create()->orderByNom()->orderByNomComplet()->find(); } else { $classe_col = $utilisateur->getClasses(); } if (!$classe_col->isEmpty()) { //echo ("Classe : "); echo "\n"; foreach ($classe_col as $classe) { echo "\n"; } echo " "; } else { echo 'Aucune classe avec élève affecté n\'a été trouvée'; } ?>

Type :

Type de saisie :



'; } }?>

getStatut() == 'administrateur' || getSettingValue("GepiAccesAbsTouteClasseCpe")=='yes' && $utilisateur->getStatut() == "cpe") { } else { $eleve_query->filterByUtilisateurProfessionnel($utilisateur); } if ($id_classe !== null && $id_classe != -1) { $eleve_query->useJEleveClasseQuery()->filterByIdClasse($id_classe)->endUse(); } if ($nom_eleve !== null && $nom_eleve != '') { $eleve_query->filterByNomOrPrenomLike($nom_eleve); } $eleve_col = $eleve_query->distinct()->find(); $saisie_query = AbsenceEleveSaisieQuery::create() ->filterByPlageTemps($dt_date_absence_eleve_debut, $dt_date_absence_eleve_fin) ->filterByEleveId($eleve_col->toKeyValue('Id', 'Id')); if (($type_saisie != "")&&($type_saisie != "SANS")) { $saisie_query->useJTraitementSaisieEleveQuery()->useAbsenceEleveTraitementQuery()->filterByATypeId($type_saisie)->endUse()->endUse(); } elseif ($type_extrait == '1') { $saisie_query->filterByManquementObligationPresence(true); } $saisie_query->useEleveQuery()->orderByNom()->orderByPrenom()->endUse(); $saisie_query->orderByDebutAbs(); $saisie_query->setFormatter('PropelOnDemandFormatter'); } if ($affichage == 'html') { $alt=1; $cpt_eleve=0; $saisie_col = $saisie_query->find(); echo ''; $precedent_eleve_id = null; foreach ($saisie_col as $saisie) { if ($type_extrait == '1' && !$saisie->getManquementObligationPresence()) { continue; } if ($precedent_eleve_id != $saisie->getEleveId()) { if ($precedent_eleve_id != null) { //on finit la nouvelle ligne echo '
Élèves Classes Saisies
'; } $precedent_eleve_id = $saisie->getEleveId(); //on affiche une nouvelle ligne $cpt_eleve++; echo ' '.$saisie->getEleve()->getNom().' '.$saisie->getEleve()->getPrenom().' '.$saisie->getEleve()->getClasseNom().' '; } // Pour afficher d'une couleur différente les saisies des différents jours $tmp_tab=explode(" ", $saisie->getDateDescription()); if((!isset($jour_precedent))||($tmp_tab[2]!=$jour_precedent)) { $alt=$alt*(-1); $jour_precedent=$tmp_tab[2]; } echo ' '; } echo '
'.$saisie->getDebutAbs('Ymd_Hi').' '.$saisie->getDateDescription().' '.$saisie->getTypesDescription().'

'.$cpt_eleve.' élève(s).

Extraction faite le '.date("d/m/Y - H:i").'
'; } else if ($affichage == 'ods') { // load the TinyButStrong libraries include_once('../tbs/tbs_class.php'); // TinyButStrong template engine //include_once('../tbs/plugins/tbsdb_php.php'); $TBS = new clsTinyButStrong; // new instance of TBS include_once('../tbs/plugins/tbs_plugin_opentbs.php'); $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin // Load the template $extraction_saisies=repertoire_modeles('absence_extraction_saisies.ods'); $TBS->LoadTemplate($extraction_saisies, OPENTBS_ALREADY_UTF8); $titre = 'Extrait des absences du '.$dt_date_absence_eleve_debut->format('d/m/Y').' au '.$dt_date_absence_eleve_fin->format('d/m/Y'); $classe = null; if ($id_classe != null && $id_classe != '') { $classe = ClasseQuery::create()->findOneById($id_classe); if ($classe != null) { $titre .= ' pour la classe '.$classe->getNom(); } } if ($nom_eleve != null && $nom_eleve != '' ) { $titre .= ' pour les élèves dont le nom ou le prénom contient '.$nom_eleve; } $TBS->MergeField('titre', $titre); $saisie_col = $saisie_query->find(); $TBS->MergeBlock('saisie_col',$saisie_col); // Output as a download file (some automatic fields are merged here) $nom_fichier = 'extrait_saisies_'; if ($classe != null) { $nom_fichier .= $classe->getNom().'_'; } $nom_fichier .= $dt_date_absence_eleve_fin->format("d_m_Y").'.ods'; $TBS->Show(OPENTBS_DOWNLOAD+TBS_EXIT, $nom_fichier); } else if ($affichage == 'csv' && $utilisateur->getStatut() == "administrateur") { if ($traitement_csv_en_cours == 'false') { //le traitement viens de se finir, on propose le fichier au téléchargement echo '
Télécharger le résultat'; if ($page == 1) { //on s'est arreter à la page 0, il n'y a pas de résultat echo ' (extraction vide)'; } echo '
'; echo "

NOTE : Le fichier CSV est généré dans le sous-dossier 'absences' de votre dossier de sauvegarde (sauvegardes de la base, des photos, des documents joints aux CDT, des archives de bulletins PDF,...).
Si votre dossier de sauvegarde est protégé par un mot de passe, ce mot de passe va vous être réclamé lors du téléchargement de l'export des absences.
Si vous avez oublié ce mot de passe, vous pouvez le remplacer/mettre à jour en administrateur via la page de "; if ($utilisateur->getStatut()=="administrateur" ) { echo "Gestion des sauvegardes.

"; } else { echo "Gestion des sauvegardes.

"; } } else { //print_r($page);die; // titre des colonnes $saisie_col = $saisie_query->paginate($page, 750); if ($page == 0) { $output = ''; $date = new DateTime(); $output .= ('Extraction des saisies d\'absence '.getSettingValue('gepiSchoolName').' '.getSettingValue('gepiYear')."\n"); $output .= 'Extraction faite le '.date("d/m/Y - H:i")."\n"; $output .= ("Nom,Prenom,Classe,Debut absence,Fin absence, Type, Manquement a l'obligation de presence, Sous responsabilite etablissement\n"); $filename = 'extrait_saisies_'.date("d_m_Y_H_i").'.csv'; if (!file_exists('../backup/'.getSettingValue("backup_directory").'/absences')) { mkdir('../backup/'.getSettingValue("backup_directory").'/absences'); } $myFile = '../backup/'.getSettingValue("backup_directory").'/absences/'.$filename; $fh = fopen($myFile, 'w'); fwrite($fh,$output); fclose($fh); } else { $filename = $_REQUEST['filename']; echo '
Veuillez patienter, étape '.$page.' sur '.$saisie_col->getLastPage(); if (ob_get_contents()) { ob_flush(); } flush(); $output = ''; foreach ($saisie_col as $saisie) { if ($type_extrait == '1' && !$saisie->getManquementObligationPresence()) { continue; } $output .= $saisie->getEleve()->getNom().','.$saisie->getEleve()->getPrenom().','.$saisie->getEleve()->getClasseNom().','; $output .= $saisie->getDebutAbs('d/m/Y - H:i').','.$saisie->getFinAbs('d/m/Y - H:i').','; $traitement_col = $saisie->getAbsenceEleveTraitements(); foreach ($traitement_col as $traitement) { if ($traitement->getAbsenceEleveType() != null) { $output .= $traitement->getAbsenceEleveType()->getNom().' - '; } } $output .= ','; if ($saisie->getManquementObligationPresence()) { $output .= 'oui,'; } else { $output .= 'non,'; } if ($saisie->getSousResponsabiliteEtablissement()) { $output .= 'oui'; } else { $output .= 'non'; } $output .= "\n"; } $myFile = '../backup/'.getSettingValue("backup_directory").'/absences/'.$filename; $fh = fopen($myFile, 'a'); fwrite($fh,$output); fclose($fh); } echo '
'; echo add_token_field(); if (isset($filename)) { echo ''; } echo ''; if ($page == $saisie_col->getLastPage()) { echo ''; } else { echo ''; } $page++; echo ''; if (isset($_REQUEST['retour'])) { echo ''; } echo " "; echo "

"; } } if (isset($_REQUEST['retour']) && $traitement_csv_en_cours != 'true') { echo '

Retour'; } ?>
dojo.require("dojo.parser"); dojo.require("dijit.form.Button"); dojo.require("dijit.form.Form"); dojo.require("dijit.form.DateTextBox"); dojo.require("dijit.form.TextBox"); dojo.require("dijit.form.Select"); '; require_once("../lib/footer.inc.php"); ?>