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; }
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(); }
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')); }