src/Controller/LegacyController.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Legacy\Database;
  4. use App\Legacy\GetHelper;
  5. use App\Legacy\SecurityHelper;
  6. use App\Legacy\UrlHelper;
  7. use App\Service\NavigationService;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. use Symfony\Component\Security\Core\Security;
  13. class LegacyController extends AbstractController
  14. {
  15.     /**
  16.      * @Route("/{url}", name="app_legacy", priority=-1)
  17.      * @param $url
  18.      * @param Security $security
  19.      * @param NavigationService $navigationService
  20.      * @return Response
  21.      */
  22.     public function index(
  23.         $url,
  24.         Security $security,
  25.         NavigationService $navigationService
  26.     ): Response {
  27.         if (!$this->isGranted('ROLE_USER')) {
  28.             return $this->redirect('/login');
  29.         }
  30.         //set security for legacy checks
  31.         SecurityHelper::setSecurity($security);
  32.         global $db;
  33.         $db Database::getInstance();
  34.         define("NAME""Functielab");
  35.         define("PROJECTCODE""fl3_acc");
  36.         define("Q"trim($url"/"));
  37.         define("MINIMUMLOON"1507.80); // ook in overige.js
  38.         define("CLIENT_MAX_VRAGEN"70);
  39.         define("FMLCAT1""Persoonlijk functioneren");
  40.         define("FMLCAT2""Sociaal functioneren");
  41.         define("FMLCAT3""Fysieke omgevingseisen");
  42.         define("FMLCAT4""Dynamische handelingen");
  43.         define("FMLCAT5""Statische houdingen");
  44.         define("FMLCAT6""Werktijden");
  45.         define("OPLEIDINGSRICHTING1""Algemeen");
  46.         define("OPLEIDINGSRICHTING2""Agrarisch");
  47.         define("OPLEIDINGSRICHTING3""Technisch");
  48.         define("OPLEIDINGSRICHTING4""Diensten");
  49.         define("OPLEIDINGSRICHTING5""Gezondheidszorg");
  50.         define("OPLEIDINGSRICHTING6""Commercieel");
  51.         define("OPLEIDINGSRICHTING7""Administratief");
  52.         define("OPLEIDINGSRICHTING8""Kunst & Cultuur");
  53.         define("OPLEIDINGSNIVEAU1""Elementair");
  54.         define("OPLEIDINGSNIVEAU2""Lager");
  55.         define("OPLEIDINGSNIVEAU3""Lager + voortgezet");
  56.         define("OPLEIDINGSNIVEAU4""Middelbaar");
  57.         define("OPLEIDINGSNIVEAU5""Middelbaar + voortgezet");
  58.         define("OPLEIDINGSNIVEAU6""Hoger");
  59.         define("OPLEIDINGSNIVEAU7""Wetenschappelijk");
  60.         define("ZELFSTANDIGHEID1""Geen zelfstandige taakuitvoering");
  61.         define("ZELFSTANDIGHEID2""Minimale zelfstandige taakuitvoering");
  62.         define("ZELFSTANDIGHEID3""Beperkte zelfstandige taakuitvoering");
  63.         define("ZELFSTANDIGHEID4""Voor een gering deel zelf verantwoordelijk");
  64.         define("ZELFSTANDIGHEID5""Voor een redelijk deel zelf verantwoordelijk");
  65.         define("ZELFSTANDIGHEID6""Voor een groot deel zelf verantwoordelijk");
  66.         define("ZELFSTANDIGHEID7""Volledig verantwoordelijk");
  67.         define("PROBLEEMOPLOSSEN1""Komt vrijwel nooit voor");
  68.         define("PROBLEEMOPLOSSEN2""Kan sporadisch voorkomen");
  69.         define("PROBLEEMOPLOSSEN3""Kan soms voorkomen");
  70.         define("PROBLEEMOPLOSSEN4""Kan regelmatig voorkomen");
  71.         define("PROBLEEMOPLOSSEN5""Komt regelmatig voor, inventiviteit vereist");
  72.         define("PROBLEEMOPLOSSEN6""Komt veelvuldig voor, inventiviteit vereist");
  73.         define("PROBLEEMOPLOSSEN7""Komt veelvuldig voor en heeft hoog abstractieniveau");
  74.         define("COMPETENTIE1""Kwantitatief");
  75.         define("COMPETENTIE2""Technisch");
  76.         define("COMPETENTIE3""Organisatorisch");
  77.         define("COMPETENTIE4""Verbaal");
  78.         define("COMPETENTIE5""Service gericht");
  79.         define("COMPETENTIE6""Persuasief");
  80.         define("COMPETENTIE7""Ruimtelijk voorstellingsvermogen");
  81.         define("COMPETENTIE8""Waakzaamheid");
  82.         define("COMPETENTIETEKST1""De mate waarin in een functie gerekend wordt");
  83.         define("COMPETENTIETEKST2""De mate waarin gewerkt wordt met machines en gereedschappen");
  84.         define("COMPETENTIETEKST3""De mate waarin het voor het functioneren noodzakelijk is het werkproces te sturen door inzet van mensen, middelen en materieel");
  85.         define("COMPETENTIETEKST4""De mate waarin de resultaten van werkzaamheden zich uitdrukken in mondelinge of schriftelijke presentaties");
  86.         define("COMPETENTIETEKST5""De mate waarin dienstverlening gericht op de personen in de functie voorkomt");
  87.         define("COMPETENTIETEKST6""De mate waarin de functionaris in direct contact mensen dient te beïnvloeden");
  88.         define("COMPETENTIETEKST7""De mate waarin het van belang is attent te zijn op, voor het functioneren betekenis hebbende, details");
  89.         define("COMPETENTIETEKST8""De mate waarin het van belang is attent te zijn op, voor het functioneren betekenis hebbende, details");
  90.         $urlObject UrlHelper::decode($url);
  91.         GetHelper::set($urlObject->get);
  92.         $_GET array_merge($_GET$urlObject->get);
  93.         // 404 if JobPort Not Implemented and restructured yet
  94.         $urlParts explode("/"trim($urlObject->url"/"));
  95.         if ($urlParts[0] === 'jobport') {
  96.             throw new NotFoundHttpException("Page not found");
  97.         }
  98.         $q explode("/"trim($urlObject->url"/"));
  99.         $module implode("_"$q);
  100.         $r = new $module();
  101.         $data $r->get_html();
  102.         $data['navigation'] = $navigationService->getJson();
  103.         $data['url'] = $urlObject;
  104.         if(!isset($data['html'])) {
  105.             print_r($data);
  106.             die();
  107.         }
  108.         return $this->render('legacy.html.twig'$data);
  109.     }
  110. }