Modification PHP, prise en compte choix du semestre ou groupe, à faire JS qui modifie pageM.vars

This commit is contained in:
xdrm-brackets 2015-11-06 14:05:14 +01:00
parent 55a2e54594
commit 954698d2b0
9 changed files with 128 additions and 28 deletions

View File

@ -190,7 +190,6 @@
}
#HEADER .searchbar:focus{
background-image: url(../src/header/search@hover.svg);
color: #17232f;
}

View File

@ -14,8 +14,8 @@ $notifNotifNum = 5;
<!-- Informations de la page -->
<meta charset='utf-8'>
<meta name='author' content='Aurélien CLERAC; Cédric ELOUNDOU; Guillaume FAUVET; Adrien MARQUES {xdrm}'>
<meta name='desctiption' content="Système d'Information du Département Informatique" >
<meta name='author' content='Adrien MARQUES {xdrm}; Aurélien CLERAC; Adrien MARQUES {xdrm}; Cédric ELOUNDOU; Adrien MARQUES {xdrm}; Guillaume FAUVET; Adrien MARQUES {xdrm}'>
<meta name='desctiption' content="Système d'Information du Département Informatique" >
<!-- Dépendences CSS -->
<link type='text/css' rel='stylesheet' href='css/font.css' /> <!-- Positionnement global des pages -->

View File

@ -277,7 +277,14 @@ class DataBase{
/******************************************************************/
/*** retourne la liste des utilisateurs des groupes d'une année ***/
/******************************************************************/
public function listeEtudiantsTousGroupesAnnee($annee){
public function listeEtudiantsTousGroupesAnnee($annee, $pSemestre, $pGroupe){
// définition des paramètres optionnels
$semestreDeb = 1; $semestreFin = 4;
if( $pSemestre != null ){ $semestreDeb = $pSemestre; $semestreFin = $pSemestre; } // semestre donné uniquement (si param non null)
$groupeOpt = '%';
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 = $this->pdo->prepare("SELECT id_semestre as id FROM semestre WHERE annee = :annee");
$checkAnnee->execute(array(
@ -293,10 +300,14 @@ class DataBase{
"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.annee = :annee ".
"ORDER BY g.nom");
$getGroupesUID->execute(array(
':semestreDeb' => $semestreDeb,
':semestreFin' => $semestreFin,
':annee' => $annee
));
@ -321,7 +332,15 @@ class DataBase{
/******************************************************************/
/*** retourne la liste des utilisateurs des groupes d'une année ***/
/******************************************************************/
public function listeEtudiantsTousGroupesEnseignant($annee, $enseignant){
public function listeEtudiantsTousGroupesEnseignant($annee, $enseignant, $pSemestre, $pGroupe){
// définition des paramètres optionnels
$semestreDeb = 1; $semestreFin = 4;
if( $pSemestre != null ){ $semestreDeb = $pSemestre; $semestreFin = $pSemestre; } // semestre donné uniquement (si param non null)
$groupeOpt = '%';
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 = $this->pdo->prepare("SELECT id_semestre as id FROM semestre WHERE annee = :annee");
$checkAnnee->execute(array(
@ -345,7 +364,6 @@ class DataBase{
else
return 'unknown_user';
// on cherche tout les groupes du même semestre de la même année
$getGroupesUID = $this->pdo->prepare("SELECT DISTINCT s.nom as semestre, s.rang, g.nom as nom ".
"FROM module as m, utilisateur as u, utilisateur as eleve, groupe as g, enseignement as ens, mcc_ue, mcc_module as mcc_m, semestre as s, appartenance as app ".
@ -361,14 +379,18 @@ class DataBase{
"AND app.id_semestre = s.id_semestre ".
"AND app.id_groupe = g.id_groupe ".
"AND g.nom LIKE '".$groupeOpt."' ".
"AND s.rang BETWEEN :semestreDeb AND :semestreFin ".
"AND s.annee = :annee ".
"AND u.identifiant = :enseignantUID ".
"ORDER BY s.rang, g.nom");
$getGroupesUID->execute(array(
// ':groupeOpt' => $groupeOpt,
':semestreDeb' => $semestreDeb,
':semestreFin' => $semestreFin,
':annee' => $annee,
':enseignantUID' => $enseignantUID
));
$grouplist = array(); // contiendra tout les groupes
// on parcourt tous les groupes

View File

@ -124,9 +124,20 @@ require_once __ROOT__.'/manager/database.php';
$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
// paramètres optionnels
$optionalSemestre = isset($request->semestre) && is_numeric($request->semestre) && preg_match('/^[1-4]{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 ){
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesEnseignant($request->annee, $request->enseignant);
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesEnseignant($request->annee, $request->enseignant, $semestre, $groupe);
if( is_array($grouplist) ){ // si on a récupéré la liste des utilisateurs
$answer->grouplist = $grouplist;
@ -146,9 +157,23 @@ require_once __ROOT__.'/manager/database.php';
$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
// paramètres optionnels
$optionalSemestre = isset($request->semestre) && is_numeric($request->semestre) && preg_match('/^[1-4]{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 ){
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesAnnee($request->annee);
$grouplist = DataBase::getInstance()->listeEtudiantsTousGroupesAnnee($request->annee, $semestre, $groupe);
if( is_array($grouplist) ){ // si on a récupéré la liste des utilisateurs
$answer->grouplist = $grouplist;

View File

@ -19,6 +19,9 @@ require_once __ROOT__.'/manager/career.php';
?>
<!-- mes modules -->
<?php

View File

@ -16,6 +16,32 @@ require_once __ROOT__.'/manager/groups.php';
*****************************************/
/*** GESTION DES PARAMETRES OPTIONNELS ***/
$postVars = array(); // on récupère les variables post
foreach($_POST as $k=>$v)
array_push($postVars, $k);
/* GESTION SEMESTRE OPTIONNEL */
if( isset($postVars[1]) && is_numeric($postVars[1]) )
$semestreOpt = $postVars[1];
else
$semestreOpt = null;
echo 'semestre '.$semestreOpt;
/* GESTION GROUPES OPTIONNEL */
if( isset($postVars[2]) && is_string($postVars[2]) && strlen($postVars[2]) > 1 )
$groupeOpt = $postVars[2];
else
$groupeOpt = null;
echo 'groupe '.$groupeOpt;
/************************/
/*** TOUS LES GROUPES ***/
/************************/

View File

@ -42,18 +42,4 @@ if( $_SESSION['identifiant'] != null ){ // si on est connecté ?>
<p>Notification 2</p>
<p>Notification 1</p>
</section>
<?php } ?>
<section name='groups' title='Groupes'>
<p>Vous pouvez consulter votre groupe ainsi que tous les groupes de votre semestre.</p>
</section>
<section name='case' title='parcours'>
<p>Vous pouvez consulter votre parcours complet, c'est à dire toutes les notes que vous avez eu dans chaque module. avec un affichage par UE, ou par semestre, afin de consulter votre évolution.</p>
</section>
<section name='settings' title='Paramètres'>
Paramètres
</section>
<?php } ?>

View File

@ -140,6 +140,45 @@ require_once __ROOT__.'/manager/security.php';
// /*** AFFICHER LE GROUPE D'UN ENSEIGNANT ***/
// require __ROOT__.'/manager/groups.php';
// $request = new stdClass();
// $answer = new stdClass();
// $request->level_1 = 'grouplistForTeacher';
// $request->enseignant = 'lbh1609a'; // utilisateur.identifiant
// // $request->semestre = '3'; // groupe.nom
// $request->annee = '2015'; // groupe.nom
// // $request->groupe = 'S1A';
// groups_switch_level_1($request, $answer);
// var_dump( $answer );
// echo "<br><br><br><br><br><br><br>It works !";
/*** AFFICHER LES GROUPES D'UNE ANNEE ***/
require __ROOT__.'/manager/groups.php';
$request = new stdClass();
$answer = new stdClass();
$request->level_1 = 'grouplistForYear';
$request->semestre = '3'; // groupe.nom // OPTIONNEL
$request->annee = '2015'; // annee
// $request->groupe = 'S3A'; // OPTIONNEL
groups_switch_level_1($request, $answer);
var_dump( $answer );
echo "<br><br><br><br><br><br><br>It works !";
@ -218,7 +257,6 @@ require_once __ROOT__.'/manager/security.php';
phpinfo();

View File

@ -353,14 +353,15 @@ CREATE TABLE IF NOT EXISTS `note` (
`id_note` int(11) NOT NULL AUTO_INCREMENT,
`id_appartenance` int(11) NOT NULL,
`id_mcc_module` int(11) NOT NULL,
`intitule` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`intitule` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`valeur` float NOT NULL,
`base` float NOT NULL,
`coefficient` float NOT NULL,
PRIMARY KEY (`id_note`),
KEY `id_appartenance` (`id_appartenance`),
KEY `id_mcc_module` (`id_mcc_module`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
--
-- RELATIONS POUR LA TABLE `note`: