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));
 }
Ejemplo n.º 2
0
 /**
  * @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()));
 }
Ejemplo n.º 3
0
 /**
  * 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;
 }
Ejemplo n.º 4
0
 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()));
 }
Ejemplo n.º 6
0
 /**
  * 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();
 }