Suppression doublons semestres
This commit is contained in:
parent
80c247d425
commit
76f17132bd
|
@ -534,7 +534,7 @@ class DataBase{
|
||||||
/***************************************************/
|
/***************************************************/
|
||||||
/*** retourne les modules des semestres en cours ***/
|
/*** 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
|
// on récupère la liste des UEs
|
||||||
$UEList = ueRepo::forYear($semestre_pair, $annee);
|
$UEList = ueRepo::forYear($semestre_pair, $annee);
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,8 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
$anneeCheck = $nEmptyParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
$anneeCheck = $nEmptyParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||||
|
|
||||||
if( $anneeCheck ){ // si tout les paramètres sont bons
|
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
|
// STRUCTURE
|
||||||
// tableau d'UES contenant un tableau de MODULES
|
// tableau d'UES contenant un tableau de MODULES
|
||||||
|
|
|
@ -57,7 +57,7 @@ class ueRepo extends DBAccess{
|
||||||
*/
|
*/
|
||||||
public static function forStudent($etudiant, $semestre){
|
public static function forStudent($etudiant, $semestre){
|
||||||
// on récupère les modules
|
// 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 ".
|
"FROM appartenance as app, semestre as s, mcc_ue, ue ".
|
||||||
"WHERE app.id_semestre = s.id_semestre ".
|
"WHERE app.id_semestre = s.id_semestre ".
|
||||||
"AND mcc_ue.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){
|
public static function forTeacher($enseignant, $semestre_pair, $annee){
|
||||||
// on récupère les modules
|
// 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 ".
|
"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 ".
|
"WHERE ens.id_mcc_module = mcc_m.id_mcc_module ".
|
||||||
"AND ens.correcteur = 1 ". // si l'enseignant est correcteur uniquement
|
"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){
|
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
|
// 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 ".
|
"FROM ue, mcc_ue, semestre as s ".
|
||||||
"WHERE ue.id_ue = mcc_ue.id_ue ".
|
"WHERE ue.id_ue = mcc_ue.id_ue ".
|
||||||
"AND mcc_ue.id_semestre = s.id_semestre ".
|
"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 ".
|
"AND s.annee = :annee ".
|
||||||
"ORDER BY s.rang, ue.nom, ue.libelle");
|
"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() );
|
return DataBase::delNumeric( $getUEsForYear->fetchAll() );
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,9 +54,15 @@
|
||||||
error_reporting(-1);
|
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){
|
function secure_sha1($text){
|
||||||
|
|
|
@ -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]");
|
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=UE]");
|
||||||
|
|
||||||
for( var i = 0 ; i < partList.length ; i++ ){
|
for( var i = 0 ; i < partList.length ; i++ ){
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
<!--
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/********************************/
|
||||||
|
/* 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++ ){
|
||||||
|
|
||||||
|
partList[i].addEventListener('click', function(e){
|
||||||
|
var tableauParent = e.target.parentNode.parentNode.parentNode;
|
||||||
|
|
||||||
|
if( tableauParent.tagName == 'TABLE' && tableauParent.getAttribute('name') == 'UE' && e.target.dataset.hasOwnProperty('value') ){
|
||||||
|
pageM.vars[1] = 'u:'+e.target.dataset.value;
|
||||||
|
|
||||||
|
// si on a '*' comme valeur, on l'enlève
|
||||||
|
if( /\*$/.test(pageM.vars[1]) )
|
||||||
|
pageM.vars.pop();
|
||||||
|
|
||||||
|
reload();
|
||||||
|
}
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-->
|
|
@ -3,6 +3,23 @@ require_once __ROOT__.'/manager/security.php';
|
||||||
require_once __ROOT__.'/manager/groups.php';
|
require_once __ROOT__.'/manager/groups.php';
|
||||||
require_once __ROOT__.'/manager/modules.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" *
|
* SECTION "MODULES" *
|
||||||
|
@ -37,11 +54,25 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo "<section name='studentsmodules' data-title='Mes modules' class='basic'>";
|
echo "<section name='studentsmodules' data-title='Mes modules' class='basic'>";
|
||||||
|
|
||||||
|
echo "<table class='partlist' name='UE'><tbody><tr>";
|
||||||
|
if( $ueOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
||||||
|
else echo "<td data-value='*'>Tous</td>";
|
||||||
|
|
||||||
|
foreach($answer->UEs as $UE)
|
||||||
|
if( $UE['nom'] == $ueOpt ) // si c'est le semestre séléctionné
|
||||||
|
echo "<td data-value='".$UE['nom']."' class='active'>".$UE['nom'].'</td>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<td data-value='".$UE['nom']."'>".$UE['nom'].'</td>';
|
||||||
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
foreach($answer->UEs as $UE){
|
foreach($answer->UEs as $UE){
|
||||||
|
|
||||||
|
if( $ueOpt == null || $UE['nom'] == $ueOpt ){
|
||||||
|
|
||||||
echo "<table class='basic'>";
|
echo "<table class='basic'>";
|
||||||
echo "<thead class='active'>";
|
echo "<thead class='normal'>";
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<th colspan=5>'.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
echo '<th colspan=5><strong>'.$UE['semestre'].'</strong> - '.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
echo '</thead>';
|
echo '</thead>';
|
||||||
echo '<tbody>';
|
echo '<tbody>';
|
||||||
|
@ -54,6 +85,8 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
|
||||||
|
|
||||||
echo '</tbody>';
|
echo '</tbody>';
|
||||||
echo '</table>';
|
echo '</table>';
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo '</section>';
|
echo '</section>';
|
||||||
|
@ -84,11 +117,27 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo "<section name='teachersmodules' data-title='Mes modules' class='basic'>";
|
echo "<section name='teachersmodules' data-title='Mes modules' class='basic'>";
|
||||||
|
|
||||||
|
|
||||||
|
echo "<table class='partlist' name='UE'><tbody><tr>";
|
||||||
|
if( $ueOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
||||||
|
else echo "<td data-value='*'>Tous</td>";
|
||||||
|
|
||||||
|
foreach($answer->UEs as $UE)
|
||||||
|
if( $UE['nom'] == $ueOpt ) // si c'est le semestre séléctionné
|
||||||
|
echo "<td data-value='".$UE['nom']."' class='active'>".$UE['nom'].'</td>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<td data-value='".$UE['nom']."'>".$UE['nom'].'</td>';
|
||||||
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
|
|
||||||
foreach($answer->UEs as $UE){
|
foreach($answer->UEs as $UE){
|
||||||
|
|
||||||
|
if( $ueOpt == null || $UE['nom'] == $ueOpt ){
|
||||||
|
|
||||||
echo "<table class='basic'>";
|
echo "<table class='basic'>";
|
||||||
echo "<thead class='active'>";
|
echo "<thead class='normal'>";
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<th colspan=5>'.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
echo '<th colspan=5><strong>'.$UE['semestre'].'</strong> - '.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
echo '</thead>';
|
echo '</thead>';
|
||||||
echo '<tbody>';
|
echo '<tbody>';
|
||||||
|
@ -101,6 +150,8 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
|
||||||
|
|
||||||
echo '</tbody>';
|
echo '</tbody>';
|
||||||
echo '</table>';
|
echo '</table>';
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo '</section>';
|
echo '</section>';
|
||||||
|
@ -131,11 +182,41 @@ if( permission('admin') ){ // si l'utilisateur est un admin
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo "<section name='allmodules' data-title='Tous les modules' class='basic'>";
|
echo "<section name='allmodules' data-title='Tous les modules' class='basic'>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 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 "<table class='partlist' name='UE'><tbody><tr>";
|
||||||
|
if( $ueOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
||||||
|
else echo "<td data-value='*'>Tous</td>";
|
||||||
|
|
||||||
|
foreach($ListeNomsUE as $NomUE)
|
||||||
|
if( $NomUE == $ueOpt ) // si c'est le semestre séléctionné
|
||||||
|
echo "<td data-value='".$NomUE."' class='active'>".$NomUE.'</td>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<td data-value='".$NomUE."'>".$NomUE.'</td>';
|
||||||
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
|
|
||||||
foreach($answer->UEs as $UE){
|
foreach($answer->UEs as $UE){
|
||||||
|
|
||||||
|
if( $ueOpt == null || $UE['nom'] == $ueOpt ){
|
||||||
|
|
||||||
echo "<table class='basic'>";
|
echo "<table class='basic'>";
|
||||||
echo "<thead class='active'>";
|
echo "<thead class='normal'>";
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<th colspan=5>'.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
echo '<th colspan=5><strong>'.$UE['semestre'].'</strong> - '.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
echo '</thead>';
|
echo '</thead>';
|
||||||
echo '<tbody>';
|
echo '<tbody>';
|
||||||
|
@ -148,6 +229,8 @@ if( permission('admin') ){ // si l'utilisateur est un admin
|
||||||
|
|
||||||
echo '</tbody>';
|
echo '</tbody>';
|
||||||
echo '</table>';
|
echo '</table>';
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo '</section>';
|
echo '</section>';
|
||||||
|
|
Loading…
Reference in New Issue