Clément K 4 лет назад
Родитель
Сommit
428fdce2f2

+ 1 - 1
src/Controller/HashtagController.php

@@ -31,7 +31,7 @@ class HashtagController extends AbstractController
         $hashtag = $repository_hashtag->findOneBy(array("name" => $name));
         if ($hashtag) {
             $messages = $hashtag->getMessage()->getValues();
-            // Tri des postes
+            // Tri des posts
             usort($messages, array($this, "cmp_array"));
             return $this->render('hashtag/index.html.twig', [
                 'messages' => $messages,

+ 13 - 1
src/Controller/HomeController.php

@@ -58,7 +58,7 @@ class HomeController extends AbstractController
                 $dh = array();
                 $urls = array();
                 
-                // Recherche de motifs spéciaux (@, #, ...)
+                // Recherche de motifs spéciaux (@, #, DP, DH, url)
                 preg_match_all("~@([a-zA-Z0-9_]*)~", $text, $mentions);
                 preg_match_all("~#([a-zA-Z0-9_]*)~", $text, $hashtags);
                 preg_match_all("!DP %(.+)(?:\s|$)!U", $text, $dp);
@@ -79,8 +79,10 @@ class HomeController extends AbstractController
                 if (!empty($urls[0])) {
                     $text = preg_replace($urls[0], $urls[1], $text);
                 }
+                // on vérifie s'il y a des mentions
                 for($i=0; $i < sizeof($mentions[0]); $i++) {
                     $user = $repository_profile->findOneBy(array('username' => $mentions[1][$i]));
+                    //si l'utilisateur mentionné existe on l'ajoute
                     if ($user) {
                         $message->addMention($user);
                         $mentions[1][$i] = "<a href='/profile/" . $mentions[1][$i] . "'>" . $mentions[0][$i] . "</a>";
@@ -91,8 +93,10 @@ class HomeController extends AbstractController
                     }
                 }
                 $repository_hashtag = $em->getRepository(Hashtag::class);
+                // on vérifie s'il y a des hashtags
                 for ($i = 0; $i < sizeof($hashtags[0]); $i++) {
                     $hashtag = $repository_hashtag->findOneBy(array('name' => $hashtags[1][$i]));
+                    //on le crée si pas déjà existant
                     if (!$hashtag) {
                         $hashtag = new Hashtag();
                         $hashtag->setName($hashtags[1][$i]);
@@ -102,6 +106,7 @@ class HomeController extends AbstractController
                     $hashtags[0][$i] = "~" . $hashtags[0][$i] . "~";
                     $em->persist($hashtag);
                 }
+                // on vérifie s'il y a des profils diablo
                 for($i=0; $i < sizeof($dp[0]); $i++) {
                     $ch = curl_init("https://richie.u-strasbg.fr/~virgile/sf4/public/index.php/cours/diablo/");
                     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@@ -120,6 +125,7 @@ class HomeController extends AbstractController
                         $text = preg_replace($dp[0], $dp[1], $text);
                     }
                 }
+                //on vérifie s'il y a des héros diablo
                 for($i=0; $i < sizeof($dh[0]); $i++) {
                     $values = explode("/", $dh[1][$i]);
                     $ch = curl_init("https://richie.u-strasbg.fr/~virgile/sf4/public/index.php/cours/diablo/");
@@ -162,6 +168,7 @@ class HomeController extends AbstractController
         $subscriptions = $profile->getSubscriptions();
         $rt = $profile->getRetweets();
         $sub_msg = array();
+        //traitement des retweets s'il y en a
         foreach ($rt as $r) {
             $og_message = $r->getOgMessage();
             $rt_message = new Message();
@@ -171,19 +178,23 @@ class HomeController extends AbstractController
             $rt_message->setDate($r->getRtDate());
             array_push($sub_msg, $rt_message);
         }
+        //traitement des messages où l'utilisateur est mentionné
         foreach ($mentioned_messages as $msg_m) {
             if (!in_array($msg_m->getSender(), $subscriptions->getValues())) {
                 array_push($sub_msg, $msg_m);
             }
         }
+        //récupération des messages de l'utilsiateur connecté
         foreach ($profile->getMessages() as $msg_u) {
             array_push($sub_msg, $msg_u);
         }
+        //récupération des messages de ses abonnements
         foreach ($subscriptions as $user) {
             foreach ($user->getMessages() as $msg) {
                 array_push($sub_msg, $msg);
             }
         }
+        //tri par date
         usort($sub_msg, array($this, "cmp_array"));
 
 
@@ -208,6 +219,7 @@ class HomeController extends AbstractController
         $repository_profile = $em->getRepository(User::class);
         $profile = $repository_profile->findOneBy(array('username' => $session->get('user')));
         $repository_message = $em->getRepository(Message::class);
+        // création du retweet et ajout en bdd
         $rt = new Retweets();
         $rt->setRtDate(new \DateTime("now"));
         $rt->setRetweeter($profile);

+ 9 - 0
src/Controller/MessageController.php

@@ -17,6 +17,7 @@ use Symfony\Component\Validator\Constraints\Date;
 
 class MessageController extends AbstractController
 {
+    // fonction permettant le tri des tweets par ordre chronologique décroissant
     private function cmp_array($a, $b): int
     {
         if ($a->getDate() == $b->getDate()) {
@@ -28,14 +29,17 @@ class MessageController extends AbstractController
     #[Route('/message/{msgId}', name: 'message')]
     public function index(Request $request,$msgId): Response
     {
+        // récupération de la session
         $session = $this->get('session');
         $em = $this->getDoctrine()->getManager();
         $repository_message = $em->getRepository(Message::class);
 
+        // on vérifie s'il est connecté
         if (null === $session->get('user')) {
             return  $this->redirectToRoute('login');
         }
 
+        //génération du formulaire
         $options = array("action" => $this->generateUrl('message', array('msgId' => $msgId)));
         $form = $this->createForm(MessageType::class, null, $options);
 
@@ -52,8 +56,10 @@ class MessageController extends AbstractController
                 $hashtags = array();
                 preg_match_all("~@([a-zA-Z0-9_]*)~", $text, $mentions);
                 preg_match_all("~#([a-zA-Z0-9_]*)~", $text, $hashtags);
+                // on vérifie s'il y a des mentions
                 for ($i = 0; $i < sizeof($mentions[0]); $i++) {
                     $user = $repository_profile->findOneBy(array('username' => $mentions[1][$i]));
+                    // on ajoute la mention s'il l'utilisateur mentionné existe
                     if ($user) {
                         $message->addMention($user);
                         $mentions[1][$i] = "<a href='/profile/" . $mentions[1][$i] . "'>" . $mentions[0][$i] . "</a>";
@@ -64,8 +70,10 @@ class MessageController extends AbstractController
                     }
                 }
                 $repository_hashtag = $em->getRepository(Hashtag::class);
+                // on vérifie s'il y a des hashtags
                 for ($i = 0; $i < sizeof($hashtags[0]); $i++) {
                     $hashtag = $repository_hashtag->findOneBy(array('name' => $hashtags[1][$i]));
+                    // on le crée s'il nest pas déjà existant
                     if (!$hashtag) {
                         $hashtag = new Hashtag();
                         $hashtag->setName($hashtags[1][$i]);
@@ -75,6 +83,7 @@ class MessageController extends AbstractController
                     $hashtags[0][$i] = "~" . $hashtags[0][$i] . "~";
                     $em->persist($hashtag);
                 }
+                //on remplace le @mention et #hashtag par des balies <a> et on ajoute le message à la bdd
                 $text = preg_replace($mentions[0], $mentions[1], $text);
                 $message->setText(preg_replace($hashtags[0], $hashtags[1], $text));
                 $message->setSender($profile);