<?php
namespace App\Controller\Back;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Routing\Annotation\Route;
use App\Repository\UserRepository;
use App\Repository\UserContentRepository;
use App\Repository\UserSliderHeaderRepository;
/**
* @Route("/admin")
*/
class DashboardController extends AbstractController
{
/**
* @Route("/dashboard", name="back_dashboard")
*/
public function dashboard(UserRepository $userRepository, UserContentRepository $userContentRepository,
UserSliderHeaderRepository $userSliderHeaderRepository)
{
$userContents = $userContentRepository->findBy([], ['updatedAt' => 'DESC'], 50);
$userSliders = $userSliderHeaderRepository->findBy([], ['updatedAt' => 'DESC'], 50);
$arrayUpdates = array_merge($userContents, $userSliders);
usort($arrayUpdates, function($a, $b) {
$t1 = strtotime($a->getUpdatedAt()->format('d-m-Y'));
$t2 = strtotime($b->getUpdatedAt()->format('d-m-Y'));
return $t2 - $t1;
});
return $this->render('back/dashboard.html.twig', [
'countUsers' => $userRepository->count([]),
'contents' => $arrayUpdates
]);
}
/**
* @Route("/component/darkmode", name="back_darkmode")
*/
public function darkMode(SessionInterface $session)
{
if ($session->get('darkmode')) {
$session->remove('darkmode');
return $this->json([
'darkmode' => false
]);
}
$session->set('darkmode', true);
return $this->json([
'darkmode' => true
]);
}
}