コード例 #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
ファイル: layout.php プロジェクト: uy-rrodriguez/twitty
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Twitty Avignonnais</title>
        <link type="text/css" rel="stylesheet" href="css/style.php" />
		<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
    </head>

    <body>
        <div id="div-tete">
            <div id="div-tete-contenu">

<?php 
// On controle qu'il existe un utilisateur connecté.
// S'il y en a, l'object sera stocké dans $moi.
if (key_exists("utilisateur", $_SESSION) && !is_null($moi = context::getSessionAttribute("utilisateur"))) {
    ?>
                <div id="div-petit-profil">
                    <?php 
    include $nameApp . "/layout/petitProfil.php";
    ?>
                </div>

                <div id="div-menu">
                    <ul id="menu">
                        <li><a href="twitty.php?action=accueil">Accueil</a></li>
                        <li><a href="twitty.php?action=mesTweets">Mes tweets</a></li>
                        <li><a href="twitty.php?action=reseau">Mon réseau</a></li>
                        <li><a href="twitty.php?action=params">Paramètres</a></li>
                        <li class="item-image"><a href="twitty.php?action=quitter"><img src="img/shutdown.png" /></a></li>
                    </ul>
コード例 #3
0
ファイル: petitProfil.php プロジェクト: uy-rrodriguez/twitty
<?php

$moi = context::getSessionAttribute("utilisateur");
?>

<div id="div-petit-profil-image">
    <img class="img-avatar" src="<?php 
echo $moi->avatar . '?t=' . time();
?>
"
        onerror="this.src='img/default.png'" />
</div>

<div id="div-petit-profil-donnees">
    <span class="nom"><?php 
echo $moi->prenom . " " . $moi->nom;
?>
</span> <br />
    <span class="statut"><?php 
echo $moi->statut;
?>
</span>
</div>
コード例 #4
0
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 
echo $classeNonLu;
?>
">
コード例 #5
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 
}
コード例 #6
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;
     }
 }
コード例 #7
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";
    }
}
コード例 #8
0
<h1>Mon réseau</h1>
<table class="table-horiz table-vert">
		<tr>
			<th></th>
			<th>Prénom</th>
			<th>Nom</th>
		</tr>

<?php 
// On obtient la liste d'utilisateurs du réseau, qui devrait être dans la session.
// Pour chaque objet, on affiche des données basiques
$mesAmis = context::getSessionAttribute("mesAmis");
if (empty($mesAmis)) {
    echo "Tu n'as aucun ami.";
} else {
    foreach ($mesAmis as $u) {
        if ($u->avatar == "") {
            $u->avatar = "none";
        }
        ?>
		    <tr class="tr-link" onClick="document.location.href='twitty.php?action=voirProfil&id=<?php 
        echo $u->id;
        ?>
'">
			    <td><img class="img-avatar" src="<?php 
        echo $u->avatar;
        ?>
"
			            onerror="this.src='img/default.png'" /></td>
			    <td><?php 
        echo $u->prenom;
コード例 #9
0
<?php

$tweetTemplate = context::getSessionAttribute("tweetTemplate");
echo $tweetTemplate->getLikes() . " votes";
コード例 #10
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);
}
コード例 #11
0
ファイル: testSuccess.php プロジェクト: uy-rrodriguez/twitty
<?php

if (key_exists("reponse", $_SESSION)) {
    $rep = context::getSessionAttribute("reponse");
    if (!is_null($rep) && is_array($rep)) {
        foreach ($rep as $data) {
            echo "<h1> " . $data . " </h1>";
        }
    } else {
        echo "<h1> " . $rep . " </h1>";
    }
}
?>

<h1>Test utilisateur</h1>
<form method="POST" action="twitty.php?action=test&nomTest=testUtilisateur" enctype="multipart/form-data">
	<table class="table-horiz">
		<tr>
			<th>Identifiant : </th>
			<td><input type="text" name="identifiant" value="Bob"/></td>
		</tr>
		<tr>
			<th>Password : </th>
			<td><input type="text" name="pass" value="1"/></td>
		</tr>
		<tr>
			<th>Nom : </th>
			<td><input type="text" name="nom" value="Le bricoleur"/></td>
		</tr>
		<tr>
			<th>Prénom : </th>
コード例 #12
0
ファイル: twittyAjax.php プロジェクト: uy-rrodriguez/twitty
<?php

//nom de l'application
$nameApp = "twitty";
//action par défaut
$action = "login";
if (key_exists("action", $_REQUEST)) {
    $action = $_REQUEST['action'];
}
require_once 'lib/core.php';
require_once $nameApp . '/controller/mainController.php';
session_start();
$context = context::getInstance();
$context->init($nameApp);
$view = $context->executeAction($action, $_REQUEST);
// Inclusion de la vue
if ($view == context::SUCCESS) {
    $template_view = $nameApp . "/view/" . $action . $view . ".php";
    include $template_view;
} elseif ($view == context::ERROR) {
    echo context::ERROR . ":" . context::getSessionAttribute("erreur");
    die;
} else {
    echo context::ERROR . ":Une grave erreur s'est produite, il est probable que l'action " . $action . " n'existe pas...";
    die;
}
?>

コード例 #13
0
						<input type="text" id="input-file-text-1" class="input-file-text" disabled placeholder="Une belle image..." />
						<input type="file" id="input-file-1" class="input-file" name="imageTweet" accept=".png,.jpg,.bmp" />
					</label>
				</td>
				<td class="td-droite"><input type="button" value="Envoyer" onclick="ajaxNouveauTweet()" /></td>
			</tr>
		</table>
	</form>
<div>

<br />
<h1>Mes tweets</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("mesTweets");
if (empty($tweets)) {
    echo "Tu n'as pas encore créé aucun tweet. Fais-le maintenant! :D";
} else {
    foreach ($tweets as $tweet) {
        context::setSessionAttribute("userTweetTemplate", $moi);
        // $moi a été défini dans le layout
        context::setSessionAttribute("tweetTemplate", $tweet);
        context::setSessionAttribute("marquerNonLu", false);
        include $nameApp . "/layout/tweet_template.php";
    }
}
?>
</div>