<?php
// src/Controller/EntrepriseController.php
namespace App\Controller;
use App\Entity\Programme;
use App\Entity\AppUser;
use App\Entity\ImageArticleBlog;
use App\Entity\CategorieArticle;
use App\Form\ProgrammeType;
use App\Form\ArticleType;
use App\Entity\Article;
use App\Entity\CommentaireArticle;
use App\Form\CommentaireArticleType;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
* @Route("/{_locale}/blog")
*/
class BlogController extends AbstractController
{
/**
* @Route("/", name="blog_index")
*/
public function accueilAction()
{
$em = $this->getDoctrine()
->getManager();
$articles = $em->getRePository(Article::class)
->findAll();
return $this->render('blog/accueil.html.twig', [
'articles' => $articles
]);
}
/**
* @Route("/lire/{slug}", name="blog.lire")
*/
public function lireArticleAction(Article $article)
{
return $this->render('blog/lire_article.html.twig', [
'article' => $article
]);
}
/**
* @Route("/modifier", name="blog.modifier")
*/
public function modifierArticleAction(Article $article)
{
$em = $this->getDoctrine()
->getManager();
$em->remove($article);
$em->flush();
return $this->redirectToRoute('admin.accueil');
}
/**
* @Route("/supprimemr", name="blog.supprimmer")
*/
public function supprimerArticleAction(Article $article)
{
$em = $this->getDoctrine()
->getManager();
$em->remove($article);
$em->flush();
return $this->redirectToRoute('admin.accueil');
}
public function gererFichierMultiple(\App\Entity\Article $article, $data)
{
$photo = new ImageArticleBlog;
$photo->setFile($data);
$article->setImage($photo);
$ex = pathinfo($data['name'])['extension'];
$exA = array('jpg', 'jpeg', 'png', 'gif');
if (in_array(strtolower($ex), $exA))
{
$photo->setExtension($ex);
}
else
{
throw new \RuntimeException('Désolé, vous n\'avez pas le droit de télécharger ce type de fichier: '.$ex);
}
$name = $article->getId().time();
$namePourRepertoire = $name;
//hydratation des attributs de l'objet
$photo->setUrl($name.'.'.$photo->getExtension());
$photo->setAlt('Image de '.$article->getTitre());
//deplacement (création de l'image original)
//$this->file->move($photo->getUploadRootDir().'/original/', $name.'.'.photo->getExtension()));
if(!is_dir($photo->getUploadRootDir().'/original/') && !mkdir($photo->getUploadRootDir().'/original', 0777, true))
{
throw new \RuntimeException('Impossible de créer le dossier de destination');
}
if (!move_uploaded_file($data['tmp_name'], $photo->getUploadRootDir().'/original/'.$name.'.'.$photo->getExtension()))
{
throw new \RuntimeException('Désolé, une erreur s\'est produite.');
}
$this->getDoctrine()->getManager()->flush();
}
}