Ejemplo n.º 1
0
 private function checkIfUserFollow(User $user)
 {
     $me = $this->container->get('security.token_storage')->getToken()->getUser();
     if (is_object($me) || $me instanceof User) {
         $toArray = array();
         $followedByMe = $me->getFolloweduser();
         foreach ($followedByMe as $i) {
             $toArray[] = $i->getId();
         }
         if (in_array($user->getId(), $toArray)) {
             return true;
         }
         return false;
     }
     return false;
 }
Ejemplo n.º 2
0
 public function followUserAction(Request $request, User $followed)
 {
     if ($request->isXmlHttpRequest()) {
         $user = $this->getUser();
         if (!is_object($user) || !$user instanceof User) {
             return false;
         }
         $response = new JsonResponse();
         $followedUser = $user->getFolloweduser();
         $toArray = array();
         $followedTotalFollower = $followed->getTotalFollower();
         foreach ($followedUser as $r) {
             $toArray[] = $r->getId();
         }
         if (in_array($followed->getId(), $toArray)) {
             $user->removeFolloweduser($followed);
             $followedTotalFollower -= 1;
             $followed->setTotalFollower($followedTotalFollower);
             $hiddenUser = $this->get('sz_advert_manager')->getHiddenUsers($user);
             if (in_array($followed->getId(), $hiddenUser)) {
                 $user->removeHiddenUser($followed);
             }
             // False permet de spécifier que c'est une suppression
             $this->get('event_dispatcher')->dispatch(SkuagEvents::ON_FOLLOW_USER, new FollowUserEvent($user, $followed, false));
             $response->setData(array('username' => $followed->getUsername(), 'subject' => "Vous n'êtes plus abonné à "));
         } else {
             $user->addFolloweduser($followed);
             $followedTotalFollower += 1;
             $followed->setTotalFollower($followedTotalFollower);
             $this->get('event_dispatcher')->dispatch(SkuagEvents::ON_FOLLOW_USER, new FollowUserEvent($user, $followed));
             $response->setData(array('username' => $followed->getUsername(), 'subject' => 'Vous êtes abonné à '));
         }
         return $response;
     }
     return $this->errorMethodRequest();
 }
Ejemplo n.º 3
0
 public function hiddenUserAdvertAction(User $hidden)
 {
     $user = $this->getUser();
     if (!is_object($user) || !$user instanceof User) {
         throw new AccessDeniedException("Vous devez être authentifier pour accedeer à cette zone");
     }
     $advertManager = $this->getAdvertManager();
     $em = $this->getDoctrine()->getManager();
     $session = $this->get('session');
     $hiddenUserList = $advertManager->getHiddenUsers($user);
     if (in_array($hidden->getId(), $hiddenUserList)) {
         $this->get('event_dispatcher')->dispatch(SkuagEvents::ON_SHOW_USER_ADVERT, new HiddenUserAdverts($user, $hidden));
         $user->removeHiddenUser($hidden);
         $session->getFlashBag()->add('success', 'Les annonces de ' . $hidden->getUsername() . 'sont de nouveau visibles.');
     } else {
         $user->addHiddenUser($hidden);
         $this->get('event_dispatcher')->dispatch(SkuagEvents::ON_HIDDEN_USER_ADVERT, new HiddenUserAdverts($user, $hidden));
         $session->getFlashBag()->add('success', 'Vous ne verez plus les annonces de ' . $hidden->getUsername());
     }
     $em->flush();
     return $this->redirect($this->generateUrl('snoozit_dashboard_homepage'));
 }