| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- /**
- * Classe printPaper
- *
- * Cette classe gère l'affichage et l'impression de documents, notamment les QR codes pour les événements.
- */
- class printPaper
- {
- /**
- * Gère l'affichage en fonction de la page et de l'identifiant donnés.
- *
- * @param string $_page La page à afficher.
- * @param int $_id L'identifiant associé à la page.
- */
- public static function switch(string $_page, int $_id){
- switch ($_page) {
- case 'qrcode-event':
- self::qrcodeEmargement($_id);
- break;
-
- default:
- echo NULL;
- break;
- }
- }
-
- /**
- * Recherche un élément spécifique dans une page.
- *
- * @param string $_element L'élément à rechercher.
- * @return string Le modèle de l'élément recherché.
- */
- private static function searchElementPage(string $_element){
- return "{{" . $_element . "}}";
- }
-
- /**
- * Affiche une page avec des éléments remplacés par des valeurs données.
- *
- * @param string $_page Le nom de la page à afficher.
- * @param array $_search Les éléments à rechercher dans la page.
- * @param array $_replace Les valeurs de remplacement pour les éléments.
- */
- private static function show(string $_page, array $_search, array $_replace){
- $template = DIR_PRINT . "cms." . $_page . ".html";
- if(file_exists($template)){
- $pageEmpty = file_get_contents($template);
- $pageCompleted = $pageEmpty;
- echo str_replace($_search, $_replace, $pageCompleted);
- } else {
- return NULL;
- }
-
- }
-
- /**
- * Affiche un QR code pour l'émargement d'un événement donné.
- *
- * @param int $_idEvent L'identifiant de l'événement.
- */
- private static function qrcodeEmargement(int $_idEvent){
- $event = event::getFiche($_idEvent);
- if($event["actif"] == 0){
- $alert = '<div class="alert alert-danger" role="alert">Cet évènement est désactivé et non visible des salariés.</div>';
- } else {
- $alert = "";
- }
- if($event["type_inscription"] == 0){
- $note = '<div class="alert alert-success" role="alert">Evènement sans inscription.</div>';
- } else {
- $note = '<div class="alert alert-warning" role="alert">Préinscription obligatoire</div>';
- }
- $explication = "Pour vous émarger, il vous faut scanner ce QRCode ou vous rendre sur <span style='font-weight : bold;'>https://" . DOMAIN_EVENTS . "</span> dans le navigateur de votre mobile.<br />";
- $explication .= "Une fois sur l'app mobile, il vous faut renseigner votre <span style='font-weight : bold;'>matricule Capgemini</span> <span style='font-style: italic;'>(composé de chiffres et présent sur votre fiche paie)</span> ou votre <span style='font-weight : bold;'>identifiant Capgemini</span> <span style='font-style: italic;'>(qui est généralement la première lettre de votre prénom suivi de votre nom)</span> et votre <span style='font-weight : bold;'>date de naissance</span> <span style='font-style: italic;'>(celle renseignée sur le site du CSE)</span>.<br />";
- $explication .= "Une fois connecté, il vous suffira de cliquer sur la tuile correspondante à l'évènement <span style='font-style: italic;'>(la première fois, il vous faudra accepter les droits d'accès à votre caméra)</span> et de scanner ce QRcode.<br />";
-
- if($event["type_inscription"] == 0) { $explication .= "Cet évènement est accessible à tous les salariés."; }
- else { $explication .= "Important, cet évènement est seulement accessible aux salariés qui se sont préinscrits."; }
- $search = array(
- self::searchElementPage("TITRE"),
- self::searchElementPage("PERIODE"),
- self::searchElementPage("QRCODE"),
- self::searchElementPage("EXPLICATION"),
- self::searchElementPage("NOTE"),
- self::searchElementPage("ALERTE")
- );
- $replace = array(
- $event["titre"], // TITRE
- "du " . core::convertDate($event["startDate"]) . " au " . core::convertDate($event["endDate"]), // PERIODE
- event::getQRCode($event["id"], "300"), // QRCODE
- $explication, // EXPLICATION
- $note, // NOTE
- $alert // ALERTE
- );
- self::show("qrcode-event", $search, $replace);
- }
- }
|