lib/composer/BartBundle/src/VisualMedia/BartBundle/Controller/RootController.php line 128

Open in your IDE?
  1. <?php
  2. namespace VisualMedia\BartBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use phpDocumentor\Reflection\DocBlock\Tags\Return_;
  5. use VisualMedia\BartBundle\Controller\RootController;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\DependencyInjection\ContainerInterface;
  8. use VisualMedia\BartBundle\Entity\RootEntity;
  9. use VisualMedia\LisaBundle\Service\SettingProvider;
  10. use VisualMedia\SettingsBundle\Entity\BaseSetting;
  11. use Symfony\Component\HttpFoundation\RequestStack;
  12. /**
  13.  * RootController short summary.
  14.  *
  15.  * RootController description.
  16.  *
  17.  * @version 1.0
  18.  * @author berend
  19.  */
  20. class RootController extends AbstractController
  21. {
  22.     private static $staticcontainer false;
  23.     private static $head;
  24.     public static $controller;
  25.     public static $requestStack;
  26.     protected static $services = array();
  27.     private static $settingsCache = [];
  28.     function __construct(\Symfony\Component\Asset\Packages $assetManagerRequestStack $requestStack){
  29.         RootController::$controller $this;
  30.         //static::$requestStack = $this->requestStack;
  31.         static::$requestStack $requestStack;
  32.         RootController::$head .= '<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>';
  33.         RootController::$head.='<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/dt-1.11.4/datatables.min.css"/>';
  34.         RootController::$head.='<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.11.4/datatables.min.js"></script>';
  35.         static::$services['assets.packages'] = $assetManager;
  36.         //$manager = $this->get("assets.packages");
  37.     }
  38.     public static function resetCache(){
  39.         static::$services = [];
  40.         static::$settingsCache = [];
  41.     }
  42.     public static function getSession(){
  43.         return static::$requestStack->getSession();
  44.     }
  45.     public static function init(ContainerInterface $container null)
  46.     {
  47.         if(isset($container) && $container){
  48.             //dd($container, get_class_methods($container));
  49.             RootEntity::$doctrine $container->get('doctrine');
  50.             static::$staticcontainer $container;
  51.         }
  52.     }
  53.     public static function getDoctrineObject(){
  54.         return RootEntity::$doctrine;
  55.     }
  56.     public static function getHead():Response
  57.     {
  58.         //dd(RootController::$controller);
  59.         return new Response(RootController::$head);
  60.     }
  61.     public static function renderTwig($data$template=false){
  62.         if(!$template){
  63.             //find from element
  64.         }
  65.         //dump($data);
  66.         if(is_object($self $data)){
  67.             $data = (array) $data;
  68.             $data['self'] = $self;
  69.         }
  70.         // dd($data);
  71.         return RootController::getService("twig")->render($template$data);
  72.     }
  73.     public static function getService($id)
  74.     {
  75.         if(isset(RootController::$services[$id])){
  76.             return RootController::$services[$id];
  77.         }
  78.         $service RootController::$staticcontainer->get($id);
  79.         RootController::$services[$id] = $service;
  80.         return $service;
  81.     }
  82.     public static function getSetting($key){
  83.         if(isset(static::$settingsCache[$key])){
  84.             return static::$settingsCache[$key];
  85.         }
  86.         else{
  87.             $repo = static::getDoctrineObject()->getRepository(BaseSetting::class);
  88.             $setting $repo->findBy(["reference" => $key]);
  89.             if(count($setting)>0){
  90.                 $value $setting[0]->value;
  91.                 static::$settingsCache[$key] = $value;
  92.                 return $value;
  93.             }
  94.             else{
  95.                 return false;
  96.             }
  97.         }
  98.     }
  99.     public static function asset($url){
  100.         $manager RootController::getService("assets.packages");
  101.         return $manager->getUrl($url);
  102.     }
  103.     public static function isPermitted(string $permission): bool
  104.     {
  105.         if (!RootController::$controller) {
  106.             return false;
  107.         }
  108.         return RootController::$controller->isGranted($permission);
  109.     }
  110. }