Example #1
0
 /**
  * @Secure(roles="ROLE_CMS_CONTENT,ROLE_SUPERADMIN")
  *
  */
 public function articleSocialEditAction(Request $request, $blog, $id)
 {
     $em = $this->getDoctrine()->getManager();
     $blog = $em->getRepository('MajesBlogBundle:Blog')->findOneById($blog);
     $articleLang = $em->getRepository('MajesBlogBundle:ArticleLang')->findOneById($id);
     $article = null;
     if (!is_null($articleLang)) {
         $article = $articleLang->getArticle();
     }
     if (is_null($article)) {
         $article = new Article();
     }
     $article->setLang($this->_lang);
     $formArticleSocial = $this->createForm(new ArticleSocialType($request->getSession()), $article->getLang(), array('action' => $this->get('router')->generate('_blog_article_social_edit', array('blog' => $blog->getId(), 'id' => $article->getId()))));
     if ($request->getMethod() == 'POST') {
         $formArticleSocial->handleRequest($request);
         if ($formArticleSocial->isValid()) {
             $metaImage = $formArticleSocial->get('metaImage')->getData();
             if (isset($metaImage['remove'])) {
                 $metaImage = null;
             } else {
                 if (!is_null($metaImage['value'])) {
                     $media = new Media();
                     $media->setCreateDate(new \DateTime(date('Y-m-d H:i:s')));
                     $media->setUser($this->_user);
                     $media->setFolder('Blog');
                     $media->setType('picture');
                     $media->setFile($metaImage['value']);
                     $em->persist($media);
                     $em->flush();
                     $metaImage = $media;
                 } else {
                     $metaImage = $em->getRepository('MajesMediaBundle:Media')->findOneById($metaImage['id']);
                 }
             }
             $articleLang = $article->getLang();
             $articleLang = $formArticleSocial->getData();
             $articleLang->setMetaImage($metaImage);
             $em->persist($articleLang);
             $em->flush();
             return $this->redirect($this->generateUrl('_blog_article_edit', array('blog' => $blog->getId(), 'id' => $articleLang->getId())));
         }
     }
     return $this->redirect($this->generateUrl('_blog_article_edit', array('blog' => $blog->getId(), 'id' => $article->getLang()->getId())));
 }