Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
Cedric | 6452d91b83 | |
Cedric | 2e6e2f1ef1 | |
Cedric | 1d82880956 | |
Cedric | a45904c751 | |
Cedric | 5695586a90 | |
Cedric | 16ed89119c |
|
@ -26,7 +26,14 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
a{ text-decoration: none; color: inherit; }
|
/***************************
|
||||||
|
** LIEN DE TELECHARGEMENT **
|
||||||
|
****************************/
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
/* on initialise le body avec les valeurs par défaut [compatibilité] */
|
/* on initialise le body avec les valeurs par défaut [compatibilité] */
|
||||||
body{
|
body{
|
||||||
|
|
|
@ -168,9 +168,20 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
$anneeCheck = $areSetParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
$anneeCheck = $areSetParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||||
$enseignantCheck = $anneeCheck && preg_match('/^[\w -]{3,50}$/i', $request->enseignant); // enseignant (annee) bon format
|
$enseignantCheck = $anneeCheck && preg_match('/^[\w -]{3,50}$/i', $request->enseignant); // enseignant (annee) bon format
|
||||||
|
|
||||||
|
// paramètres optionnels
|
||||||
|
$optionalSemestre = isset($request->semestre) && is_string($request->semestre) && preg_match('/^S[0-9]{1}$/i', $request->semestre);
|
||||||
|
$optionalGroupe = isset($request->groupe) && is_string($request->groupe) && strlen($request->groupe) > 1 && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe);
|
||||||
|
|
||||||
|
// définition (ou pas) des paramètres optionnels
|
||||||
|
if( $optionalSemestre ) $semestre = $request->semestre;
|
||||||
|
else $semestre = null;
|
||||||
|
|
||||||
|
if( $optionalGroupe ) $groupe = $request->groupe;
|
||||||
|
else $groupe = null;
|
||||||
|
|
||||||
if( $enseignantCheck ){
|
if( $enseignantCheck ){
|
||||||
|
|
||||||
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesEnseignant($request->annee, $_SESSION['semestre_pair'], $request->enseignant);
|
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesEnseignant($request->annee, $_SESSION['semestre_pair'], $request->enseignant, $semestre, $groupe);
|
||||||
|
|
||||||
if( is_array($grouplist) ){ // si on a récupéré la liste des utilisateurs
|
if( is_array($grouplist) ){ // si on a récupéré la liste des utilisateurs
|
||||||
$answer->grouplist = $grouplist;
|
$answer->grouplist = $grouplist;
|
||||||
|
@ -194,10 +205,24 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
$typeOkParam = $areSetParam && is_numeric($request->annee); // si c'est des strings
|
$typeOkParam = $areSetParam && is_numeric($request->annee); // si c'est des strings
|
||||||
$anneeCheck = $areSetParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
$anneeCheck = $areSetParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||||
|
|
||||||
|
|
||||||
|
// paramètres optionnels
|
||||||
|
$optionalSemestre = isset($request->semestre) && is_string($request->semestre) && preg_match('/^S[0-9]{1}$/i', $request->semestre);
|
||||||
|
$optionalGroupe = isset($request->groupe) && is_string($request->groupe) && strlen($request->groupe) > 1 && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe);
|
||||||
|
|
||||||
|
// définition (ou pas) des paramètres optionnels
|
||||||
|
if( $optionalSemestre ) $semestre = $request->semestre;
|
||||||
|
else $semestre = null;
|
||||||
|
|
||||||
|
if( $optionalGroupe ) $groupe = $request->groupe;
|
||||||
|
else $groupe = null;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if( $anneeCheck ){
|
if( $anneeCheck ){
|
||||||
|
|
||||||
// $grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesAnnee($request->annee, $_SESSION['semestre_pair']);
|
// $grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesAnnee($request->annee, $_SESSION['semestre_pair'], $semestre, $groupe);
|
||||||
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesAnnee($request->annee, null);
|
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesAnnee($request->annee, null, $semestre, $groupe);
|
||||||
|
|
||||||
if( is_array($grouplist) ){ // si on a récupéré la liste des utilisateurs
|
if( is_array($grouplist) ){ // si on a récupéré la liste des utilisateurs
|
||||||
$answer->grouplist = $grouplist;
|
$answer->grouplist = $grouplist;
|
||||||
|
@ -242,14 +267,14 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
/************************************************/
|
/************************************************/
|
||||||
case 'move': if( permission('admin') ){
|
case 'move': if( permission('admin') ){
|
||||||
|
|
||||||
$areSetParam = isset($request->etudiant) && isset($request->groupe) && isset($request->semestre); // les arguments existent
|
$areSetParam = isset($request->etudiant) && isset($request->groupe); // les arguments existent
|
||||||
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->groupe); // si c'est des strings
|
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->groupe); // si c'est des strings
|
||||||
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && strlen($request->groupe) > 0 && is_numeric($request->semestre); // d'au moins 1 caractère
|
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && strlen($request->groupe) > 0; // d'au moins 1 caractère
|
||||||
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // etudiant (username) bon format
|
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // etudiant (username) bon format
|
||||||
$groupeCheck = $etudiantCheck && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe); // groupe (nom) bon format
|
$groupeCheck = $etudiantCheck && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe); // groupe (nom) bon format
|
||||||
|
|
||||||
if( $groupeCheck ){ // si param ok
|
if( $groupeCheck ){ // si param ok
|
||||||
$answer->request = DataBase::getInstance()->deplacerEtudiant($request->etudiant, $request->groupe, $request->semestre);
|
$answer->request = DataBase::getInstance()->deplacerEtudiant($request->etudiant, $request->groupe, $_SESSION['annee']);
|
||||||
}else
|
}else
|
||||||
$answer->request = 'param_error';
|
$answer->request = 'param_error';
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,131 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function xlsx_switch_lvl1($request, $answer){
|
||||||
|
|
||||||
|
//inclusion des classes de PHPExcel et des fichiers necessaires
|
||||||
|
require_once __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel.php"));
|
||||||
|
require_once __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel", "Writer", "Excel2007.php"));
|
||||||
|
|
||||||
|
|
||||||
|
//TABLE DE ROUTAGE DE LA FONCTION
|
||||||
|
switch ($request->level_1) {
|
||||||
|
|
||||||
|
//EXPORTATION DES LISTE D'ELEVE DE L'ANNEEE EN FORMAT EXCEL
|
||||||
|
case 'export_userlist_group':
|
||||||
|
|
||||||
|
//Si on a bien les listes de groupes
|
||||||
|
if(isset($request->grouplist) && $request->grouplist != null){
|
||||||
|
|
||||||
|
//On crée une instance du fichier xls, ainsi que de la feuille active
|
||||||
|
$workbook = new PHPExcel();
|
||||||
|
$sheet = $workbook->getActiveSheet();
|
||||||
|
$writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||||
|
|
||||||
|
//on défini les paramètresdu document
|
||||||
|
$workbook->getProperties()->setCreator($_SESSION['identifiant']);
|
||||||
|
$workbook->getProperties()->setLastModifiedBy('ACGA');
|
||||||
|
$workbook->getProperties()->setTitle('Liste étudiants '.$_SESSION['annee']);
|
||||||
|
|
||||||
|
//On définit les
|
||||||
|
$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);
|
||||||
|
|
||||||
|
//on prépare le 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');
|
||||||
|
|
||||||
|
//On remplie le tableau des valeurs récupérée dans la requ^te
|
||||||
|
$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;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Si on a pas le tableau
|
||||||
|
else {
|
||||||
|
$answer->request = 'param_error';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// IMPORTATION DES LISTE D'ELEVE DE L'ANNEEE EN FORMAT EXCEL
|
||||||
|
case 'import_userlist_group':
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// EXPORTATION DE NOTES POUR UN CONTROLE DONNEE, UNE FORMATION DONNEE ET UN GROUPE DONNE
|
||||||
|
case 'export_notes':
|
||||||
|
|
||||||
|
//vérificationd es paramètres en entrée
|
||||||
|
if(isset($request->formation) && isset($request->groupe) && isset($request->controle)){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Si il y a un problème dans les paramètres
|
||||||
|
else {
|
||||||
|
$answer->request='param_error';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// IMPORTATION DE NOTES POUR UN CONTROLE DONNEE, UNE FORMATION DONNEE ET UN GROUPE DONNE
|
||||||
|
case 'import_notes':
|
||||||
|
//code
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// DEFAULT
|
||||||
|
default:
|
||||||
|
$answer->request = 'unknown_level_1';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -201,7 +201,7 @@ if( permission('student') ){ // si l'utilisateur est connecté et que c'est un
|
||||||
* PROFESSEUR -> les groupes inscrits aux modules qu'il enseigne
|
* PROFESSEUR -> les groupes inscrits aux modules qu'il enseigne
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un élève
|
if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un enseignant
|
||||||
|
|
||||||
$request = new stdClass(); $answer = new stdClass();
|
$request = new stdClass(); $answer = new stdClass();
|
||||||
|
|
||||||
|
@ -526,61 +526,64 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
|
||||||
echo "<section name='movestudents' data-title='Tous les groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section>";
|
echo "<section name='movestudents' data-title='Tous les groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section>";
|
||||||
}
|
}
|
||||||
|
|
||||||
} ?>
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!-- IMPORTATION ET EXPORTATION FICHIER EXCEL -->
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*********************************/
|
/*********************************/
|
||||||
/*** IMPORTATION FICHIER EXCEL ***/
|
/*** IMPORTATION FICHIER EXCEL ***/
|
||||||
/*********************************/
|
/*********************************/
|
||||||
// if( permission('admin') ){
|
if( permission('admin') ){
|
||||||
// echo "<section name='importexcel' data-title='Importation/Export' class='basic'>";
|
|
||||||
|
|
||||||
// //inclusion des classes de PHPExcel
|
require_once __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("manager", "xlsx.php"));
|
||||||
// include __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel.php"));
|
|
||||||
// include __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel", "Writer", "Excel2007.php"));
|
|
||||||
|
|
||||||
// //On crée une instance du fichier xls, ainsi que de la feuille active
|
echo "<section name='importexcel' data-title='Importation/Export' class='basic'>";
|
||||||
// $workbook = new PHPExcel();
|
|
||||||
// $sheet = $workbook->getActiveSheet();
|
|
||||||
// $writer = new PHPExcel_Writer_Excel2007($workbook);
|
|
||||||
|
|
||||||
// //on prépare le tableau
|
//affichage sur la page
|
||||||
// $sheet->setCellValue('A1', 'IAE Etape');
|
|
||||||
// $sheet->setCellValue('B1', 'Nom');
|
echo "<p>Vous pouvez ici exporter et importer les listes des étudiants de l'année en cours";
|
||||||
// $sheet->setCellValue('C1', 'Prénom');
|
|
||||||
// $sheet->setCellValue('D1', 'Identifiant');
|
//on récupère l'ensemble des étudiants
|
||||||
// $sheet->setCellValue('E1', 'Sexe');
|
$req = new stdClass();
|
||||||
// $sheet->setCellValue('F1', 'Mail étudiant');
|
$ans = new stdClass();
|
||||||
|
|
||||||
|
$req->level_1 = 'grouplistForYear';
|
||||||
|
$req->annee = $_SESSION['annee'];
|
||||||
|
groups_switch_level_1($req, $ans);
|
||||||
|
|
||||||
|
|
||||||
// //on récupère l'ensemble des étudiants
|
//on envoie les résultats
|
||||||
// $request = new stdClass();
|
if($ans->request = 'success'){
|
||||||
// $answer = new stdClass();
|
$listeGroupes = $ans->grouplist;
|
||||||
|
$req = new stdClass();
|
||||||
|
$ans = new stdClass();
|
||||||
|
$req->level_1 = 'export_userlist_group';
|
||||||
|
$req->grouplist = $listeGroupes;
|
||||||
|
xlsx_switch_lvl1($req, $ans);
|
||||||
|
}
|
||||||
|
|
||||||
// $request->level_1 = 'grouplistForYear';
|
if ($ans->request = 'success') {
|
||||||
// $request->annee = $_SESSION['annee'];
|
//Lien vers le fichier correspondant
|
||||||
// groups_switch_level_1($request, $answer);
|
$ans->docPath = mb_strimwidth($ans->docPath, 1, strlen($ans->docPath));
|
||||||
|
echo "<br><a href='".$ans->docPath."'>Fichier excel de liste des étudiatns de l'année</a></p>";
|
||||||
|
}
|
||||||
|
|
||||||
// //Si l'execution s'est proprement effectuée
|
|
||||||
// $index = 2;
|
|
||||||
// if($answer->request == 'success') {
|
|
||||||
// foreach ($answer->grouplist as $group) {
|
|
||||||
// $groupeName = $group['nom'];
|
|
||||||
// foreach ($group->userlist as $student) {
|
|
||||||
// $sheet->setCellValue('A'.$index, $groupeName);
|
|
||||||
// $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']);
|
|
||||||
// $index++;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// //On enregistre le fichier
|
//Importation des listes d'élèves
|
||||||
// $writer->save('test.xlsx');
|
/*echo "<form id='importXLSX' action='' method='POST'>";
|
||||||
// }
|
echo "<input type='file' name='importXLSX'>";
|
||||||
|
echo "<input type='submit' value='Envoyer' name='import'>";
|
||||||
|
echo "</form>";*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(false){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "</section>";
|
||||||
|
}
|
||||||
?>
|
?>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
define('__ROOT__', dirname(__FILE__) );
|
||||||
|
require_once __ROOT__.'/manager/security.php';
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Page de test sur PHP Excel</title>
|
||||||
|
|
||||||
|
<!-- Informations de la page -->
|
||||||
|
<meta charset='utf-8'>
|
||||||
|
|
||||||
|
<link type='text/css' rel='stylesheet' href='css/font.css' /> <!-- Gestion globale des Polices -->
|
||||||
|
<link type='text/css' rel='stylesheet' href='css/layout.css' /> <!-- Positionnement global des pages -->
|
||||||
|
<link type='text/css' rel='stylesheet' href='css/header.css' /> <!-- Gestion du header -->
|
||||||
|
<link type='text/css' rel='stylesheet' href='css/container.css'/> <!-- Gestion du container -->
|
||||||
|
<link type='text/css' rel='stylesheet' href='css/menu.css' /> <!-- Gestion du menu -->
|
||||||
|
<link type='text/css' rel='stylesheet' href='css/global.css' /> <!-- Style global -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Dépendences Javascript -->
|
||||||
|
<script type='text/javascript' src='API.js' ></script>
|
||||||
|
<script type='text/javascript' src='js/pageManager.js' ></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>YOLO</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
Loading…
Reference in New Issue