security_check(); if ($resultat_session == "c") { header("Location:utilisateurs/mon_compte.php?change_mdp=yes&retour=accueil#changemdp"); die(); } else if ($resultat_session == "0") { header("Location: ../logout.php?auto=1"); die(); } $sql="SELECT 1=1 FROM droits WHERE id='/mod_engagements/extraction_engagements.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/mod_engagements/extraction_engagements.php', administrateur='V', professeur='F', cpe='V', scolarite='V', eleve='F', responsable='F', secours='F', autre='F', description='Extraction des engagements', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=2"); die(); } $id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : (isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL); $engagement_ele=isset($_POST['engagement_ele']) ? $_POST['engagement_ele'] : (isset($_GET['engagement_ele']) ? $_GET['engagement_ele'] : array()); $engagement_resp=isset($_POST['engagement_resp']) ? $_POST['engagement_resp'] : (isset($_GET['engagement_resp']) ? $_GET['engagement_resp'] : array()); $action=isset($_POST['action']) ? $_POST['action'] : NULL; $tab_engagements=get_tab_engagements(""); if(count($tab_engagements['indice'])==0) { header("Location: ../accueil.php?msg=Aucun type d engagement n est actuellement défini."); die(); } include("../ckeditor/ckeditor.php") ; $nb_engagements=count($tab_engagements['indice']); $msg=""; if(isset($action)) { check_token(); $login_user=isset($_POST['login_user']) ? $_POST['login_user'] : array(); if(count($login_user)==0) { $msg="ERREUR : Aucun utilisateur n'a été sélectionné.
"; } elseif($action=="export_csv") { $csv="LOGIN;NOM;PRENOM;CLASSE;STATUT;ENGAGEMENTS;\r\n"; for($loop=0;$loop"; print_r($tab); echo ""; */ $classe=""; $engagements=""; if($tab_user['statut']=="eleve") { $classe=$tab_user['classes']; for($loop2=0;$loop20) {$engagements.=", ";} $engagements.=$tab['indice'][$loop2]['nom_engagement']; if($tab['indice'][$loop2]['type']=='id_classe') {$engagements.=" (".get_nom_classe($tab['indice'][$loop2]['valeur']).")";} } } else { $classe=""; } $csv.=$login_user[$loop].";".$tab_user['nom'].";".$tab_user['prenom'].";$classe;".$tab_user['statut'].";$engagements;\r\n"; } //echo "
$csv
"; $nom_fic="fichier_engagements_".strftime("%Y%m%d_%H%M%S").".csv"; send_file_download_headers('text/x-csv',$nom_fic); echo echo_csv_encoded($csv); die(); } elseif($action=="message") { $record = 'yes'; if (preg_match("#([0-9]{2})/([0-9]{2})/([0-9]{4})#", $_POST['display_date_debut'])) { $anneed = mb_substr($_POST['display_date_debut'],6,4); $moisd = mb_substr($_POST['display_date_debut'],3,2); $jourd = mb_substr($_POST['display_date_debut'],0,2); while ((!checkdate($moisd, $jourd, $anneed)) and ($jourd > 0)) $jourd--; $date_debut=mktime(0,0,0,$moisd,$jourd,$anneed); } else { $msg.="ATTENTION : La date de début d'affichage n'est pas valide.
(message non enregitré)
"; $record = 'no'; } if (preg_match("#([0-9]{2})/([0-9]{2})/([0-9]{4})#", $_POST['display_date_fin'])) { $anneef = mb_substr($_POST['display_date_fin'],6,4); $moisf = mb_substr($_POST['display_date_fin'],3,2); $jourf = mb_substr($_POST['display_date_fin'],0,2); while ((!checkdate($moisf, $jourf, $anneef)) and ($jourf > 0)) $jourf--; $date_fin=mktime(23,59,0,$moisf,$jourf,$anneef); } else { $msg.="ATTENTION : La date de fin d'affichage n'est pas valide.
(message non enregitré)
"; $record = 'no'; } if((!isset($_POST['message']))||($_POST['message']=="")) { $msg="ERREUR : Le message est vide.
"; } elseif ($record == 'yes') { $date_decompte=$date_fin; //$contenu_cor = traitement_magic_quotes(corriger_caracteres($_POST['message'])); $contenu_cor = $_POST['message']; $pos_crsf_alea=strpos($contenu_cor,"_CSRF_ALEA_"); if($pos_crsf_alea!==false) { $contenu_cor=preg_replace("/_CSRF_ALEA_/","",$contenu_cor); $msg.="Contenu interdit.
"; $record = 'no'; } if ($record == 'yes') { /* function ajout_bouton_supprimer_message($contenu_cor,$id_message) { $contenu_cor='
'.$contenu_cor; $r_sql="UPDATE messages SET texte='".$contenu_cor."' WHERE id='".$id_message."'"; return mysqli_query($GLOBALS["mysqli"], $r_sql)?true:false; } function update_message($contenu_cor,$date_debut,$date_fin,$date_decompte,$statuts_destinataires,$login_destinataire) { $r_sql = "UPDATE messages SET texte = '".$contenu_cor."', date_debut = '".$date_debut."', date_fin = '".$date_fin."', date_decompte = '".$date_decompte."', auteur='".$_SESSION['login']."', statuts_destinataires = '".$statuts_destinataires."', login_destinataire='".$login_destinataire."' WHERE id ='".$_POST['id_mess']."'"; //", matiere_destinataire='".$matiere_destinataire."'"; return mysqli_query($GLOBALS["mysqli"], $r_sql)?true:false; } function set_message($contenu_cor,$date_debut,$date_fin,$date_decompte,$statuts_destinataires,$login_destinataire) { $r_sql = "INSERT INTO messages SET texte = '".$contenu_cor."', date_debut = '".$date_debut."', date_fin = '".$date_fin."', date_decompte = '".$date_decompte."', auteur='".$_SESSION['login']."', statuts_destinataires = '".$statuts_destinataires."', login_destinataire='".$login_destinataire."'"; //$r_sql.=", matiere_destinataire='".$matiere_destinataire."'"; $retour=mysqli_query($GLOBALS["mysqli"], $r_sql)?true:false; if ($retour) { $id_message=((is_null($___mysqli_res = mysqli_insert_id($GLOBALS["mysqli"]))) ? false : $___mysqli_res); if (isset($_POST['suppression_possible']) && $_POST['suppression_possible']=="oui" && $statuts_destinataires=="_") $retour=ajout_bouton_supprimer_message($contenu_cor,$id_message); } return $retour; } */ $t_login_destinataires=$login_user; if (count($t_login_destinataires)>1) {$statuts_destinataires="_";} foreach($t_login_destinataires as $login_destinataire) { $erreur=!set_message($contenu_cor,$date_debut,$date_fin,$date_decompte,$statuts_destinataires,$login_destinataire) && $erreur; } if (!$erreur) { $msg.="Le message a été enregistré."; } else { $msg.="Erreur lors de l'enregistrement du message :
".mysqli_error($GLOBALS["mysqli"]); } } } } else { $msg="Mode non prévu.
"; } } $style_specifique[] = "lib/DHTMLcalendar/calendarstyle"; $javascript_specifique[] = "lib/DHTMLcalendar/calendar"; $javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr"; $javascript_specifique[] = "lib/DHTMLcalendar/calendar-setup"; $javascript_specifique[] = "lib/tablekit"; $utilisation_tablekit="ok"; // ===================== entete Gepi ======================================// $titre_page = "Extraction engagements"; require_once("../lib/header.inc.php"); // ===================== fin entete =======================================// //debug_var(); echo "
"; if($_SESSION['statut']=='administrateur') { echo "

Retour Retour"; } else { echo "

Retour Retour"; } if(acces("/mod_engagements/index_admin.php", $_SESSION['statut'])) { echo " | Définir les types d'engagements"; } if(acces("/mod_engagements/saisie_engagements.php", $_SESSION['statut'])) { echo " | Saisir les engagements"; } if(acces("/mod_engagements/imprimer_documents.php", $_SESSION['statut'])) { echo " | Imprimer les documents liés aux engagements"; } if((!isset($id_classe))||((count($engagement_ele)==0)&&(count($engagement_resp)==0))) { echo "

\n"; echo "

Choix des classes, statuts et engagements :

\n"; // Liste des classes avec élève: $sql="(SELECT DISTINCT c.* FROM j_eleves_classes jec, classes c, engagements_user eu WHERE (c.id=jec.id_classe AND eu.valeur=jec.id_classe AND eu.id_type='id_classe' AND eu.login=jec.login) ORDER BY c.classe)"; $sql.=" UNION (SELECT DISTINCT c.* FROM eleves e, responsables2 r, resp_pers rp, j_eleves_classes jec, classes c, engagements_user eu WHERE (c.id=jec.id_classe AND eu.valeur=jec.id_classe AND eu.id_type='id_classe' AND eu.login=rp.login AND rp.pers_id=r.pers_id AND r.ele_id=e.ele_id AND e.login=jec.login) ORDER BY c.classe);"; //echo "$sql
"; $call_classes=mysqli_query($GLOBALS["mysqli"], $sql); $nb_classes=mysqli_num_rows($call_classes); if($nb_classes==0){ echo "

Aucune classe avec engagement saisi n'a été trouvée.

\n"; require("../lib/footer.inc.php"); die(); } // Affichage sur 3 colonnes $nb_classes_par_colonne=round($nb_classes/3); $cpt = 0; echo "

Engagements liés à des classes :

      \n"; while($lig_clas=mysqli_fetch_object($call_classes)) { //affichage 2 colonnes if(($cpt>0)&&(round($cpt/$nb_classes_par_colonne)==$cpt/$nb_classes_par_colonne)){ echo " "; } echo "
"; $cpt++; } echo "

Tout cocher / Tout décocher

"; $cpt=0; foreach($tab_engagements['indice'] as $key => $current_engagement) { if($current_engagement['ConcerneEleve']) { echo "
"; $cpt++; } } echo "
"; $cpt=0; foreach($tab_engagements['indice'] as $key => $current_engagement) { if($current_engagement['ConcerneResponsable']) { echo "
"; $cpt++; } } echo "

NOTE : Seules apparaissent les classes dans lesquelles des engagements sont saisis.


\n"; /*
";
	print_r($tab_engagements);
	echo "
		
*/ require("../lib/footer.inc.php"); die(); } echo " | Extraire les engagements pour d'autres classes

\n"; //debug_var(); // Afficher les personnes extraites // Pouvoir générer un CSV... // Pouvoir envoyer un mail... $cpt=0; echo "
".add_token_field()." "; for($loop=0;$loop $tab_engagement_current_user) { $tab_user=get_info_user($current_login); $chaine_tr=" "; if($temoin_engagement_recherche=="y") { echo $chaine_tr; } $cpt++; } } echo "
Tout cocher/ Tout décocher Nom Prénom Statut Classe Engagements
"; /* echo "
";
				echo print_r($tab_user);
				echo "
"; */ $chaine_tr.="
".$tab_user['statut']." ".$nom_classe." "; $temoin_engagement_recherche="n"; for($loop2=0;$loop2"; print_r($tab); echo " "; */ $chaine_tr.=$tab['indice'][$tab_engagement_current_user[$loop2]]['nom_engagement']."
"; $temoin_engagement_recherche="y"; } } $chaine_tr.="
"; for($loop=0;$loop"; } for($loop=0;$loop"; } for($loop=0;$loop"; } echo "



Texte du message :"; $contenu=""; $oCKeditor = new CKeditor('../ckeditor/'); $oCKeditor->editor('message',$contenu) ; $annee = strftime("%Y"); $mois = strftime("%m"); $jour = strftime("%d"); $display_date_debut = $jour."/".$mois."/".$annee; $annee = strftime("%Y",time()+86400); $mois = strftime("%m",time()+86400); $jour = strftime("%d",time()+86400); $display_date_fin = $jour."/".$mois."/".$annee; echo "
Le message sera affiché :
de la date : ".img_calendrier_js("display_date_debut", "img_bouton_display_date_debut")."  à la date : ".img_calendrier_js("display_date_fin", "img_bouton_display_date_fin")."
(Respectez le format jj/mm/aaaa)
Le destinataire peut supprimer ce message : 

"; /* echo "
";
print_r($tab_engagements);
echo "
"; */ require("../lib/footer.inc.php"); ?>