<?php
namespace App\Controller;
use App\Entity\Article;
use App\Entity\Category;
use App\Helper\VeltisControllerTrait;
use App\Repository\ArticleRepository;
use App\Repository\BannerRepository;
use App\Repository\CategoryRepository;
use App\Repository\NewsRepository;
use App\Repository\WorkingHoursRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
class ArticleController extends AbstractController
{
use VeltisControllerTrait;
/**
* @Route("/news", name="news_store")
*/
public function newsAction(Request $request, NewsRepository $newsRepository)
{
$news = $newsRepository->getNewsByLanguage($request->getLocale())->getQuery()->getResult();
return $this->render('frontend/article/news.html.twig', [
'news' => $news
]);
}
/**
* @Route("/art/{id}/{slug}", name="single_article")
*/
public function indexAction(Request $request, ArticleRepository $articleRepository)
{
/** @var $article Article */
$article = $articleRepository->getRepository()->findOneBy(['id'=>$request->attributes->get('id'), 'deletedBy'=>null]);
if (!$article) {
throw new NotFoundHttpException();
}
$locale = $request->getLocale();
if ($article->getLanguage()->getLocale() != $locale) {
$url = $article->getLanguage()->getStoreUrl().'/art/'.$article->getId().'/'.$article->getSlug();
return new RedirectResponse($url);
}
return $this->render('frontend/article/singleArticle.html.twig', [
'article' => $article
]);
}
/**
* @Route("/art/kontakt", name="old_contact_to_remove")
*/
public function oldContactAction(Request $request, ArticleRepository $articleRepository)
{
return new RedirectResponse($this->generateUrl('contact'));
}
}