/**
  * @EXT\Route(
  *     "/edit/message/{message}",
  *     name="claro_forum_edit_message"
  * )
  *
  * @EXT\Template("ClarolineForumBundle:Forum:editMessageForm.html.twig")
  *
  * @param Message $message
  */
 public function editMessageAction(Message $message)
 {
     $subject = $message->getSubject();
     $forum = $subject->getCategory()->getForum();
     $isModerator = $this->authorization->isGranted('moderate', new ResourceCollection(array($forum->getResourceNode())));
     if (!$isModerator && $this->tokenStorage->getToken()->getUser() !== $message->getCreator()) {
         throw new AccessDeniedException();
     }
     $oldContent = $message->getContent();
     $form = $this->container->get('form.factory')->create(new MessageType(), new Message());
     $form->handleRequest($this->get('request'));
     if ($form->isValid()) {
         $newContent = $form->get('content')->getData();
         $this->forumManager->editMessage($message, $oldContent, $newContent);
         return new RedirectResponse($this->generateUrl('claro_forum_messages', array('subject' => $subject->getId())));
     }
     return array('subject' => $subject, 'form' => $form->createView(), 'message' => $message, '_resource' => $forum, 'workspace' => $forum->getResourceNode()->getWorkspace());
 }
Example #2
0
 public function getMessageQuoteHTML(Message $message)
 {
     $answer = $this->translator->trans('answer_message', array(), 'forum');
     $author = $message->getCreator()->getFirstName() . ' ' . $message->getCreator()->getLastName();
     $date = $message->getCreationDate()->format($this->translator->trans('date_range.format.with_hours', array(), 'platform'));
     $by = $this->translator->trans('posted_by', array('%author%' => $author, '%date%' => $date), 'forum');
     $mask = '<div class="original-poster"><b>' . $by . '</b></div><div class="well">%s</div></div><b>' . $answer . ':</b></div>';
     return sprintf($mask, $message->getContent());
 }
 /**
  * @param \Claroline\ForumBundle\Entity\Message $message
  */
 public function __construct(Message $message)
 {
     $details = array('message' => array('id' => $message->getId(), 'content' => $message->getContent()), 'subject' => array('id' => $message->getSubject()->getId()), 'category' => array('id' => $message->getSubject()->getCategory()->getId()), 'forum' => array('id' => $message->getSubject()->getCategory()->getForum()->getId()));
     parent::__construct($message->getSubject()->getCategory()->getForum()->getResourceNode(), $details);
 }