<?php
/**
* News Controller
*
* (c) Bertin van den Ham <b.vandenham@dappr.nl>
*/
namespace App\Controller;
use App\Entity\News;
use DateTime;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use VisualMedia\LisaBundle\Component\ManagerData;
use VisualMedia\NewsBundle\Controller\NewsController as BaseNewsController;
use VisualMedia\NewsBundle\Manager\BaseNewsManager;
/**
* Project Controller
*/
class NewsController extends BaseNewsController
{
/**
* {@inheritDoc}
*/
public function ssiAction(Request $request, ?int $count = null, ?int $offset = null, News $currentNews = null): Response
{
$manager = $this->get(BaseNewsManager::class);
$news = $manager->getIndex(new ManagerData([
$manager::OPTION_PUBLISHED => true,
$manager::OPTION_UNPUBLICATION_DATE_GTE => new DateTime(),
$manager::OPTION_PUBLICATION_DATE_LTE => new DateTime(),
], array($manager::OPTION_PUBLICATIONDATE => $manager::ORDER_DIR_DESC), $count, $offset));
if($currentNews !== null) {
$news = array_filter($news, function($item) use ($currentNews) {
return $currentNews !== $item;
});
}
return $this->render('@VisualMediaNews/News/ssi.html.twig', array(
'news' => $news,
));
}
}