📁 /index.php
Fichier d'entrée de l'application. Toutes les requêtes passent par là. Ce fichier se charge de démarer la session, charger la bonne configuration, créer les droits de l'utilisateur actuellement loggé, etc
📁 /INC/request.inc.php
Regroupe des fonctions de gestion des requêtes, des droits, de l'authentification.
Fonction gereRequete: toutes les requètes venant du JS passe par ici.
La fonction reçoit une requête en paramètre qui est évaluée dans la liste des requêtes prises en charges
Liste des requêtes supportées :
Requête | Action |
---|---|
sem04 | Affiche un message dans le #contenu du site |
sem03 | Affiche un message dans le #contenu du site |
TPsem05 | Retourne le formulaire du TP05 |
gestLog | Connecte ou déconnecte l'utilisateur |
formSubmit | Redirige vers la gestion de formulaire |
displaySession | Affiche en #debug le contenu de la session |
clearLog | Clear les logs stoskés dans la session |
resetSession | Destroy et redémarre une nouvelle session |
config | Load le fichier de config et renvoie le formulaire |
testDB | Effectue plusieurs appels de procédure en DB pour tester son fonctionnement |
string $rq
: requête provenant du JS
int
: La fonction retourne -1 si l'utilisateur n'as pas le droit d'éffectuer une action
void
: La fonction ne retourne rien le reste du temps
Cette fonction gère tous les différents formulaires du site.
Tous les formulaires du site ont leur action qui renvoit vers la requête gereSubmit
. On récupère le senderId
dans cette fonction,
ce qui nous permet de déterminer quel traitement effectuer parmis les formulaires supportés.
Liste des formulaires supportés :
Formulaire | Action |
---|---|
formTP05 | Récupère dans la DB, les cours pour le groupe sélectionné et renvoie une action makeTable au JS |
modifConfig | Sauve la nouvelle config dans le fichier, reloade la nouvelle config dans la Session et envoie les changements dans l'action layout |
formLogin | Vérifie que le username et mot de passe sont corrects et authentifie l'utilisateur (cfr. authentication ) |
Cette fonction détermine si un utilisateur à le droit d'éffectuer une requête en se basant sur la liste de droits liée à l'utilisateur $_SESSION['droits']
.
Dans le cas où l'utilisateur n'as pas le droit, on bloque l'exécution de la requête et on envoie une boite de dialogue à l'utilisateur via l'action peutPas
.
On gère aussi les cas où l'utilisateur est en cours de réactivation, une boite de diablogue différente est alors envoyée à l'utilisateur
string $req
: requête de l'utilisateur veut éffectuer
boolean
: Renvoie TRUE
si l'utilisateur NE PEUT PAS éffectuer la requête.
boolean
: Renvoie FALSE
si l'utilisateur A LE DROIT d'éffectier la requête.
Cette fonction se charge de l'affichage du formulaire de login.
La fonction charge le template du formulaire et l'envoie dans un retour formLogin
.
Cette fonction se charge de déconnecter l'utilisateur.
La fonction supprime les données de l'utilisateur dans la session et envoie un retour logout
qui affiche une boite de dialogue qui confirme le logout de l'utilisateur
Cette fonction se charge de l'authentification de l'utilisateur. La fonction reçoit un utilisateur en paramètre, récupère les profils de l'utilisateur, crée les droits de l'utilisateur et stocke toutes les données en session.
array $user
: tableau contenant les informations concernant l'utilisateur
int
: Retourne -1
si l'utilisateur est en cours d'activation
void
: Envoie une action userConnu
avec les données du user
Envoie un array à l'action makeTable
. Cela affiche le tableau passé en paramètre en HTML5 dans la zone #contenu
.
array $tab
: Tableau à envoyer au JS
Appelle la fonction ajax mise à disposition dans les ressources de Delvigne. Les requêtes non supportées par notre application passeront par cette fonction.
string $rq
: Requête demandée
Charge le fichier de template dont le nom est passé en paramètre. Le fichier doit se trouver dans le dossier 📁 INC/ et
avoir un nom commencant par template.
et se terminant par .inc.php
.
La fonction renvoie false si le fichier n'existe pas.
string $name
: Nom du fichier de template à charger
string
: Renvoie le contenu du fichier de template
bool
: Renoie false
si le fichier n'existe pas
Dans cette fonction se trouvent tous les envois nécessaires au fonctionnement du formulaire du tp5.
La fonction charge le template du formulaire tp5 (cfr. chargeTemplate()
).
La fonction fait un appel à la procédure allGroups
et renvoie les données dans l'action data
.
Ces 'data' servent à remplir le sélecteur de groupes dans le formulaire.
📁 /INC/droits.inc.php
Cette librairie permet de gérer les droits des utilisateurs et de générer les menus selon les droits. Ce fichier est protégé, il ne peut être ouvert directement et doit être inclu par le fichier index.
Vérifie qu'un utilisateur est connecté.
bool
: Renvoie true
si un utilisateur est connecté.
Vérifie si l'utilisateur à un profil Administrateur.
bool
: Renvoie true
si un utilisateur ayant le profil Administrateur est connecté
Vérifie si l'utilisateur à un profil Sous-administrateur.
bool
: Renvoie true
si un utilisateur ayant le profil Sous-administrateur est connecté
Vérifie si l'utilisateur a le status de réactivation.
bool
: Renvoie true
si un utilisateur au status réactivation est connecté
Vérifie si l'utilisateur a le status de mot de passe perdu.
bool
: Renvoie true
si un utilisateur au status de mot de passe perdu est connecté
Vérifie si l'utilsateur à les droits d'édition pour les informations du site. (Fonction non utilisée).
bool
: Renvie true
si l'utilisateur est Administrateur ou n'est pas en réactivation
Crée les droits de l'utilisateur en fonction de son profils et de ses status et stocke ces droits en session.
int
: Renvoie -1
si l'utilisateur n'est pas authentifié
int
: Renvoie -2
si l'utilisateur n'est pas en réactivation ou si l'utilisateur est Administrateur
Génère dynamiquement les menus à afficher en fonction du profil et des status de l'utilisateur.
string
: Renvoie une chaine de caractères contenant les menus à afficher au format HTML5
Classe Config :
- Gère la récupération de configuration depuis des fichiers
.ini
- Gère la génération d'un formulaire HTML5 pour modifier la config
- Gère la sauvegarde dans un fichier
.ini
de la nouvelle config
Nom du ficher de configuration.
Valeurs : null | string
Vrai si le fichier de config existe.
Valeurs : bool
Tableau multidimensionnel contenant la configuration un fois chargée.
Valeurs : array
Contient les erreurs rencontrées durant le processus de sauvegarde.
Valeurs : int
Constructeur de la classe Config.
Si il reçoit un filename en paramètre, il le stocke dans l'attribut et vérifie son existance.
string filename
: Nom du fichier de config. (Optionnel)
Getter du filename.
Retourne le nom du fichier de configuration.
null
: Pas de nom de fichier enregistré
string
: Le nom du fichier
Getter de l'attribut fileExist.
bool
: Renvoie true
si le fichier de config existe
bool
: Renvoie false
si le fichier de config n'existe pas
Getter de la configuration.
Renvoie un tableau multidimensionnel de la configuration actuellement chargée.
array
: La configuration
string
: Si aucune configuration chargée, Renvoie Config non chargée
Getter de l'attribut saveError.
Renvoie une valeur différente de zéro si le processus de sauvegarde a rencontré une erreur.
int
: Le numéro de l'erreur
Charge le fichier de config demandé dans l'attribut config.
La fonction va soit chargé la config du fichier stocké dans l'attribut filename, soit le fichier passé en paramètre.
string filename
: Nom du fichier de config à charger. (Optionnel)
array
: Renvoie la config si le chargement s'est bien passé
bool
: Renvoie false
si la fonction de lecture du fichier a rencontré une erreur
string
: Renvoie un string si le fichier de config n'existe pas.
Sauvegarde la nouvelle configuration (contenue dans $_POST
) à l'emplacement demandé.
Si une erreur est rencontrée durant le processus, renvoie une chaine avec l'erreur.
string filename
: Fichier dans lequel sauvegarder la config
string
: Le message d'erreur
Génère dynamiquement un formulaire en se basant sur le fichier de config actuellement chargé.
string
: Renvoie une chaine de caractère contenant le formulaire HTML5
Génère les différents blocs du formulaire.
string k
: Nom du bloc
array v
: Tableau des éléments de ce bloc
array
: Renvoie un tableau des lignes du blocs généré
Retourne le bon message d'erreur selon le numéro passé en paramètre.
int error
: Numéro de l'erreur
string
: Message d'erreur
Classe DB :
- Gère la connection à la base de données
- Gère les appels de procédures
Contient les informations de connection de la DB depuis la config.
Valeurs : array
Contient les exceptions renvoyées par la connexion à la DB.
Valeurs : Exception | PDOException
Contient l'instance de l'objet PDO.
Valeurs : PDO
Constructeur de la classe DB.
Initialise la connection à la DB sur base des infos de connexion venant de la config.
Gettre de l'attribut pdoException.
Renvoie l'exception catché durant la connextion à la BD ou le call de procédure.
string
: Le message de l'exception
Retourne le serveur sur lequel l'application tourne actuellement.
string
: Renvoie localhost
ou l'adresse ip du serveur
Effectue un call à la procédure mc_allGroups
.
array
: Retour de la procédure
Effectue un call intelligent avec les paramètres passé à la fonction.
string name
: Nom de la procédure à appeler
array param
: Tableau contenant les paramètres à passer à la procédure (Optionnel)
array
: Retour de la procédure
Cette librairie gère l'envoi actions au JS.
Affiche la chaine passée en paramètre dans la zone #contenu
du site.
string txt
: Chaine de caractère à afficher
Affiche la chaine passée en paramètre dans la zone #error
du site.
string txt
: Chaine de caractère à afficher
Affiche la chaine passée en paramètre dans la zone #debug
du site.
string txt
: Chaine de caractère à afficher
Affiche la chaine passée en paramètre dans la zone #kint
du site.
La paramètre de cette fonction doit TOUJOURS être un retour de la fonction d()
de la librairie kint.
string txt
: Retour de la fonction d()
Fonction d'envoie d'informations vers JS au retour de l'appel AJAX.
string txt
: Chaine de caractère à transmettre.
string action
: Action à laquelle transmettre la chaine. Par defaut, action display
.
Script JS du site. Tout le traitement côté client du site est géré dans ce fichier.
Fonction de callback de l'appel AJAX.
Gère les retours envoyé par la fonction toSend
de PHP.
Toutes les actions sont gérées dans cette fonction.
Liste des actions supportées :
Action | Description |
---|---|
cacher | Cache le contenu dont le selecteur est passé dans le retour |
montrer | Affiche le contenu dont le selecteur est passé dans le retour |
layout | Met à jour le titre et le logo du site après un changement dans la config |
newMenu | Remplace l'ancien menu par le nouveau généré par la fonction PHP creeMenu |
formTP05 | Affiche le formulaire TP05 et gère l'évênementiel lié à ce formulaire |
formConfig | Affiche le formulaire de config et gère l'évênementiel du formulaire |
formLogin | Affiche le formulaire de connexion et gère l'évênementiel du formulaire |
userConnu | Appelée à la connexion de l'utilisateur, Affiche un message de bienvenue |
logout | Supprime les datas liés à l'utilisateur, Affiche de message de confirmation |
peutPas | Affiche une boite de dialogue lorsque l'utilisateur n'a pas le droit d'effectuer une action |
estRéac | Appelée si l'utilisateur est en cours de réactivation, Affiche un bandeau avec le message passé dans le retour |
display | Affiche l'élément passé dans le retour dans la zone #contenu du site |
kint, debug, error | Affiche le texte passé en paramètre dans la zone correspondant à l'action |
makeTable | Construit une table HTML5 avec le tableau passée dans le retour et l'affiche dans la zone #contenu |
jsonError | Affiche l'erreur dans la zone #jsonError du site |
data | Récupère et stocke les données pour l'action formTP05 |
default | Affiche un message en console avec l'action et son contenu |
string retour
: Données envoyées par PHP au format JSON.
Envoie une requête AJAX à la page index.php
et envoie la requête demandée en GET
string elem
: Requête à effectuer au format <request>.html
Récupère le JSON passé en paramètre et le parse en objet JS.
Si le parse échoue, renvoie l'erreur à l'action jsonError.
string json
: Le JSON à parser et tester
obj
: La structure de donnée en retour du parse
Construit une liste d'options HTML5 (select).
array list
: Liste d'options
string value
: Clé de la liste à utiliser pour la valeur de l'option
string displayTxt
: Clé de la liste à utiliser comme texte à afficher dans l'option
string
: Chaine de caractère contenant le select HTML5
Crée un tableau HTML5 sur base d'un tableau d'objets passé en paramètre
array tab
: Tableau d'objet
string
: Tableau HTML5
Crée un tableau HTML5 sur base d'un tableau de tableau passé en paramètre.
array tab
: Tableau de tableau
string
: Tableau HTML5
Crée le Thead d'un tableau HTML5 pour des objets.
string el
: Titre de la colonne
array type
: Détermine le type d'élément dans le tableau
string
: Thead HTML5
Crée le Thead d'un tableau HTML5 pour des arrays.
string el
: Titre de la colonne
array type
: Détermine le type d'élément dans le tableau
string
: Thead HTML5
Crée le Tbody d'un tableau HTML5 pour un array.
array tab
: Tableau des données du tableau
string type
: Type de structure de données
Crée un tableau HTML5 sur base du tableau passé en paramètre.
array tab
: Tableau de données
string
: Tableau HTML5
Fonction événementielle.
Filtre les groupes en fonction de l'input dans une barre de recherche.
Effectue la cherche sur le début, le milieu ou la fin de la chaine selon la radiobox sélectionnée.