diff --git a/manager/database.php b/manager/database.php
index 5e75e7d..214d6f1 100755
--- a/manager/database.php
+++ b/manager/database.php
@@ -534,7 +534,7 @@ class DataBase{
/***************************************************/
/*** retourne les modules des semestres en cours ***/
/***************************************************/
- public function getModulesByUEByYear($semestre_pair, $annee){
+ public function getModulesByUEByYear($semestre_pair, $annee){ // ***OPTIONNEL*** semestre_pair
// on récupère la liste des UEs
$UEList = ueRepo::forYear($semestre_pair, $annee);
diff --git a/manager/modules.php b/manager/modules.php
index 1196e04..fb45ff5 100755
--- a/manager/modules.php
+++ b/manager/modules.php
@@ -112,7 +112,8 @@ require_once __ROOT__.'/manager/database.php';
$anneeCheck = $nEmptyParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
if( $anneeCheck ){ // si tout les paramètres sont bons
- $UEList = DataBase::getInstance()->getModulesByUEByYear($_SESSION['semestre_pair'], $request->annee);
+ $UEList = DataBase::getInstance()->getModulesByUEByYear(null, $request->annee);
+ // $UEList = DataBase::getInstance()->getModulesByUEByYear($_SESSION['semestre_pair'], $request->annee);
// STRUCTURE
// tableau d'UES contenant un tableau de MODULES
diff --git a/manager/repo/ue.php b/manager/repo/ue.php
index 8a35824..3976063 100755
--- a/manager/repo/ue.php
+++ b/manager/repo/ue.php
@@ -57,7 +57,7 @@ class ueRepo extends DBAccess{
*/
public static function forStudent($etudiant, $semestre){
// on récupère les modules
- $getUesForStudent = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.annee, ue.nom, ue.libelle ".
+ $getUesForStudent = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.nom as semestre, s.annee, ue.nom, ue.libelle ".
"FROM appartenance as app, semestre as s, mcc_ue, ue ".
"WHERE app.id_semestre = s.id_semestre ".
"AND mcc_ue.id_semestre = s.id_semestre ".
@@ -84,7 +84,7 @@ class ueRepo extends DBAccess{
*/
public static function forTeacher($enseignant, $semestre_pair, $annee){
// on récupère les modules
- $getUesForTeacher = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.annee, ue.nom, ue.libelle ".
+ $getUesForTeacher = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.nom as semestre, s.annee, ue.nom, ue.libelle ".
"FROM enseignement as ens, semestre as s, ue, mcc_ue, mcc_module as mcc_m ".
"WHERE ens.id_mcc_module = mcc_m.id_mcc_module ".
"AND ens.correcteur = 1 ". // si l'enseignant est correcteur uniquement
@@ -114,16 +114,19 @@ class ueRepo extends DBAccess{
*
*/
public static function forYear($semestre_pair, $annee){
+ $semestrePair0 = '0'; $semestrePair1 = '1';
+ if( is_bool($semestre_pair) ){ $semestrePair0 = $semestre_pair; $semestrePair1 = $semestre_pair; }
+
// on récupère les modules
- $getUEsForYear = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.annee, ue.nom, ue.libelle ".
+ $getUEsForYear = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.nom as semestre, s.annee, ue.nom, ue.libelle ".
"FROM ue, mcc_ue, semestre as s ".
"WHERE ue.id_ue = mcc_ue.id_ue ".
"AND mcc_ue.id_semestre = s.id_semestre ".
- "AND s.rang % 2 = :semestre_pair ".
+ "AND (s.rang % 2 = :semestre_pair0 OR s.rang % 2 = :semestre_pair1) ".
"AND s.annee = :annee ".
"ORDER BY s.rang, ue.nom, ue.libelle");
- $getUEsForYear->execute(array( ':semestre_pair' => ($semestre_pair) ? '0' : '1', ':annee' => $annee ));
+ $getUEsForYear->execute(array( ':semestre_pair0' => $semestrePair0, ':semestre_pair1' => $semestrePair1, ':annee' => $annee ));
return DataBase::delNumeric( $getUEsForYear->fetchAll() );
}
diff --git a/manager/security.php b/manager/security.php
index 62f96ec..7cd2eb6 100755
--- a/manager/security.php
+++ b/manager/security.php
@@ -54,9 +54,15 @@
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);
+
+ return $outArray;
+ }
function secure_sha1($text){
diff --git a/page/_JS/career.js b/page/_JS/career.js
index 96b10cc..d3e9b5a 100644
--- a/page/_JS/career.js
+++ b/page/_JS/career.js
@@ -2,9 +2,9 @@
-/**************************************/
-/* GESTION DE L'AFFINAGE PAR SEMESTRE */
-/**************************************/
+/********************************/
+/* GESTION DE L'AFFINAGE PAR UE */
+/********************************/
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=UE]");
for( var i = 0 ; i < partList.length ; i++ ){
diff --git a/page/_JS/modules.js b/page/_JS/modules.js
new file mode 100644
index 0000000..55eb1f9
--- /dev/null
+++ b/page/_JS/modules.js
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/page/modules.php b/page/modules.php
index 8808e62..038dbfe 100755
--- a/page/modules.php
+++ b/page/modules.php
@@ -3,6 +3,23 @@ require_once __ROOT__.'/manager/security.php';
require_once __ROOT__.'/manager/groups.php';
require_once __ROOT__.'/manager/modules.php';
+
+/*** GESTION DES PARAMETRES OPTIONNELS ***/
+
+ // on initialise les paramètres optionnels
+ $ueOpt = null;
+
+ // on cherche dans toutes les variables _get si on trouve des paramètres
+ foreach($_POST as $k=>$v){
+
+ if( preg_match('/^u:(.+)$/', $k, $m) ) // s:nomSemestre
+ $ueOpt = $m[1];
+
+ }
+
+ $ueOpt = ($ueOpt == null || $ueOpt == '*') ? null : $ueOpt;
+
+
/****************************************
* *
* SECTION "MODULES" *
@@ -37,23 +54,39 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
////////////////////////////////////////////////////////////////////////////////
echo "";
+ echo "";
+ if( $ueOpt == null ) echo "Tous | ";
+ else echo "Tous | ";
+
+ foreach($answer->UEs as $UE)
+ if( $UE['nom'] == $ueOpt ) // si c'est le semestre séléctionné
+ echo "".$UE['nom'].' | ';
+ else // sinon on affiche normalement
+ echo "".$UE['nom'].' | ';
+ echo "
";
+
foreach($answer->UEs as $UE){
- echo "";
- echo "";
- echo '';
- echo ''.$UE['nom'].' - '.$UE['libelle'].' | ';
- echo '
';
- echo '';
- echo '';
- foreach($UE['modules'] as $MODULE){
- echo '';
- echo ''.$MODULE['nom'].' | ';
- echo ''.$MODULE['libelle'].' | ';
- echo '
';
- }
+
+ if( $ueOpt == null || $UE['nom'] == $ueOpt ){
- echo '';
- echo '
';
+ echo "";
+ echo "";
+ echo '';
+ echo ''.$UE['semestre'].' - '.$UE['nom'].' - '.$UE['libelle'].' | ';
+ echo '
';
+ echo '';
+ echo '';
+ foreach($UE['modules'] as $MODULE){
+ echo '';
+ echo ''.$MODULE['nom'].' | ';
+ echo ''.$MODULE['libelle'].' | ';
+ echo '
';
+ }
+
+ echo '';
+ echo '
';
+
+ }
}
////////////////////////////////////////////////////////////////////////////////
echo '';
@@ -84,23 +117,41 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
////////////////////////////////////////////////////////////////////////////////
echo "";
+
+ echo "";
+ if( $ueOpt == null ) echo "Tous | ";
+ else echo "Tous | ";
+
+ foreach($answer->UEs as $UE)
+ if( $UE['nom'] == $ueOpt ) // si c'est le semestre séléctionné
+ echo "".$UE['nom'].' | ';
+ else // sinon on affiche normalement
+ echo "".$UE['nom'].' | ';
+ echo "
";
+
+
foreach($answer->UEs as $UE){
- echo "";
- echo "";
- echo '';
- echo ''.$UE['nom'].' - '.$UE['libelle'].' | ';
- echo '
';
- echo '';
- echo '';
- foreach($UE['modules'] as $MODULE){
- echo '';
- echo ''.$MODULE['nom'].' | ';
- echo ''.$MODULE['libelle'].' | ';
- echo '
';
- }
+
+ if( $ueOpt == null || $UE['nom'] == $ueOpt ){
- echo '';
- echo '
';
+ echo "";
+ echo "";
+ echo '';
+ echo ''.$UE['semestre'].' - '.$UE['nom'].' - '.$UE['libelle'].' | ';
+ echo '
';
+ echo '';
+ echo '';
+ foreach($UE['modules'] as $MODULE){
+ echo '';
+ echo ''.$MODULE['nom'].' | ';
+ echo ''.$MODULE['libelle'].' | ';
+ echo '
';
+ }
+
+ echo '';
+ echo '
';
+
+ }
}
////////////////////////////////////////////////////////////////////////////////
echo '';
@@ -131,23 +182,55 @@ if( permission('admin') ){ // si l'utilisateur est un admin
////////////////////////////////////////////////////////////////////////////////
echo "";
+
+
+ /* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
+ // $ListeNomsSemestres = array();
+ // foreach($answer->UEs as $UE)
+ // array_push( $ListeNomsSemestres, $UE['semestre'] );
+ // $ListeNomsSemestres = array_unique($ListeNomsSemestres);
+
+ /* ON RECUPERE UNE LISTE UNIQUE DES UEs */
+ $ListeNomsUE = array();
+ foreach($answer->UEs as $UE)
+ array_push( $ListeNomsUE, $UE['nom'] );
+ $ListeNomsUE = array_unique($ListeNomsUE);
+
+
+ echo "";
+ if( $ueOpt == null ) echo "Tous | ";
+ else echo "Tous | ";
+
+ foreach($ListeNomsUE as $NomUE)
+ if( $NomUE == $ueOpt ) // si c'est le semestre séléctionné
+ echo "".$NomUE.' | ';
+ else // sinon on affiche normalement
+ echo "".$NomUE.' | ';
+ echo "
";
+
+
foreach($answer->UEs as $UE){
- echo "";
- echo "";
- echo '';
- echo ''.$UE['nom'].' - '.$UE['libelle'].' | ';
- echo '
';
- echo '';
- echo '';
- foreach($UE['modules'] as $MODULE){
- echo '';
- echo ''.$MODULE['nom'].' | ';
- echo ''.$MODULE['libelle'].' | ';
- echo '
';
- }
+
+ if( $ueOpt == null || $UE['nom'] == $ueOpt ){
- echo '';
- echo '
';
+ echo "";
+ echo "";
+ echo '';
+ echo ''.$UE['semestre'].' - '.$UE['nom'].' - '.$UE['libelle'].' | ';
+ echo '
';
+ echo '';
+ echo '';
+ foreach($UE['modules'] as $MODULE){
+ echo '';
+ echo ''.$MODULE['nom'].' | ';
+ echo ''.$MODULE['libelle'].' | ';
+ echo '
';
+ }
+
+ echo '';
+ echo '
';
+
+ }
}
////////////////////////////////////////////////////////////////////////////////
echo '';