src/Controller/BlogController.php line 29

Open in your IDE?
  1. <?php
  2. // src/Controller/EntrepriseController.php
  3. namespace App\Controller;
  4. use App\Entity\Programme;
  5. use App\Entity\AppUser;
  6. use App\Entity\ImageArticleBlog;
  7. use App\Entity\CategorieArticle;
  8. use App\Form\ProgrammeType;
  9. use App\Form\ArticleType;
  10. use App\Entity\Article;
  11. use App\Entity\CommentaireArticle;
  12. use App\Form\CommentaireArticleType;
  13. use Symfony\Component\HttpFoundation\Response;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  16. /**
  17. * @Route("/{_locale}/blog")
  18. */
  19.      
  20. class BlogController extends AbstractController
  21. {    
  22.     /**
  23.     * @Route("/", name="blog_index")
  24.     */
  25.     public function accueilAction()
  26.     {
  27.         
  28.         $em $this->getDoctrine()
  29.                     ->getManager();
  30.                     
  31.         $articles $em->getRePository(Article::class)
  32.                         ->findAll();
  33.         
  34.         return $this->render('blog/accueil.html.twig', [
  35.             'articles' => $articles
  36.         ]);
  37.          
  38.     }
  39.     
  40.     
  41.     /**
  42.      * @Route("/lire/{slug}", name="blog.lire")
  43.      */
  44.     public function lireArticleAction(Article $article)
  45.     {
  46.         return $this->render('blog/lire_article.html.twig', [
  47.             'article' => $article
  48.         ]);
  49.          
  50.     }
  51.     
  52.     
  53.     /**
  54.      * @Route("/modifier", name="blog.modifier")
  55.      */
  56.     public function modifierArticleAction(Article $article)
  57.     {
  58.         $em $this->getDoctrine()
  59.                 ->getManager();
  60.                 
  61.         $em->remove($article);
  62.         $em->flush();
  63.         return $this->redirectToRoute('admin.accueil');
  64.          
  65.     }
  66.     
  67.     /**
  68.      * @Route("/supprimemr", name="blog.supprimmer")
  69.      */
  70.     public function supprimerArticleAction(Article $article)
  71.     {
  72.         $em $this->getDoctrine()
  73.                 ->getManager();
  74.                 
  75.         $em->remove($article);
  76.         $em->flush();
  77.         return $this->redirectToRoute('admin.accueil');
  78.          
  79.     }
  80.     
  81.     
  82.     public function gererFichierMultiple(\App\Entity\Article $article$data)
  83.     {
  84.         
  85.         
  86.             $photo = new ImageArticleBlog;
  87.             $photo->setFile($data);
  88.             $article->setImage($photo);
  89.             
  90.             $ex pathinfo($data['name'])['extension'];
  91.             $exA = array('jpg''jpeg''png''gif');
  92.             
  93.             if (in_array(strtolower($ex), $exA))
  94.             {
  95.             
  96.                 $photo->setExtension($ex);
  97.             }
  98.             
  99.             else
  100.             {
  101.                 throw new \RuntimeException('Désolé, vous n\'avez pas le droit de télécharger ce type de fichier: '.$ex);
  102.             }
  103.             
  104.             $name $article->getId().time();
  105.             $namePourRepertoire $name;
  106.             //hydratation des attributs de l'objet
  107.             $photo->setUrl($name.'.'.$photo->getExtension());
  108.             $photo->setAlt('Image de '.$article->getTitre());
  109.             
  110.             //deplacement (création de l'image original)
  111.             //$this->file->move($photo->getUploadRootDir().'/original/', $name.'.'.photo->getExtension()));
  112.             
  113.             
  114.             if(!is_dir($photo->getUploadRootDir().'/original/') && !mkdir($photo->getUploadRootDir().'/original'0777true))
  115.             {
  116.                 throw new \RuntimeException('Impossible de créer le dossier de destination');
  117.             }
  118.             
  119.             if (!move_uploaded_file($data['tmp_name'], $photo->getUploadRootDir().'/original/'.$name.'.'.$photo->getExtension()))
  120.             {
  121.                 throw new \RuntimeException('Désolé, une erreur s\'est produite.');
  122.             }        
  123.         
  124.         
  125.         $this->getDoctrine()->getManager()->flush();
  126.         
  127.     }
  128. }