diff --git a/manager/database.php b/manager/database.php
index 9430207..c1b4595 100755
--- a/manager/database.php
+++ b/manager/database.php
@@ -164,7 +164,7 @@ class DataBase{
foreach($formationList as $form){
- $formationUID = semestreRepo::includeFormation($form['nom'], $form['libelle']); // on récupère l'UID de la formation en la créant si nécessaire
+ $formationUID = semestreRepo::includeFormation($form->nom, $form->libelle); // on récupère l'UID de la formation en la créant si nécessaire
if( is_numeric($formationUID) ){ // si la formation est ok, alors on cherche le semestre
@@ -172,9 +172,9 @@ class DataBase{
if( is_numeric($semestreUID) ){ // si le semestre est ok, alors on ajoute les utilisateurs
- foreach($form['userlist'] as $user){
+ foreach($form->userlist as $user){
// on récupère l'UID utilisateur en le créant si nécessaire
- $utilisateurUID = userRepo::includeEtudiant($user['identifiant'], $user['prenom'], $user['nom'], $user['sexe'], $user['mail']);
+ $utilisateurUID = userRepo::includeEtudiant($user->identifiant, $user->prenom, $user->nom, $user->sexe, $user->mail);
if( is_string($utilisateurUID) ) // si l'utilisateur est ok, alors on créé l'appartenance
groupRepo::includeAppartenance($utilisateurUID, $semestreUID); // on ajoute l'utilisateur au groupeVide de chaque semestre (s'il n'a pas déjà un groupe)
diff --git a/manager/import.php b/manager/import.php
index fa8674f..de8178d 100755
--- a/manager/import.php
+++ b/manager/import.php
@@ -3,10 +3,17 @@
if( isset($_FILES['file']) && isset($_POST['filename']) ){
$path = __ROOT__.'/src/files/';
- $targetFile = $_SESSION['identifiant'].'_'.$_POST['filename'].'.xlsx';
+ $fileName = $_SESSION['identifiant'].'_'.$_POST['filename'].'.xlsx';
+
+ // on se place dans /.../src/files
+ chdir( $path );
- if( move_uploaded_file($_FILES["file"]["tmp_name"], $path.$targetFile) )
+
+ if( move_uploaded_file($_FILES["file"]["tmp_name"], $path.$fileName) ){
+ // on modifie les droits du fichier
+ chmod($path.$fileName, 0774);
echo "success";
+ }
else
echo "error";
diff --git a/manager/phpExcel.php b/manager/phpExcel.php
index 9453345..f0f4a30 100755
--- a/manager/phpExcel.php
+++ b/manager/phpExcel.php
@@ -1,11 +1,13 @@
request = 'read_permission'; return; }
+
// Chargement du fichier
$objPHPExcel = PHPExcel_IOFactory::load($filePath);
@@ -124,6 +129,7 @@ function xlsx_switch_lvl1($request, $answer){
$sheet = $objPHPExcel->getSheet(0);
$userlistData = $sheet->rangeToArray('B2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
+
// Variables stack pour la liste de élèves
$listeFormations = array();
@@ -179,8 +185,13 @@ function xlsx_switch_lvl1($request, $answer){
}}
- $answer->formationList = $listeFormations;
- $answer->request = 'success';
+
+ // on vérifie qu'on a récupéré qqch
+ if( count($listeFormations) > 0 ){
+ $answer->formationList = $listeFormations;
+ $answer->request = 'success';
+ }else
+ $answer->request = 'corrupted_format';
break;
@@ -297,10 +308,8 @@ function xlsx_switch_lvl1($request, $answer){
$filePath = __ROOT__.'/src/files/'.$_SESSION['identifiant'].'_import_mcc.xlsx';
- // file_put_contents($filePath, $file['file']);
-
- // // $inputFileType = 'Excel2007';
- // $inputFileName = $request->docPath;
+ // si on a pas le droit d'écriture, on quitte //
+ if( !is_readable($filePath) ){ $answer->request = 'read_permission'; return; }
// Charger le fichier en tant que document Excel
$objPHPExcel = PHPExcel_IOFactory::load($filePath);
diff --git a/page/_JS/groups.js b/page/_JS/groups.js
index 4a424b7..1544a84 100755
--- a/page/_JS/groups.js
+++ b/page/_JS/groups.js
@@ -76,7 +76,7 @@ if( document.querySelector('#CONTAINER section[name=movestudents]') != null ){ /
var selectList = document.querySelectorAll("#CONTAINER > section[name] > select[name=groupe], #CONTAINER > section[name] > .p > select[name=annee]");
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=semestre], "+
"#CONTAINER > section[name] > table.partlist[name=formation], "+
- "#CONTAINER > section[name] > .p > div.partlist[name=semestre] > span[data-stre]");
+ "#CONTAINER > section[name] > .p > div.partlist[name=semestre] > span[data-stre][data-frm]");
// GESTION DE L'AFFINAGE PAR FORMATION/SEMESTRE //
for( var i = 0 ; i < partList.length ; i++ ){
@@ -99,8 +99,10 @@ for( var i = 0 ; i < partList.length ; i++ ){
pageM.vars[2] = 's:'+e.target.dataset.value;
// affinage par semestre (exportation)
- }else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') )
+ }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;
+ }
// si la formation n'est pas définie, on l'active
if( !/^[fa]:/.test(pageM.vars[1]) )
diff --git a/page/_JS/modules.js b/page/_JS/modules.js
index a3a7e3d..3c7a9e9 100755
--- a/page/_JS/modules.js
+++ b/page/_JS/modules.js
@@ -9,7 +9,7 @@ var selectList = document.querySelectorAll("#CONTAINER > section[name] > .p > se
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=UE], "+
"#CONTAINER > section[name] > table.partlist[name=semestre], "+
"#CONTAINER > section[name] > table.partlist[name=formation], "+
- "#CONTAINER > section[name] > .p > div.partlist[name=semestre] > span[data-stre]");
+ "#CONTAINER > section[name] > .p > div.partlist[name=semestre] > span[data-stre][data-frm]");
for( var i = 0 ; i < partList.length ; i++ ){
@@ -33,8 +33,10 @@ for( var i = 0 ; i < partList.length ; i++ ){
if( tableauParent.getAttribute('name') == 'UE' )
pageM.vars[2] = 'u:'+e.target.dataset.value;
- }else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') )
+ }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;
+ }
// si la formation n'est pas définie, on l'active
if( !/^[fa]:/.test(pageM.vars[1]) )
diff --git a/page/groups.php b/page/groups.php
index 5954708..9783e34 100755
--- a/page/groups.php
+++ b/page/groups.php
@@ -221,8 +221,9 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
array_push($verificationUIDFormations, $groupe['id_formation']);
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
- if( $formationOpt == null || !in_array($formationOpt, $verificationUIDFormations) )
- $formationOpt = $verificationUIDFormations[0];
+ $MyGroupsFormationOpt = $formationOpt;
+ if( $MyGroupsFormationOpt == null || !in_array($MyGroupsFormationOpt, $verificationUIDFormations) )
+ $MyGroupsFormationOpt = $verificationUIDFormations[0];
@@ -234,7 +235,7 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){
- if( $groupe['id_formation'] == $formationOpt ) // si c'est la formation séléctionnée
+ if( $groupe['id_formation'] == $MyGroupsFormationOpt ) // si c'est la formation séléctionnée
echo "
".$groupe['formation'].'
';
else // sinon on affiche normalement
echo "
".$groupe['formation'].'
';
@@ -256,7 +257,7 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
else echo "
Tous
";
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
- foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $formationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){
+ foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $MyGroupsFormationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){
if( $groupe['id_semestre'] == $semestreOpt ) // si c'est le groupe séléctionné
echo "
".$groupe['semestre'].'
';
@@ -281,7 +282,7 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
else echo "";
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
- foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $formationOpt && in_array($groupe['id_semestre'], $ListeUIDSemestres) && !in_array($groupe['id'], $ListeUIDGroupes) ){
+ foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $MyGroupsFormationOpt && in_array($groupe['id_semestre'], $ListeUIDSemestres) && !in_array($groupe['id'], $ListeUIDGroupes) ){
if( $groupe['id'] == $groupeOpt ) // si c'est le groupe séléctionné
echo "';
@@ -310,7 +311,7 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
foreach($answer->grouplist as $group){ // pour chaque groupe
- if( $group['id_formation'] == $formationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
+ if( $group['id_formation'] == $MyGroupsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
@@ -387,9 +388,10 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
if( !in_array($groupe['id_formation'], $verificationUIDFormations) )
array_push($verificationUIDFormations, $groupe['id_formation']);
+ $moveStudentsFormationOpt = $formationOpt;
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
- if( $formationOpt == null || !in_array($formationOpt, $verificationUIDFormations) )
- $formationOpt = $verificationUIDFormations[0];
+ if( $moveStudentsFormationOpt == null || !in_array($moveStudentsFormationOpt, $verificationUIDFormations) )
+ $moveStudentsFormationOpt = $verificationUIDFormations[0];
@@ -401,7 +403,7 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){
// si c'est la formation séléctionnée
- if( $groupe['id_formation'] == $formationOpt ) echo "
';
// on ajoute la formation à la liste pour ne pas la répéter
@@ -420,7 +422,7 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
else echo "
Tous
";
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
- foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $formationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){
+ foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $moveStudentsFormationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){
// si c'est le semestre séléctionné
if( $groupe['id_semestre'] == $semestreOpt ) echo "
".$groupe['semestre'].'
';
@@ -443,7 +445,7 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
else echo "";
/* On récupère la liste des GROUPES en accord avec la FORMATION et le SEMESTRE sélectionnée */
- foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $formationOpt && in_array($groupe['id_semestre'], $ListeUIDSemestres) && !in_array($groupe['id'], $ListeUIDGroupes) ){
+ foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $moveStudentsFormationOpt && in_array($groupe['id_semestre'], $ListeUIDSemestres) && !in_array($groupe['id'], $ListeUIDGroupes) ){
// si c'est le groupe sélectionné
if( $groupe['id'] == $groupeOpt ) echo "';
@@ -460,7 +462,7 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
foreach($answer->grouplist as $group){ // pour chaque groupe
- if( $group['id_formation'] == $formationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
+ if( $group['id_formation'] == $moveStudentsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
@@ -591,9 +593,9 @@ if( permission('admin') ){
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
- echo "".$semestre['formation']." - ".$semestre['nom'].'';
+ echo "".$semestre['formation']." - ".$semestre['nom'].'';
else // sinon on affiche normalement
- echo "".$semestre['formation']." - ".$semestre['nom'].'';
+ echo "".$semestre['formation']." - ".$semestre['nom'].'';
}}
}}
echo "
";
diff --git a/page/modules.php b/page/modules.php
index 0f1b338..e285f80 100755
--- a/page/modules.php
+++ b/page/modules.php
@@ -166,10 +166,11 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
if( !in_array($semestre['id_formation'], $verificationUIDFormations) )
array_push($verificationUIDFormations, $semestre['id_formation']);
- // si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
- if( $formationOpt == null || !in_array($formationOpt, $verificationUIDFormations) )
- $formationOpt = $verificationUIDFormations[0];
+ $MyModulesFormationOpt = $formationOpt;
+ // si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
+ if( $MyModulesFormationOpt == null || !in_array($MyModulesFormationOpt, $verificationUIDFormations) )
+ $MyModulesFormationOpt = $verificationUIDFormations[0];
/**************************/
/* AFFINAGE PAR FORMATION */
@@ -178,7 +179,7 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
foreach($answer->semestres as $semestre){ if( !in_array($semestre['id_formation'], $ListeUIDFormations) ){
- if( $semestre['id_formation'] == $formationOpt ) // si c'est la formation séléctionnée
+ if( $semestre['id_formation'] == $MyModulesFormationOpt ) // si c'est la formation séléctionnée
echo "
".$semestre['formation'].'
';
else // sinon on affiche normalement
echo "
".$semestre['formation'].'
';
@@ -190,8 +191,6 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
echo "";
-
-
/*************************/
/* AFFINAGE PAR SEMESTRE */
/*************************/
@@ -200,7 +199,7 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
else echo "
Tous
";
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
- foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && !in_array($semestre['id'], $ListeUIDSemestres) ){
+ foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $MyModulesFormationOpt && !in_array($semestre['id'], $ListeUIDSemestres) ){
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
echo "
".$semestre['nom'].'
';
@@ -225,7 +224,7 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
else echo "
Tous
";
/* On récupère la liste des UEs en accord avec la FORMATION et le SEMESTRE sélectionnés */
- foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && in_array($semestre['id'], $ListeUIDSemestres) ){
+ foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $MyModulesFormationOpt && in_array($semestre['id'], $ListeUIDSemestres) ){
foreach($semestre['UElist'] as $UE){ if( !in_array($UE['id'], $ListeUIDUE) ){
if( $UE['id'] == $ueOpt ) // si c'est l'UE séléctionnée
echo "
".$UE['nom'].'
';
@@ -238,41 +237,44 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
}}
echo "";
+ if( count($ListeUIDUE) > 0 ){ // s'il y a plus d'un semestre, on les affiche
+ foreach($answer->semestres as $semestre){
- foreach($answer->semestres as $semestre){
+ if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($MyModulesFormationOpt == null || $semestre['id_formation'] == $MyModulesFormationOpt) ){ // on affiche les semestres en fonction de l'affinage
- if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage
+ foreach($semestre['UElist'] as $UE){
- foreach($semestre['UElist'] as $UE){
-
- if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on affiche les UEs en fonction de l'affinage
-
- echo "
";
////////////////////////////////////////////////////////////////////////////////
echo '';
}else
@@ -389,8 +391,6 @@ if( permission('admin') ){ // si l'utilisateur est un admin
echo "";
-
-
/*******************/
/* AFFINAGE PAR UE */
/*******************/
@@ -412,56 +412,61 @@ if( permission('admin') ){ // si l'utilisateur est un admin
}}
echo "";
+ if( count($ListeUIDUE) > 0 ){ // s'il y a plus d'un UE, on les affiche
- foreach($answer->semestres as $semestre){
- if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage
+ foreach($answer->semestres as $semestre){
- foreach($semestre['UElist'] as $UE){
+ if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage
- if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on affiche les UEs en fonction de l'affinage
-
- echo "