/** * * {@inheritdoc} */ public function load(ObjectManager $manager) { $posts = $manager->getRepository('ModelBundle:Post')->findAll(); $faker = FakerFactory::create('ru_RU'); foreach ($posts as $post) { $comment = new Comment(); $comment->setAuthorName($faker->firstName); $comment->setBody($faker->paragraph(3)); $comment->setCommentObject($post); $manager->persist($comment); } $manager->flush(); }
/** * Create comment form and save form * @param $object * @param Request $request * * @return boolean|FormInterface */ public function createComment($object, Request $request, $commentForm) { $comment = new Comment(); $comment->setCommentObject($object); $form = $this->formFactory->create($commentForm, $comment); $form->handleRequest($request); if ($form->isValid()) { if ($object) { $object->addComment($comment); } $this->em->persist($comment); $this->em->flush(); $this->eventDispatcher->dispatch(CommentEvents::COMMENT_CREATE, new CommentEvent($comment)); $user = $this->securityContext->getToken()->getUser(); if ($user instanceof UserInterface) { //create ACL $objectIdentity = ObjectIdentity::fromDomainObject($comment); $acl = $this->aclProvider->createAcl($objectIdentity); //securIdentity $securityIdentity = UserSecurityIdentity::fromAccount($user); $acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER); $this->aclProvider->updateAcl($acl); } return $comment; } return $form; }
private function sendNewCommentMessage(Comment $comment) { $message = Swift_Message::newInstance()->setSubject('New comment created')->setFrom('*****@*****.**')->setTo('*****@*****.**')->setBody('New Comment created for post ' . $comment->getCommentObject()->getId()); $this->mailer->send($message); }