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 ( '/bulletin/autorisation_exceptionnelle_saisie_app.php', 'V', 'F', 'F', 'V', 'F', 'F', 'F', 'F', 'Autorisation exceptionnelle de saisie d appréciation', '');
// maj : $tab_req[] = "INSERT INTO droits VALUES ( '/bulletin/autorisation_exceptionnelle_saisie_app.php', 'V', 'F', 'F', 'V', 'F', 'F', 'F', 'F', 'Autorisation exceptionnelle de saisie d appréciation', '');;";
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
if(($_SESSION['statut']=='scolarite')&&(!getSettingAOui('PeutDonnerAccesBullAppPeriodeCloseScol'))) {
$mess=rawurlencode("Accès interdit !");
header("Location: ../accueil.php?msg=$mess");
die();
}
$id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : (isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL);
$id_groupe=isset($_POST['id_groupe']) ? $_POST['id_groupe'] : (isset($_GET['id_groupe']) ? $_GET['id_groupe'] : NULL);
$periode=isset($_POST['periode']) ? $_POST['periode'] : (isset($_GET['periode']) ? $_GET['periode'] : NULL);
$is_posted=isset($_POST['is_posted']) ? $_POST['is_posted'] : (isset($_GET['is_posted']) ? $_GET['is_posted'] : NULL);
$mode=isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL);
$display_date_limite=isset($_POST['display_date_limite']) ? $_POST['display_date_limite'] : (isset($_GET['display_date_limite']) ? $_GET['display_date_limite'] : NULL);
$display_heure_limite=isset($_POST['display_heure_limite']) ? $_POST['display_heure_limite'] : (isset($_GET['display_heure_limite']) ? $_GET['display_heure_limite'] : NULL);
// Pour refermer la page plutôt que proposer un lien retour dans certains cas
$refermer_page=isset($_POST['refermer_page']) ? $_POST['refermer_page'] : (isset($_GET['refermer_page']) ? $_GET['refermer_page'] : NULL);
$msg="";
if((isset($mode))&&(!in_array($mode, array('proposition', 'acces_complet')))) {
$msg.="Mode invalide.
";
unset($mode);
}
if((isset($is_posted))&&(isset($_POST['no_anti_inject_message_autorisation_exceptionnelle']))&&($_SESSION['statut']=='administrateur')) {
check_token();
//echo "BLIP";
if (isset($NON_PROTECT["message_autorisation_exceptionnelle"])){
$message_autorisation_exceptionnelle= traitement_magic_quotes(corriger_caracteres($NON_PROTECT["message_autorisation_exceptionnelle"]));
}
else{
$message_autorisation_exceptionnelle="";
}
// Contrôle des saisies pour supprimer les sauts de lignes surnuméraires.
//$message_autorisation_exceptionnelle=my_ereg_replace('(\\\r\\\n)+',"\r\n",$message_autorisation_exceptionnelle);
$message_autorisation_exceptionnelle=suppression_sauts_de_lignes_surnumeraires($message_autorisation_exceptionnelle);
if(!saveSetting('message_autorisation_exceptionnelle',$message_autorisation_exceptionnelle)) {
$msg="Erreur lors de l'enregistrement du message personnalisé.
";
}
else {
$msg="Enregistrement du message personnalisé effectué.
";
}
}
if((isset($is_posted))&&(isset($id_classe))&&(isset($id_groupe))&&(isset($periode))&&(isset($display_date_limite))&&(isset($display_heure_limite))) {
check_token();
if (preg_match("#([0-9]{2})/([0-9]{2})/([0-9]{4})#", $_POST['display_date_limite'])) {
$annee = mb_substr($_POST['display_date_limite'],6,4);
$mois = mb_substr($_POST['display_date_limite'],3,2);
$jour = mb_substr($_POST['display_date_limite'],0,2);
//echo "$jourd/$moisd/$anneed
";
if(!checkdate($mois, $jour, $annee)) {
$msg.="ERREUR : La date $jour/$mois/$annee n'est pas valide.
";
}
else {
if (preg_match("/([0-9]{1,2}):([0-9]{0,2})/", str_ireplace('h',':',$display_heure_limite))) {
$heure = mb_substr($_POST['display_heure_limite'],0,2);
$minute = mb_substr($_POST['display_heure_limite'],3,2);
if(($heure>23)||($heure<0)||($minute<0)||($minute>59)) {
$msg.="ERREUR : L'heure $heure/$minute n'est pas valide.
";
}
else {
$sql="DELETE FROM matieres_app_delais WHERE id_groupe='$id_groupe' AND periode='$periode';";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
$date_limite_email="$annee/$mois/$jour à $heure:$minute";
$sql="INSERT INTO matieres_app_delais SET id_groupe='$id_groupe', periode='$periode', date_limite='$annee-$mois-$jour $heure:$minute:00', mode='$mode';";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de l'insertion de l'enregistrement.
";
}
else {
$msg.="Enregistrement de l'autorisation effectué.
";
$complement_texte_mail="";
if(($_SESSION['statut']=='administrateur')||(($_SESSION['statut']=='scolarite')&&(getSettingAOui('PeutDonnerAccesBullNotePeriodeCloseScol')))) {
if((isset($_POST['donner_acces_modif_bull_note']))&&($_POST['donner_acces_modif_bull_note']=='y')) {
$sql="DELETE FROM acces_exceptionnel_matieres_notes WHERE id_groupe='$id_groupe' AND periode='$periode';";
$menage=mysqli_query($GLOBALS["mysqli"], $sql);
$sql="INSERT INTO acces_exceptionnel_matieres_notes SET id_groupe='$id_groupe', periode='$periode', date_limite='$annee-$mois-$jour $heure:$minute:00';";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de l'insertion de l'enregistrement pour les notes des bulletins.
";
}
else {
$msg.="Enregistrement de l'autorisation pour les notes des bulletins effectué.
";
$complement_texte_mail="Vous pourrez aussi corriger les moyennes du bulletin.\n\n";
}
}
}
$envoi_mail_actif=getSettingValue('envoi_mail_actif');
if(($envoi_mail_actif!='n')&&($envoi_mail_actif!='y')) {
$envoi_mail_actif='y'; // Passer à 'n' pour faire des tests hors ligne... la phase d'envoi de mail peut sinon ensabler.
}
if($envoi_mail_actif=='y') {
$email_personne_autorisant="";
$nom_personne_autorisant="";
$sql="select nom, prenom, civilite, email from utilisateurs where login = '".$_SESSION['login']."';";
$req=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($req)>0) {
$lig_u=mysqli_fetch_object($req);
$nom_personne_autorisant=$lig_u->civilite." ".casse_mot($lig_u->nom,'maj')." ".casse_mot($lig_u->prenom,'majf');
$email_personne_autorisant=$lig_u->email;
$tab_param_mail['cc'][]=$email_personne_autorisant;
$tab_param_mail['cc_name'][]=$nom_personne_autorisant;
$tab_param_mail['replyto']=$email_personne_autorisant;
$tab_param_mail['replyto_name']=$nom_personne_autorisant;
}
$email_destinataires="";
$designation_destinataires="";
// Recherche des profs du groupe
$sql="SELECT DISTINCT u.email, u.civilite, u.nom, u.prenom FROM utilisateurs u, j_groupes_professeurs jgp WHERE jgp.id_groupe='$id_groupe' AND jgp.login=u.login AND u.email!='';";
//echo "$sql
";
$req=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($req)>0) {
$lig_u=mysqli_fetch_object($req);
$designation_destinataire_courant=remplace_accents($lig_u->civilite." ".$lig_u->nom." ".casse_mot($lig_u->prenom,'majf2'),'all_nospace');
$designation_destinataires.=$designation_destinataire_courant;
$email_destinataires.=$designation_destinataires." <".$lig_u->email.">";
$tab_param_mail['destinataire'][]=$lig_u->email;
$tab_param_mail['destinataire_name'][]=$designation_destinataire_courant;
while($lig_u=mysqli_fetch_object($req)) {
$designation_destinataire_courant=remplace_accents($lig_u->civilite." ".$lig_u->nom." ".casse_mot($lig_u->prenom,'majf2'),'all_nospace');
$designation_destinataires.=", ".$designation_destinataire_courant;
// Il se passe un truc bizarre avec les suivants
//$email_destinataires.=$designation_destinataires." <".$lig_u->email.">";
$email_destinataires.=", ".$lig_u->email;
$tab_param_mail['destinataire'][]=$lig_u->email;
$tab_param_mail['destinataire_name'][]=$designation_destinataire_courant;
}
$sujet_mail="[GEPI] Autorisation exceptionnelle de saisie/correction d'appréciation";
//$gepiPrefixeSujetMail=getSettingValue("gepiPrefixeSujetMail") ? getSettingValue("gepiPrefixeSujetMail") : "";
//if($gepiPrefixeSujetMail!='') {$gepiPrefixeSujetMail.=" ";}
$ajout_header="";
if($email_personne_autorisant!="") {
$ajout_header.="Cc: $nom_personne_autorisant <".$email_personne_autorisant.">";
$ajout_header.="\r\n";
$ajout_header.="Reply-to: $nom_personne_autorisant <".$email_personne_autorisant.">\r\n";
}
$tab_champs=array('classes');
$current_group=get_group($id_groupe,$tab_champs);
//$texte_mail="Vous avez jusqu'au $date_limite_email pour saisir/corriger une ou des appréciations pour l'enseignement ".$current_group['name']." (".$current_group['description']." en ".$current_group['classlist_string'].") en période $periode.\n\nCette autorisation est exceptionnelle.\nIl conviendra de veiller à effectuer les saisies dans les temps une prochaine fois.\n";
$texte_mail="Vous avez jusqu'au $date_limite_email pour saisir/corriger une ou des appréciations pour l'enseignement ".$current_group['name']." (".$current_group['description']." en ".$current_group['classlist_string'].") en période $periode.\n\n";
$message_autorisation_exceptionnelle=getSettingValue('message_autorisation_exceptionnelle');
if($message_autorisation_exceptionnelle=='') {
$texte_mail.="Cette autorisation est exceptionnelle.\nIl conviendra de veiller à effectuer les saisies dans les temps une prochaine fois.\n";
}
else {
$texte_mail.=$message_autorisation_exceptionnelle."\n";
}
$salutation=(date("H")>=18 OR date("H")<=5) ? "Bonsoir" : "Bonjour";
$texte_mail=$salutation." ".$designation_destinataires.",\n\n".$texte_mail."\nCordialement.\n-- \n".$nom_personne_autorisant;
$envoi = envoi_mail($sujet_mail, $texte_mail, $email_destinataires, $ajout_header, "plain", $tab_param_mail);
if($envoi) {$msg.="Email expédié à ".htmlspecialchars($email_destinataires)."
";}
}
}
}
}
}
else {
$msg = "ATTENTION : L'heure limite n'est pas valide.
L'enregistrement ne peut avoir lieu.
";
}
}
}
else {
$msg = "ATTENTION : La date limite n'est pas valide.
L'enregistrement ne peut avoir lieu.
";
}
}
$style_specifique[] = "lib/DHTMLcalendar/calendarstyle";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar";
$javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar-setup";
//**************** EN-TETE *****************
$titre_page = "Autorisation exceptionnelle de saisie d'appréciations";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
//debug_var();
echo "
\n"; if($refermer_page=='y') { echo " Refermer la page \n"; } else { echo " Retour à l'accueil\n"; } if(($_SESSION['statut']=='administrateur')&&(isset($_GET['definir_message']))) { echo " | Autorisation exceptionnelle"; echo "
\n"; echo "Par défaut le message reçu par un professeur exceptionnellement autorisé à saisir en retard ou corriger ses notes/appréciations est le suivant :
\n";
$texte_mail="Bonjour/Bonsoir\n\nVous avez jusqu'au TELLE DATE TELLE HEURE\npour saisir/corriger une ou des appréciations pour l'enseignement XXXXXXXXXX\nen TELLE(S) CLASSE(S) en période NUMERO_PERIODE.\n\n";
$texte_mail.="Cette autorisation est exceptionnelle.\nIl conviendra de veiller à effectuer les saisies dans les temps une prochaine fois.\n";
$texte_mail.="\nCordialement.";
echo "
".$texte_mail."\n"; echo "
Ce message peut être partiellement personnalisé.
Vous pouvez intervenir sur la partie en gras du message.
Votre message est actuellement personnalisé de la façon suivante :"; $texte_mail="Bonjour/Bonsoir\n\nVous avez jusqu'au TELLE DATE TELLE HEURE\npour saisir/corriger une ou des appréciations pour l'enseignement XXXXXXXXXX\nen TELLE(S) CLASSE(S) en période NUMERO_PERIODE.\n\n"; $texte_mail.="$message_autorisation_exceptionnelle\n"; $texte_mail.="\nCordialement."; echo "
".$texte_mail."\n"; } else { $texte_mail.=$message_autorisation_exceptionnelle."\n"; } echo "\n"; echo "
NOTE : Par défaut, lorsque vous donnez un accès exceptionnel, c'est juste la possibilité pour le professeur de proposer des corrections en cliquant sur l'icone dans sa page de saisie d'appréciations.
Les propositions formulées peuvent ensuite être contrôlées et validées par un compte scolarité ou administrateur.
Vous pouvez, en cochant, la case ci-dessus