vendor/conecto/pimcore-provider/src/ProviderBundle/Controller/DocumentController.php line 30

Open in your IDE?
  1. <?php
  2. namespace CONECTO\ProviderBundle\Controller;
  3. use Pimcore\Controller\FrontendController;
  4. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Pimcore\Model\Document;
  7. use Pimcore\Tool;
  8. class DocumentController extends FrontendController
  9. {
  10.     /**
  11.      * @Template
  12.      *
  13.      * @param Request $request
  14.      * @return array
  15.      */
  16.     public function defaultAction(Request $request)
  17.     {
  18.         return [];
  19.     }
  20.     /**
  21.      * @Template
  22.      *
  23.      * @param Request $request
  24.      * @return array
  25.      */
  26.     public function frontpageAction(Request $request)
  27.     {
  28.         return ['isFrontpage' => true];
  29.     }
  30.     /**
  31.      * @Template
  32.      *
  33.      * @param Request $request
  34.      * @return array
  35.      */
  36.     public function notFoundAction(Request $request)
  37.     {
  38.         // only when not in editmode, because otherwise the 404 page is not editable in backend
  39.         if($this->editmode !== true) {
  40.             $requestUriSegments explode('/'mb_substr($_SERVER['REQUEST_URI'], 1));
  41.             $requestUriLocale array_shift($requestUriSegments);
  42.             $validLanguages Tool::getValidLanguages();
  43.             if (in_array($requestUriLocale$validLanguages)) {
  44.                 $locale $requestUriLocale;
  45.             } else {
  46.                 $preferredUserLanguage substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02);
  47.                 if (in_array($preferredUserLanguage$validLanguages)) {
  48.                     $locale $preferredUserLanguage;
  49.                 } else {
  50.                     $locale Tool::getDefaultLanguage();
  51.                 }
  52.             }
  53.             $errorPagePath $this->getParameter('pimcore.config')['documents']['error_pages']['default'] ?? '404';
  54.             $errorPagePathSegments explode('/'mb_substr($errorPagePath1));
  55.             $errorPagePathSegments[0] = $locale;
  56.             $errorPagePath '/' join('/'$errorPagePathSegments);
  57.             $errorPageDocument Document::getByPath($errorPagePath);
  58.             return ['document' => $errorPageDocument];
  59.         }
  60.     }
  61.     /**
  62.      * @Template
  63.      *
  64.      * @param Request $request
  65.      * @return array
  66.      */
  67.     public function footerSnippetAction(Request $request)
  68.     {
  69.         return [];
  70.     }
  71. }