|
|
@@ -1,8 +1,18 @@
|
|
|
<?php
|
|
|
-
|
|
|
+/**
|
|
|
+ * Classe event
|
|
|
+ *
|
|
|
+ * Cette classe gère les événements, y compris leur création, mise à jour, suppression,
|
|
|
+ * gestion des inscriptions, et génération de QR codes associés.
|
|
|
+ */
|
|
|
class event
|
|
|
{
|
|
|
-
|
|
|
+ /**
|
|
|
+ * Récupère les informations d'un événement spécifique par son identifiant.
|
|
|
+ *
|
|
|
+ * @param int $_id Identifiant de l'événement.
|
|
|
+ * @return array Retourne les informations de l'événement.
|
|
|
+ */
|
|
|
public static function getFiche(int $_id)
|
|
|
{
|
|
|
db::query("SELECT * FROM " . DB_T_EVENTS . " WHERE id = :id");
|
|
|
@@ -10,6 +20,12 @@ class event
|
|
|
return db::single();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère les informations d'un événement spécifique par son hash MD5.
|
|
|
+ *
|
|
|
+ * @param string $_md5 Hash MD5 de l'événement.
|
|
|
+ * @return array Retourne les informations de l'événement.
|
|
|
+ */
|
|
|
public static function getFicheByMd5(string $_md5)
|
|
|
{
|
|
|
db::query("SELECT * FROM " . DB_T_EVENTS . " WHERE md5 = :md5");
|
|
|
@@ -17,7 +33,15 @@ class event
|
|
|
return db::single();
|
|
|
}
|
|
|
|
|
|
- public static function getQRCode(int $_id, $_width = 50, string $_link = NULL)
|
|
|
+ /**
|
|
|
+ * Génère un QR code pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param int $_id Identifiant de l'événement.
|
|
|
+ * @param int $_width Largeur du QR code (par défaut 50).
|
|
|
+ * @param string|null $_link Lien personnalisé (facultatif).
|
|
|
+ * @return string Retourne le QR code sous forme d'image HTML.
|
|
|
+ */
|
|
|
+ public static function getQRCode(int $_id, $_width = 50, ?string $_link = NULL)
|
|
|
{
|
|
|
db::query("SELECT md5 FROM " . DB_T_EVENTS . " WHERE id = :id");
|
|
|
db::bind(':id', $_id);
|
|
|
@@ -31,6 +55,11 @@ class event
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Ajoute un nouvel événement dans la base de données.
|
|
|
+ *
|
|
|
+ * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
|
|
|
+ */
|
|
|
public static function add()
|
|
|
{
|
|
|
db::query("INSERT INTO " . DB_T_EVENTS . " (md5, titre, description, startDate, endDate, type_emargement, type_inscription, actif, id_user) VALUES (:md5, :titre, :description, :startDate, :endDate, :type_emargement, :type_inscription, :actif, :id_user)");
|
|
|
@@ -53,6 +82,11 @@ class event
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Met à jour un événement existant dans la base de données.
|
|
|
+ *
|
|
|
+ * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
|
|
|
+ */
|
|
|
public static function update()
|
|
|
{
|
|
|
db::query("UPDATE " . DB_T_EVENTS . " SET "
|
|
|
@@ -84,7 +118,13 @@ class event
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static function subscribe(int $_salarie = NULL)
|
|
|
+ /**
|
|
|
+ * Inscrit un salarié à un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param int|null $_salarie Identifiant du salarié (facultatif).
|
|
|
+ * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
|
|
|
+ */
|
|
|
+ public static function subscribe(?int $_salarie = NULL)
|
|
|
{
|
|
|
if($_salarie == NULL){
|
|
|
$salarie = core::getPost("salarie");
|
|
|
@@ -106,6 +146,11 @@ class event
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Désinscrit un salarié d'un événement spécifique.
|
|
|
+ *
|
|
|
+ * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
|
|
|
+ */
|
|
|
public static function unsubscribe()
|
|
|
{
|
|
|
db::query("DELETE FROM " . DB_T_EVENTS_INSCRITS . " WHERE id_evenement = :id_evenement AND id_salarie = :id_salarie");
|
|
|
@@ -120,6 +165,11 @@ class event
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère la liste des événements.
|
|
|
+ *
|
|
|
+ * @return array Retourne un tableau des événements.
|
|
|
+ */
|
|
|
public static function getEvents()
|
|
|
{
|
|
|
db::query("SELECT "
|
|
|
@@ -145,6 +195,11 @@ class event
|
|
|
return db::resultset();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère les inscriptions pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @return array Retourne un tableau des inscriptions.
|
|
|
+ */
|
|
|
public static function getInscriptions()
|
|
|
{
|
|
|
db::query("SELECT "
|
|
|
@@ -167,9 +222,14 @@ class event
|
|
|
return db::resultset();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Connecte un salarié à un événement en fonction de ses informations.
|
|
|
+ *
|
|
|
+ * @param array $_post Données du salarié.
|
|
|
+ * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
|
|
|
+ */
|
|
|
public static function connectSalarie(array $_post)
|
|
|
{
|
|
|
-
|
|
|
if (empty($_post["ident"])) {
|
|
|
return FALSE;
|
|
|
} elseif (empty($_post["date"])) {
|
|
|
@@ -219,12 +279,23 @@ class event
|
|
|
return FALSE;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère l'identifiant du dernier événement ajouté.
|
|
|
+ *
|
|
|
+ * @return int Identifiant du dernier événement.
|
|
|
+ */
|
|
|
public static function lastEvenement()
|
|
|
{
|
|
|
db::query("SELECT MAX(id) AS id FROM " . DB_T_EVENTS);
|
|
|
return db::single()["id"];
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère l'identifiant d'un événement par son hash MD5.
|
|
|
+ *
|
|
|
+ * @param string $_md5 Hash MD5 de l'événement.
|
|
|
+ * @return int Identifiant de l'événement.
|
|
|
+ */
|
|
|
public static function getIdEvenementByMd5(string $_md5)
|
|
|
{
|
|
|
db::query("SELECT id FROM " . DB_T_EVENTS . " WHERE md5 = :md5");
|
|
|
@@ -232,6 +303,12 @@ class event
|
|
|
return db::single()["id"];
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère les événements auxquels un salarié est présent.
|
|
|
+ *
|
|
|
+ * @param int $_idSalarie Identifiant du salarié.
|
|
|
+ * @return array Retourne un tableau des événements.
|
|
|
+ */
|
|
|
public static function presentEvenement(int $_idSalarie)
|
|
|
{
|
|
|
db::query("SELECT "
|
|
|
@@ -254,6 +331,12 @@ class event
|
|
|
return $row;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Supprime un événement spécifique de la base de données.
|
|
|
+ *
|
|
|
+ * @param int $_id Identifiant de l'événement.
|
|
|
+ * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
|
|
|
+ */
|
|
|
public static function deleteEvenement(int $_id)
|
|
|
{
|
|
|
db::query("DELETE FROM " . DB_T_EVENTS . " WHERE id = :id");
|
|
|
@@ -261,6 +344,12 @@ class event
|
|
|
return db::execute();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Supprime toutes les inscriptions associées à un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param int $_idEvenement Identifiant de l'événement.
|
|
|
+ * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
|
|
|
+ */
|
|
|
public static function deleteInscriptionEvenement(int $_idEvenement)
|
|
|
{
|
|
|
db::query("DELETE FROM " . DB_T_EVENTS_INSCRITS . " WHERE id_evenement = :id_evenement");
|
|
|
@@ -268,11 +357,23 @@ class event
|
|
|
return db::execute();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Vérifie l'URL d'un événement.
|
|
|
+ *
|
|
|
+ * @param string $_url URL à vérifier.
|
|
|
+ * @return string Retourne l'hôte de l'URL.
|
|
|
+ */
|
|
|
public static function checkUrl(string $_url)
|
|
|
{
|
|
|
return parse_url($_url)["host"];
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère les informations d'un événement à partir d'un QR code.
|
|
|
+ *
|
|
|
+ * @param string $_QRCode QR code de l'événement.
|
|
|
+ * @return array Retourne les paramètres extraits du QR code.
|
|
|
+ */
|
|
|
public static function getEvenementbyQRCode(string $_QRCode)
|
|
|
{
|
|
|
$query = parse_url($_QRCode)["query"];
|
|
|
@@ -280,6 +381,12 @@ class event
|
|
|
return $params;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Vérifie le nombre d'émargements pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param int $_id_evenement Identifiant de l'événement.
|
|
|
+ * @return int Retourne le nombre d'émargements.
|
|
|
+ */
|
|
|
public static function checkEmargement(int $_id_evenement)
|
|
|
{
|
|
|
db::query("SELECT "
|
|
|
@@ -291,6 +398,13 @@ class event
|
|
|
return $nb;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Récupère les informations d'inscription d'un salarié pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param int $_id_evenement Identifiant de l'événement.
|
|
|
+ * @param int $_id_salarie Identifiant du salarié.
|
|
|
+ * @return array Retourne les informations d'inscription.
|
|
|
+ */
|
|
|
public static function getInscriptionEvenementById(int $_id_evenement, int $_id_salarie)
|
|
|
{
|
|
|
db::query("SELECT "
|
|
|
@@ -306,7 +420,14 @@ class event
|
|
|
return $inscription;
|
|
|
}
|
|
|
|
|
|
- public static function getInscription(int $_id_event){
|
|
|
+ /**
|
|
|
+ * Récupère les inscriptions pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param int $_id_event Identifiant de l'événement.
|
|
|
+ * @return array Retourne un tableau des inscriptions.
|
|
|
+ */
|
|
|
+ public static function getInscription(int $_id_event)
|
|
|
+ {
|
|
|
db::query("SELECT "
|
|
|
. "" . DB_T_SALARIES . ".id, "
|
|
|
. "" . DB_T_SALARIES . ".loginId, "
|
|
|
@@ -330,9 +451,14 @@ class event
|
|
|
return db::resultset();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Vérifie si un salarié est éligible pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param string $_md5 Hash MD5 de l'événement.
|
|
|
+ * @return array Retourne un tableau contenant le résultat et la description.
|
|
|
+ */
|
|
|
public static function checkEvenementBySalarie(string $_md5)
|
|
|
{
|
|
|
-
|
|
|
$return = array();
|
|
|
$now = time();
|
|
|
|
|
|
@@ -398,9 +524,16 @@ class event
|
|
|
return $return;
|
|
|
}
|
|
|
|
|
|
- public static function emargementEvenement(int $_idEvenement, int $_idSalarie, int $_idAdmin = NULL)
|
|
|
+ /**
|
|
|
+ * Enregistre l'émargement d'un salarié pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param int $_idEvenement Identifiant de l'événement.
|
|
|
+ * @param int $_idSalarie Identifiant du salarié.
|
|
|
+ * @param int|null $_idAdmin Identifiant de l'administrateur (facultatif).
|
|
|
+ * @return array Retourne un tableau contenant le résultat et la description.
|
|
|
+ */
|
|
|
+ public static function emargementEvenement(int $_idEvenement, int $_idSalarie, ?int $_idAdmin = NULL)
|
|
|
{
|
|
|
-
|
|
|
$inscription = self::getInscriptionEvenementById($_idEvenement, $_idSalarie);
|
|
|
$evenement = self::getFiche($_idEvenement);
|
|
|
|
|
|
@@ -432,6 +565,11 @@ class event
|
|
|
return $return;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Enregistre l'émargement d'un salarié pour un événement via un QR code.
|
|
|
+ *
|
|
|
+ * @return array Retourne un tableau contenant le résultat et la description.
|
|
|
+ */
|
|
|
public static function emargementEvenementByQRCode()
|
|
|
{
|
|
|
$idSalarie = core::getGet("s");
|
|
|
@@ -452,6 +590,12 @@ class event
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Affiche un bouton pour un événement spécifique.
|
|
|
+ *
|
|
|
+ * @param array $_array Données de l'événement.
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
public static function printEventBouton(array $_array)
|
|
|
{
|
|
|
switch ($_array["nb"]) {
|
|
|
@@ -513,6 +657,12 @@ class event
|
|
|
</div>';
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Affiche une icône de résultat pour un flash QR code.
|
|
|
+ *
|
|
|
+ * @param string $_result Résultat du flash (1 pour succès, autre pour échec).
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
public static function printIconeResultFlash(string $_result)
|
|
|
{
|
|
|
if ($_result == 1) {
|