예제 #1
0
 public function processAddInterest(InterestEvent $event)
 {
     // Initialisation
     $userLogCustomer = new UserLog();
     $userLogCustomer->setOwner($event->getCustomer());
     // L'acheter potentiel ( interest ) est le propriétaire du log
     $userLogCustomer->setUser($event->getCustomer());
     $userLogCustomer->setUserAsked($event->getCustomer());
     $userLogCustomer->setAdvert($event->getAdvert());
     $userLogCustomer->setContent('');
     $userLogCustomer->setType($this->getNotificationType());
     $this->recordLog($userLogCustomer);
     // Si l'utilisateur n'est pas un membre
     if (is_null($event->getOwner())) {
         $this->sendGuestMessage($event);
     } else {
         $userLog = new UserLog();
         $userLog->setType($this->getNotificationType())->setUser($event->getOwner())->setOwner($event->getCustomer())->setUserAsked($event->getOwner())->setAdvert($event->getAdvert())->setContent('');
         $this->recordLog($userLog);
         if ($event->getOwnerNotifications()) {
             $this->sendMessage($event);
         }
     }
     return;
 }
예제 #2
0
 public function processFollowRefus(FollowUserEvent $event)
 {
     // Initialisation du log pour celui qui vient de s'abonner
     $userLog = new UserLog();
     $userLog->setType($this->getNotificationType());
     // Abonnement
     $userLog->setUser($event->getUser());
     // Qui à fait la demande
     $userLog->setOwner($event->getUser());
     // Qui en fait la demande
     $userLog->setUserAsked($event->getFollowedUser());
     // Qui en fait la demande
     $userLog->setContent("Vous avez annulé l'abonnement de ");
     // Initialisation du log pour celui qui vient de s'abonner
     $userlogFollowed = new UserLog();
     $userlogFollowed->setType($this->getNotificationType());
     // Abonnement
     $userlogFollowed->setUser($event->getFollowedUser());
     // Qui à fait la demande
     $userlogFollowed->setOwner($event->getFollowedUser());
     // Qui en fait la demande
     $userlogFollowed->setUserAsked($event->getUser());
     // Qui en fait la demande
     $userlogFollowed->setContent("Annulation de votre abonnement pour: ");
     $this->recordLog($userLog, $userlogFollowed);
     return;
 }
예제 #3
0
 public function processFollow(FollowUserEvent $event)
 {
     // Initialisation du log principal
     $userLog = new UserLog();
     // Si c'est une annulation d'abonnement
     if (!$event->getStatus()) {
         // Le type
         $userLog->setType($this->getNotificationType());
         // Abonnement
         $userLog->setUser($event->getUser());
         // Qui est concerné par la demande
         $userLog->setUserAsked($event->getFollowedUser());
         // Qui en fait la demande
         $userLog->setOwner($event->getUser());
         // Qui en fait la demande
         $userLog->setContent('Vous ne suivez plus ');
         $this->entityManager->persist($userLog);
         $this->entityManager->flush();
     } else {
         // Le type
         $userLog->setType($this->getNotificationType());
         // Abonnement
         $userLog->setUser($event->getFollowedUser());
         // Qui est concerné par la demande
         $userLog->setUserAsked($event->getUser());
         // Qui en fait la demande
         $userLog->setOwner($event->getUser());
         // Qui en fait la demande
         $userLog->setContent('vous suit désormais');
         // Initialisation du log pour celui qui vient de s'abonner
         $userLogFollowed = new UserLog();
         $userLogFollowed->setType($this->getNotificationType());
         // Abonnement
         $userLogFollowed->setUser($event->getUser());
         // Qui à fait la demande
         $userLogFollowed->setUserAsked($event->getFollowedUser());
         // Qui en fait la demande
         $userLogFollowed->setOwner($event->getUser());
         // Qui en fait la demande
         $userLogFollowed->setContent('Vous êtes maintenant abonné à ');
         $this->entityManager->persist($userLog);
         $this->entityManager->persist($userLogFollowed);
         $this->entityManager->flush();
         if ($event->getUserFollowedNotifications()) {
             $this->sendMessage($event);
         }
     }
     return;
 }