sid/manager/notifications.php

220 lines
5.4 KiB
PHP
Raw Permalink Normal View History

2015-11-22 06:36:22 +00:00
<?php
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// GESTION DES NOTIFICATIONS
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// ====================== IDÉE DE FONCTIONNEMENT ======================
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// L'étudiant sera notifié par les actions suivantes : - un changement de groupe
// - un changement de semestre [ OPTIONNEL ]
// - une nouvelle note
// - une modification de coeff [ OPTIONNEL ]
// - l'acquisition des résultats du jury par le site
//
// Lors de la connexion de l'étudiant, un marqueur représenter par "une cloche" indiquera le nombre de notifications,
// une petite animation par notre chère Adrien #xdrm-brackets serait pas mal du tout
//
// Pour gérer ces notifications, je propose d'inclure une colonne notifications à chaque étududiant, grâce aux fonctions
// pushNotifications() ainsi que popNotifications(), nous pourrions gérer les notifications sous la forme d'une pile, qui a
// mon sens semble être la meilleur option, les fonctions pushNotifications() et popNotifications seront à implémentées
// pour gérer le flux de notifications
//
// =====================================================================
2015-11-21 16:02:10 +00:00
class notificationsManager{
2015-11-21 16:02:10 +00:00
// /* [1] ROUTAGE DE NIVEAU 1
// ============================================================*/
public static function switch_lvl1($request, $answer) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
switch( $request->level_1 ) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
/*********************************************/
/* Notification pour un changement de groupe */
/*********************************************/
case 'changement_groupe':
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if(isset($request->formation) && isset($request->idEtudiant) && isset($request->nouveauGroupe)) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$request->pushNotifications = 'Vous avez changé de groupe, vous êtes désormais dans le groupe : '.$request->nouveauGroupe ;
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if(pushNotifications($request) == 'succes') {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'succes';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
$answer->request = 'param_error';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
}
else {
$answer->request = 'param_error';
}
break;
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
/***************************************/
/* Notification pour une nouvelle note */
/***************************************/
case 'ajout_note':
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if(isset($request->formation) && isset($request->idEtudiant) && isset($request->note) && isset($request->module)) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$request->pushNotifications = 'Vous avez une nouvelle note, vous avez obtenu : '.$request->note.'/20'.' '.'Dans le module : '.$request->module;
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if(pushNotifications($request) == 'succes') {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'succes';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
break;
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
/********************************************/
/* Notifications pour les résultats du jury */
/********************************************/
case 'Résultat_jury':
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if((isset($request->formation) && isset($request->idEtudiant) && isset($request->semestre)) && isset($request->avisJury)) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$request->pushNotifications = 'Vous avez un obtenu un avis du jury pour votre semestre :'.$request->semestre.' '.'Avis : '.$request->avisJury;
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if(pushNotifications($request) == 'succes') {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'succes';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
break;
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// [ OPTIONNEL ]
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
/******************************************/
/* Notifications pour un nouveau semestre */
/******************************************/
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
case 'changement_semestre':
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if((isset($request->formation) && isset($request->idEtudiant) && isset($request->semestre)) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$request->pushNotifications = 'Un nouveau semestre débute : S'.$request->semestre.' '.'!';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if(pushNotifications($request) == 'succes') {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'succes';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
break;
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// [ OPTIONNEL ]
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
/************************************************/
/* Notifications pour une modification de coeff */
/************************************************/
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
case 'Modification_coeff':
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if((isset($request->formation) && isset($request->idEtudiant) && isset($request->semestre) && isset($request->anciencCoeff) && isset($request->nouveauCoeff)) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$request->pushNotifications = 'Dans le module : '.$request->module.' '.', le coefficient passe de '.$request->anciencCoeff.' à '.$request->nouveauCoeff;
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
if(pushNotifications($request) == 'succes') {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'succes';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
else {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
$answer->request = 'param_error';
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
break;
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// Consulter adrien pour l'ajout d'une colonne "notifications" et l'accés à la BD
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
/***************************/
/* Ajoute une notification */
/***************************/
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
function pushNotifications($request) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// INSERT INTO etudiant.notifiaction VALUES($request->pushNotifications)..
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
return 'succes';
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
/*****************************/
/* Supprime une notification */
/*****************************/
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
function popNotifications($request) {
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
// DELETE etudiant.notifiaction $request->pushNotifications..
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
return 'succes';
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
}
2015-11-21 16:02:10 +00:00
}
2015-11-21 16:02:10 +00:00
2015-11-22 06:36:22 +00:00
?>
2015-11-21 16:02:10 +00:00