예제 #1
0
<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>
예제 #2
0
$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 
예제 #3
0
 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;
     }
 }
예제 #4
0
<?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 
}
예제 #5
0
			<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";
    }
}
예제 #6
0
<?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);
}