From 12c384fa093afb970b7125e2c6fc72fc9c04dd57 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Sun, 29 Nov 2015 17:46:50 +0100 Subject: [PATCH] =?UTF-8?q?Affinage=20pour=20les=20pages=20import/export?= =?UTF-8?q?=20corrig=C3=A9=20mais=20fonction=20g=C3=A9n=C3=A9rique=20?= =?UTF-8?q?=C3=A0=20d=C3=A9velopper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/pageManager.js | 2 +- page/_JS/groups.js | 26 ++++++++++++++++++-------- page/_JS/modules.js | 25 +++++++++++++++++-------- page/groups.php | 4 ++-- page/settings.php | 2 +- test.php | 2 -- 6 files changed, 39 insertions(+), 22 deletions(-) diff --git a/js/pageManager.js b/js/pageManager.js index 998c1f6..1d40bd9 100755 --- a/js/pageManager.js +++ b/js/pageManager.js @@ -81,7 +81,7 @@ pageManager.prototype = { explodeURL: function(url_data){ url_data = (arguments.length >= 1) ? url_data : document.URL; // si pageList est correct et que l'URL correspond à un schéma de page => continue [sinon] return null - if( this.pagelist != null && /^(?:.+)\/#\/([a-z0-9_]+)\/?(?:\/((?:[a-z0-9:_]+\/)+)\/?)?$/i.test(url_data) ){ + if( this.pagelist != null && /^(?:.+)\/#\/([a-z0-9_]+)\/?(?:\/((?:.+\/)+)\/?)?$/i.test(url_data) ){ // si la page récupérée dans l'url est dans la liste => renvoi de l'objet [sinon] null var vars = RegExp.$2.split('/'); while( vars[vars.length-1] == '' ) // on supprime les dernières entrées vides diff --git a/page/_JS/groups.js b/page/_JS/groups.js index 8a40682..fea44c2 100755 --- a/page/_JS/groups.js +++ b/page/_JS/groups.js @@ -114,21 +114,28 @@ for( var i = 0 ; i < partList.length ; i++ ){ /* SI c'est une affinage par SEMESTRE */ if( tableauParent.getAttribute('name') == 'semestre' ) - pageM.vars[2] = 's:'+e.target.dataset.value; + if( /^a:/.test(pageM.vars[2]) ) + pageM.vars[3] = 's:'+e.target.value; + else + pageM.vars[2] = 's:'+e.target.value; // affinage par semestre (exportation) }else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') && e.target.dataset.hasOwnProperty('frm') ){ pageM.vars[1] = 'f:'+e.target.dataset.frm; - pageM.vars[2] = 's:'+e.target.dataset.stre; + // pageM.vars[2] = 's:'+e.target.dataset.stre; + if( /^a:/.test(pageM.vars[2]) ) + pageM.vars[3] = 's:'+e.target.dataset.stre; + else + pageM.vars[2] = 's:'+e.target.dataset.stre; } // si la formation n'est pas définie, on l'active - if( !/^[fa]:/.test(pageM.vars[1]) ) + if( !/^f:/.test(pageM.vars[1]) ) if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null ) pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value; // si on a '*' comme valeur, on l'enlève - if( /\*$/.test(pageM.vars[2]) ) + while( /\*$/.test(pageM.vars[pageM.vars.length-1]) ) pageM.vars.pop(); reload(); @@ -146,18 +153,21 @@ for( var i = 0 ; i < selectList.length ; i++ ){ if( e.target.tagName == 'SELECT' ){ if( e.target.getAttribute('name') == 'groupe' ) - pageM.vars[2] = 'g:'+e.target.value; + if( /^a:/.test(pageM.vars[2]) ) + pageM.vars[3] = 'g:'+e.target.value; + else + pageM.vars[2] = 'g:'+e.target.value; if( e.target.getAttribute('name') == 'annee' ) - pageM.vars[1] = 'a:'+e.target.value; + pageM.vars[2] = 'a:'+e.target.value; // si la formation n'est pas définie, on l'active - if( !/^[fa]:/.test(pageM.vars[1]) ) + if( !/^f:/.test(pageM.vars[1]) ) if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null ) pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value; // si on a '*' comme valeur, on l'enlève - if( /\*$/.test(pageM.vars[2]) ) + while( /\*$/.test(pageM.vars[pageM.vars.length-1]) ) pageM.vars.pop(); reload(); diff --git a/page/_JS/modules.js b/page/_JS/modules.js index 3c7a9e9..07f43b1 100755 --- a/page/_JS/modules.js +++ b/page/_JS/modules.js @@ -27,24 +27,33 @@ for( var i = 0 ; i < partList.length ; i++ ){ /* SI c'est une affinage par SEMESTRE */ if( tableauParent.getAttribute('name') == 'semestre' ) - pageM.vars[2] = 's:'+e.target.dataset.value; + if( /^a:/.test(pageM.vars[2]) ) + pageM.vars[3] = 's:'+e.target.dataset.value; + else + pageM.vars[2] = 's:'+e.target.dataset.value; /* SI c'est un affinage par UE */ if( tableauParent.getAttribute('name') == 'UE' ) - pageM.vars[2] = 'u:'+e.target.dataset.value; + if( /^a:/.test(pageM.vars[2]) ) + pageM.vars[3] = 'u:'+e.target.dataset.value; + else + pageM.vars[2] = 'u:'+e.target.dataset.value; }else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') && e.target.dataset.hasOwnProperty('frm') ){ pageM.vars[1] = 'f:'+e.target.dataset.frm; - pageM.vars[2] = 's:'+e.target.dataset.stre; + if( /^a:/.test(pageM.vars[2]) ) + pageM.vars[3] = 's:'+e.target.dataset.stre; + else + pageM.vars[2] = 's:'+e.target.dataset.stre; } // si la formation n'est pas définie, on l'active - if( !/^[fa]:/.test(pageM.vars[1]) ) + if( !/^f:/.test(pageM.vars[1]) ) if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null ) pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value; // si on a '*' comme valeur, on l'enlève - if( /\*$/.test(pageM.vars[2]) ) + while( /\*$/.test(pageM.vars[pageM.vars.length-1]) ) pageM.vars.pop(); reload(); @@ -66,15 +75,15 @@ for( var i = 0 ; i < selectList.length ; i++ ){ if( e.target.tagName == 'SELECT' ){ if( e.target.getAttribute('name') == 'annee' ) - pageM.vars[1] = 'a:'+e.target.value; + pageM.vars[2] = 'a:'+e.target.value; // si la formation n'est pas définie, on l'active - if( !/^[fa]:/.test(pageM.vars[1]) ) + if( !/^f:/.test(pageM.vars[1]) ) if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null ) pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value; // si on a '*' comme valeur, on l'enlève - if( /\*$/.test(pageM.vars[2]) ) + while( /\*$/.test(pageM.vars[pageM.vars.length-1]) ) pageM.vars.pop(); reload(); diff --git a/page/groups.php b/page/groups.php index 4dd68d4..7e9820f 100755 --- a/page/groups.php +++ b/page/groups.php @@ -595,8 +595,8 @@ if( permission('master') || permission('admin') ){ if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null; echo "
"; - if( $semestreOpt == null ) echo "Tous"; - else echo "Tous"; + if( $semestreOpt == null ) echo "Tous"; + else echo "Tous"; /* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */ foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ diff --git a/page/settings.php b/page/settings.php index 32b652b..86a6fba 100755 --- a/page/settings.php +++ b/page/settings.php @@ -46,7 +46,7 @@ require_once __ROOT__.'/manager/modules.php'; /***************/ /*** PROFILE ***/ /***************/ -if( false && connected() ){ // si l'utilisateur est connecté +if( connected() ){ // si l'utilisateur est connecté echo "
"; echo 'profil'; echo '
'; diff --git a/test.php b/test.php index 89cb4d4..72ce93a 100755 --- a/test.php +++ b/test.php @@ -46,8 +46,6 @@ require_once __ROOT__.'/manager/security.php'; debug(); -var_dump( explode(',', '') ); - var_dump($_SESSION); // $_SESSION['annee'] = 2015;