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;