/** * @Route("admin/insert/post", name="insert_post") * @Template("@App/admin/insertPost.html.twig") */ public function insertPostAction(Request $request) { $post = new Post(); $em = $this->getDoctrine()->getManager(); $form = $this->createForm(PostType::class, $post); if ($request->getMethod() == 'POST') { $form->handleRequest($request); if ($form->isValid()) { $newTags = $post->getNewTags(); if (null !== $newTags) { $newTags = explode(',', trim($newTags)); foreach ($newTags as $item) { $tag = new Tag(); $tag->setTagName(trim($item)); $tag->setWeightTag(1); $em->persist($tag); $post->addTag($tag); } } $newCategory = $post->getNewCategory(); if (null !== $newCategory) { $category = new Category(); $category->setCategoryName(trim($newCategory)); $em->persist($category); $post->setCategory($category); } $post->uploadImage(); $post->setNewTags(null); $post->setNewCategory(null); $post->setRating(0); $em->persist($post); $em->flush(); $this->updateTagsCloud(); return $this->redirectToRoute('homepage'); } } return ['form' => $form->createView()]; }