Esempio n. 1
0
 public static function accueil($request, $context)
 {
     try {
         // On cherche les tweets dans la base, on marque ceux déjà votés
         // et on les ajoute à la session
         $tweets = tweetTable::getLastTweets(100, 30);
         mainController::marquerTweetsVotes($tweets);
         context::setSessionAttribute("derniersTweets", $tweets);
         // Pour implémenter la petite bulle en bas, qui affiche les messages sans voir
         // on s'est basé sur l'accès de l'utilisateur à la page d'accueil.
         // Chaque fois qu'il accède, on actualise une variable en session qui stocke
         // la dernière date et heure d'accès.
         //
         // Puis, toutes les N secondes (on a mis 5 pour ne pas devoir attendre beaucoup)
         // on exécute une fonction javascript qui va chercher, à travers AJAX, la quantité des
         // tweets qui ont été publiés depuis cette dernière date d'accès jusqu'à maintenant.
         //
         // Lors de l'affichage de l'accueil, on va aussi identifier les messages qui n'ont
         // pas été lus. Pour faire ¢a, avant d'actualiser la date dans la session, on va
         // la copier dans une autre variable de session. La view devra donc afficher
         // différemment les tweets aui ont été créés entre ces deux dates.
         $dernierAcces = key_exists("dateAccesAccueil", $_SESSION) ? context::getSessionAttribute("dateAccesAccueil") : date("Y-m-d H:i:s");
         context::setSessionAttribute("preDateAccesAccueil", $dernierAcces);
         // "pre" de précédente
         context::setSessionAttribute("dateAccesAccueil", date("Y-m-d H:i:s"));
         return context::SUCCESS;
     } catch (Exception $e) {
         context::setSessionAttribute("erreur", $e);
         return context::ERROR;
     }
 }