src/Controller/Back/DashboardController.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Back;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use App\Repository\UserRepository;
  7. use App\Repository\UserContentRepository;
  8. use App\Repository\UserSliderHeaderRepository;
  9. /**
  10.  * @Route("/admin")
  11.  */
  12. class DashboardController extends AbstractController
  13. {
  14.     /**
  15.      * @Route("/dashboard", name="back_dashboard")
  16.      */
  17.     public function dashboard(UserRepository $userRepositoryUserContentRepository $userContentRepository,
  18.                               UserSliderHeaderRepository $userSliderHeaderRepository)
  19.     {
  20.         $userContents $userContentRepository->findBy([], ['updatedAt' => 'DESC'], 50);
  21.         $userSliders $userSliderHeaderRepository->findBy([], ['updatedAt' => 'DESC'], 50);
  22.         $arrayUpdates array_merge($userContents$userSliders);
  23.         usort($arrayUpdates, function($a$b) {
  24.             $t1 strtotime($a->getUpdatedAt()->format('d-m-Y'));
  25.             $t2 strtotime($b->getUpdatedAt()->format('d-m-Y'));
  26.             return $t2 $t1;
  27.         });
  28.         return $this->render('back/dashboard.html.twig', [
  29.             'countUsers' => $userRepository->count([]),
  30.             'contents' => $arrayUpdates
  31.         ]);
  32.     }
  33.     /**
  34.      * @Route("/component/darkmode", name="back_darkmode")
  35.      */
  36.     public function darkMode(SessionInterface $session)
  37.     {
  38.         if ($session->get('darkmode')) {
  39.             $session->remove('darkmode');
  40.             return $this->json([
  41.                 'darkmode' => false
  42.             ]);
  43.         }
  44.         $session->set('darkmode'true);
  45.         return $this->json([
  46.             'darkmode' => true
  47.         ]);
  48.     }
  49. }