public function newAction(Request $request) { $user = $this->getUser(); $em = $this->getDoctrine()->getEntityManager(); $article = new Article(); if ($user != NULL) { $name = $user->getUsername(); $article->setAuteur($name); $article->setDate(new \DateTime()); $article->setContenu('Ecrivez votre article ici'); $form = $this->createFormBuilder($article)->add('titre', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType')->add('image', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\UrlType')->add('description', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType')->add('contenu', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextareaType')->add('save', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SubmitType', array('label' => 'Créer'))->getForm(); } else { $name = NULL; $article->setDate(new \DateTime()); $article->setContenu('Ecrivez votre article ici'); $form = $this->createForm($article)->add('titre', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType')->add('auteur', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType')->add('image', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\UrlType')->add('description', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType')->add('contenu', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextareaType')->add('save', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SubmitType', array('label' => 'Créer'))->getForm(); } if ($request->isMethod('POST')) { $form->submit($request->request->get($form->getName())); $article = $form->getData(); $em->persist($article); $em->flush(); return $this->redirect($this->generateUrl("blog_homepage")); } return $this->render('BlogBundle:Blog:new.html.twig', array('form' => $form->createView(), 'name' => $name)); }
/** * @Route("/admin", name="admin") */ public function indexAction(request $request) { $article = new Article(); $category = new Category(); $tag = new Tag(); $session = new Session(); $user = $this->get('security.token_storage')->getToken()->getUser(); $article->setUser($user); $formArticle = $this->createForm(ArticleType::class, $article); $formArticle->handleRequest($request); $formCategory = $this->createForm(CategoryType::class, $category); $formCategory->handleRequest($request); $formTag = $this->createForm(TagType::class, $tag); $formTag->handleRequest($request); if ($formArticle->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($article); $em->flush(); $session->getFlashBag()->add('success', 'L\'article a été ajouté !'); } if ($formCategory->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($category); $em->flush(); $session->getFlashBag()->add('success', 'La catégorie a été ajoutée !'); } if ($formTag->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($tag); $em->flush(); $session->getFlashBag()->add('success', 'Le tag a été ajoutée !'); } return $this->render('BlogBundle:Admin:index.html.twig', array('formArticle' => $formArticle->createView(), 'formTag' => $formTag->createView(), 'formCategory' => $formCategory->createView())); }
/** * Finds last writing lock * * @param ArticleEntity\ $article * @return mixed */ private function findWritingLockMeta(Article $article) { $metaLock = null; //search writing_lock data foreach ($article->getMetaData() as $meta) { if ($meta->getKey() == 'writing_locked') { $metaLock = $meta; break; } } return $metaLock; }
public function loadArticle(Article &$destination, Article $src, $skipSlug = false, $skipMetaData = false) { $destination->setContent($src->getContent())->setTitle($src->getTitle())->setExcerpt($src->getExcerpt())->setExcerptPhoto($src->getExcerptPhoto())->setAuthor($src->getAuthor())->setCategories($src->getCategories())->setTags($src->getTags()); if (!$skipMetaData) { //remove old metaData foreach ($destination->getMetaData() as $destMeta) { if ($src->getMetaByKey($destMeta->getKey()) === false) { $destination->removeMetaData($destMeta); } } //add new metaData foreach ($src->getMetaData() as $srcMeta) { if ($destination->hasMetaData($srcMeta) === false && $srcMeta->getKey() != 'writing_locked') { $destMeta = $destination->getMetaByKey($srcMeta->getKey()); if ($destMeta === false) { $metaDataClass = $this->metaDataClass; $destMeta = new $metaDataClass(); } $destMeta->setKey($srcMeta->getKey())->setValue($srcMeta->getValue())->setArticle($destination); $destination->addMetaData($destMeta); } } } if (!$skipSlug) { $destination->setSlug($src->getSlug()); } }
public function addAction(Request $request) { $article = new Article(); $user = $this->get('security.token_storage')->getToken()->getUser(); $article->setUser($user); $form = $this->createForm(ArticleType::class, $article); $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($article); $em->flush($article); return $this->redirectToRoute('blog_view', ['id' => $article->getId()]); } return $this->render('BlogBundle:Article:add.html.twig', array('form' => $form->createView())); }
/** * Creates a form to delete a Article entity. * * @param Article $article The Article entity * * @return \Symfony\Component\Form\Form The form */ private function createDeleteForm(Article $article) { return $this->createFormBuilder()->setAction($this->generateUrl('admin_article_delete', array('id' => $article->getId())))->setMethod('DELETE')->getForm(); }