コード例 #1
0
 public function reverseTransform($users)
 {
     if (null === $users) {
         return null;
     }
     $data = new ArrayCollection();
     foreach ($users as $user) {
         $receiver = new Receiver();
         $receiver->setUser($user);
         $receiver->setMessage($this->message);
         $data->add($receiver);
     }
     return $data;
 }
コード例 #2
0
ファイル: FrontendController.php プロジェクト: symbb/symbb
 /**
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  */
 public function showAction(Request $request)
 {
     $id = $request->get("id");
     if ($id > 0) {
         $message = $this->get('symbb.core.message.manager')->find($id);
         $isReceiver = false;
         $isSender = false;
         foreach ($message->getReceivers() as $receiver) {
             if ($receiver->getUser()->getId() == $this->getUser()->getId()) {
                 $isReceiver = true;
                 $this->get('symbb.core.message.manager')->read($receiver);
                 break;
             }
         }
         $sender = $message->getSender();
         if ($this->getUser()->getId() === $sender->getid()) {
             $isSender = true;
         }
         if (!$isReceiver && !$isSender) {
             throw $this->createAccessDeniedException();
         }
         $newMessage = new Message();
         $newMessage->setSender($this->getUser());
         $receiver = new Message\Receiver();
         $receiver->setUser($sender);
         $receiver->setMessage($newMessage);
         $newMessage->addReceiver($receiver);
         $newMessage->setSubject($this->get("translator")->trans("Re:", array(), "symbb_frontend") . " " . $message->getSubject());
         $form = $this->getForm($newMessage, $request, false);
         $form->handleRequest($request);
         $saved = false;
         if ($form->isValid()) {
             $saved = $this->handleMessage($form, $newMessage);
         }
         if (!$saved) {
             return $this->render($this->getTemplateBundleName('forum') . ':Message:show.html.twig', array("message" => $message, "isReceiver" => $isReceiver, "isSender" => $isSender, "form" => $form->createView()));
         } else {
             return $this->sentListAction($request);
         }
     } else {
         $this->addError("Message not found!", $request);
     }
     return $this->returnToLastPage($request);
 }
コード例 #3
0
ファイル: MessageManager.php プロジェクト: symbb/symbb
 /**
  * @param Receiver $receiver
  */
 public function unread(Receiver $receiver)
 {
     $receiver->setNew(true);
     $this->em->persist($receiver);
     $this->em->flush();
 }