<h1>Actualité</h1> <div id="div-liste-tweets"> <?php // On obtient la liste des tweets qui devrait être dans la session. // Pour chaque tweet, on inclut le template et on ajoute l'info nécessaire dans la session $tweets = context::getSessionAttribute("derniersTweets"); if (is_null($tweets) || empty($tweets)) { echo "Il n'y a aucun tweet récent à montrer..."; } else { foreach ($tweets as $tweet) { context::setSessionAttribute("userTweetTemplate", $tweet->getEmetteur()); context::setSessionAttribute("tweetTemplate", $tweet); // Cette variable permet d'afficher les nouveaux tweets différemment context::setSessionAttribute("marquerNonLu", true); include $nameApp . "/layout/tweet_template.php"; } } ?> </div>
$marquerNonLu = context::getSessionAttribute("marquerNonLu"); if (is_null($userTemplate)) { $userTemplate = new Utilisateur(); } if (is_null($tweetTemplate)) { $tweetTemplate = new Tweet(); $parentTemplate = null; $postTemplate = new Post(); } else { $parentTemplate = $tweetTemplate->getParent(); $postTemplate = $tweetTemplate->getPost(); } // On nettoye la session context::setSessionAttribute("userTweetTemplate", null); context::setSessionAttribute("tweetTemplate", null); context::setSessionAttribute("marquerNonLu", null); // Normalement, dans l'accueil on va identifier les messages qui n'ont pas été lus. $classeNonLu = ""; if ($marquerNonLu) { $diffDates = strtotime($postTemplate->date) - strtotime(context::getSessionAttribute("preDateAccesAccueil")); $classeNonLu = $diffDates > 0 ? "tweet-non-lu" : ""; } if ($userTemplate->avatar == "") { $userTemplate->avatar = "none"; } ?> <div id="div-tweet-<?php echo $tweetTemplate->id; ?> " class="tweet <?php
public static function params($request, $context) { try { $u = context::getSessionAttribute("utilisateur"); // Enregistrer le profil public if (key_exists("enregistrerProfil", $request)) { $u->statut = htmlspecialchars($request["statut"], $flags = ENT_QUOTES | ENT_HTML401); $u->prenom = $request["prenom"]; $u->nom = $request["nom"]; if (key_exists("avatar", $_FILES) && $_FILES["avatar"]["size"] > 0) { $path = mainController::uploadImage("avatar", mainController::REPERTOIRE_AVATAR, $u->id); if (empty($path)) { // Si on n'arrive pas à stocker l'image, on ne s'arrête pas. context::setSessionAttribute("erreur", new Exception("Il y a eu une erreur pour télécharger l'avatar.")); } else { $u->avatar = $path; } } if (is_null($u->save())) { throw new Exception("Il y a eu une erreur pour enregistrer le profil public."); } else { context::setSessionAttribute("succes", "Le profil à bien été modifié."); return context::SUCCESS; } } else { if (key_exists("enregistrerSecurite", $request)) { // On contrôle le mot de passe actuel $returnLogin = utilisateurTable::getUserByLoginAndPass($u->identifiant, $request['passwordActuel']); if (is_null($returnLogin)) { throw new Exception("Le mot de passe actuel n'est pas correct!"); } // On contrôle que les nouveaux mot de passe soient égales et pas vides if (empty($request["passwordNouveau"])) { throw new Exception("Le nouveau mot de passe est vide."); } if ($request["passwordNouveau"] != $request["passwordRepete"]) { throw new Exception("Les nouveaux mots de passe ne sont pas égales."); } // Enfin, on stocke le nouveau mot de passe dans la base $u->pass = sha1($request["passwordNouveau"]); if (is_null($u->save())) { throw new Exception("Il y a eu une erreur pour enregistrer les paramètres de sécurité"); } else { context::setSessionAttribute("succes", "Le nouveau mot de passe à bien été modifié."); return context::SUCCESS; } } else { return context::SUCCESS; } } } catch (Exception $e) { context::setSessionAttribute("erreur", $e); return context::ERROR; } }
<?php // On affiche le nombre de nouveaux tweets. $info = null; if (key_exists("info", $_SESSION)) { $info = context::getSessionAttribute("info"); context::setSessionAttribute("info", null); } if (!is_null($info) && $info > 0) { ?> <div id='div-bulle-infos'> <?php echo $info; echo $info == 1 ? ' nouveau <br/> tweet !' : ' nouveaux <br/> tweets !'; ?> </div> <?php }
<td> <span class="nom"><?php echo $u->prenom . " " . $u->nom; ?> </span> <br /> <span class="statut"><?php echo $u->statut; ?> </span> </td> </tr> </table> </div> <h1>Tweets</h1> <?php // On obtient la liste des tweets qui devrait être dans la session. // Pour chaque tweet, on inclut le template et on ajoute l'info nécessaire dans la session $tweets = context::getSessionAttribute("tweetsProfil"); if (empty($tweets)) { echo "Cet utilisateur n'as jamais créé un tweet. Dis-lui de le faire maintenant! :D"; } else { foreach ($tweets as $tweet) { context::setSessionAttribute("userTweetTemplate", $u); context::setSessionAttribute("tweetTemplate", $tweet); context::setSessionAttribute("marquerNonLu", false); include $nameApp . "/layout/tweet_template.php"; } }
<?php // On affiche les erreurs et les messages de succès. /* *** Petit morceau de code pour afficher les erreurs *** */ if (key_exists("erreur", $_SESSION) && !is_null($erreurMsg = context::getSessionAttribute("erreur"))) { echo "<div class='div-erreur'>" . $erreurMsg->getMessage() . "</div>"; context::setSessionAttribute("erreur", null); } /* *** Petit morceau de code pour afficher les messages de succès *** */ if (key_exists("succes", $_SESSION) && !is_null($succesMsg = context::getSessionAttribute("succes"))) { echo "<div class='div-succes'>" . $succesMsg . "</div>"; context::setSessionAttribute("succes", null); }