[x] Gestion capitalisaton automatique lors première vue

This commit is contained in:
xdrm-brackets 2016-01-09 18:10:28 +01:00
parent 20e5329df5
commit ae2450c9e3
5 changed files with 24 additions and 25 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/manager/conf*.json
/manager/conf.json

6
manager/conf_hostinger.json Executable file
View File

@ -0,0 +1,6 @@
{
"host" : "mysql.hostinger.fr",
"dbname" : "u712664263_sid",
"user" : "u712664263_php",
"password" : "Qt358nUdyeTxLDM8"
}

View File

@ -1,15 +1,5 @@
<?php require_once __ROOT__.'/manager/security.php';
/* INCLUSION DES REPOs */
// require_once __ROOT__.'/manager/repo/user.php'; // gestion des utilisateurs (UID, infos, création, modification)
// require_once __ROOT__.'/manager/repo/group.php'; // gestion des groupes & appartenances (UID, ajouter membres, visu membres, création, modification)
// require_once __ROOT__.'/manager/repo/semestre.php';
// require_once __ROOT__.'/manager/repo/module.php';
// require_once __ROOT__.'/manager/repo/ue.php';
// require_once __ROOT__.'/manager/repo/controle.php';
// require_once __ROOT__.'/manager/repo/note.php';
// debug();
class DBAccess{};
class DataBase{
@ -1062,7 +1052,7 @@ class DataBase{
$parcours = semestreRepo::getParcours($etudiantUID);
// contiendra les couples [id_formation, rang] pour les semestres capitalisables
$listeSemestresCapitalisables = array();
$listeSemestresFR = array();
/* [1] Chaque semestre
==========================*/
@ -1074,10 +1064,9 @@ class DataBase{
if( strlen($UE) == 0 )
unset($inactiveUE[$i]);
// si des UEs non pris en compte, on ajoute le rang+formation à la liste
if( count($inactiveUE) > 0 )
if( !in_array( array($semestre['id_formation'], $semestre['rang']), $listeSemestresCapitalisables) )
array_push($listeSemestresCapitalisables, array($semestre['id_formation'], $semestre['rang']));
// si pas déjà ajouté, on ajoute le rang+formation à la liste
if( !in_array( array($semestre['id_formation'], $semestre['rang']), $listeSemestresFR) )
array_push($listeSemestresFR, array($semestre['id_formation'], $semestre['rang']));
$parcours[$iter_s]['UEs'] = ueRepo::forStudent($etudiantUID, $semestre['id']);
@ -1141,12 +1130,12 @@ class DataBase{
$totalSemestre += $tmpUE['coefficient'];
// le semestre est non compensable si la moyenne d'au moins un UE < 8
if( 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] < 8 )
$semestreCompensable = false;
// if( 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] < 8 )
// $semestreCompensable = false;
// semestreCompensé est VRAI si au moins un semestre est entre 8 et 10
if( 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] >= 8 && 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] < 10 )
$semestreCompensation = true;
// // semestreCompensé est VRAI si au moins un semestre est entre 8 et 10
// if( 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] >= 8 && 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] < 10 )
// $semestreCompensation = true;
}
}
@ -1182,17 +1171,19 @@ class DataBase{
/* LISTE DES UES CAPITALISÉES PAR SEMESTRES REGROUPÉS (FORMATION+RANG) */
// On ajoute toutes les UE capitalisées
foreach($listeSemestresCapitalisables as $i=>$formationRang){
foreach($listeSemestresFR as $i=>$formationRang){
// pour cette formation+rang, on récupère toutes les UEs
$listeUEs = array();
$UEUIDS = array();
$listeSemestresIndexes = array();
foreach($parcours as $iter_s=>$semestre){
//var_dump('f:'.$formationRang[0].'/'.$formationRang[1]);
foreach(array_reverse($parcours) as $iter_s=>$semestre){
// si fait partie de la formation+rang courante
if( $formationRang == array( $semestre['id_formation'], $semestre['rang'] ) ){
//var_dump(' s:'.$semestre['id']);
// on ajoute l'index du semestre à la liste
array_push($listeSemestresIndexes, $iter_s);
@ -1202,11 +1193,13 @@ class DataBase{
if( !in_array($UE['id'], $semestre['inactive']) ){
if( array_search($UE['id'], $UEUIDS) === false ){
// pour le premier UE (capitalisé) on s'assure de lui attribuer la capitalisation
//var_dump(' u:'.$UE['id']);
DataBase::getInstance()->capitaliserUE($UE['id'], $semestre['id'], $etudiantUID);
array_push( $listeUEs, $UE );
array_push( $UEUIDS, $UE['id'] );
}//else // si UE existe déjà pour formation+rang, on créé la capitalisation du semestre (on le désactive)
}
}//else
//var_dump(' x:'.$UE['id']);
}
}

BIN
src/files/admin2_export_jury.xlsx Executable file → Normal file

Binary file not shown.

Binary file not shown.