Première mise en page et ébauche du dossier étudiant ainsi qu'une correction d'affinage due au dernier debug

This commit is contained in:
xdrm-brackets 2015-11-29 18:26:46 +01:00
parent 4a79df4206
commit 07550c08b5
4 changed files with 24 additions and 29 deletions

View File

@ -1,3 +1,6 @@
<?php
require_once __ROOT__.'/manager/security.php';
require_once __ROOT__.'/manager/database.php';
@ -36,24 +39,24 @@ require_once __ROOT__.'/manager/database.php';
/***************************/
/* liste des notes par UEs */
/***************************/
case 'getNotesEtudiant': if( permission('student') ){
case 'getNotesEtudiant': if( permission('student') || permission('master') || permission('admin') ){
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee) && isset($request->formation); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee) && is_numeric($request->formation); // 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 -]{3,50}$/i', $request->etudiant); // nom bon format
$formationCheck = $etudiantCheck && preg_match('/^[1-4]{1}$/i', $request->formation); // formation (formation) bon format
$semestreCheck = $formationCheck && 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
$formationCheck = $etudiantCheck && preg_match('/^[1-4]+$/i', $request->formation); // formation (formation) bon format
$semestreCheck = $formationCheck && preg_match('/^[1-4]+$/i', $request->semestre); // semestre (semestre) bon format
$anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
if( $anneeCheck ){ // si tout les paramètres sont bons
$UEs = DataBase::getInstance()->getNotesEtudiant($request->etudiant, $request->formation, $request->semestre, $request->annee);
if( is_array($UEs) ){ // si on a bien un tableau
$answer->UEs = $UEs; // on renvoie dans answer->note
if( is_array($UEs) ){ // si on a bien un tableau
$answer->UEs = $UEs; // on renvoie dans answer->note
$answer->request = 'success'; // et on renvoie success
}else // sinon si c'est pas un tableau
$answer->request = $UEs; // on retourne l'erreur
$answer->request = $UEs; // on retourne l'erreur
}else
$answer->request = 'param_error';

View File

@ -114,7 +114,7 @@ for( var i = 0 ; i < partList.length ; i++ ){
/* SI c'est une affinage par SEMESTRE */
if( tableauParent.getAttribute('name') == 'semestre' )
pageM.vars[2] = 's:'+e.target.value;
pageM.vars[2] = 's:'+e.target.dataset.value;
// affinage par semestre (exportation)
}else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') ){

View File

@ -843,26 +843,28 @@ elseif( permission('master') || permission('admin') ){ // si enseignant et qu'un
*
*/
if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
include __ROOT__.'/svg.php';
$request = new stdClass(); $answer = new stdClass();
$request->level_1 = 'getNotesEtudiant';
$request->etudiant = $etudiantOpt;
$request->semestre = $_SESSION['semestre'];
$request->formation = '1'; // ITINN1 2015
$request->semestre = '1'; // S1 ITINN1 2015
$request->annee = $_SESSION['annee'];
career_switch_level_1($request, $answer);
var_dump( $answer );
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
////////////////////////////////////////////////////////////////////////////////
echo "<section name='studentcase' data-title='Dossier étudiant' class='basic'>";
$parcours = array('ITINN1 S1', 'ITINN1 S2', 'ITINN2 S3', 'ITINN2 S4');
displayParcours( $parcours );
foreach($answer->UEs as $UE){ // pour chaque UE
echo "<table class='basic col4'>";

22
svg.php
View File

@ -1,18 +1,7 @@
<?php
if( isset($_GET['parcours']) && strlen($_GET['parcours']) > 1 )
$parcours = explode(',', $_GET['parcours']);
else
$parcours = array('S1', 'S2', 'S3', 'S4'); // contient les étapes du parcours d'un étudiant
function displayParcours($parcours){
/* paramètres de texte */
$lettrePixel = 10; // taille d'une lettre pour centrer le texte
@ -45,11 +34,12 @@
'banana' => '#f3c04e',
'tomato' => '#d50000',
'twitter' => '#30b6ea',
'facebook' => '#3372c5'
'facebook' => '#3372c5',
'blou' => '#3c73e6'
);
/* CHOIX DU THEME */
$themeColor = $themes['tomato'];
$themeColor = $themes['blou'];
@ -69,12 +59,12 @@
for($i = 0 ; $i < $n ; $i++){
$ti = $lettrePixel * strlen( $parcours[$i] ); // longueur du texte actuel
echo "<text x='".($M+2*$M*$i - $ti/2)."' y='".$text['y']."' fill='".$themeColor."' style='font-family:Ubuntu;font-size:20px;'>".$parcours[$i]."</text>";
echo "<circle cx='".($M+2*$M*$i)."' cy='".$dot['y']."' r='".$dot['r']."' stroke='".$themeColor."' stroke-width='".(.8*$dot['r'])."' fill='white'/>";
echo "<circle cx='".($M+2*$M*$i)."' cy='".$dot['y']."' r='".$dot['r']."' stroke='".$themeColor."' stroke-width='".(.8*$dot['r'])."' fill='#ecf0f1'/>";
}
echo "</svg>";
/**************/
/* FIN DU SVG */
/**************/
}
?>