Comment améliorer ce réseau social


-I Préambule
-II Améliorons l'application existante
-III Ajoutons la possibilité de mettre des +1 à des posts
(en cours de rédaction)-IV Ajoutons la possibilité de commenter

II Préambule

II.A Introduction

Nous allons dans ce chapitre améliorer certains éléments de l'application
Nous allons ajouter des liens pour voir les profils des utilisateurs, ajouter l'icone des membres à coté de leur noms...

II.B Ajoutons des liens vers le profil de l'utilisateur

Dans me module posts, on liste les posts de chacun, nous allons ajouter un lien permettant de voir le profil de l'auteur
Dans la vue module/Posts/view/list.php
Modifiez l'affichage du nom de l'auteur de

  
<h2><?php echo $this->tIndexdUsers[$oPosts->user_id]->firstname ?> <?php echo $this->tIndexdUsers[$oPosts->user_id]->lastname ?></h2>
   

Par

  
<h2><a href="<?php echo _root::getLink('mainShare::profil',array('user_id'=>$oPosts->user_id))?>"><?php echo $this->tIndexdUsers[$oPosts->user_id]->firstname ?> <?php echo $this->tIndexdUsers[$oPosts->user_id]->lastname ?></a></h2>
   


Dans le module contacts, on ajoute un lien sur les noms des membres trouvés lors d'une recherche
Modifier la vue module/contacts/view/find.php

  

<hr/>
<
h1>Rechercher</h1>
<
form action="" method="POST">
<
p>Rechercher <input type="text" name="pattern" /> <input type="submit"
value="Rechercher"/></p>
</
form>
<?
php if(_root::getRequest()->isPost() and _root::getParam('pattern')):?>
<h1>R&eacute;sultat(s) de recherche</h1>
<?php if($this->tUserFound):?>
<table>
<?php foreach($this->tUserFound as $oUserFound):?>
<tr>
<td>
              <a href="<?php echo _root::getLink('mainShare::profil',array('user_id'=>$oUserFound->id))?>">
              <?php echo $oUserFound->lastname?> <?php echo $oUserFound->firstname?>
              </a>
</td>
<td><a href="<?php echo _root::getLink('contacts::ask',
                                       array('id'=>$oUserFound->id))
                                       ?>">demander en contact</a></td>
</tr>
<?php endforeach;?>
</table>
<?php else:?>
<p>Aucun r&eacute;sultats</p>
<?php endif;?>
<?php 
endif;?>

   


II.C Ajoutons l'affichage de l'avatar à coté de nos contacts

Actuellement, lorsque vous afficher la page de vos contacts, vous voyez une liste de noms, nous allons leur ajouter leur icone de profil.
Mais avant tout, nous allons créer une image par défaut: si l'avatar n'est pas renseigné: ajouter cette image de 100px x 100px dans data/img sous le nom default.png
Editons notre vue module/contacts/view/listembedded.php
Ajoutons une colonne à notre tableau affichant l'image du profil

  
<?php if($this->tContacts):?>
<table>
   <?php foreach($this->tContacts as $oContact):?>
       <?php $sPicture=_root::getConfigVar('path.data').'/img/default.png'; if($oContact->profilPicture!=''){ $sPicture$oContact->profilPicture;}?>
       <tr>
           <td><img style="height:20px" src="<?php echo $sPicture;?>"/></td>
           <td><a href="<?php echo _root::getLink('mainShare::profil',array('user_id'=>$oContact->id))?>"><?php echo $oContact->lastname ?></a></td>
           <td><a href="<?php echo _root::getLink('mainShare::profil',array('user_id'=>$oContact->id))?>"><?php echo $oContact->firstname ?></a></td>
       </tr>
   <?php endforeach;?>
</table>
<?php else:?>
Aucun pour le moment
<?php endif;?>
   

Idem pour la vue module/contacts/view/listembeddedToValidate.php

  
<?php if($this->tContacts):?>
<table>
<?php foreach($this->tContacts as $oContact):?>
   <?php $sPicture=_root::getConfigVar('path.data').'/img/default.png'; if($oContact->profilPicture!=''){ $sPicture$oContact->profilPicture;}?>
   <tr>
       <td><img style="height:20px" src="<?php echo $sPicture;?>"/></td>
       <td><?php echo $oContact->lastname ?></td>
       <td><?php echo $oContact->firstname ?></td>
       <td>
          <a href="<?php echo _root::getLink('contacts::accept',
                      array('id'=>$oContact->friend_id))
                      ?>">Accepter</a>
       </td>
       <td>
          <a href="<?php echo _root::getLink('contacts::refuse',
                      array('id'=>$oContact->friend_id))
                      ?>">Refuser</a>

       </td>
   </tr>
<?php endforeach;?>
</table>
<?php else:?>
Aucun pour le moment
<?php endif;?>
   

Idem pour la vue de recherche module/contacts/view/find.php

  

<hr/>
<
h1>Rechercher</h1>
<
form action="" method="POST">
<
p>Rechercher <input type="text" name="pattern" /> <input type="submit"
value="Rechercher"/></p>
</
form>
<?
php if(_root::getRequest()->isPost() and _root::getParam('pattern')):?>
<h1>R&eacute;sultat(s) de recherche</h1>
<?php if($this->tUserFound):?>
<table>
<?php foreach($this->tUserFound as $oUserFound):?>
           <?php $sPicture=_root::getConfigVar('path.data').'/img/default.png'; if($oUserFound->profilPicture!=''){ $sPicture$oUserFound->profilPicture;}?>
<tr>
           <td><img style="height:20px" src="<?php echo $sPicture;?>"/></td>
           <td>
           <a href="<?php echo _root::getLink('mainShare::profil',array('user_id'=>$oUserFound->id))?>">
           <?php echo $oUserFound->lastname?> <?php echo $oUserFound->firstname?>
           </a>
           </td>
           <td><a href="<?php echo _root::getLink('contacts::ask',
                                   array('id'=>$oUserFound->id))
                                   ?>">demander en contact</a></td>
</tr>
<?php endforeach;?>
</table>
<?php else:?>
<p>Aucun r&eacute;sultats</p>
<?php endif;?>
<?php 
endif;?>
   

Ce qui donne:


Téléchargez le zip

Téléchargez l'archive du projet à cette étape en cliquant ici
A copier dans le répertoire data/genere du mkframework


Lire la suite : III Ajoutons la possibilité de mettre des +1 à des posts