Rectification et factorisation des groupes (page, manager, database, repo) + commentaire phpexcell car fait bugger
This commit is contained in:
parent
0b790cdfe5
commit
b985e2f0ae
|
@ -41,7 +41,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee); // les arguments existent
|
||||
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee); // si c'est des strings
|
||||
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->semestre) && is_numeric($request->annee); // des bon types
|
||||
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{6,100}$/i', $request->etudiant); // nom bon format
|
||||
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
|
||||
$semestreCheck = $etudiantCheck && preg_match('/^[1-4]{1}$/i', $request->semestre); // semestre (semestre) bon format
|
||||
$anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||
|
||||
|
|
|
@ -176,26 +176,8 @@ class DataBase{
|
|||
if( !($groupeUID=groupRepo::UID($groupe)) ) return 'unknown_group'; else $groupeUID = (int) $groupeUID;
|
||||
if( !($semestreUID=semestreRepo::UID($semestre, $annee)) ) return 'unknown_semestre'; else $semestreUID = (int) $semestreUID;
|
||||
|
||||
|
||||
|
||||
// si le groupe existe => on récupère ses utilisateurs
|
||||
$appartenance = DataBase::getPDO()->prepare("SELECT u.identifiant, u.prenom, u.nom, u.mail, u.droits, s.nom as semestre ".
|
||||
"FROM utilisateur as u, groupe as g, semestre as s, appartenance as app ".
|
||||
"WHERE u.identifiant = app.id_etudiant ".
|
||||
"AND g.id_groupe = app.id_groupe ".
|
||||
"AND s.id_semestre = app.id_semestre ". // à virer (peut-être)
|
||||
|
||||
"AND g.id_groupe = :groupeUID ".
|
||||
"AND s.id_semestre = :semestreUID ".
|
||||
"ORDER BY u.prenom, u.nom");
|
||||
$appartenance->execute(array(
|
||||
':groupeUID' => $groupeUID,
|
||||
':semestreUID' => $semestreUID
|
||||
));
|
||||
|
||||
|
||||
// on fetch tous les utilisateurs & on supprime les doublons des entrées (indice numérique)
|
||||
return DataBase::delNumeric( $appartenance->fetchAll() ); // on retourne le tout
|
||||
// on retourne la liste des utilisateurs et on supprime les doublons à indices numériques
|
||||
return DataBase::delNumeric( groupRepo::membres($groupeUID, $semestreUID) );
|
||||
|
||||
}
|
||||
|
||||
|
@ -219,20 +201,12 @@ class DataBase{
|
|||
':semestreUID' => $semestreUID
|
||||
));
|
||||
|
||||
$grouplist = array(); // contiendra tout les groupes
|
||||
$grouplist = $getGroupesUID->fetchAll(); // contiendra tout les groupes
|
||||
|
||||
// on parcourt tous les groupes
|
||||
while( $groupeUID = $getGroupesUID->fetch() ){
|
||||
|
||||
$groupe = new stdClass();
|
||||
$groupe->nom = $groupeUID['nom']; // attribut "nom" ajouté au groupe
|
||||
$groupe->semestre = $groupeUID['semestre'];
|
||||
|
||||
$groupe->userlist = groupRepo::membres($groupeUID['id'], $semestreUID); // on charge la liste des utilisateurs de ce groupe
|
||||
|
||||
array_push($grouplist, $groupe); // on l'ajoute au résultat
|
||||
}
|
||||
|
||||
foreach($grouplist as $iter=>$val)
|
||||
$grouplist[$iter]['userlist'] = groupRepo::membres($grouplist[$iter]['id'], $semestreUID); // on charge la liste des utilisateurs de ce groupe
|
||||
|
||||
return $grouplist; // sinon on retourne le tableau
|
||||
|
||||
}
|
||||
|
@ -240,56 +214,54 @@ class DataBase{
|
|||
/******************************************************************/
|
||||
/*** retourne la liste des utilisateurs des groupes d'une année ***/
|
||||
/******************************************************************/
|
||||
public function listeEtudiantsTousGroupesAnnee($annee, $semestre_pair, $pSemestre, $pGroupe){
|
||||
public function listeEtudiantsTousGroupesAnnee($annee, $semestre_pair, $pSemestre=null, $pGroupe=null){ // pSemestre/pGroupe optionnels
|
||||
// définition des paramètres optionnels
|
||||
$semestreDeb = 1; $semestreFin = 4;
|
||||
if( $pSemestre != null ){ $semestreDeb = $pSemestre; $semestreFin = $pSemestre; } // semestre donné uniquement (si param non null)
|
||||
$semestreOpt = '%';
|
||||
if( $pSemestre != null ){ $semestreOpt = $pSemestre; } // semestre donné uniquement (si param non null)
|
||||
|
||||
$groupeOpt = '%';
|
||||
if( $pGroupe != null ){ $groupeOpt = $pGroupe; } // si le groupe est donné, on le définit
|
||||
if( $pGroupe != null ){ $groupeOpt = $pGroupe; } // si le groupe est donné, on le définit
|
||||
|
||||
|
||||
/*** on cherche un semestre avec ce rang et cette année (qui est unique) ***/
|
||||
$checkAnnee = DataBase::getPDO()->prepare("SELECT id_semestre as id FROM semestre WHERE annee = :annee");
|
||||
$checkAnnee->execute(array(
|
||||
':annee' => $annee
|
||||
));
|
||||
$checkAnnee->execute(array( ':annee' => $annee ));
|
||||
if( !( $checkAnnee->fetch()['id'] ) ) return 'unknown_year';
|
||||
|
||||
// si on trouve pas, on retourne "unknown_year"
|
||||
if( !( $checkAnnee->fetch()['id'] ) )
|
||||
return 'unknown_year';
|
||||
|
||||
// on cherche tout les groupes du même semestre de la même année
|
||||
$getGroupesUID = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe as id, g.nom, s.rang, s.id_semestre, s.nom as semestre ".
|
||||
"FROM groupe as g, semestre as s, appartenance as app ".
|
||||
"WHERE g.id_groupe = app.id_groupe ".
|
||||
"AND s.id_semestre = app.id_semestre ".
|
||||
// // on cherche tout les groupes des semestres courants de l'année
|
||||
// $getGroupesUID = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe as id, g.nom, s.rang, s.id_semestre, s.nom as semestre ".
|
||||
// "FROM groupe as g, semestre as s, appartenance as app ".
|
||||
// "WHERE g.id_groupe = app.id_groupe ".
|
||||
// "AND s.id_semestre = app.id_semestre ".
|
||||
|
||||
"AND g.nom LIKE '".$groupeOpt."' ".
|
||||
"AND s.rang BETWEEN :semestreDeb AND :semestreFin ".
|
||||
"AND s.rang % 2 = :semestre_pair ".
|
||||
"AND s.annee = :annee ".
|
||||
"ORDER BY g.nom");
|
||||
$getGroupesUID->execute(array(
|
||||
':semestreDeb' => $semestreDeb,
|
||||
':semestreFin' => $semestreFin,
|
||||
':semestre_pair' => ($semestre_pair) ? '0' : '1',
|
||||
':annee' => $annee
|
||||
));
|
||||
// "AND g.nom LIKE '".$groupeOpt."' ".
|
||||
// "AND s.nom LIKE '".$semestreOpt."' ".
|
||||
// "AND s.rang % 2 = :semestre_pair ".
|
||||
// "AND s.annee = :annee ".
|
||||
// "ORDER BY g.nom");
|
||||
// $getGroupesUID->execute(array(
|
||||
// ':semestre_pair' => ($semestre_pair) ? '0' : '1',
|
||||
// ':annee' => $annee
|
||||
// ));
|
||||
|
||||
$grouplist = array(); // contiendra tout les groupes
|
||||
// $grouplist = array(); // contiendra tout les groupes
|
||||
|
||||
// on parcourt tous les groupes
|
||||
while( $groupeUID = $getGroupesUID->fetch() ){
|
||||
$grouplist = DataBase::delNumeric( groupRepo::forYear($semestre_pair, $annee, $pSemestre, $pGroupe) );
|
||||
|
||||
$groupe = new stdClass();
|
||||
$groupe->nom = $groupeUID['nom']; // attribut "nom" ajouté au groupe
|
||||
$groupe->semestre = $groupeUID['semestre'];
|
||||
foreach($grouplist as $iter=>$val)
|
||||
$grouplist[$iter]['userlist'] = groupRepo::membres($grouplist[$iter]['id'], $grouplist[$iter]['id_semestre']);
|
||||
// // on parcourt tous les groupes
|
||||
// while( $groupeUID = $getGroupesUID->fetch() ){
|
||||
|
||||
$groupe->userlist = groupRepo::membres($groupeUID['id'], $groupeUID['id_semestre']); // on charge la liste des utilisateurs de ce groupe
|
||||
// $groupe = new stdClass();
|
||||
// $groupe->nom = $groupeUID['nom']; // attribut "nom" ajouté au groupe
|
||||
// $groupe->semestre = $groupeUID['semestre'];
|
||||
|
||||
array_push($grouplist, $groupe); // on l'ajoute au résultat
|
||||
}
|
||||
// $groupe->userlist = groupRepo::membres($groupeUID['id'], $groupeUID['id_semestre']); // on charge la liste des utilisateurs de ce groupe
|
||||
|
||||
// array_push($grouplist, $groupe); // on l'ajoute au résultat
|
||||
// }
|
||||
|
||||
return $grouplist; // sinon on retourne le tableau
|
||||
|
||||
|
|
|
@ -169,7 +169,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$enseignantCheck = $anneeCheck && preg_match('/^[\w -]{3,50}$/i', $request->enseignant); // enseignant (annee) bon format
|
||||
|
||||
// paramètres optionnels
|
||||
$optionalSemestre = isset($request->semestre) && is_numeric($request->semestre) && preg_match('/^[1-4]{1}$/i', $request->semestre);
|
||||
$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
|
||||
|
@ -207,7 +207,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
|
||||
|
||||
// paramètres optionnels
|
||||
$optionalSemestre = isset($request->semestre) && is_numeric($request->semestre) && preg_match('/^[1-4]{1}$/i', $request->semestre);
|
||||
$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
|
||||
|
|
|
@ -47,7 +47,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee); // les arguments existent
|
||||
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee); // si c'est des strings
|
||||
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->semestre) && is_numeric($request->annee); // des bon types
|
||||
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{6,100}$/i', $request->etudiant); // nom bon format
|
||||
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // nom bon format
|
||||
$semestreCheck = $etudiantCheck && preg_match('/^[1-4]{1}$/i', $request->semestre); // semestre (semestre) bon format
|
||||
$anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||
|
||||
|
@ -78,7 +78,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$areSetParam = isset($request->enseignant)&& isset($request->annee); // les arguments existent
|
||||
$typeOkParam = $areSetParam && is_string($request->enseignant) && is_string($request->annee); // si c'est des strings
|
||||
$nEmptyParam = $typeOkParam && strlen($request->enseignant) > 0 && is_numeric($request->annee); // des bon types
|
||||
$enseignantCheck = $nEmptyParam && preg_match('/^[\w -]{6,100}$/i', $request->enseignant); // nom bon format
|
||||
$enseignantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->enseignant); // nom bon format
|
||||
$anneeCheck = $enseignantCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||
|
||||
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||
|
|
|
@ -202,7 +202,41 @@ class groupRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
/* RETOURNE TOUS LES GROUPES DES SEMESTRES COURANT D'UNE ANNÉE
|
||||
*
|
||||
* @semestre_pair<Boolean> VRAI si le semestre courant est pair
|
||||
* @annee<int> L'année en cours
|
||||
*
|
||||
* @pSemestre<int> ***OPTIONNEL*** le nom du semestre
|
||||
* @pGroupe<String> ***OPTIONNEL*** le nom du groupe
|
||||
*
|
||||
*
|
||||
* @return groupes<Array> retourne la liste des groupes correspondant aux critères
|
||||
*
|
||||
*/
|
||||
public static function forYear($semestre_pair, $annee, $pSemestre=null, $pGroupe=null){
|
||||
// si le semestre est donné, on cherche uniquement celui-ci, sinon on les affiche tous
|
||||
$semestreOpt = '%';
|
||||
if( $pSemestre != null ){ $semestreOpt = $pSemestre; }
|
||||
|
||||
// si le groupe est donné, on cherche uniquement celui-ci, sinon on les affiche tous
|
||||
$groupeOpt = '%';
|
||||
if( $pGroupe != null ){ $groupeOpt = $pGroupe; }
|
||||
|
||||
$getGroupeList = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe as id, g.nom, s.rang, s.id_semestre, s.nom as semestre ".
|
||||
"FROM groupe as g, semestre as s, appartenance as app ".
|
||||
"WHERE g.id_groupe = app.id_groupe ".
|
||||
"AND s.id_semestre = app.id_semestre ".
|
||||
|
||||
"AND g.nom LIKE '".$groupeOpt."' ".
|
||||
"AND s.nom LIKE '".$semestreOpt."' ".
|
||||
"AND s.rang % 2 = :semestre_pair ".
|
||||
"AND s.annee = :annee ".
|
||||
"ORDER BY g.nom");
|
||||
$getGroupeList->execute(array( ':semestre_pair' => ($semestre_pair) ? '0' : '1', ':annee' => $annee ));
|
||||
|
||||
return DataBase::delNumeric( $getGroupeList->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -47,7 +47,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$typeOkParam = $areSetParam && is_string($request->identifiant) && is_string($request->mdp); // ils sont tous 2 des string
|
||||
$nEmptyParam = $typeOkParam && strlen($request->identifiant) > 0 && strlen($request->mdp) > 0; // d'au moins 1 caractère
|
||||
$identifiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->identifiant); // identifiant bon format
|
||||
$mdpCheck = $identifiantCheck && preg_match('/^[\w -]{6,100}$/i', $request->mdp); // mdp bon format
|
||||
$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);
|
||||
|
@ -83,7 +83,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$prenomCheck = $identifiantCheck && preg_match('/^[a-z -]{3,50}$/i', $request->prenom); // prenom bon format
|
||||
$nomCheck = $prenomCheck && preg_match('/^[a-z -]{3,50}$/i', $request->nom); // nom bon format
|
||||
$mailCheck = $nomCheck && preg_match('/^[\w\.-]+@[\w\.-]+\.[a-z]{2,4}$/i', $request->mail); // mail bon format
|
||||
$mdpCheck = $mailCheck && preg_match('/^[\w -]{6,100}$/i', $request->mdp); // mdp bon format
|
||||
$mdpCheck = $mailCheck && preg_match('/^[\w -]{4,100}$/i', $request->mdp); // mdp bon format
|
||||
$droitsCheck = $mdpCheck && is_int(array_search($request->droits, ['student', 'teacher', 'master', 'admin'])); // droits bon format
|
||||
|
||||
if( $droitsCheck ){ // si tout les paramètres sont bons
|
||||
|
|
|
@ -87,10 +87,10 @@ var selectList = document.querySelectorAll("#CONTAINER > section[name] > select"
|
|||
// GESTION DE LA PRISE EN COMPTE DES SELECT //
|
||||
DOM.CONTAINER.addEventListener('change', function(e){
|
||||
if( e.target.tagName == 'SELECT' && ['semestre', 'groupe'].indexOf(e.target.getAttribute('name')) > -1 ){
|
||||
if( e.target.getAttribute('name') == 'semestre' ){ // si modifie le semestre
|
||||
if( e.target.getAttribute('name') == 'semestre' ){ // SI modifie le semestre
|
||||
pageM.vars[1] = e.target.value; // on selectionne semestre
|
||||
pageM.vars[2] = '*'; // on désactive le groupe
|
||||
}else{
|
||||
}else{ // SINON
|
||||
pageM.vars[1] = '*'; // on désactive le semestre
|
||||
pageM.vars[2] = e.target.value; // on active le groupe
|
||||
}
|
||||
|
|
152
page/groups.php
152
page/groups.php
|
@ -25,7 +25,7 @@ require_once __ROOT__.'/manager/groups.php';
|
|||
|
||||
|
||||
/* GESTION SEMESTRE OPTIONNEL */
|
||||
if( isset($postVars[1]) && is_numeric($postVars[1]) )
|
||||
if( isset($postVars[1]) && preg_match('/^S[0-9]{1}$/', $postVars[1]) )
|
||||
$semestreOpt = $postVars[1];
|
||||
else
|
||||
$semestreOpt = null;
|
||||
|
@ -71,7 +71,7 @@ if( permission('student') ){ // si connecté && utilisateur
|
|||
|
||||
foreach($answer->grouplist as $group){ // pour chaque groupe
|
||||
|
||||
if( count($group->userlist) > 0 ){ // s'il y a des utilisateurs
|
||||
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
||||
|
||||
echo "<table class='basic margin col5'>";
|
||||
|
||||
|
@ -79,13 +79,13 @@ if( permission('student') ){ // si connecté && utilisateur
|
|||
|
||||
|
||||
// pour chaque utilisateur
|
||||
foreach($group->userlist as $user){
|
||||
foreach($group['userlist'] as $user){
|
||||
echo '<tr>';
|
||||
echo "<td><span class=link>".$user['identifiant'].'</span></td>';
|
||||
echo '<td>'.$user['prenom'].'</td>';
|
||||
echo '<td>'.$user['nom'].'</td>';
|
||||
echo '<td>'.$group->semestre.'</td>';
|
||||
echo '<td>Groupe <span class=stressed>'.$group->nom.'</span></td>';
|
||||
echo '<td>'.$group['semestre'].'</td>';
|
||||
echo '<td>Groupe <span class=stressed>'.$group['nom'].'</span></td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
|
@ -137,13 +137,13 @@ if( permission('teacher') ){ // si connecté && prof
|
|||
echo "<select name='semestre'>";
|
||||
echo "<option value='*'>Tous les semestres</option>";
|
||||
foreach($answer->grouplist as $group){
|
||||
if( $lastSemestre == null || $lastSemestre != $group->semestre ){
|
||||
if( $lastSemestre == null || $lastSemestre != $group['semestre'] ){
|
||||
|
||||
if( $group->semestre[1] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<option value='".$group->semestre[1]."' selected>".$group->semestre.'</option>';
|
||||
if( $group['semestre'] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<option value='".$group['semestre']."' selected>".$group['semestre'].'</option>';
|
||||
else // sinon on affiche normalement
|
||||
echo "<option value='".$group->semestre[1]."'>".$group->semestre.'</option>';
|
||||
$lastSemestre = $group->semestre;
|
||||
echo "<option value='".$group['semestre']."'>".$group['semestre'].'</option>';
|
||||
$lastSemestre = $group['semestre'];
|
||||
}
|
||||
}
|
||||
echo "<select>";
|
||||
|
@ -156,12 +156,12 @@ if( permission('teacher') ){ // si connecté && prof
|
|||
foreach($answer->grouplist as $group){
|
||||
if( $lastGroupe == null || $lastGroupe != $group->nom ){
|
||||
|
||||
if( $group->nom == $groupeOpt ) // si c'est le groupe séléctionné
|
||||
echo "<option value='".$group->nom."' selected>".$group->nom.'</option>';
|
||||
if( $group['nom'] == $groupeOpt ) // si c'est le groupe séléctionné
|
||||
echo "<option value='".$group['nom']."' selected>".$group['nom'].'</option>';
|
||||
else
|
||||
echo "<option value='".$group->nom."'>".$group->nom.'</option>';
|
||||
echo "<option value='".$group['nom']."'>".$group['nom'].'</option>';
|
||||
|
||||
$lastGroupe = $group->nom;
|
||||
$lastGroupe = $group['nom'];
|
||||
}
|
||||
}
|
||||
echo "<select>";
|
||||
|
@ -177,7 +177,7 @@ if( permission('teacher') ){ // si connecté && prof
|
|||
|
||||
foreach($answer->grouplist as $group){ // pour chaque groupe
|
||||
|
||||
if( count($group->userlist) > 0 ){ // s'il y a des utilisateurs
|
||||
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
||||
|
||||
echo "<table class='basic margin col5'>";
|
||||
|
||||
|
@ -185,13 +185,13 @@ if( permission('teacher') ){ // si connecté && prof
|
|||
|
||||
|
||||
// pour chaque utilisateur
|
||||
foreach($group->userlist as $user){
|
||||
foreach($group['userlist'] as $user){
|
||||
echo '<tr>';
|
||||
echo "<td><span class=link>".$user['identifiant'].'</span></td>';
|
||||
echo '<td>'.$user['prenom'].'</td>';
|
||||
echo '<td>'.$user['nom'].'</td>';
|
||||
echo '<td>'.$group->semestre.'</td>';
|
||||
echo '<td>Groupe <span class=stressed>'.$group->nom.'</span></td>';
|
||||
echo '<td>'.$group['semestre'].'</td>';
|
||||
echo '<td>Groupe <span class=stressed>'.$group['nom'].'</span></td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
|
@ -330,10 +330,10 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
|
|||
foreach($answer->grouplist as $group){
|
||||
if( $lastSemestre == null || $lastSemestre != $group->semestre ){
|
||||
|
||||
if( $group->semestre[1] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<option value='".$group->semestre[1]."' selected>".$group->semestre.'</option>';
|
||||
if( $group->semestre == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<option value='".$group->semestre."' selected>".$group->semestre.'</option>';
|
||||
else // sinon on affiche normalement
|
||||
echo "<option value='".$group->semestre[1]."'>".$group->semestre.'</option>';
|
||||
echo "<option value='".$group->semestre."'>".$group->semestre.'</option>';
|
||||
|
||||
$lastSemestre = $group->semestre;
|
||||
}
|
||||
|
@ -437,14 +437,14 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
|
|||
echo "<select name='semestre'>";
|
||||
echo "<option value='*'>Tous les semestres</option>";
|
||||
foreach($answer->grouplist as $group){
|
||||
if( $lastSemestre == null || $lastSemestre != $group->semestre ){
|
||||
if( $lastSemestre == null || $lastSemestre != $group['semestre'] ){
|
||||
|
||||
if( $group->semestre[1] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<option value='".$group->semestre[1]."' selected>".$group->semestre.'</option>';
|
||||
if( $group['semestre'] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||
echo "<option value='".$group['semestre']."' selected>".$group['semestre'].'</option>';
|
||||
else // sinon on affiche normalement
|
||||
echo "<option value='".$group->semestre[1]."'>".$group->semestre.'</option>';
|
||||
echo "<option value='".$group['semestre']."'>".$group['semestre'].'</option>';
|
||||
|
||||
$lastSemestre = $group->semestre;
|
||||
$lastSemestre = $group['semestre'];
|
||||
}
|
||||
}
|
||||
echo "<select>";
|
||||
|
@ -455,14 +455,14 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
|
|||
echo "<select name='groupe'>";
|
||||
echo "<option value='*'>Tous les groupes</option>";
|
||||
foreach($answer->grouplist as $group){
|
||||
if( $lastGroupe == null || $lastGroupe != $group->nom ){
|
||||
if( $lastGroupe == null || $lastGroupe != $group['nom'] ){
|
||||
|
||||
if( $group->nom == $groupeOpt ) // si c'est le groupe séléctionné
|
||||
echo "<option value='".$group->nom."' selected>".$group->nom.'</option>';
|
||||
if( $group['nom'] == $groupeOpt ) // si c'est le groupe séléctionné
|
||||
echo "<option value='".$group['nom']."' selected>".$group['nom'].'</option>';
|
||||
else
|
||||
echo "<option value='".$group->nom."'>".$group->nom.'</option>';
|
||||
echo "<option value='".$group['nom']."'>".$group['nom'].'</option>';
|
||||
|
||||
$lastGroupe = $group->nom;
|
||||
$lastGroupe = $group['nom'];
|
||||
}
|
||||
}
|
||||
echo "<select>";
|
||||
|
@ -473,14 +473,14 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
|
|||
|
||||
foreach($answer->grouplist as $group){ // pour chaque groupe
|
||||
|
||||
if( count($group->userlist) > 0 ){ // s'il y a des utilisateurs
|
||||
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
||||
|
||||
echo "<table class='basic col4'>";
|
||||
|
||||
echo '<thead>';
|
||||
echo '<tr>';
|
||||
echo '<th colspan=5>';
|
||||
echo 'Groupe <span>'.$group->nom.'</span>';
|
||||
echo 'Groupe <span>'.$group['nom'].'</span>';
|
||||
echo "<span style='font-weight:normal;padding-left:1em; font-size: .8em;'>(glisser-déposer étudiant pour le déplacer)</span>";
|
||||
echo '</th>';
|
||||
echo '</tr>';
|
||||
|
@ -492,12 +492,12 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
|
|||
|
||||
|
||||
// pour chaque utilisateur
|
||||
foreach($group->userlist as $user){
|
||||
foreach($group['userlist'] as $user){
|
||||
echo '<tr>';
|
||||
echo "<td><span class=link>".$user['identifiant'].'</span></td>';
|
||||
echo '<td>'.$user['prenom'].'</td>';
|
||||
echo '<td>'.$user['nom'].'</td>';
|
||||
echo '<td><strong><span>'.$group->nom.'</span></strong></td>';
|
||||
echo '<td><strong><span>'.$group['nom'].'</span></strong></td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
|
@ -523,53 +523,53 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
|
|||
/*********************************/
|
||||
/*** IMPORTATION FICHIER EXCEL ***/
|
||||
/*********************************/
|
||||
if( permission('admin') ){
|
||||
echo "<section name='importexcel' title='Importation/Export' class='basic'>";
|
||||
// if( permission('admin') ){
|
||||
// echo "<section name='importexcel' title='Importation/Export' class='basic'>";
|
||||
|
||||
//inclusion des classes de PHPExcel
|
||||
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"));
|
||||
// //inclusion des classes de PHPExcel
|
||||
// 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
|
||||
$workbook = new PHPExcel();
|
||||
$sheet = $workbook->getActiveSheet();
|
||||
$writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||
// //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 prépare le tableau
|
||||
$sheet->setCellValue('A1', 'IAE Etape');
|
||||
$sheet->setCellValue('B1', 'Nom');
|
||||
$sheet->setCellValue('C1', 'Prénom');
|
||||
$sheet->setCellValue('D1', 'Identifiant');
|
||||
$sheet->setCellValue('E1', 'Sexe');
|
||||
$sheet->setCellValue('F1', 'Mail étudiant');
|
||||
// //on prépare le tableau
|
||||
// $sheet->setCellValue('A1', 'IAE Etape');
|
||||
// $sheet->setCellValue('B1', 'Nom');
|
||||
// $sheet->setCellValue('C1', 'Prénom');
|
||||
// $sheet->setCellValue('D1', 'Identifiant');
|
||||
// $sheet->setCellValue('E1', 'Sexe');
|
||||
// $sheet->setCellValue('F1', 'Mail étudiant');
|
||||
|
||||
|
||||
//on récupère l'ensemble des étudiants
|
||||
$request = new stdClass();
|
||||
$answer = new stdClass();
|
||||
// //on récupère l'ensemble des étudiants
|
||||
// $request = new stdClass();
|
||||
// $answer = new stdClass();
|
||||
|
||||
$request->level_1 = 'grouplistForYear';
|
||||
$request->annee = $_SESSION['annee'];
|
||||
groups_switch_level_1($request, $answer);
|
||||
// $request->level_1 = 'grouplistForYear';
|
||||
// $request->annee = $_SESSION['annee'];
|
||||
// groups_switch_level_1($request, $answer);
|
||||
|
||||
//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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
// //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
|
||||
$writer->save('test.xlsx');
|
||||
}
|
||||
// //On enregistre le fichier
|
||||
// $writer->save('test.xlsx');
|
||||
// }
|
||||
?>
|
Loading…
Reference in New Issue