Ajout de l'autoloader (intégration complèteà
This commit is contained in:
parent
e079849835
commit
0f7b4a8e91
20
API.php
20
API.php
|
@ -32,8 +32,8 @@ require_once __ROOT__.'/manager/security.php';
|
|||
/* UTILISATEUR */
|
||||
/***************/
|
||||
case 'user':
|
||||
if( isset($request->level_1) ){ require_once __ROOT__.'/manager/user.php'; user_switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
if( isset($request->level_1) ){ userManager::switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
break;
|
||||
|
||||
|
||||
|
@ -41,8 +41,8 @@ require_once __ROOT__.'/manager/security.php';
|
|||
/* GROUPES */
|
||||
/***********/
|
||||
case 'groups':
|
||||
if( isset($request->level_1) ){ require_once __ROOT__.'/manager/groups.php'; groups_switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
if( isset($request->level_1) ){ groupsManager::switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
break;
|
||||
|
||||
|
||||
|
@ -50,8 +50,8 @@ require_once __ROOT__.'/manager/security.php';
|
|||
/* DOSSIER ETUDIANT (NOTES,...) */
|
||||
/********************************/
|
||||
case 'career':
|
||||
if( isset($request->level_1) ){ require_once __ROOT__.'/manager/career.php'; career_switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
if( isset($request->level_1) ){ careerManager::switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
break;
|
||||
|
||||
|
||||
|
@ -59,16 +59,16 @@ require_once __ROOT__.'/manager/security.php';
|
|||
/* MODULE */
|
||||
/**********/
|
||||
case 'modules':
|
||||
if( isset($request->level_1) ){ require_once __ROOT__.'/manager/modules.php'; modules_switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
if( isset($request->level_1) ){ modulesManager::switch_level_1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
break;
|
||||
|
||||
/**********/
|
||||
/* MODULE */
|
||||
/**********/
|
||||
case 'phpExcel':
|
||||
if( isset($request->level_1) ){ require_once __ROOT__.'/manager/phpExcel.php'; xlsx_switch_lvl1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
if( isset($request->level_1) ){ excelManager::switch_lvl1($request, $answer); }
|
||||
else { $answer->request = 'missing_level_1'; }
|
||||
break;
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
|
||||
|
||||
|
||||
<?php
|
||||
require_once __ROOT__.'/manager/security.php';
|
||||
<?php require_once __ROOT__.'/manager/security.php';
|
||||
|
||||
/***********************************************************
|
||||
* *
|
||||
|
@ -28,10 +24,11 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
|
||||
|
||||
class careerManager{
|
||||
|
||||
/* [1] ROUTAGE DE NIVEAU 1
|
||||
============================================================*/
|
||||
function career_switch_level_1($request, $answer){
|
||||
public static function switch_level_1($request, $answer){
|
||||
|
||||
switch( $request->level_1 ){
|
||||
|
||||
|
@ -354,5 +351,5 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,553 @@
|
|||
<?php require_once __ROOT__.'/manager/security.php';
|
||||
chdir( __ROOT__.'/src/files/' );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class excelManager{
|
||||
|
||||
public static function switch_lvl1($request, $answer){
|
||||
|
||||
//inclusion des classes de PHPExcel et des fichiers necessaires
|
||||
|
||||
require_once __ROOT__.'/src/phpexcel/Classes/PHPExcel.php';
|
||||
require_once __ROOT__.'/src/phpexcel/Classes/PHPExcel/Writer/Excel2007.php';
|
||||
|
||||
|
||||
/* [1] TABLE DE ROUTAGE
|
||||
============================================================*/
|
||||
|
||||
switch ($request->level_1) {
|
||||
|
||||
/***************************************************/
|
||||
/* Export la liste des étudiants d'un groupe donné */
|
||||
/***************************************************/
|
||||
case 'export_userlist_group':
|
||||
|
||||
// Vérification de la présence des groupes
|
||||
|
||||
if( isset($request->grouplist) && $request->grouplist != null ){
|
||||
|
||||
//On crée une instance du fichier xls,activation de la feuille
|
||||
|
||||
$workbook = new PHPExcel();
|
||||
$sheet = $workbook->getActiveSheet();
|
||||
$writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||
|
||||
// Définition des paramètres du document
|
||||
|
||||
$workbook->getProperties()->setCreator($_SESSION['identifiant']);
|
||||
$workbook->getProperties()->setLastModifiedBy('ACGA');
|
||||
$workbook->getProperties()->setTitle('Liste étudiants '.$_SESSION['annee']);
|
||||
|
||||
// Définition du format des cellules (document Excel)
|
||||
|
||||
$sheet->getColumnDimension('B')->setWidth(20);
|
||||
$sheet->getColumnDimension('C')->setWidth(20);
|
||||
$sheet->getColumnDimension('D')->setWidth(15);
|
||||
$sheet->getColumnDimension('E')->setWidth(8);
|
||||
$sheet->getColumnDimension('F')->setWidth(35);
|
||||
$sheet->getColumnDimension('G')->setWidth(12);
|
||||
$sheet->getColumnDimension('H')->setWidth(12);
|
||||
|
||||
// Écriture des colonnes du tableau
|
||||
|
||||
$sheet->setCellValue('B1', "GROUPE DES ETUDIANTS DE L'ANNEE ".$_SESSION['annee']);
|
||||
$sheet->setCellValue('A2', date("d/m/Y G:m"));
|
||||
$sheet->setCellValue('A4', 'Numéro');
|
||||
$sheet->setCellValue('B4', 'Nom');
|
||||
$sheet->setCellValue('C4', 'Prénom');
|
||||
$sheet->setCellValue('D4', 'Identifiant');
|
||||
$sheet->setCellValue('E4', 'Sexe');
|
||||
$sheet->setCellValue('F4', 'Mail étudiant');
|
||||
$sheet->setCellValue('G4', 'Code IAE');
|
||||
$sheet->setCellValue('H4', 'IAE Etape');
|
||||
|
||||
// Écriture des valeurs dans le document Excel
|
||||
|
||||
$index = 5;
|
||||
foreach ( $request->grouplist as $group ) {
|
||||
|
||||
$groupeName = $group['nom'];
|
||||
$formation = $group['formation'];
|
||||
|
||||
foreach ( $group['userlist'] as $student ) {
|
||||
|
||||
$sheet->setCellValue('A'.$index, $index-4);
|
||||
$sheet->setCellValue('B'.$index, $student['nom']);
|
||||
$sheet->setCellValue('C'.$index, $student['prenom']);
|
||||
$sheet->setCellValue('D'.$index, $student['identifiant']);
|
||||
$sheet->setCellValue('E'.$index, $student['sexe']);
|
||||
$sheet->setCellValue('F'.$index, $student['mail']);
|
||||
$sheet->setCellValue('G'.$index, $formation);
|
||||
$sheet->setCellValue('H'.$index, $groupeName);
|
||||
$index++;
|
||||
}
|
||||
}
|
||||
|
||||
//On enregistre ce nouveau fichier, et on lance son téléchargement
|
||||
|
||||
$docPath = DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("page", "excelTemplates",
|
||||
"Liste Etudiant ".$_SESSION['annee'].".xlsx"));
|
||||
if(file_exists (__ROOT__.$docPath)){
|
||||
$index = 1;
|
||||
$titleLen = strlen($docPath) - 5;
|
||||
while(file_exists (__ROOT__.$docPath)){
|
||||
$docPath = mb_strimwidth($docPath, 0, $titleLen, "")." (".$index.").xlsx";
|
||||
$index++;
|
||||
}
|
||||
}
|
||||
$writer->save(__ROOT__.$docPath);
|
||||
$answer->docPath = $docPath;
|
||||
}
|
||||
|
||||
// Erreur de paramètre(s)
|
||||
|
||||
else {
|
||||
|
||||
$answer->request = 'param_error';
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
/***************************************************************/
|
||||
/* Importation des listes d'élèves de l'année en format Excel */
|
||||
/***************************************************************/
|
||||
case 'import_inscrits':
|
||||
|
||||
// Récupération du nom du fichier
|
||||
$filePath = __ROOT__.'/src/files/'.$_SESSION['identifiant'].'_import_inscrits.xlsx';
|
||||
|
||||
// si on a pas le droit d'écriture, on quitte //
|
||||
if( !is_readable($filePath) ){ $answer->request = 'read_permission'; return; }
|
||||
|
||||
// Chargement du fichier
|
||||
$objPHPExcel = PHPExcel_IOFactory::load($filePath);
|
||||
|
||||
// Placement du curseur sur la première case
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$userlistData = $sheet->rangeToArray('B2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
|
||||
// Variables stack pour la liste de élèves
|
||||
$listeFormations = array();
|
||||
|
||||
|
||||
// "IUT" | formation+ver. | formationCode | formationLibellé | Inscript. en cours | Redoublant | ident. | nom | prenom | sexe | naiss. | mail | sport
|
||||
|
||||
$formationCodes = array();
|
||||
|
||||
// on parcourt toutes les lignes pour lesquelles il y a en 2ème cellule "IUT"
|
||||
foreach($userlistData as $line){ if( $line[0] == 'IUT' ){
|
||||
|
||||
/* [1] On récupère la formation (code, libellé)
|
||||
========================================================================*/
|
||||
if( $line[2] != null && $line[3] != null ){ // si aucune des cases ne sont vides
|
||||
|
||||
if( !in_array($line[2], $formationCodes) ){ // si on n'a toujours pas créé cette formation
|
||||
array_push( // on ajoute la formation à la liste
|
||||
$listeFormations,
|
||||
array(
|
||||
'nom' => $line[2],
|
||||
'libelle' => $line[3],
|
||||
'userlist' => array() // contiendra les étudiants de cette formation
|
||||
)
|
||||
);
|
||||
|
||||
// on signale pour ne pas répéter
|
||||
array_push($formationCodes, $line[2]);
|
||||
}
|
||||
|
||||
|
||||
// on récupère l'index de la formation dans le tableau de retour
|
||||
$formIndex = array_search($line[2], $formationCodes);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* [2] On ajoute l'élève courant dans la formation
|
||||
========================================================================*/
|
||||
if( $line[6] != null && $line[7] != null && $line[8] != null && $line[9] != null && $line[1] != null ){
|
||||
|
||||
array_push(
|
||||
$listeFormations[$formIndex]['userlist'], array(
|
||||
'identifiant' => $line[6],
|
||||
'nom' => $line[7],
|
||||
'prenom' => $line[8],
|
||||
'sexe' => $line[9] == 'M',
|
||||
'mail' => $line[11]
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
||||
// 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;
|
||||
|
||||
|
||||
|
||||
|
||||
// EXPORTATION DE NOTES POUR UN CONTROLE DONNEE, UNE FORMATION DONNEE ET UN GROUPE DONNE
|
||||
case 'export_notes':
|
||||
|
||||
//vérificationd des paramètres en entrée
|
||||
|
||||
// if(isset($request->formation) && isset($request->groupe) && isset($request->controle) && isset($request->resultat)){
|
||||
|
||||
|
||||
// // Création de la fiche
|
||||
|
||||
// $workbook = new PHPExcel();
|
||||
// $sheet = $workbook->getActiveSheet();
|
||||
// $writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||
|
||||
// // Titre du document
|
||||
|
||||
// $workbook->getProperties()->setTitle($request->formation.$request->groupe.$request->controle);
|
||||
|
||||
// // Taille des cases
|
||||
|
||||
// $sheet->getColumnDimension('A')->setWidth(20);
|
||||
// $sheet->getColumnDimension('B')->setWidth(20);
|
||||
// $sheet->getColumnDimension('C')->setWidth(10);
|
||||
|
||||
// // Écriture des colonnes du tableau
|
||||
|
||||
// $sheet->setCellValue('A1', $request->groupe);
|
||||
// $sheet->setCellValue('B1', date("d/m/Y G:m"));
|
||||
// $sheet->setCellValue('C1', $request->controle);
|
||||
// $sheet->setCellValue('A3', 'Nom');
|
||||
// $sheet->setCellValue('B3', 'Prénom');
|
||||
// $sheet->setCellValue('C3', 'Note');
|
||||
|
||||
|
||||
// // Écriture des valeurs dans le document Excel
|
||||
|
||||
// $index = 5;
|
||||
// foreach ( $request->resultat as $eleve ) {
|
||||
|
||||
// $sheet->setCellValue('A'.$index,$eleve->nom);
|
||||
// $sheet->setCellValue('B'.$index,$eleve->prenom);
|
||||
// $sheet->setCellValue('C'.$index,$eleve->note);
|
||||
// }
|
||||
// }
|
||||
// //On enregistre ce nouveau fichier, et on lance son téléchargement
|
||||
|
||||
// $docPath = DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("page", "excelTemplates", $request->formation.$request->groupe.$request->controle".xlsx"));
|
||||
// if(file_exists (__ROOT__.$docPath)){
|
||||
// $index = 1;
|
||||
// $titleLen = strlen($docPath) - 5;
|
||||
// while(file_exists (__ROOT__.$docPath)){
|
||||
// $docPath = mb_strimwidth($docPath, 0, $titleLen, "")." (".$index.").xlsx";
|
||||
// $index++;
|
||||
// }
|
||||
// }
|
||||
// $writer->save(__ROOT__.$docPath);
|
||||
// $answer->docPath = $docPath;
|
||||
// }
|
||||
|
||||
// // Erreur de paramètre(s)
|
||||
|
||||
// else {
|
||||
|
||||
// $answer->request = 'param_error';
|
||||
// }
|
||||
|
||||
break;
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
/* Importation de notes pour un contrôle, une formation et un groupe donné */
|
||||
/***************************************************************************/
|
||||
case 'import_notes':
|
||||
|
||||
|
||||
if( isset($request->docPath) ) {
|
||||
|
||||
// Récupération du nom du fichier
|
||||
|
||||
$inputFileName = $request->docPath;
|
||||
|
||||
// Chargement du fichier
|
||||
|
||||
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
||||
|
||||
// Placement du curseur sur la première case
|
||||
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$noteData = $sheet->rangeToArray('A3:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
// Varaible stack pour la liste des notes
|
||||
|
||||
$listeNotes = array();
|
||||
|
||||
// Boucle sur le format suivant : ligne[0] : [ID] / ligne[1] : [NOTE]
|
||||
|
||||
foreach($noteData as $line) {
|
||||
|
||||
if($line[0] != null && $line[1] != null)
|
||||
array_push($listeNotes,array($line[0],$line[1]));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Erreur de paramètre(s)
|
||||
|
||||
else {
|
||||
|
||||
$answer->request='param_error';
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
/***********************/
|
||||
/* Importation du MCC */
|
||||
/**********************/
|
||||
case 'import_mcc':
|
||||
|
||||
|
||||
$filePath = __ROOT__.'/src/files/'.$_SESSION['identifiant'].'_import_mcc.xlsx';
|
||||
|
||||
// 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);
|
||||
|
||||
// Get sur la première case
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
|
||||
/* permet d'éviter les doublons */
|
||||
$mcc = array(); // contiendra le tableau de retour
|
||||
$ueuid = array();
|
||||
|
||||
/****************************/
|
||||
/* TRAITEMENT SUR LES CASES */
|
||||
/****************************/
|
||||
foreach($mccData as $line){
|
||||
if( $line[6] != null ){ // uniquement les lignes non vides
|
||||
|
||||
|
||||
/* [1] On récupère les données de l'UE, si les champs sont définis
|
||||
=========================================================================*/
|
||||
if( /*$line[0] != null && */ $line[1] != null && $line[2] != null ){
|
||||
|
||||
if( $line[0] != null && !in_array($line[0], $ueuid) ){ // on créé l'UE dans la liste s'il n'y est pas déjà
|
||||
|
||||
array_push( // on ajoute l'UE
|
||||
$mcc,
|
||||
array(
|
||||
'nom' => $line[0],
|
||||
'libelle' => $line[1],
|
||||
'coefficient' => $line[2],
|
||||
'modules' => array(),
|
||||
'moduid' => array()
|
||||
)
|
||||
);
|
||||
|
||||
array_push($ueuid, $line[0]); // on dis qu'on a déjà enregistré l'ue
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if( $line[0] != null )
|
||||
$ueIndex = array_search($line[0], $ueuid);
|
||||
|
||||
/* [2] On récupère les données du module, si les champs sont définis
|
||||
=========================================================================*/
|
||||
if( /*$line[3] != null && */ $line[4] != null && $line[5] != null ){
|
||||
|
||||
if( $line[3] != null && !in_array($line[3], $mcc[$ueIndex]['moduid']) ){ // on créé le module dans la liste de cet UE s'il n'y est pas déjà
|
||||
array_push( // on ajoute l'UE
|
||||
$mcc[$ueIndex]['modules'],
|
||||
array(
|
||||
'nom' => $line[3],
|
||||
'libelle' => $line[4],
|
||||
'coefficient' => $line[5],
|
||||
'controles' => array(),
|
||||
'ctrluid' => array()
|
||||
)
|
||||
);
|
||||
|
||||
array_push($mcc[$ueIndex]['moduid'], $line[3]); // on dis qu'on a déjà enregistré le module
|
||||
}
|
||||
}
|
||||
|
||||
if( $line[3] != null )
|
||||
$modIndex = array_search($line[3], $mcc[$ueIndex]['moduid']);
|
||||
|
||||
/* [3] On récupère les contrôles du module, si les champs sont définis
|
||||
=========================================================================*/
|
||||
if( $line[6] != null && $line[7] != null && $line[8] != null ){
|
||||
|
||||
if( !in_array($line[6], $mcc[$ueIndex]['modules'][$modIndex]['ctrluid']) ){ // on créé le contrôle dans la liste de ce module s'il n'y est pas déjà
|
||||
array_push( // on ajoute l'UE
|
||||
$mcc[$ueIndex]['modules'][$modIndex]['controles'],
|
||||
array(
|
||||
'nom' => $line[6],
|
||||
'libelle' => $line[7],
|
||||
'coefficient' => $line[8]
|
||||
)
|
||||
);
|
||||
|
||||
array_push($mcc[$ueIndex]['modules'][$modIndex]['ctrluid'], $line[6]); // on dis qu'on a déjà enregistré le module
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* [4] Affinage des données, on supprime les données temporaires
|
||||
=========================================================================*/
|
||||
foreach($mcc as $iter_ue=>$ue){
|
||||
unset( $mcc[$iter_ue]['moduid'] );
|
||||
|
||||
foreach($mcc[$iter_ue]['modules'] as $iter_m=>$mod)
|
||||
unset( $mcc[$iter_ue]['modules'][$iter_m]['ctrluid'] );
|
||||
}
|
||||
|
||||
|
||||
$answer->mcc = $mcc;
|
||||
$answer->request = 'success';
|
||||
|
||||
break;
|
||||
|
||||
|
||||
/************************************/
|
||||
/* Importation des résulats du jury */
|
||||
/************************************/
|
||||
case 'import_jury':
|
||||
|
||||
if(isset($request->docPath)) {
|
||||
|
||||
// Récupération du nom du fichier
|
||||
|
||||
$inputFileName = $request->docPath;
|
||||
|
||||
// Chargement du fichier
|
||||
|
||||
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
||||
|
||||
// Placement du curseur sur la première case
|
||||
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
// Varaible stack pour les résultats du jury
|
||||
|
||||
$resultatJury = array();
|
||||
|
||||
// Boucle sur le format suivant : ligne[0] : [IDETUDIANT] / ligne[1] : [DECISION JURY]
|
||||
|
||||
// / ! \ LES RESULTATS NE DOIVENT PAS ETRE NOMINATIFs, UTILISER LES IDENTIFIANTS DES ÉTUDIANTS / ! \
|
||||
|
||||
$i = 0;
|
||||
|
||||
foreach($mccData as $line) {
|
||||
|
||||
$resultatJury[$i++] = array($line[0],$line[1]);
|
||||
}
|
||||
|
||||
$answer->resultatJury = $resultatJury;
|
||||
$asnwer->request = 'success';
|
||||
}
|
||||
|
||||
// Erreur de paramètre(s)
|
||||
|
||||
else {
|
||||
|
||||
$answer->request='param_error';
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
// /************************************/
|
||||
// /* Exportation des résulats du jury */
|
||||
// /************************************/
|
||||
// case 'export_fiche_resultat_jury':
|
||||
|
||||
// //vérificationd du paramètre en entrée
|
||||
|
||||
// if(isset($request->formation) && isset($request->semestre)){
|
||||
|
||||
// // Création / Activation de la feuille
|
||||
|
||||
// $workbook = new PHPExcel();
|
||||
// $sheet = $workbook->getActiveSheet();
|
||||
// $writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||
|
||||
// $workbook->getProperties()->setTitle("ResultatJury"." ".$request->formation." ".$request->semestre.date("d/m/Y G:m"));
|
||||
|
||||
// $sheet->getColumnDimension('A')->setWidth(20);
|
||||
// $sheet->getColumnDimension('B')->setWidth(20);
|
||||
// $sheet->getColumnDimension('C')->setWidth(20);
|
||||
// $sheet->getColumnDimension('D')->setWidth(20);
|
||||
|
||||
// // Écriture de l'en-tête du document
|
||||
|
||||
// $sheet->setCellValue('A1', 'Résultats jury');
|
||||
// $sheet->setCellValue('B1',$request->formation);
|
||||
// $sheet->setCellValue('C1',$request->semestre);
|
||||
// $sheet->setCellValue('D1', date("d/m/Y G:m"));
|
||||
// $sheet->setCellValue('A3',"Id Étudiant");
|
||||
// $sheet->setCellValue('B3',"Avis jury");
|
||||
|
||||
|
||||
// $i = 6;
|
||||
|
||||
// while(// TANT QUE IL Y A UN ELEVE) {
|
||||
|
||||
// $sheet->setCellValue('A'.$i,// ID ELEVE);
|
||||
// $sheet->setCellValue('B'.$i,// AVIS JURY);
|
||||
// $i++;
|
||||
// }
|
||||
|
||||
// // Sauvegarde du fichier sous le format .xlsx
|
||||
|
||||
// $writer->save("ResultatJury"." ".$request->formation." ".$request->semestre.date("d/m/Y G:m").'xlsx' );
|
||||
// $answer->request = 'success';
|
||||
// }
|
||||
|
||||
// //Si il y a un problème dans les paramètre(s)
|
||||
|
||||
// else {
|
||||
|
||||
// $answer->request='param_error';
|
||||
// }
|
||||
|
||||
// break;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// DEFAULT
|
||||
default:
|
||||
$answer->request = 'unknown_level_1';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
require_once __ROOT__.'/manager/security.php';
|
||||
<?php require_once __ROOT__.'/manager/security.php';
|
||||
|
||||
|
||||
/***********************************************************
|
||||
* *
|
||||
|
@ -25,11 +25,11 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
|
||||
|
||||
|
||||
class groupsManager{
|
||||
|
||||
/* [1] ROUTAGE DE NIVEAU 1
|
||||
============================================================*/
|
||||
function groups_switch_level_1($request, $answer){
|
||||
public static function switch_level_1($request, $answer){
|
||||
|
||||
switch( $request->level_1 ){
|
||||
|
||||
|
@ -294,5 +294,5 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
require_once __ROOT__.'/manager/security.php';
|
||||
<?php require_once __ROOT__.'/manager/security.php';
|
||||
|
||||
|
||||
/***********************************************************
|
||||
* *
|
||||
|
@ -24,11 +24,11 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
|
||||
|
||||
|
||||
class modulesManager{
|
||||
|
||||
/* [1] ROUTAGE DE NIVEAU 1
|
||||
============================================================*/
|
||||
function modules_switch_level_1($request, $answer){
|
||||
public static function switch_level_1($request, $answer){
|
||||
|
||||
switch( $request->level_1 ){
|
||||
|
||||
|
@ -170,5 +170,7 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -25,12 +25,11 @@
|
|||
|
||||
|
||||
|
||||
class notificationsManager{
|
||||
|
||||
|
||||
// /* [1] ROUTAGE DE NIVEAU 1
|
||||
// ============================================================*/
|
||||
|
||||
function notifications_switch_lvl1($request, $answer) {
|
||||
// /* [1] ROUTAGE DE NIVEAU 1
|
||||
// ============================================================*/
|
||||
public static function switch_lvl1($request, $answer) {
|
||||
|
||||
switch( $request->level_1 ) {
|
||||
|
||||
|
@ -213,6 +212,7 @@
|
|||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
|
|
@ -1,545 +0,0 @@
|
|||
<?php
|
||||
|
||||
chdir( __ROOT__.'/src/files/' );
|
||||
|
||||
function xlsx_switch_lvl1($request, $answer){
|
||||
|
||||
//inclusion des classes de PHPExcel et des fichiers necessaires
|
||||
|
||||
require_once __ROOT__.'/src/phpexcel/Classes/PHPExcel.php';
|
||||
require_once __ROOT__.'/src/phpexcel/Classes/PHPExcel/Writer/Excel2007.php';
|
||||
|
||||
|
||||
/* [1] TABLE DE ROUTAGE
|
||||
============================================================*/
|
||||
|
||||
switch ($request->level_1) {
|
||||
|
||||
/***************************************************/
|
||||
/* Export la liste des étudiants d'un groupe donné */
|
||||
/***************************************************/
|
||||
case 'export_userlist_group':
|
||||
|
||||
// Vérification de la présence des groupes
|
||||
|
||||
if( isset($request->grouplist) && $request->grouplist != null ){
|
||||
|
||||
//On crée une instance du fichier xls,activation de la feuille
|
||||
|
||||
$workbook = new PHPExcel();
|
||||
$sheet = $workbook->getActiveSheet();
|
||||
$writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||
|
||||
// Définition des paramètres du document
|
||||
|
||||
$workbook->getProperties()->setCreator($_SESSION['identifiant']);
|
||||
$workbook->getProperties()->setLastModifiedBy('ACGA');
|
||||
$workbook->getProperties()->setTitle('Liste étudiants '.$_SESSION['annee']);
|
||||
|
||||
// Définition du format des cellules (document Excel)
|
||||
|
||||
$sheet->getColumnDimension('B')->setWidth(20);
|
||||
$sheet->getColumnDimension('C')->setWidth(20);
|
||||
$sheet->getColumnDimension('D')->setWidth(15);
|
||||
$sheet->getColumnDimension('E')->setWidth(8);
|
||||
$sheet->getColumnDimension('F')->setWidth(35);
|
||||
$sheet->getColumnDimension('G')->setWidth(12);
|
||||
$sheet->getColumnDimension('H')->setWidth(12);
|
||||
|
||||
// Écriture des colonnes du tableau
|
||||
|
||||
$sheet->setCellValue('B1', "GROUPE DES ETUDIANTS DE L'ANNEE ".$_SESSION['annee']);
|
||||
$sheet->setCellValue('A2', date("d/m/Y G:m"));
|
||||
$sheet->setCellValue('A4', 'Numéro');
|
||||
$sheet->setCellValue('B4', 'Nom');
|
||||
$sheet->setCellValue('C4', 'Prénom');
|
||||
$sheet->setCellValue('D4', 'Identifiant');
|
||||
$sheet->setCellValue('E4', 'Sexe');
|
||||
$sheet->setCellValue('F4', 'Mail étudiant');
|
||||
$sheet->setCellValue('G4', 'Code IAE');
|
||||
$sheet->setCellValue('H4', 'IAE Etape');
|
||||
|
||||
// Écriture des valeurs dans le document Excel
|
||||
|
||||
$index = 5;
|
||||
foreach ( $request->grouplist as $group ) {
|
||||
|
||||
$groupeName = $group['nom'];
|
||||
$formation = $group['formation'];
|
||||
|
||||
foreach ( $group['userlist'] as $student ) {
|
||||
|
||||
$sheet->setCellValue('A'.$index, $index-4);
|
||||
$sheet->setCellValue('B'.$index, $student['nom']);
|
||||
$sheet->setCellValue('C'.$index, $student['prenom']);
|
||||
$sheet->setCellValue('D'.$index, $student['identifiant']);
|
||||
$sheet->setCellValue('E'.$index, $student['sexe']);
|
||||
$sheet->setCellValue('F'.$index, $student['mail']);
|
||||
$sheet->setCellValue('G'.$index, $formation);
|
||||
$sheet->setCellValue('H'.$index, $groupeName);
|
||||
$index++;
|
||||
}
|
||||
}
|
||||
|
||||
//On enregistre ce nouveau fichier, et on lance son téléchargement
|
||||
|
||||
$docPath = DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("page", "excelTemplates",
|
||||
"Liste Etudiant ".$_SESSION['annee'].".xlsx"));
|
||||
if(file_exists (__ROOT__.$docPath)){
|
||||
$index = 1;
|
||||
$titleLen = strlen($docPath) - 5;
|
||||
while(file_exists (__ROOT__.$docPath)){
|
||||
$docPath = mb_strimwidth($docPath, 0, $titleLen, "")." (".$index.").xlsx";
|
||||
$index++;
|
||||
}
|
||||
}
|
||||
$writer->save(__ROOT__.$docPath);
|
||||
$answer->docPath = $docPath;
|
||||
}
|
||||
|
||||
// Erreur de paramètre(s)
|
||||
|
||||
else {
|
||||
|
||||
$answer->request = 'param_error';
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
/***************************************************************/
|
||||
/* Importation des listes d'élèves de l'année en format Excel */
|
||||
/***************************************************************/
|
||||
case 'import_inscrits':
|
||||
|
||||
// Récupération du nom du fichier
|
||||
$filePath = __ROOT__.'/src/files/'.$_SESSION['identifiant'].'_import_inscrits.xlsx';
|
||||
|
||||
// si on a pas le droit d'écriture, on quitte //
|
||||
if( !is_readable($filePath) ){ $answer->request = 'read_permission'; return; }
|
||||
|
||||
// Chargement du fichier
|
||||
$objPHPExcel = PHPExcel_IOFactory::load($filePath);
|
||||
|
||||
// Placement du curseur sur la première case
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$userlistData = $sheet->rangeToArray('B2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
|
||||
// Variables stack pour la liste de élèves
|
||||
$listeFormations = array();
|
||||
|
||||
|
||||
// "IUT" | formation+ver. | formationCode | formationLibellé | Inscript. en cours | Redoublant | ident. | nom | prenom | sexe | naiss. | mail | sport
|
||||
|
||||
$formationCodes = array();
|
||||
|
||||
// on parcourt toutes les lignes pour lesquelles il y a en 2ème cellule "IUT"
|
||||
foreach($userlistData as $line){ if( $line[0] == 'IUT' ){
|
||||
|
||||
/* [1] On récupère la formation (code, libellé)
|
||||
========================================================================*/
|
||||
if( $line[2] != null && $line[3] != null ){ // si aucune des cases ne sont vides
|
||||
|
||||
if( !in_array($line[2], $formationCodes) ){ // si on n'a toujours pas créé cette formation
|
||||
array_push( // on ajoute la formation à la liste
|
||||
$listeFormations,
|
||||
array(
|
||||
'nom' => $line[2],
|
||||
'libelle' => $line[3],
|
||||
'userlist' => array() // contiendra les étudiants de cette formation
|
||||
)
|
||||
);
|
||||
|
||||
// on signale pour ne pas répéter
|
||||
array_push($formationCodes, $line[2]);
|
||||
}
|
||||
|
||||
|
||||
// on récupère l'index de la formation dans le tableau de retour
|
||||
$formIndex = array_search($line[2], $formationCodes);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* [2] On ajoute l'élève courant dans la formation
|
||||
========================================================================*/
|
||||
if( $line[6] != null && $line[7] != null && $line[8] != null && $line[9] != null && $line[1] != null ){
|
||||
|
||||
array_push(
|
||||
$listeFormations[$formIndex]['userlist'], array(
|
||||
'identifiant' => $line[6],
|
||||
'nom' => $line[7],
|
||||
'prenom' => $line[8],
|
||||
'sexe' => $line[9] == 'M',
|
||||
'mail' => $line[11]
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
||||
// 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;
|
||||
|
||||
|
||||
|
||||
|
||||
// EXPORTATION DE NOTES POUR UN CONTROLE DONNEE, UNE FORMATION DONNEE ET UN GROUPE DONNE
|
||||
case 'export_notes':
|
||||
|
||||
//vérificationd des paramètres en entrée
|
||||
|
||||
// if(isset($request->formation) && isset($request->groupe) && isset($request->controle) && isset($request->resultat)){
|
||||
|
||||
|
||||
// // Création de la fiche
|
||||
|
||||
// $workbook = new PHPExcel();
|
||||
// $sheet = $workbook->getActiveSheet();
|
||||
// $writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||
|
||||
// // Titre du document
|
||||
|
||||
// $workbook->getProperties()->setTitle($request->formation.$request->groupe.$request->controle);
|
||||
|
||||
// // Taille des cases
|
||||
|
||||
// $sheet->getColumnDimension('A')->setWidth(20);
|
||||
// $sheet->getColumnDimension('B')->setWidth(20);
|
||||
// $sheet->getColumnDimension('C')->setWidth(10);
|
||||
|
||||
// // Écriture des colonnes du tableau
|
||||
|
||||
// $sheet->setCellValue('A1', $request->groupe);
|
||||
// $sheet->setCellValue('B1', date("d/m/Y G:m"));
|
||||
// $sheet->setCellValue('C1', $request->controle);
|
||||
// $sheet->setCellValue('A3', 'Nom');
|
||||
// $sheet->setCellValue('B3', 'Prénom');
|
||||
// $sheet->setCellValue('C3', 'Note');
|
||||
|
||||
|
||||
// // Écriture des valeurs dans le document Excel
|
||||
|
||||
// $index = 5;
|
||||
// foreach ( $request->resultat as $eleve ) {
|
||||
|
||||
// $sheet->setCellValue('A'.$index,$eleve->nom);
|
||||
// $sheet->setCellValue('B'.$index,$eleve->prenom);
|
||||
// $sheet->setCellValue('C'.$index,$eleve->note);
|
||||
// }
|
||||
// }
|
||||
// //On enregistre ce nouveau fichier, et on lance son téléchargement
|
||||
|
||||
// $docPath = DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("page", "excelTemplates", $request->formation.$request->groupe.$request->controle".xlsx"));
|
||||
// if(file_exists (__ROOT__.$docPath)){
|
||||
// $index = 1;
|
||||
// $titleLen = strlen($docPath) - 5;
|
||||
// while(file_exists (__ROOT__.$docPath)){
|
||||
// $docPath = mb_strimwidth($docPath, 0, $titleLen, "")." (".$index.").xlsx";
|
||||
// $index++;
|
||||
// }
|
||||
// }
|
||||
// $writer->save(__ROOT__.$docPath);
|
||||
// $answer->docPath = $docPath;
|
||||
// }
|
||||
|
||||
// // Erreur de paramètre(s)
|
||||
|
||||
// else {
|
||||
|
||||
// $answer->request = 'param_error';
|
||||
// }
|
||||
|
||||
break;
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
/* Importation de notes pour un contrôle, une formation et un groupe donné */
|
||||
/***************************************************************************/
|
||||
case 'import_notes':
|
||||
|
||||
|
||||
if( isset($request->docPath) ) {
|
||||
|
||||
// Récupération du nom du fichier
|
||||
|
||||
$inputFileName = $request->docPath;
|
||||
|
||||
// Chargement du fichier
|
||||
|
||||
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
||||
|
||||
// Placement du curseur sur la première case
|
||||
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$noteData = $sheet->rangeToArray('A3:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
// Varaible stack pour la liste des notes
|
||||
|
||||
$listeNotes = array();
|
||||
|
||||
// Boucle sur le format suivant : ligne[0] : [ID] / ligne[1] : [NOTE]
|
||||
|
||||
foreach($noteData as $line) {
|
||||
|
||||
if($line[0] != null && $line[1] != null)
|
||||
array_push($listeNotes,array($line[0],$line[1]));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Erreur de paramètre(s)
|
||||
|
||||
else {
|
||||
|
||||
$answer->request='param_error';
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
/***********************/
|
||||
/* Importation du MCC */
|
||||
/**********************/
|
||||
case 'import_mcc':
|
||||
|
||||
|
||||
$filePath = __ROOT__.'/src/files/'.$_SESSION['identifiant'].'_import_mcc.xlsx';
|
||||
|
||||
// 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);
|
||||
|
||||
// Get sur la première case
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
|
||||
/* permet d'éviter les doublons */
|
||||
$mcc = array(); // contiendra le tableau de retour
|
||||
$ueuid = array();
|
||||
|
||||
/****************************/
|
||||
/* TRAITEMENT SUR LES CASES */
|
||||
/****************************/
|
||||
foreach($mccData as $line){
|
||||
if( $line[6] != null ){ // uniquement les lignes non vides
|
||||
|
||||
|
||||
/* [1] On récupère les données de l'UE, si les champs sont définis
|
||||
=========================================================================*/
|
||||
if( /*$line[0] != null && */ $line[1] != null && $line[2] != null ){
|
||||
|
||||
if( $line[0] != null && !in_array($line[0], $ueuid) ){ // on créé l'UE dans la liste s'il n'y est pas déjà
|
||||
|
||||
array_push( // on ajoute l'UE
|
||||
$mcc,
|
||||
array(
|
||||
'nom' => $line[0],
|
||||
'libelle' => $line[1],
|
||||
'coefficient' => $line[2],
|
||||
'modules' => array(),
|
||||
'moduid' => array()
|
||||
)
|
||||
);
|
||||
|
||||
array_push($ueuid, $line[0]); // on dis qu'on a déjà enregistré l'ue
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if( $line[0] != null )
|
||||
$ueIndex = array_search($line[0], $ueuid);
|
||||
|
||||
/* [2] On récupère les données du module, si les champs sont définis
|
||||
=========================================================================*/
|
||||
if( /*$line[3] != null && */ $line[4] != null && $line[5] != null ){
|
||||
|
||||
if( $line[3] != null && !in_array($line[3], $mcc[$ueIndex]['moduid']) ){ // on créé le module dans la liste de cet UE s'il n'y est pas déjà
|
||||
array_push( // on ajoute l'UE
|
||||
$mcc[$ueIndex]['modules'],
|
||||
array(
|
||||
'nom' => $line[3],
|
||||
'libelle' => $line[4],
|
||||
'coefficient' => $line[5],
|
||||
'controles' => array(),
|
||||
'ctrluid' => array()
|
||||
)
|
||||
);
|
||||
|
||||
array_push($mcc[$ueIndex]['moduid'], $line[3]); // on dis qu'on a déjà enregistré le module
|
||||
}
|
||||
}
|
||||
|
||||
if( $line[3] != null )
|
||||
$modIndex = array_search($line[3], $mcc[$ueIndex]['moduid']);
|
||||
|
||||
/* [3] On récupère les contrôles du module, si les champs sont définis
|
||||
=========================================================================*/
|
||||
if( $line[6] != null && $line[7] != null && $line[8] != null ){
|
||||
|
||||
if( !in_array($line[6], $mcc[$ueIndex]['modules'][$modIndex]['ctrluid']) ){ // on créé le contrôle dans la liste de ce module s'il n'y est pas déjà
|
||||
array_push( // on ajoute l'UE
|
||||
$mcc[$ueIndex]['modules'][$modIndex]['controles'],
|
||||
array(
|
||||
'nom' => $line[6],
|
||||
'libelle' => $line[7],
|
||||
'coefficient' => $line[8]
|
||||
)
|
||||
);
|
||||
|
||||
array_push($mcc[$ueIndex]['modules'][$modIndex]['ctrluid'], $line[6]); // on dis qu'on a déjà enregistré le module
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* [4] Affinage des données, on supprime les données temporaires
|
||||
=========================================================================*/
|
||||
foreach($mcc as $iter_ue=>$ue){
|
||||
unset( $mcc[$iter_ue]['moduid'] );
|
||||
|
||||
foreach($mcc[$iter_ue]['modules'] as $iter_m=>$mod)
|
||||
unset( $mcc[$iter_ue]['modules'][$iter_m]['ctrluid'] );
|
||||
}
|
||||
|
||||
|
||||
$answer->mcc = $mcc;
|
||||
$answer->request = 'success';
|
||||
|
||||
break;
|
||||
|
||||
|
||||
/************************************/
|
||||
/* Importation des résulats du jury */
|
||||
/************************************/
|
||||
case 'import_jury':
|
||||
|
||||
if(isset($request->docPath)) {
|
||||
|
||||
// Récupération du nom du fichier
|
||||
|
||||
$inputFileName = $request->docPath;
|
||||
|
||||
// Chargement du fichier
|
||||
|
||||
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
||||
|
||||
// Placement du curseur sur la première case
|
||||
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
// Varaible stack pour les résultats du jury
|
||||
|
||||
$resultatJury = array();
|
||||
|
||||
// Boucle sur le format suivant : ligne[0] : [IDETUDIANT] / ligne[1] : [DECISION JURY]
|
||||
|
||||
// / ! \ LES RESULTATS NE DOIVENT PAS ETRE NOMINATIFs, UTILISER LES IDENTIFIANTS DES ÉTUDIANTS / ! \
|
||||
|
||||
$i = 0;
|
||||
|
||||
foreach($mccData as $line) {
|
||||
|
||||
$resultatJury[$i++] = array($line[0],$line[1]);
|
||||
}
|
||||
|
||||
$answer->resultatJury = $resultatJury;
|
||||
$asnwer->request = 'success';
|
||||
}
|
||||
|
||||
// Erreur de paramètre(s)
|
||||
|
||||
else {
|
||||
|
||||
$answer->request='param_error';
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
// /************************************/
|
||||
// /* Exportation des résulats du jury */
|
||||
// /************************************/
|
||||
// case 'export_fiche_resultat_jury':
|
||||
|
||||
// //vérificationd du paramètre en entrée
|
||||
|
||||
// if(isset($request->formation) && isset($request->semestre)){
|
||||
|
||||
// // Création / Activation de la feuille
|
||||
|
||||
// $workbook = new PHPExcel();
|
||||
// $sheet = $workbook->getActiveSheet();
|
||||
// $writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||
|
||||
// $workbook->getProperties()->setTitle("ResultatJury"." ".$request->formation." ".$request->semestre.date("d/m/Y G:m"));
|
||||
|
||||
// $sheet->getColumnDimension('A')->setWidth(20);
|
||||
// $sheet->getColumnDimension('B')->setWidth(20);
|
||||
// $sheet->getColumnDimension('C')->setWidth(20);
|
||||
// $sheet->getColumnDimension('D')->setWidth(20);
|
||||
|
||||
// // Écriture de l'en-tête du document
|
||||
|
||||
// $sheet->setCellValue('A1', 'Résultats jury');
|
||||
// $sheet->setCellValue('B1',$request->formation);
|
||||
// $sheet->setCellValue('C1',$request->semestre);
|
||||
// $sheet->setCellValue('D1', date("d/m/Y G:m"));
|
||||
// $sheet->setCellValue('A3',"Id Étudiant");
|
||||
// $sheet->setCellValue('B3',"Avis jury");
|
||||
|
||||
|
||||
// $i = 6;
|
||||
|
||||
// while(// TANT QUE IL Y A UN ELEVE) {
|
||||
|
||||
// $sheet->setCellValue('A'.$i,// ID ELEVE);
|
||||
// $sheet->setCellValue('B'.$i,// AVIS JURY);
|
||||
// $i++;
|
||||
// }
|
||||
|
||||
// // Sauvegarde du fichier sous le format .xlsx
|
||||
|
||||
// $writer->save("ResultatJury"." ".$request->formation." ".$request->semestre.date("d/m/Y G:m").'xlsx' );
|
||||
// $answer->request = 'success';
|
||||
// }
|
||||
|
||||
// //Si il y a un problème dans les paramètre(s)
|
||||
|
||||
// else {
|
||||
|
||||
// $answer->request='param_error';
|
||||
// }
|
||||
|
||||
// break;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// DEFAULT
|
||||
default:
|
||||
$answer->request = 'unknown_level_1';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -162,18 +162,26 @@
|
|||
/* [2] AUTOLOADER
|
||||
================================================================*/
|
||||
function autoLoader($className) {
|
||||
|
||||
// si on charge un Repo
|
||||
if( preg_match('/^([a-z]+)Repo$/', $className, $match) ){
|
||||
// si le fichier existe, on charge le repo
|
||||
if( is_file(__ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.'repo'.DIRECTORY_SEPARATOR.$match[1].'.php') )
|
||||
require_once __ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.'repo'.DIRECTORY_SEPARATOR.$match[1].'.php';
|
||||
}
|
||||
|
||||
// si c'est un manager
|
||||
elseif( is_file(__ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.strtolower($className).'.php') )
|
||||
require_once __ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.strtolower($className).'.php';
|
||||
elseif( preg_match('/^([a-z]+)Manager$/', $className, $match) ){
|
||||
// si le fichier existe, on charge le manager
|
||||
if( is_file(__ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.$match[1].'.php') )
|
||||
require_once __ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.$match[1].'.php';
|
||||
}
|
||||
|
||||
// sinon => DataBase, on le charge
|
||||
elseif( is_file(__ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.strtolower($className).'.php') )
|
||||
require_once __ROOT__.DIRECTORY_SEPARATOR.'manager'.DIRECTORY_SEPARATOR.strtolower($className).'.php';
|
||||
else
|
||||
var_dump('ok');
|
||||
|
||||
// sinon
|
||||
// .....
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
require_once __ROOT__.'/manager/security.php';
|
||||
<?php require_once __ROOT__.'/manager/security.php';
|
||||
|
||||
|
||||
/***********************************************************
|
||||
* *
|
||||
|
@ -30,11 +30,11 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
|
||||
|
||||
|
||||
class userManager{
|
||||
|
||||
/* [1] ROUTAGE DE NIVEAU 1
|
||||
============================================================*/
|
||||
function user_switch_level_1($request, $answer){
|
||||
public static function switch_level_1($request, $answer){
|
||||
|
||||
switch( $request->level_1 ){
|
||||
|
||||
|
@ -49,7 +49,7 @@ require_once __ROOT__.'/manager/security.php';
|
|||
$mdpCheck = $identifiantCheck && preg_match('/^[\w -]{4,100}$/i', $request->mdp); // mdp bon format
|
||||
|
||||
if( $mdpCheck ) // si tout les params sont ok
|
||||
$answer->request = user_authentification($request->identifiant, $request->mdp);
|
||||
$answer->request = userManager::user_authentification($request->identifiant, $request->mdp);
|
||||
else{
|
||||
if ( !$areSetParam ) $answer->request = 'missing_param';
|
||||
elseif( !$typeOkParam ) $answer->request = 'wrong_type';
|
||||
|
@ -223,7 +223,7 @@ require_once __ROOT__.'/manager/security.php';
|
|||
============================================================*/
|
||||
|
||||
/* [a] userlist */
|
||||
function user_getUserList(){
|
||||
public static function user_getUserList(){
|
||||
$userlistFile = file_get_contents("src/userlist.json");
|
||||
return json_decode( $userlistFile );
|
||||
}
|
||||
|
@ -247,9 +247,9 @@ require_once __ROOT__.'/manager/security.php';
|
|||
*
|
||||
* @$answer->request = Boolean true si l'utilisateur est ok
|
||||
*/
|
||||
function user_authentification($username, $password){
|
||||
public static function user_authentification($username, $password){
|
||||
// [1] On récupère la liste d'utilisateurs (/src/userlist.json)
|
||||
$userList = user_getUserList();
|
||||
$userList = userManager::user_getUserList();
|
||||
|
||||
// [2] On check l'existence de l'utilisateur
|
||||
if( isset($userList->{$username}) ){
|
||||
|
@ -269,7 +269,7 @@ require_once __ROOT__.'/manager/security.php';
|
|||
$_SESSION['annee'] = getCurrentYear();
|
||||
|
||||
// on défini si le semestre est pair ou non
|
||||
$_SESSION['semestre_pair'] = semestrePair(time());
|
||||
$_SESSION['semestre_pair'] = userManager::semestrePair(time());
|
||||
|
||||
|
||||
// on défini le semestre par défaut à NULL
|
||||
|
@ -307,7 +307,7 @@ require_once __ROOT__.'/manager/security.php';
|
|||
* @$answer->request = isEven<Boolean> VRAI si pair, sinon FAUX (impair)
|
||||
*
|
||||
*/
|
||||
function semestrePair($timestamp=null){
|
||||
public static function semestrePair($timestamp=null){
|
||||
// si $datetime n'est pas défini, on prend la date actuelle
|
||||
if( $timestamp == null )
|
||||
$timestamp = time();
|
||||
|
@ -315,4 +315,5 @@ require_once __ROOT__.'/manager/security.php';
|
|||
return Date('m', $timestamp) < 8;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
|
@ -212,7 +212,7 @@ if( importInscrits != null ){
|
|||
|
||||
/* [2] LECTURE DU FICHIER
|
||||
=======================================*/
|
||||
var request = { level_0: 'phpExcel', level_1: 'import_inscrits' };
|
||||
var request = { level_0: 'excel', level_1: 'import_inscrits' };
|
||||
API.send(request, function(e){
|
||||
if( e.request == 'success' ){
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ if( importMcc != null ){
|
|||
|
||||
/* [2] LECTURE DU FICHIER
|
||||
=======================================*/
|
||||
var request = { level_0: 'phpExcel', level_1: 'import_mcc' };
|
||||
var request = { level_0: 'excel', level_1: 'import_mcc' };
|
||||
API.send(request, function(e){
|
||||
if( e.request == 'success' ){
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
|
||||
require_once __ROOT__.'/manager/security.php';
|
||||
require_once __ROOT__.'/manager/groups.php';
|
||||
require_once __ROOT__.'/manager/modules.php';
|
||||
require_once __ROOT__.'/manager/career.php';
|
||||
// require_once __ROOT__.'/manager/groups.php';
|
||||
// require_once __ROOT__.'/manager/modules.php';
|
||||
// require_once __ROOT__.'/manager/career.php';
|
||||
|
||||
|
||||
/*** GESTION DES PARAMETRES OPTIONNELS ***/
|
||||
|
@ -78,7 +78,7 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
|
|||
$request->semestre = $_SESSION['semestre'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
career_switch_level_1($request, $answer);
|
||||
careerManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -168,7 +168,7 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e
|
|||
$request->enseignant = $_SESSION['identifiant'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
career_switch_level_1($request, $answer);
|
||||
careerManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -336,7 +336,7 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
|
|||
$request->controle = $controleOpt;
|
||||
if( $groupeOpt != null ) $request->groupe = $groupeOpt; // on définit le groupe s'il est spécifié
|
||||
|
||||
career_switch_level_1($request, $answer);
|
||||
careerManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){
|
||||
echo "<section name='controlesenseignants' data-controles data-title='Mes contrôles' class='basic'>";
|
||||
|
@ -509,7 +509,7 @@ if( (permission('master') || permission('admin')) && $controleOpt == null ){ //
|
|||
$request->level_1 = 'getControlesForYear';
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
career_switch_level_1($request, $answer);
|
||||
careerManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -680,7 +680,7 @@ elseif( permission('master') || permission('admin') ){ // si enseignant et qu'un
|
|||
$request->controle = $controleOpt;
|
||||
if( $groupeOpt != null ) $request->groupe = $groupeOpt; // on définit le groupe s'il est spécifié
|
||||
|
||||
career_switch_level_1($request, $answer);
|
||||
careerManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){
|
||||
echo "<section name='allcontroles' data-controles data-title='Tous les contrôles' class='basic'>";
|
||||
|
@ -855,7 +855,7 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
|
|||
$request->level_1 = 'studentcase';
|
||||
$request->etudiant = $etudiantOpt;
|
||||
|
||||
career_switch_level_1($request, $answer);
|
||||
careerManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
|
||||
require_once __ROOT__.'/manager/security.php';
|
||||
require_once __ROOT__.'/manager/groups.php';
|
||||
|
||||
/****************************************
|
||||
* *
|
||||
|
@ -63,7 +62,7 @@ if( permission('student') ){ // si connecté && utilisateur
|
|||
$request->semestre = $_SESSION['semestre'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
groups_switch_level_1($request, $answer);
|
||||
groupsManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){ // si pas d'erreur
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
@ -138,7 +137,7 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
|
|||
$request->formation = $_SESSION['formation'];
|
||||
$request->semestre = $_SESSION['semestre'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
groups_switch_level_1($request, $answer);
|
||||
groupsManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -200,7 +199,7 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
|
|||
$request->enseignant = $_SESSION['identifiant'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
groups_switch_level_1($request, $answer);
|
||||
groupsManager::switch_level_1($request, $answer);
|
||||
|
||||
// var_dump( $answer );
|
||||
|
||||
|
@ -369,7 +368,7 @@ if( permission('admin') || permission('master') ){ // si l'utilisateur est conne
|
|||
// on récupère la liste de tous les groupes (pour le déplacement)
|
||||
$requestAllGroups->level_1 = 'exhaustiveList';
|
||||
|
||||
groups_switch_level_1($requestAllGroups, $answerAllGroups);
|
||||
groupsManager::switch_level_1($requestAllGroups, $answerAllGroups);
|
||||
|
||||
// on récupère les groupes affichés sur la page
|
||||
$request = new stdClass(); $answer = new stdClass();
|
||||
|
@ -377,7 +376,7 @@ if( permission('admin') || permission('master') ){ // si l'utilisateur est conne
|
|||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
|
||||
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
groupsManager::switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
|
||||
|
||||
if( $answer->request == 'success' && $answerAllGroups->request == 'success' ){ // si pas d'erreur
|
||||
|
@ -562,7 +561,7 @@ if( permission('master') || permission('admin') ){
|
|||
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */
|
||||
$request = new stdClass(); $answer = new stdClass();
|
||||
$request->level_1 = 'getSemestres';
|
||||
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
groupsManager::switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
|
||||
if( $answer->request == 'success' ){ // si pas d'erreur
|
||||
echo "<div class='p center'>";
|
||||
|
|
|
@ -64,7 +64,7 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
|
|||
$request->semestre = $_SESSION['semestre'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
modules_switch_level_1($request, $answer);
|
||||
modulesManager::switch_level_1($request, $answer);
|
||||
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe
|
||||
|
@ -152,7 +152,7 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
|
|||
$request->enseignant = $_SESSION['identifiant'];
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
modules_switch_level_1($request, $answer);
|
||||
modulesManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -328,7 +328,7 @@ if( permission('master') || permission('admin') ){ // si l'utilisateur est un ad
|
|||
$request->level_1 = 'getByYear';
|
||||
$request->annee = $_SESSION['annee'];
|
||||
|
||||
modules_switch_level_1($request, $answer);
|
||||
modulesManager::switch_level_1($request, $answer);
|
||||
|
||||
|
||||
if( $answer->request == 'success' ){ // si on a bien récupéré les membres du groupe
|
||||
|
@ -518,7 +518,7 @@ if( permission('master') || permission('admin') ){
|
|||
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */
|
||||
$request = new stdClass(); $answer = new stdClass();
|
||||
$request->level_1 = 'getSemestres';
|
||||
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
groupsManager::switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
|
||||
if( $answer->request == 'success' ){ // si pas d'erreur
|
||||
echo "<div class='p center'>";
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
|
||||
require_once __ROOT__.'/manager/security.php';
|
||||
require_once __ROOT__.'/manager/modules.php';
|
||||
|
||||
|
||||
|
||||
|
@ -65,16 +64,12 @@ if( connected() ){ // si l'utilisateur est connecté
|
|||
/*** ATTRIBUTION DES RÔLES ***/
|
||||
/*****************************/
|
||||
if( permission('admin') ){
|
||||
// inclusion du manager utilisateur
|
||||
require_once __ROOT__.'/manager/user.php';
|
||||
require_once __ROOT__.'/manager/database.php';
|
||||
|
||||
// on récupère tous les modules de l'année pour l'affinage
|
||||
$rAffinage = new stdClass(); $aAffinage = new stdClass();
|
||||
$rAffinage->level_1 = 'getByYear';
|
||||
$rAffinage->annee = (String) $_SESSION['annee'];
|
||||
|
||||
modules_switch_level_1($rAffinage, $aAffinage);
|
||||
modulesManager::switch_level_1($rAffinage, $aAffinage);
|
||||
|
||||
|
||||
// création de la requête d'affichage des utilisateurs à rôles
|
||||
|
@ -82,7 +77,7 @@ if( permission('admin') ){
|
|||
$request->level_1 = 'getListeEnseignantsModules';
|
||||
|
||||
// gestion de la requête
|
||||
user_switch_level_1($request, $answer);
|
||||
userManager::switch_level_1($request, $answer);
|
||||
|
||||
if( $answer->request == 'success' && $aAffinage->request == 'success' ){ // si aucune erreur
|
||||
$allSemestres = $aAffinage->semestres; // liste du programme de l'année courante
|
||||
|
@ -284,12 +279,10 @@ if( permission('admin') ){
|
|||
/*** CHANGER L'ANNEE ***/
|
||||
/***********************/
|
||||
if( permission('master') || permission('admin') ){
|
||||
require_once __ROOT__.'/manager/groups.php';
|
||||
|
||||
|
||||
$request = new stdClass(); $answer = new stdClass();
|
||||
$request->level_1 = 'getSemestres';
|
||||
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
groupsManager::switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue