From d6a7b7885b1c3b4384b4611f48552ebb5cd5a759 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Mon, 30 Nov 2015 19:17:39 +0100 Subject: [PATCH] =?UTF-8?q?Possibilit=C3=A9=20pour=20'master'/'admin'=20de?= =?UTF-8?q?=20changer=20l'ann=C3=A9e=20de=20visualisation=20reste=20=C3=A0?= =?UTF-8?q?=20bloquer=20la=20modification=20des=20ann=C3=A9es=20pr=C3=A9c?= =?UTF-8?q?=C3=A9dentes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/security.php | 14 +++++++------- manager/user.php | 19 ++++++++++++++++++- page/_JS/settings.js | 37 ++++++++++++++++++++++++++++++++++++ page/groups.php | 1 - page/modules.php | 3 --- page/settings.php | 45 ++++++++++++++++++++++++++++++++++++++++++++ test.php | 3 +-- 7 files changed, 108 insertions(+), 14 deletions(-) diff --git a/manager/security.php b/manager/security.php index 949fe44..fa8756d 100755 --- a/manager/security.php +++ b/manager/security.php @@ -54,16 +54,16 @@ error_reporting(-1); }debug(); - // function distinctArray($inArray){ - // $outArray = array(); - // foreach($inArray as $value) // pour chaque élément du tableau d'entrée, on l'ajoute uniquement si aucune entrée du tableau de sortie n'a la même valeur - // if( !in_array($value, $outArray) ) - // array_push($outArray, $value); + function getCurrentYear(){ + if( Date('m', time()) < 8 ) return Date('Y', time()) - 1; + else return Date('Y', time()); + } - // return $outArray; - // } + function anneeScolaire($year){ + return $year.' - '.($year+1); + } function secure_sha1($text){ $salt = '!!-vi_v93DFeswgf9de2b4d34ev!XX!x%'; diff --git a/manager/user.php b/manager/user.php index cc6102f..381dc43 100755 --- a/manager/user.php +++ b/manager/user.php @@ -106,6 +106,23 @@ require_once __ROOT__.'/manager/database.php'; break; + + /******************************************/ + /* change l'année en cours (master/admin) */ + /******************************************/ + case 'changeyear': if( permission('master') || permission('admin') ){ + if( isset($request->year) && is_numeric($request->year) ){ + + $_SESSION['annee'] = (String) $request->year; + $answer->request = 'success'; + + }else + $answer->request = 'param_error'; + }else + $answer->request = 'permission_error'; + break; + + /************************************/ /* modifie le rôle d'un utilisateur */ /************************************/ @@ -248,7 +265,7 @@ require_once __ROOT__.'/manager/database.php'; // on récupère l'année courante (1er sept à 1er sept) // SI (mois < 8) ALORS (annee - 1) SINON (annee) - $_SESSION['annee'] = (Date('m', time())<8) ? Date('Y', time()) - 1 : Date('Y', time()); + $_SESSION['annee'] = getCurrentYear(); // on défini si le semestre est pair ou non $_SESSION['semestre_pair'] = semestrePair(time()); diff --git a/page/_JS/settings.js b/page/_JS/settings.js index 21b852a..0840e80 100755 --- a/page/_JS/settings.js +++ b/page/_JS/settings.js @@ -244,4 +244,41 @@ if( roleSection != null ){ +} + + + + + + + + + +/* GESTION DU CHANGEMENT D'ANNÉE */ +var changeYear = { + select: document.querySelector('#CONTAINER section[name=changeyear] #yeartochange'), + button: document.querySelector('#CONTAINER section[name=changeyear] #change_year') +}; + + +// si la page existe, on créé l'évènement +if( changeYear.select != null && changeYear.button != null ){ + + changeYear.button.addEventListener('click', function(e){ + // on créé la requête à envoyer + var request = { + level_0: 'user', + level_1: 'changeyear', + year: changeYear.select.value + }; + + // on envoie la requête à l'API + API.send(request, function(answer){ + if( answer.request == 'success' ){ + selectSection('home'); + } + }); + + }, false); + } \ No newline at end of file diff --git a/page/groups.php b/page/groups.php index 2b7e0b9..40fde02 100755 --- a/page/groups.php +++ b/page/groups.php @@ -540,7 +540,6 @@ if( permission('admin') || permission('master') ){ // si l'utilisateur est conne level_1 = 'getSemestres'; + groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis + + + + if( $answer->request == 'success' ){ // si pas d'erreur + + echo "
"; + echo "
"; + + echo "Changement de l'année de visualisation
"; + echo "(uniquement les années référencées dans la base)
"; + + $anneesListe = array(); + /* CHOIX DANS LES ANNEES EXISTANTES */ + echo "
"; + + echo "
Changer l'année
"; + + + echo "
"; + echo "
"; + } + +} \ No newline at end of file diff --git a/test.php b/test.php index 93207a4..cf8d92a 100755 --- a/test.php +++ b/test.php @@ -45,8 +45,7 @@ require_once __ROOT__.'/manager/security.php'; debug(); -$_SESSION['annee'] = 2019; - +var_dump( $_SESSION['annee'] ); // $_SESSION['annee'] = 2015; // require_once __ROOT__.'/manager/phpExcel.php';