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(); } // SQL : INSERT INTO droits VALUES ( '/mod_ooo/retenue.php', 'V', 'V', 'V', 'V', 'F', 'F', 'F', 'F', 'Modèle Ooo : retenue', ''); // maj : $tab_req[] = "INSERT INTO droits VALUES ( '/mod_ooo/retenue.php', 'V', 'V', 'V', 'V', 'F', 'F', 'F', 'F', 'Modèle Ooo : Retenue', '');;"; if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } include_once('./lib/lib_mod_ooo.php'); include_once('../tbs/tbs_class.php'); include_once('../tbs/plugins/tbs_plugin_opentbs.php'); include_once('../mod_discipline/sanctions_func_lib.php'); // la librairie de fonction du module discipline pour la fonction p_nom , u_p_nom, nombre_report //debug_var(); // // Zone de traitement des données qui seront fusionnées au modèle // Chacune correspond à une variable définie dans le modèle // ATTENTION S'il y a des TABLEAUX à TRAITER Voir en BAS DU FICHIER PARTIE TABLEAU (Merge) // //On récupère les coordonnées du collège dans Gepi ==> $gepiSettings['nom_setting'] $ets_anne_scol = $gepiSettings['gepiSchoolName']; $ets_nom = $gepiSettings['gepiSchoolName']; $ets_adr1 = $gepiSettings['gepiSchoolAdress1']; $ets_adr2 = $gepiSettings['gepiSchoolAdress2']; $ets_cp = $gepiSettings['gepiSchoolZipCode']; $ets_ville = $gepiSettings['gepiSchoolCity']; $ets_tel = $gepiSettings['gepiSchoolTel']; $ets_fax = $gepiSettings['gepiSchoolFax']; $ets_email = $gepiSettings['gepiSchoolEmail']; // recupération des parametres $mode=isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL); // Les informations viennent d'où ? si mode = module_discipline ==> du module discipline $id_incident=isset($_POST['id_incident']) ? $_POST['id_incident'] : (isset($_GET['id_incident']) ? $_GET['id_incident'] : NULL); $ele_login=isset($_POST['ele_login']) ? $_POST['ele_login'] : (isset($_GET['ele_login']) ? $_GET['ele_login'] : NULL); $id_sanction=isset($_POST['id_sanction']) ? $_POST['id_sanction'] : (isset($_GET['id_sanction']) ? $_GET['id_sanction'] : NULL); // Identifiant du responsable pour lequel faire l'impression $pers_id=isset($_POST['pers_id']) ? $_POST['pers_id'] : (isset($_GET['pers_id']) ? $_GET['pers_id'] : NULL); //Initialisation des données du modèle Ooo Retenue $date =''; $nom_prenom_eleve =''; $classe =''; $motif = ''; $travail =''; $nom_resp =''; $fct_resp =''; $date_retenue =''; $lieu = ''; $duree =''; $h_deb =''; $num_incident = ''; $nb_report=''; $texte_report=''; $materiel=''; //echo "\$mode=$mode
"; //echo "\$id_incident=$id_incident
"; // mode = module_discipline, on vient de la page saisie incident du module discipline // mode = module_retenue, on vient de la partie sanction du module discipline et de la sanction : retenue if (($mode=='module_discipline')||($mode=='module_retenue')) { // on récupère les données à transmettre au modèle de retenue open office. $sql_incident="SELECT * FROM `s_incidents` WHERE `id_incident`=$id_incident"; $res_incident=mysqli_query($GLOBALS["mysqli"], $sql_incident); if(mysqli_num_rows($res_incident)>0) { $lig_incident=mysqli_fetch_object($res_incident); //traitement de la date mysql $date=datemysql_to_jj_mois_aaaa($lig_incident->date,'-','o'); //traitement du motif et du travail $motif = $lig_incident->description; $travail ='Donné sur place'; // texte par défaut, c'est un enseignant qui rédige l'incident, il n'y a pas de possibilité de saisir le travail. $nature_incident=$lig_incident->nature; // le nom et le prénom de l'élève $nom_prenom_eleve =p_nom($ele_login,"Pn"); // la classe de l'élève $tmp_tab=get_class_from_ele_login($ele_login); if(isset($tmp_tab['liste'])) { $classe= $tmp_tab['liste']; } else { $classe = ''; } if(isset($pers_id)) { $sql="SELECT rp.civilite,rp.nom,rp.prenom,ra.adr1,ra.adr2,ra.adr3,ra.cp,ra.commune FROM resp_pers rp, resp_adr ra, responsables2 r, eleves e WHERE rp.pers_id=r.pers_id AND rp.adr_id=ra.adr_id AND r.ele_id=e.ele_id AND e.login='$ele_login' AND r.pers_id='$pers_id' ORDER BY r.resp_legal;"; } else { $sql="SELECT rp.civilite,rp.nom,rp.prenom,ra.adr1,ra.adr2,ra.adr3,ra.cp,ra.commune FROM resp_pers rp, resp_adr ra, responsables2 r, eleves e WHERE rp.pers_id=r.pers_id AND rp.adr_id=ra.adr_id AND r.ele_id=e.ele_id AND e.login='$ele_login' AND (r.resp_legal='1' OR r.resp_legal='2') ORDER BY r.resp_legal;"; } $res_resp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_resp)==0) { $ad_nom_resp=""; $adr1_resp=""; $adr2_resp=""; $adr3_resp=""; $cp_resp=""; $commune_resp=""; } else { $lig_resp=mysqli_fetch_object($res_resp); $ad_nom_resp=$lig_resp->civilite." ".$lig_resp->nom." ".$lig_resp->prenom; $adr1_resp=$lig_resp->adr1; $adr2_resp=$lig_resp->adr2; $adr3_resp=$lig_resp->adr3; $cp_resp=$lig_resp->cp; $commune_resp=$lig_resp->commune; } //le déclarant On récupère le nom et le prénom (et la qualité) $sql="SELECT nom,prenom,civilite,statut FROM utilisateurs WHERE login='$lig_incident->declarant';"; //echo "$sql
\n"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); //var retenue $nom_resp = $lig->civilite." ".strtoupper($lig->nom)." ".ucfirst(mb_substr($lig->prenom,0,1))."."; } else { echo "ERREUR: Login $lig_incident->declarant"; } if($lig->statut=='autre') { $sql = "SELECT ds.id, ds.nom_statut FROM droits_statut ds, droits_utilisateurs du WHERE du.login_user = '".$lig_incident->declarant."' AND du.id_statut = ds.id;"; $query = mysqli_query($GLOBALS["mysqli"], $sql); $result = mysqli_fetch_array($query); //var retenue $fct_resp = $result['nom_statut'] ; } else { $fct_resp = $lig->statut ; } $fct_resp = ucfirst($fct_resp); } else { //$nature_incident=""; return "INCIDENT INCONNU"; } //var retenue $num_incident = $id_incident; //On Traite ici la date et l'heure de la retenue posée if ($mode=='module_retenue') { $sql_sanction = "SELECT * FROM `s_retenues` WHERE `id_sanction`=$id_sanction"; $res_sanction=mysqli_query($GLOBALS["mysqli"], $sql_sanction); if(mysqli_num_rows($res_sanction)>0) { $lig_sanction=mysqli_fetch_object($res_sanction); $date_retenue = datemysql_to_jj_mois_aaaa($lig_sanction->date,'-','o'); if ($lig_sanction->duree>1) { $duree = $lig_sanction->duree." heures"; } else { $duree = $lig_sanction->duree." heure"; } $travail = $lig_sanction->travail; $lieu = $lig_sanction->lieu; if ($lig_sanction->materiel) $materiel = $lig_sanction->materiel; //recherche de l'heure de début. C'est le crénaux qui est enregistré. $sql_heure = "SELECT * FROM `edt_creneaux` WHERE `nom_definie_periode`='$lig_sanction->heure_debut'"; //echo $sql_heure; $res_heure = mysqli_query($GLOBALS["mysqli"], $sql_heure); if(mysqli_num_rows($res_heure)>0) { $lig_heure=mysqli_fetch_object($res_heure); $h_deb = $lig_heure->heuredebut_definie_periode; //on affiche que les 5 1er caratèeres de l'heure $h_deb=mb_substr($h_deb,0,5); //remplacement des : par H dans la chaine $h_deb=str_replace(":","H", $h_deb); } else { // LE CRENEAU EST INCONNU on se retrouve dans le cas d'une heure saisie à la main. $h_deb = $lig_sanction->heure_debut; } //Traitement d'un eventuel report $nb_report=nombre_reports($lig_sanction->id_sanction,0); if ($nb_report<>0) { $texte_report="REPORT N° ".$nb_report; } else { $texte_report=""; } } else { return "LA RETENUE EST INCONNUE"; } } // mode = module retenue } //if mode = module discipline if ($mode=='formulaire_retenue') { //les donnée provenant du formulaire if (isset($_SESSION['retenue_date'])) { $date = datemysql_to_jj_mois_aaaa($_SESSION['retenue_date'],'/','n'); //session_unregister("retenue_date"); unset($_SESSION['retenue_date']); } if (isset($_SESSION['retenue_nom_prenom_elv'])) { $nom_prenom_eleve =$_SESSION['retenue_nom_prenom_elv']; //session_unregister("retenue_nom_prenom_elv"); unset($_SESSION['retenue_nom_prenom_elv']); } if (isset($_SESSION['retenue_classe_elv'])) { $classe = $_SESSION['retenue_classe_elv']; //session_unregister("retenue_classe_elv"); unset($_SESSION['retenue_classe_elv']); } if (isset($_SESSION['retenue_motif'])) { $motif = $_SESSION['retenue_motif']; $motif=traitement_magic_quotes(corriger_caracteres($motif)); // Contrôle des saisies pour supprimer les sauts de lignes surnuméraires. $motif=suppression_sauts_de_lignes_surnumeraires($motif); //session_unregister("retenue_motif"); unset($_SESSION['retenue_motif']); } if (isset($_SESSION['retenue_travail'])) { $travail = $_SESSION['retenue_travail']; $travail=traitement_magic_quotes(corriger_caracteres($travail)); // Contrôle des saisies pour supprimer les sauts de lignes surnuméraires. $travail=suppression_sauts_de_lignes_surnumeraires($travail); //session_unregister("retenue_travail"); unset($_SESSION['retenue_travail']); } if (isset($_SESSION['retenue_nom_resp'])) { $nom_resp = $_SESSION['retenue_nom_resp']; //session_unregister("retenue_nom_resp"); unset($_SESSION['retenue_nom_resp']); } if (isset($_SESSION['retenue_fct_resp'])) { $fct_resp = $_SESSION['retenue_fct_resp']; //session_unregister("retenue_fct_resp"); unset($_SESSION['retenue_fct_resp']); } if (isset($_SESSION['retenue_nature_incident'])) { $nature_incident = $_SESSION['retenue_nature_incident']; $nature_incident=traitement_magic_quotes(corriger_caracteres($nature_incident)); // Contrôle des saisies pour supprimer les sauts de lignes surnuméraires. $nature_incident=suppression_sauts_de_lignes_surnumeraires($nature_incident); // session_unregister("retenue_nature_incident"); unset($_SESSION['retenue_nature_incident']); } $date_retenue =''; $duree =''; $h_deb =''; $num_incident = ''; $ad_nom_resp= ''; $adr1_resp= ''; $adr2_resp= ''; $adr3_resp= ''; $cp_resp= ''; $commune_resp= ''; } // formulaire_retenue //$nature_incident='Scrogneugneu'; // Quand on génère la retenue par le module Modèle openDocument, la $nature_incident n'est pas récupérée. // Elle ne l'est que si on génère la retenue depuis le module Discipline if(!isset($nature_incident)) {$nature_incident="";} // // Fin zone de traitement Les données qui seront fusionnées au modèle // $TBS = new clsTinyButStrong; // new instance of TBS $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin // Load the template $nom_fichier_modele_ooo ='retenue.odt'; //Procédure du traitement à effectuer //les chemins contenant les données include_once ("./lib/chemin.inc.php"); $nom_fichier = $nom_dossier_modele_a_utiliser.$nom_fichier_modele_ooo; $TBS->LoadTemplate($nom_fichier, OPENTBS_ALREADY_UTF8); //Génération du nom du fichier $now = gmdate('d_M_Y_H:i:s'); $nom_fichier_modele = explode('.',$nom_fichier_modele_ooo); $nom_fic = remplace_accents($nom_fichier_modele[0]."_".$classe."_".$nom_prenom_eleve."_généré_le_".$now.".".$nom_fichier_modele[1],'all'); $TBS->Show(OPENTBS_DOWNLOAD+TBS_EXIT, $nom_fic); ?>