protected function getEncryptionKey(Share $share, $passPhrase) { return KeyGen::decrypt($share->getEncryptedKey(), $share->getUser()->getPrivateKey(), $passPhrase); }
/** * @Route("/gallery/photoAlbum/editarP/{id}") */ public function addPermissionAction(Request $request, $id) { $value = $request->request->get('user'); $userSession = $this->get('security.context')->getToken()->getUser()->getId(); $em = $this->getDoctrine()->getManager(); $photo = $em->getRepository('AppBundle:Photo')->find($id); if (!$photo) { return new Response("La foto no existe"); throw $this->createNotFoundException('No photo found for id ' . $id); } if ($userSession != $photo->getUser()) { return new Response("<h1> NO TIENES ACCESSO<h1>"); } $query = $em->createQuery('SELECT p FROM AppBundle:User p WHERE p.id <> :prop AND p.username = :user AND p.id NOT IN ( SELECT o.user FROM AppBundle:Share o WHERE o.image = :image)')->setParameters(array('image' => $id, 'user' => $value, 'prop' => $userSession)); $user = $query->getResult(); if (!$user) { return new Response("El usuario no existe o ya esta aƱadido"); throw $this->createNotFoundException('No user found'); } $permit = new Share(); $permit->setOwner($userSession); $permit->setImage($id); $permit->setUser($user[0]->getId()); $em->persist($permit); $em->flush(); return new Response("OK"); }