mirror of
https://github.com/quentin-g-dev/afup.git
synced 2026-03-30 21:22:10 +02:00
* correction de la configuration * renommage des services pour preparer SF4 * remplacement des noms de service par les noms de classe * ajout commentaire pour les services n'ayant pas de nom sous forme de nom de classe
66 lines
1.8 KiB
PHP
66 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace AppBundle\Controller;
|
|
|
|
use Afup\Site\Corporate\Articles;
|
|
use Afup\Site\Corporate\Branche;
|
|
use Afup\Site\Corporate\Feuille;
|
|
use AppBundle\Event\Model\Repository\TalkRepository;
|
|
use AppBundle\Event\Model\Talk;
|
|
|
|
class HomeController extends SiteBaseController
|
|
{
|
|
const MAX_ARTICLES = 5;
|
|
const MAX_MEETUPS = 10;
|
|
|
|
public function displayAction()
|
|
{
|
|
$afupBdd = $GLOBALS['AFUP_DB'];
|
|
|
|
$articles = new Articles();
|
|
$derniers_articles = $articles->chargerDerniersAjouts(self::MAX_ARTICLES);
|
|
|
|
$branche = new Branche($afupBdd);
|
|
$enfants = $branche->feuillesEnfants(Feuille::ID_FEUILLE_COLONNE_DROITE);
|
|
|
|
$premiereFeuille = array_shift($enfants);
|
|
$deuxiemeFeuille = array_shift($enfants);
|
|
|
|
return $this->render(
|
|
':site:home.html.twig',
|
|
[
|
|
'actualites' => $derniers_articles,
|
|
'meetups' => $this->getLatestMeetups(),
|
|
'premiere_feuille' => $premiereFeuille,
|
|
'deuxieme_feuille' => $deuxiemeFeuille,
|
|
'autres_feuilles' => $enfants,
|
|
'talk' => null === $deuxiemeFeuille ? $this->getTalkOfTheDay() : $deuxiemeFeuille,
|
|
]
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @return Talk
|
|
*/
|
|
protected function getTalkOfTheDay()
|
|
{
|
|
return $this->get('ting')->get(TalkRepository::class)->getTalkOfTheDay(new \DateTime());
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
protected function getLatestMeetups()
|
|
{
|
|
if (false === $this->getParameter('home_algolia_enabled')) {
|
|
return [];
|
|
}
|
|
|
|
$algolia = $this->get(\AlgoliaSearch\Client::class);
|
|
$index = $algolia->initIndex('afup_meetups');
|
|
$results = $index->search('', ['hitsPerPage' => self::MAX_MEETUPS]);
|
|
|
|
return $results['hits'];
|
|
}
|
|
}
|