/** * @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()); }
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); }