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="SELECT 1=1 FROM droits WHERE id='/bulletin/bull_index.php';"; $res_test=mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_test)==0) { $sql="INSERT INTO droits VALUES ('/bulletin/bull_index.php', 'V', 'V', 'F', 'V', 'F', 'F', 'F', 'F', 'Edition des bulletins', '1');"; $res_insert=mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } if(!getSettingAOui('active_bulletins')) { header("Location: ../accueil.php?msg=Module_inactif"); die(); } //================================ $gepi_denom_mention=getSettingValue("gepi_denom_mention"); if($gepi_denom_mention=="") { $gepi_denom_mention="mention"; } //================================ //debug_var(); //================================ // Patch pour 1.6.9: check_tables_modifiees(); //================================ $generer_fichiers_pdf_archivage=isset($_POST['generer_fichiers_pdf_archivage']) ? $_POST['generer_fichiers_pdf_archivage'] : (isset($_GET['generer_fichiers_pdf_archivage']) ? $_GET['generer_fichiers_pdf_archivage'] : "n"); $intercaler_releve_notes=isset($_POST['intercaler_releve_notes']) ? $_POST['intercaler_releve_notes'] : (isset($_GET['intercaler_releve_notes']) ? $_GET['intercaler_releve_notes'] : NULL); $intercaler_app_classe=isset($_POST['intercaler_app_classe']) ? $_POST['intercaler_app_classe'] : (isset($_GET['intercaler_app_classe']) ? $_GET['intercaler_app_classe'] : NULL); //$mode_bulletin=isset($_POST['mode_bulletin']) ? $_POST['mode_bulletin'] : NULL; $mode_bulletin=isset($_POST['mode_bulletin']) ? $_POST['mode_bulletin'] : (isset($_GET['mode_bulletin']) ? $_GET['mode_bulletin'] : NULL); // Variable non encore utilisée: $contexte_document_produit="bulletin"; // Pour sur le verso du bulletin n'avoir qu'un relevé de notes et pas deux... et surtout pas celui de l'élève suivant dans la liste: $nb_releve_par_page=1; $bull_pdf_debug=isset($_POST['bull_pdf_debug']) ? $_POST['bull_pdf_debug'] : "n"; // 20160614 $dest_mail=isset($_POST['dest_mail']) ? $_POST['dest_mail'] : (isset($_GET['dest_mail']) ? $_GET['dest_mail'] : NULL); // HTML ou PDF par défaut: $type_bulletin_par_defaut=getSettingValue('type_bulletin_par_defaut'); if(($type_bulletin_par_defaut!='html')&&($type_bulletin_par_defaut!='pdf')&&($type_bulletin_par_defaut!='pdf_2016')) {$type_bulletin_par_defaut='html';} //debug_var(); $valide_select_eleves=isset($_POST['valide_select_eleves']) ? $_POST['valide_select_eleves'] : (isset($_GET['valide_select_eleves']) ? $_GET['valide_select_eleves'] : NULL); //==================================================== //=============== ENTETE STANDARD ==================== if (!isset($valide_select_eleves)) { //**************** EN-TETE ********************* $titre_page = "Edition des bulletins"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** } //============== FIN ENTETE STANDARD ================= //==================================================== //============== ENTETE BULLETIN HTML ================ elseif ((isset($mode_bulletin))&&($mode_bulletin=='html')) { //============================================= // Faire les extractions pour le relevé de notes si jamais cela a été demandé. //$intercaler_releve_notes="y"; if(isset($intercaler_releve_notes)) { // On n'extrait les relevés de notes que pour la/les périodes choisies pour les bulletins $choix_periode='periode'; include("../cahier_notes/initialisations_header_releves_html.php"); } //============================================= include("header_bulletin_html.php"); } //============ FIN ENTETE BULLETIN HTML ============== //==================================================== //============== ENTETE BULLETIN PDF ================ elseif ((isset($mode_bulletin))&&($mode_bulletin=='pdf')) { // DEBUG Décommenter la ligne ci-dessous pour débugger //echo "
Insertion d'une ligne avant le Header pour provoquer l'affichage dans le navigateur et ainsi repérer des erreurs.
"; //echo "\$bull_pdf_debug=$bull_pdf_debugDEBUG:
La génération du PDF va échouer parce qu'on affiche ces informations de debuggage,
mais il se peut que vous ayez ainsi des précisions sur ce qui pose problème.
Insertion d'une ligne avant le Header pour provoquer l'affichage dans le navigateur et ainsi repérer des erreurs.
"; //echo "\$bull_pdf_debug=$bull_pdf_debugDEBUG:
La génération du PDF va échouer parce qu'on affiche ces informations de debuggage,
mais il se peut que vous ayez ainsi des précisions sur ce qui pose problème.
Retour"; echo "
Retour"; if((($_SESSION['statut']=='scolarite')&&(getSettingValue('GepiScolImprBulSettings')=='yes'))|| (($_SESSION['statut']=='professeur')&&(getSettingValue('GepiProfImprBulSettings')=='yes'))|| (($_SESSION['statut']=='administrateur')&&(getSettingValue('GepiAdminImprBulSettings')=='yes'))|| (($_SESSION['statut']=='cpe')&&(getSettingValue('GepiCpeImprBulSettings')=='yes'))) { if($type_bulletin_par_defaut=='pdf') { echo " | Paramètres d'impression des bulletins PDF"; } else { echo " | Paramètres d'impression des bulletins"; } echo " | Param.CLG.2016"; } if((getSettingValue('ancien_dispositif_bulletins')=='y')&&($_SESSION['statut']!='autre')) { echo " | Ancien dispositif"; } echo "
\n"; echo "Choix des classes:
\n"; if (($_SESSION['statut'] == 'professeur') and getSettingValue("GepiProfImprBul")!='yes') { echo "Droits insuffisants pour effectuer cette opération
\n"; require("../lib/footer.inc.php"); die(); } if (($_SESSION['statut'] == 'cpe') and getSettingValue("GepiCpeImprBul")!='yes') { echo "Droits insuffisants pour effectuer cette opération
\n"; require("../lib/footer.inc.php"); die(); } // Liste des classes avec élève: //$sql="SELECT DISTINCT c.* FROM j_eleves_classes jec, classes c WHERE c.id=jec.id_classe ORDER BY c.classe;"; if ($_SESSION["statut"] == "scolarite") { // On sélectionne les classes associées au compte scolarité $sql="SELECT DISTINCT c.* FROM classes c, j_scol_classes jsc, j_eleves_classes jec WHERE (jec.id_classe=c.id AND jsc.id_classe=c.id AND jsc.login='".$_SESSION['login']."') ORDER BY c.classe;"; $message_0="Aucune classe (avec élève) ne vous est affectée."; } elseif (($_SESSION["statut"] == "administrateur")||($_SESSION["statut"] == "secours")||($_SESSION["statut"] == "autre")) { // On selectionne toutes les classes $sql="SELECT DISTINCT c.* FROM j_eleves_classes jec, classes c WHERE (c.id=jec.id_classe) ORDER BY c.classe;"; $message_0="Aucune classe avec élève n'a été trouvée."; } elseif ($_SESSION["statut"] == "professeur") { $sql="SELECT DISTINCT c.* FROM classes c, j_eleves_professeurs jep, j_eleves_classes jec WHERE (jep.professeur='".$_SESSION['login']."' AND jep.login = jec.login AND jec.id_classe = c.id) ORDER BY c.classe;"; $message_0="Aucune classe (avec élève) ne vous est affectée pour l'édition des bulletins."; } elseif ($_SESSION["statut"] == "cpe") { $sql="SELECT DISTINCT c.* FROM classes c, j_eleves_cpe jecpe, j_eleves_classes jec WHERE (jecpe.cpe_login='".$_SESSION['login']."' AND jecpe.e_login = jec.login AND jec.id_classe = c.id) ORDER BY c.classe;"; $message_0="Aucune classe (avec élève) ne vous est affectée pour l'édition des bulletins."; } else { // On ne devrait pas arriver jusque-là... echo "Droits insuffisants pour effectuer cette opération
\n"; require("../lib/footer.inc.php"); die(); } $call_classes=mysqli_query($GLOBALS["mysqli"], $sql); $nb_classes=mysqli_num_rows($call_classes); if($nb_classes==0){ //echo "Aucune classe avec élève affecté n'a été trouvée.
\n"; echo "".$message_0."
\n"; require("../lib/footer.inc.php"); die(); } echo "\n"; echo "\n"; } //====================================================== //=================CHOIX DES PERIODES=================== //elseif(!isset($tab_periode_num)) { //elseif(!isset($choix_periode_num)) { elseif((!isset($choix_periode_num))||(!isset($tab_periode_num))) { //debug_var(); echo ""; //echo "Choisir d'autres classes\n"; echo "Choisir d'autres classes\n"; if((($_SESSION['statut']=='scolarite')&&(getSettingValue('GepiScolImprBulSettings')=='yes'))|| (($_SESSION['statut']=='professeur')&&(getSettingValue('GepiProfImprBulSettings')=='yes'))|| (($_SESSION['statut']=='administrateur')&&(getSettingValue('GepiAdminImprBulSettings')=='yes'))|| (($_SESSION['statut']=='cpe')&&(getSettingValue('GepiCpeImprBulSettings')=='yes'))) { if($type_bulletin_par_defaut=='pdf') { echo " | Paramètres d'impression des bulletins PDF"; } else { echo " | Paramètres d'impression des bulletins"; } echo " | Param.CLG.2016"; } echo "
\n"; // Choisir les périodes permettant l'édition de bulletin echo "Choix des périodes:
\n"; /* $sql="SELECT MAX(num_periode) max_per FROM periodes;"; $res_max_per=mysql_query($sql); $lig_max_per=mysql_fetch_object($res_max_per); $max_per=$lig_max_per->max_per; */ $tab_periode_num_excluses=array(); //$tab_periode_num=array(); echo "\n"; $clore="clore"; if($_SESSION['statut']=='scolarite') { $clore="clore \n"; } echo "NOTES :
Le verrouillage des périodes s'effectue en compte 'scolarité' (statut 'scolarité').
Si la période n'est pas close ou partiellement close, un filigrane est inséré en travers des bulletins PDF pour alerter que les moyennes et appréciations des professeurs peuvent encore changer.
Pensez à $clore au moins partiellement la période si vous ne souhaitez pas ce filigrane.
Lorsque la période est partiellement close, seul l'avis du conseil de classe peut encore être saisi/modifié.
"; echo "Choisir d'autres classes\n"; //echo " | Choisir d'autres périodes\n"; //echo " | Choisir d'autres périodes\n"; echo " | Choisir d'autres périodes\n"; if((($_SESSION['statut']=='scolarite')&&(getSettingValue('GepiScolImprBulSettings')=='yes'))|| (($_SESSION['statut']=='professeur')&&(getSettingValue('GepiProfImprBulSettings')=='yes'))|| (($_SESSION['statut']=='administrateur')&&(getSettingValue('GepiAdminImprBulSettings')=='yes'))|| (($_SESSION['statut']=='cpe')&&(getSettingValue('GepiCpeImprBulSettings')=='yes'))) { if($type_bulletin_par_defaut=='pdf') { echo " | Paramètres d'impression des bulletins PDF"; } else { echo " | Paramètres d'impression des bulletins"; } echo " | Param.CLG.2016"; } echo "
\n"; //=========================== // FORMULAIRE POUR LE RETOUR AU CHOIX DES PERIODES echo "\n\n"; echo "\n"; //=========================== if($temoin_periode_non_close=="y") { echo "ATTENTION : Les saisies ne sont pas closes (période encore ouverte en saisie).
Cela signifie que les notes et appréciations peuvent encore changer.
Les bulletins vont être marqués d'une indication comme quoi la période n'est pas close.
Vous ne devriez pas imprimer ces bulletins.
Vous pouvez tester l'affichage pour ajuster les paramètres d'impression, mais vous devriez verrouiller la période avec un compte 'scolarité' avant d'imprimer les bulletins.
Sélection des élèves:
\n"; echo "Sélection des élèves et paramètres:
\n"; echo "\n\n"; echo "