var/cache/dev/srcDevDebugProjectContainerUrlMatcher.php line 50

Open in your IDE?
  1. <?php
  2. use Symfony\Component\Routing\Exception\MethodNotAllowedException;
  3. use Symfony\Component\Routing\Exception\ResourceNotFoundException;
  4. use Symfony\Component\Routing\RequestContext;
  5. /**
  6.  * This class has been auto-generated
  7.  * by the Symfony Routing Component.
  8.  */
  9. class srcDevDebugProjectContainerUrlMatcher extends Symfony\Bundle\FrameworkBundle\Routing\RedirectableUrlMatcher
  10. {
  11.     public function __construct(RequestContext $context)
  12.     {
  13.         $this->context $context;
  14.     }
  15.     public function match($pathinfo)
  16.     {
  17.         $allow $allowSchemes = [];
  18.         if ($ret $this->doMatch($pathinfo$allow$allowSchemes)) {
  19.             return $ret;
  20.         }
  21.         if ($allow) {
  22.             throw new MethodNotAllowedException(array_keys($allow));
  23.         }
  24.         if (!in_array($this->context->getMethod(), ['HEAD''GET'], true)) {
  25.             // no-op
  26.         } elseif ($allowSchemes) {
  27.             redirect_scheme:
  28.             $scheme $this->context->getScheme();
  29.             $this->context->setScheme(key($allowSchemes));
  30.             try {
  31.                 if ($ret $this->doMatch($pathinfo)) {
  32.                     return $this->redirect($pathinfo$ret['_route'], $this->context->getScheme()) + $ret;
  33.                 }
  34.             } finally {
  35.                 $this->context->setScheme($scheme);
  36.             }
  37.         } elseif ('/' !== $trimmedPathinfo rtrim($pathinfo'/') ?: '/') {
  38.             $pathinfo $trimmedPathinfo === $pathinfo $pathinfo.'/' $trimmedPathinfo;
  39.             if ($ret $this->doMatch($pathinfo$allow$allowSchemes)) {
  40.                 return $this->redirect($pathinfo$ret['_route']) + $ret;
  41.             }
  42.             if ($allowSchemes) {
  43.                 goto redirect_scheme;
  44.             }
  45.         }
  46.         throw new ResourceNotFoundException();
  47.     }
  48.     private function doMatch(string $pathinfo, array &$allow = [], array &$allowSchemes = []): array
  49.     {
  50.         $allow $allowSchemes = [];
  51.         $pathinfo rawurldecode($pathinfo) ?: '/';
  52.         $trimmedPathinfo rtrim($pathinfo'/') ?: '/';
  53.         $context $this->context;
  54.         $requestMethod $canonicalMethod $context->getMethod();
  55.         if ('HEAD' === $requestMethod) {
  56.             $canonicalMethod 'GET';
  57.         }
  58.         switch ($trimmedPathinfo) {
  59.             default:
  60.                 $routes = [
  61.                     '/_profiler' => [['_route' => '_profiler_home''_controller' => 'web_profiler.controller.profiler::homeAction'], nullnullnulltrue],
  62.                     '/_profiler/search' => [['_route' => '_profiler_search''_controller' => 'web_profiler.controller.profiler::searchAction'], nullnullnullfalse],
  63.                     '/_profiler/search_bar' => [['_route' => '_profiler_search_bar''_controller' => 'web_profiler.controller.profiler::searchBarAction'], nullnullnullfalse],
  64.                     '/_profiler/phpinfo' => [['_route' => '_profiler_phpinfo''_controller' => 'web_profiler.controller.profiler::phpinfoAction'], nullnullnullfalse],
  65.                     '/_profiler/open' => [['_route' => '_profiler_open_file''_controller' => 'web_profiler.controller.profiler::openAction'], nullnullnullfalse],
  66.                     '/amp' => [['_route' => 'index_amp''is_amp' => true'_controller' => 'App\\Controller\\DefaultController::index'], nullnullnullfalse],
  67.                     '/' => [['_route' => 'index''_controller' => 'App\\Controller\\DefaultController::index'], nullnullnullfalse],
  68.                     '/404' => [['_route' => 'page404''_controller' => 'App\\Controller\\DefaultController::page404'], nullnullnullfalse],
  69.                     '/site-map' => [['_route' => 'site_map''_controller' => 'App\\Controller\\DefaultController:siteMap'], nullnullnullfalse],
  70.                     '/dieu-khoan-su-dung' => [['_route' => 'term_condition''_controller' => 'App\\Controller\\DefaultController:termCondition'], nullnullnullfalse],
  71.                     '/gioi-thieu' => [['_route' => 'about_us''_controller' => 'App\\Controller\\DefaultController:aboutUs'], nullnullnullfalse],
  72.                     '/lien-he' => [['_route' => 'contact''_controller' => 'App\\Controller\\DefaultController:contact'], nullnullnullfalse],
  73.                     '/cache-manager' => [['_route' => 'cache_management''_controller' => 'App\\Controller\\CacheManagerController::cacheManager'], nullnullnullfalse],
  74.                     '/cache-manager/update-config' => [['_route' => 'cache_update_config''_controller' => 'App\\Controller\\CacheManagerController::updateConfig'], nullnullnullfalse],
  75.                     '/register' => [['_route' => 'register''_controller' => 'App\\Controller\\DefaultController::register'], nullnullnullfalse],
  76.                     '/rss/instant-articles.rss' => [['_route' => 'rss_ia''_controller' => 'App\\Controller\\RssController::instantArticleAction'], nullnullnullfalse],
  77.                     '/sitemap.xml' => [['_route' => 'sitemap''_controller' => 'App\\Controller\\SitemapController::indexAction'], nullnullnullfalse],
  78.                     '/sitemaps/category.xml' => [['_route' => 'sitemap_category''_controller' => 'App\\Controller\\SitemapController::categoryAction'], nullnullnullfalse],
  79.                     '/sitemap-news.xml' => [['_route' => 'sitemap_news''_controller' => 'App\\Controller\\SitemapController::sitemapNews'], nullnullnullfalse],
  80.                     '/photos' => [['_route' => 'photo_gallery''_controller' => 'App\\Controller\\Photo\\IndexController::index'], nullnullnullfalse],
  81.                     '/ajax/photo_gallery.json' => [['_route' => 'ajax_photo_gallery''_controller' => 'App\\Controller\\Photo\\AjaxController::index'], nullnullnullfalse],
  82.                     '/search' => [['_route' => 'search_list''_controller' => 'App\\Controller\\Search\\IndexController::index'], nullnullnullfalse],
  83.                     '/ajax/search' => [['_route' => 'search_load_more''_controller' => 'App\\Controller\\Search\\AjaxController::index'], nullnullnullfalse],
  84.                     '/ajax/post-load-more' => [['_route' => 'post_load_more''_controller' => 'App\\Controller\\Post\\AjaxController::index'], nullnullnullfalse],
  85.                     '/lg.gif' => [['_route' => 'update_view''_controller' => 'App\\Controller\\Post\\AjaxController:updateView'], nullnullnullfalse],
  86.                     '/box-content/get-by-ids' => [['_route' => 'ajax_get_box_content''_controller' => 'App\\Controller\\AjaxController::getBoxByIds'], nullnullnullfalse],
  87.                     '/ajax/tag-posts.json' => [['_route' => 'ajax_get_tag_posts''_controller' => 'App\\Controller\\Tag\\AjaxController::getTagPostsAction'], nullnullnullfalse],
  88.                     '/ajax/category' => [['_route' => 'category_load_more''_controller' => 'App\\Controller\\Category\\AjaxController::index'], nullnullnullfalse],
  89.                 ];
  90.                 if (!isset($routes[$trimmedPathinfo])) {
  91.                     break;
  92.                 }
  93.                 list($ret$requiredHost$requiredMethods$requiredSchemes$hasTrailingSlash) = $routes[$trimmedPathinfo];
  94.                 if ('/' !== $pathinfo && $hasTrailingSlash === ($trimmedPathinfo === $pathinfo)) {
  95.                     if ('GET' === $canonicalMethod && (!$requiredMethods || isset($requiredMethods['GET']))) {
  96.                         return $allow $allowSchemes = [];
  97.                     }
  98.                     break;
  99.                 }
  100.                 $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]);
  101.                 if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) {
  102.                     if ($hasRequiredScheme) {
  103.                         $allow += $requiredMethods;
  104.                     }
  105.                     break;
  106.                 }
  107.                 if (!$hasRequiredScheme) {
  108.                     $allowSchemes += $requiredSchemes;
  109.                     break;
  110.                 }
  111.                 return $ret;
  112.         }
  113.         $matchedPathinfo $pathinfo;
  114.         $regexList = [
  115.             => '{^(?'
  116.                     .'|/_(?'
  117.                         .'|error/(\\d+)(?:\\.([^/]++))?(*:38)'
  118.                         .'|wdt/([^/]++)(*:57)'
  119.                         .'|profiler/([^/]++)(?'
  120.                             .'|/(?'
  121.                                 .'|search/results(*:102)'
  122.                                 .'|router(*:116)'
  123.                                 .'|exception(?'
  124.                                     .'|(*:136)'
  125.                                     .'|\\.css(*:149)'
  126.                                 .')'
  127.                             .')'
  128.                             .'|(*:159)'
  129.                         .')'
  130.                     .')'
  131.                     .'|/((?:rss|feed))(*:184)'
  132.                     .'|/([a-z0-9\\-]+)/feed\\.html(*:217)'
  133.                 .')/?$}sD',
  134.             217 => '{^(?'
  135.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-‘’%]+)\\-(\\d+)/feed(*:271)'
  136.                 .')/?$}sDu',
  137.             271 => '{^(?'
  138.                     .'|/([a-z0-9\\-]+)/feed(*:297)'
  139.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-]+)/feed(*:338)'
  140.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-]+)/([a-z0-9\\-]+)/feed(*:393)'
  141.                     .'|/rss/author\\-([^/\\.]++)\\.rss(*:429)'
  142.                     .'|/sitemap(?'
  143.                         .'|s/(?'
  144.                             .'|tag\\-([^/\\.]++)\\.xml(*:473)'
  145.                             .'|a(?'
  146.                                 .'|uthor\\-(\\d+)\\.xml(*:502)'
  147.                                 .'|rticle\\-(\\d{6})\\.xml(*:530)'
  148.                             .')'
  149.                         .')'
  150.                         .'|\\-news/article\\-([^/\\.]++)\\.xml(*:571)'
  151.                     .')'
  152.                 .')/?$}sD',
  153.             571 => '{^(?'
  154.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-]+)\\-(\\d+)/amp(*:617)'
  155.                 .')/?$}sDu',
  156.             617 => '{^(?'
  157.                     .'|/post\\-(\\d+)(*:636)'
  158.                 .')/?$}sD',
  159.             636 => '{^(?'
  160.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-]+)\\-(\\d+)(*:678)'
  161.                 .')/?$}sDu',
  162.             678 => '{^(?'
  163.                     .'|/preview\\-([^/\\.]++)\\.html(*:711)'
  164.                 .')/?$}sD',
  165.             711 => '{^(?'
  166.                     .'|/([a-z0-9:\\-_]+)\\.html(*:740)'
  167.                 .')/?$}sDu',
  168.             740 => '{^(?'
  169.                     .'|/([a-z0-9\\-]+)/amp(*:765)'
  170.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-]+)/amp(*:805)'
  171.                 .')/?$}sD',
  172.             805 => '{^(?'
  173.                     .'|/([a-z0-9\\-]+)(*:826)'
  174.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-]+)(*:862)'
  175.                 .')/?$}sDu',
  176.             862 => '{^(?'
  177.                     .'|/([a-z0-9\\-]+)/([a-z0-9\\-]+)/([a-z0-9\\-]+)(*:911)'
  178.                 .')/?$}sD',
  179.         ];
  180.         foreach ($regexList as $offset => $regex) {
  181.             while (preg_match($regex$matchedPathinfo$matches)) {
  182.                 switch ($m = (int) $matches['MARK']) {
  183.                     default:
  184.                         $routes = [
  185.                             38 => [['_route' => '_twig_error_test''_controller' => 'twig.controller.preview_error::previewErrorPageAction''_format' => 'html'], ['code''_format'], nullnullfalsetrue],
  186.                             57 => [['_route' => '_wdt''_controller' => 'web_profiler.controller.profiler::toolbarAction'], ['token'], nullnullfalsetrue],
  187.                             102 => [['_route' => '_profiler_search_results''_controller' => 'web_profiler.controller.profiler::searchResultsAction'], ['token'], nullnullfalsefalse],
  188.                             116 => [['_route' => '_profiler_router''_controller' => 'web_profiler.controller.router::panelAction'], ['token'], nullnullfalsefalse],
  189.                             136 => [['_route' => '_profiler_exception''_controller' => 'web_profiler.controller.exception::showAction'], ['token'], nullnullfalsefalse],
  190.                             149 => [['_route' => '_profiler_exception_css''_controller' => 'web_profiler.controller.exception::cssAction'], ['token'], nullnullfalsefalse],
  191.                             159 => [['_route' => '_profiler''_controller' => 'web_profiler.controller.profiler::panelAction'], ['token'], nullnullfalsetrue],
  192.                             184 => [['_route' => 'rss''_controller' => 'App\\Controller\\RssController::rss'], ['map'], nullnullfalsetrue],
  193.                             217 => [['_route' => 'rss_tag''_controller' => 'App\\Controller\\RssController::tagsRss'], ['tagSlug'], nullnullfalsefalse],
  194.                             271 => [['_route' => 'rss_detail_news''_controller' => 'App\\Controller\\RssController::detailFeed'], ['cateSlug''slug''postId'], nullnullfalsefalse],
  195.                             297 => [['_route' => 'rss_category''_controller' => 'App\\Controller\\RssController::cateRss'], ['cateSlug'], nullnullfalsefalse],
  196.                             338 => [['_route' => 'rss_sub_cate''_controller' => 'App\\Controller\\RssController::cateRss'], ['parentSlug''cateSlug'], nullnullfalsefalse],
  197.                             393 => [['_route' => 'rss_sub_cate_level2''_controller' => 'App\\Controller\\RssController::cateRss'], ['rootSlug''parentSlug''cateSlug'], nullnullfalsefalse],
  198.                             429 => [['_route' => 'rss_author''_controller' => 'App\\Controller\\RssController::authorAction'], ['slug'], nullnullfalsefalse],
  199.                             473 => [['_route' => 'sitemap_tag''_controller' => 'App\\Controller\\SitemapController::tagAction'], ['page'], nullnullfalsefalse],
  200.                             502 => [['_route' => 'sitemap_author''_controller' => 'App\\Controller\\SitemapController::authorAction'], ['page'], nullnullfalsefalse],
  201.                             530 => [['_route' => 'sitemap_article''_controller' => 'App\\Controller\\SitemapController::articleAction'], ['dateString'], nullnullfalsefalse],
  202.                             571 => [['_route' => 'sitemap_article_news''_controller' => 'App\\Controller\\SitemapController::articleNews'], ['dateString'], nullnullfalsefalse],
  203.                             617 => [['_route' => 'post_detail_amp''is_amp' => true'_controller' => 'App\\Controller\\Post\\IndexController::index'], ['cateSlug''slug''postId'], nullnullfalsefalse],
  204.                             636 => [['_route' => 'post_detail_short''_controller' => 'App\\Controller\\Post\\IndexController::detailShort'], ['postId'], nullnullfalsetrue],
  205.                             678 => [['_route' => 'post_detail''_controller' => 'App\\Controller\\Post\\IndexController::index'], ['cateSlug''slug''postId'], nullnullfalsetrue],
  206.                             711 => [['_route' => 'post_preview''_controller' => 'App\\Controller\\Post\\IndexController:preview'], ['postId'], nullnullfalsefalse],
  207.                             740 => [['_route' => 'tag''_controller' => 'App\\Controller\\Tag\\IndexController::detailAction'], ['slug'], nullnullfalsefalse],
  208.                             765 => [['_route' => 'cate_amp''is_amp' => true'_controller' => 'App\\Controller\\Category\\IndexController::index'], ['cateSlug'], nullnullfalsefalse],
  209.                             805 => [['_route' => 'sub_cate_amp''is_amp' => true'_controller' => 'App\\Controller\\Category\\IndexController::index'], ['parentSlug''cateSlug'], nullnullfalsefalse],
  210.                             826 => [['_route' => 'cate''parentSlug' => null'_controller' => 'App\\Controller\\Category\\IndexController::index'], ['cateSlug'], nullnullfalsetrue],
  211.                             862 => [['_route' => 'sub_cate''_controller' => 'App\\Controller\\Category\\IndexController::index'], ['parentSlug''cateSlug'], nullnullfalsetrue],
  212.                             911 => [['_route' => 'sub_cate_level2''_controller' => 'App\\Controller\\Category\\IndexController::index'], ['rootSlug''parentSlug''cateSlug'], nullnullfalsetrue],
  213.                         ];
  214.                         list($ret$vars$requiredMethods$requiredSchemes$hasTrailingSlash$hasTrailingVar) = $routes[$m];
  215.                         $hasTrailingVar $trimmedPathinfo !== $pathinfo && $hasTrailingVar;
  216.                         if ('/' !== $pathinfo && !$hasTrailingVar && $hasTrailingSlash === ($trimmedPathinfo === $pathinfo)) {
  217.                             if ('GET' === $canonicalMethod && (!$requiredMethods || isset($requiredMethods['GET']))) {
  218.                                 return $allow $allowSchemes = [];
  219.                             }
  220.                             break;
  221.                         }
  222.                         if ($hasTrailingSlash && $hasTrailingVar && preg_match($regexrtrim($matchedPathinfo'/') ?: '/'$n) && $m === (int) $n['MARK']) {
  223.                             $matches $n;
  224.                         }
  225.                         foreach ($vars as $i => $v) {
  226.                             if (isset($matches[$i])) {
  227.                                 $ret[$v] = $matches[$i];
  228.                             }
  229.                         }
  230.                         $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]);
  231.                         if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) {
  232.                             if ($hasRequiredScheme) {
  233.                                 $allow += $requiredMethods;
  234.                             }
  235.                             break;
  236.                         }
  237.                         if (!$hasRequiredScheme) {
  238.                             $allowSchemes += $requiredSchemes;
  239.                             break;
  240.                         }
  241.                         return $ret;
  242.                 }
  243.                 if (911 === $m) {
  244.                     break;
  245.                 }
  246.                 $regex substr_replace($regex'F'$m $offsetstrlen($m));
  247.                 $offset += strlen($m);
  248.             }
  249.         }
  250.         if ('/' === $pathinfo && !$allow && !$allowSchemes) {
  251.             throw new Symfony\Component\Routing\Exception\NoConfigurationException();
  252.         }
  253.         return [];
  254.     }
  255. }