var/cache/review/twig/fe/fe6ae84e185bac133a8df8c62c15d6de.php line 70

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Map/page.html.twig */
  14. class __TwigTemplate_a28a045d3be3f3299f645cdfe29370c8 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'title' => [$this'block_title'],
  24.             'metaDescription' => [$this'block_metaDescription'],
  25.             'stylesheet' => [$this'block_stylesheet'],
  26.             'name_page' => [$this'block_name_page'],
  27.             'bodyClasses' => [$this'block_bodyClasses'],
  28.             'mainContainer' => [$this'block_mainContainer'],
  29.             'javascripts' => [$this'block_javascripts'],
  30.         ];
  31.     }
  32.     protected function doGetParent(array $context)
  33.     {
  34.         // line 1
  35.         return "grid.html.twig";
  36.     }
  37.     protected function doDisplay(array $context, array $blocks = [])
  38.     {
  39.         $macros $this->macros;
  40.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  41.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  42.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  43.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  44.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  45.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  46.         $this->parent $this->loadTemplate("grid.html.twig""Map/page.html.twig"1);
  47.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  48.         
  49.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  50.         
  51.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  52.         
  53.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  54.     }
  55.     // line 3
  56.     public function block_title($context, array $blocks = [])
  57.     {
  58.         $macros $this->macros;
  59.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  60.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  61.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  62.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  63.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  64.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  65.         // line 4
  66.         echo "    ";
  67.         echo twig_escape_filter($this->env$this->extensions['App\Twig\SeoExtension']->metaTitle(), "html"nulltrue);
  68.         echo "
  69. ";
  70.         
  71.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  72.         
  73.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  74.         
  75.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  76.     }
  77.     // line 7
  78.     public function block_metaDescription($context, array $blocks = [])
  79.     {
  80.         $macros $this->macros;
  81.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  82.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  83.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  84.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  85.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  86.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  87.         // line 8
  88.         echo "    <meta name=\"description\" content=\"";
  89.         echo twig_escape_filter($this->env$this->extensions['App\Twig\SeoExtension']->metaDescription(), "html"nulltrue);
  90.         echo "\">
  91. ";
  92.         
  93.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  94.         
  95.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  96.         
  97.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  98.     }
  99.     // line 11
  100.     public function block_stylesheet($context, array $blocks = [])
  101.     {
  102.         $macros $this->macros;
  103.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  104.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  105.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  106.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  107.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  108.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  109.         // line 12
  110.         echo "    ";
  111.         $this->displayParentBlock("stylesheet"$context$blocks);
  112.         echo "
  113.     <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\">
  114. ";
  115.         
  116.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  117.         
  118.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  119.         
  120.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  121.     }
  122.     // line 16
  123.     public function block_name_page($context, array $blocks = [])
  124.     {
  125.         $macros $this->macros;
  126.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  127.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""name_page"));
  128.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  129.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""name_page"));
  130.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  131.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""name_page"));
  132.         echo "map";
  133.         
  134.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  135.         
  136.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  137.         
  138.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  139.     }
  140.     // line 17
  141.     public function block_bodyClasses($context, array $blocks = [])
  142.     {
  143.         $macros $this->macros;
  144.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  145.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""bodyClasses"));
  146.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  147.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""bodyClasses"));
  148.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  149.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""bodyClasses"));
  150.         echo "map-page";
  151.         
  152.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  153.         
  154.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  155.         
  156.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  157.     }
  158.     // line 18
  159.     public function block_mainContainer($context, array $blocks = [])
  160.     {
  161.         $macros $this->macros;
  162.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  163.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  164.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  165.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  166.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  167.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  168.         // line 19
  169.         echo "    ";
  170.         if ((array_key_exists("city"$context) && twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'19$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse19), "latitude", [], "any"falsefalsefalse19))) {
  171.             // line 20
  172.             echo "        ";
  173.             $context["coordss"] = 1;
  174.             // line 21
  175.             echo "        ";
  176.             $context["lat"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'21$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse21), "latitude", [], "any"falsefalsefalse21);
  177.             // line 22
  178.             echo "        ";
  179.             $context["lon"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'22$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse22), "longitude", [], "any"falsefalsefalse22);
  180.             // line 23
  181.             echo "    ";
  182.         } else {
  183.             // line 24
  184.             echo "        ";
  185.             $context["coordss"] = 0;
  186.             // line 25
  187.             echo "        ";
  188.             $context["lat"] = "55.75";
  189.             // line 26
  190.             echo "        ";
  191.             $context["lon"] = "37.61";
  192.             // line 27
  193.             echo "    ";
  194.         }
  195.         // line 28
  196.         echo "
  197.     <h1 class=\"border-line\">";
  198.         // line 29
  199.         if (twig_test_empty($this->extensions['App\Twig\SeoExtension']->pageHeading())) {
  200.             echo "%Интим карта";
  201.         } else {
  202.             echo $this->extensions['App\Twig\SeoExtension']->pageHeading();
  203.         }
  204.         echo "</h1>
  205.     <p class=\"text-desc mb-lg-4\">
  206.         На карте обозначено местоположение зарегистрированных анкет.<br>
  207.         Кликнув на маркер Вы узнаете краткую информацию о девушке.
  208.     </p>
  209.     <div class=\"map\">
  210.         <div class=\"filter-line d-flex justify-content-center justify-content-md-between mb-2 mb-md-3 mb-lg-4\">
  211.             <button class=\"btn btn-secondary btn-collapse-filter\" type=\"button\" id=\"filter-expand\">
  212.                 <svg class=\"icon mr-1\">
  213.                     <use xlink:href=\"#icon-dropdown\"></use>
  214.                 </svg>
  215.                 Расширенный поиск
  216.             </button>
  217.             <div class=\"d-flex align-items-center collapse-reset ml-2\">
  218.                 <span class=\"d-none\" id=\"count-parameters\">Выбрано <em>0</em> параметров</span>
  219.                 <button class=\"btn btn-secondary btn-collapse-reset ml-md-2\" id=\"reset-form-2\" data-reset=\"true\">Сброс</button>
  220.             </div>
  221.         </div>
  222.         <div class=\"collapse\" id=\"collapseFilter\">
  223.         </div>
  224.         <div class=\"map-wrap loading\" id=\"map-wrap\" style=\"width: 100%; height: 700px;\">
  225.         </div>
  226.     </div>
  227.     ";
  228.         // line 54
  229.         echo "\t";
  230.         echo twig_include($this->env$context"components/seo.partial.twig", ["type" => "top"]);
  231.         echo "
  232. \t";
  233.         // line 55
  234.         echo twig_include($this->env$context"components/seo.partial.twig", ["type" => "bottom"]);
  235.         echo "
  236. ";
  237.         
  238.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  239.         
  240.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  241.         
  242.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  243.     }
  244.     // line 59
  245.     public function block_javascripts($context, array $blocks = [])
  246.     {
  247.         $macros $this->macros;
  248.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  249.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  250.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  251.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  252.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  253.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  254.         // line 60
  255.         echo "    ";
  256.         $this->displayParentBlock("javascripts"$context$blocks);
  257.         echo "
  258.     ";
  259.         // line 62
  260.         if ((array_key_exists("city"$context) && twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'62$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse62), "latitude", [], "any"falsefalsefalse62))) {
  261.             // line 63
  262.             echo "\t\t";
  263.             $context["lat"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'63$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse63), "latitude", [], "any"falsefalsefalse63);
  264.             // line 64
  265.             echo "\t\t";
  266.             $context["lon"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'64$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse64), "longitude", [], "any"falsefalsefalse64);
  267.             // line 65
  268.             echo "\t";
  269.         } else {
  270.             // line 66
  271.             echo "\t\t";
  272.             $context["lat"] = "55.753215";
  273.             // line 67
  274.             echo "\t\t";
  275.             $context["lon"] = "37.622504";
  276.             // line 68
  277.             echo "\t";
  278.         }
  279.         // line 69
  280.         echo "
  281. \t<script src=\"";
  282.         // line 70
  283.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("bundles/fosjsrouting/js/router.min.js"), "html"nulltrue);
  284.         echo "\" defer></script>
  285. \t<script src=\"";
  286.         // line 71
  287.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("fos_js_routing_js", ["callback" => "fos.Router.setData"]);
  288.         echo "\" defer></script>
  289. \t<script src=\"https://api-maps.yandex.ru/2.1/?lang=ru_RU&onload=initMap&ns=ym\" defer></script>
  290. \t<script>
  291.         window.mapConfig = {
  292. \t\t\tid:\"map-wrap\",
  293. \t\t\tmultiple_cities:\"";
  294.         // line 78
  295.         echo twig_escape_filter($this->env, (isset($context["multipleCities"]) || array_key_exists("multipleCities"$context) ? $context["multipleCities"] : (function () { throw new RuntimeError('Variable "multipleCities" does not exist.'78$this->source); })()), "html"nulltrue);
  296.         echo "\",
  297. \t\t\troutes_url: \"";
  298.         // line 79
  299.         echo ((((isset($context["multipleCities"]) || array_key_exists("multipleCities"$context) ? $context["multipleCities"] : (function () { throw new RuntimeError('Variable "multipleCities" does not exist.'79$this->source); })()) == 0)) ? ("/js/fos_js_routes.json") : ("/js/fos_js_routes_city_prefixed.json"));
  300.         echo "\",
  301. \t\t\tcity_uri_identity:\"";
  302.         // line 80
  303.         echo twig_escape_filter($this->env, (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'80$this->source); })()), "html"nulltrue);
  304.         echo "\",
  305. \t\t\tcity_latitude:\"";
  306.         // line 81
  307.         echo twig_escape_filter($this->env, (isset($context["lat"]) || array_key_exists("lat"$context) ? $context["lat"] : (function () { throw new RuntimeError('Variable "lat" does not exist.'81$this->source); })()), "html"nulltrue);
  308.         echo "\",
  309. \t\t\tcity_longitude:\"";
  310.         // line 82
  311.         echo twig_escape_filter($this->env, (isset($context["lon"]) || array_key_exists("lon"$context) ? $context["lon"] : (function () { throw new RuntimeError('Variable "lon" does not exist.'82$this->source); })()), "html"nulltrue);
  312.         echo "\",
  313. \t\t\tlocale:\"";
  314.         // line 83
  315.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'83$this->source); })()), "request", [], "any"falsefalsefalse83), "locale", [], "any"falsefalsefalse83), "html"nulltrue);
  316.         echo "\",
  317. \t\t\tpath:\"";
  318.         // line 84
  319.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.filter", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'84$this->source); })())]), "html"nulltrue);
  320.         echo "\",
  321. \t\t\tdetail: \"";
  322.         // line 85
  323.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.detail", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'85$this->source); })())]), "html"nulltrue);
  324.         echo "\",
  325. \t\t\ticon_profile:\"";
  326.         // line 87
  327.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/profile.svg"), "html"nulltrue);
  328.         echo "\",
  329. \t\t\ticon_profile_active:\"";
  330.         // line 88
  331.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/profile-active.svg"), "html"nulltrue);
  332.         echo "\",
  333. \t\t\ticon_profile_hover:\"";
  334.         // line 89
  335.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/profile-hover.svg"), "html"nulltrue);
  336.         echo "\",
  337. \t\t\ticon_saloon:\"";
  338.         // line 91
  339.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/saloon.svg"), "html"nulltrue);
  340.         echo "\",
  341. \t\t\ticon_saloon_active:\"";
  342.         // line 92
  343.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/saloon-active.svg"), "html"nulltrue);
  344.         echo "\",
  345. \t\t\ticon_saloon_hover:\"";
  346.         // line 93
  347.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/saloon-hover.svg"), "html"nulltrue);
  348.         echo "\",
  349. \t\t\ticon_masseur:\"";
  350.         // line 95
  351.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/masseur.svg"), "html"nulltrue);
  352.         echo "\",
  353. \t\t\ticon_masseur_active:\"";
  354.         // line 96
  355.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/masseur-active.svg"), "html"nulltrue);
  356.         echo "\",
  357. \t\t\ticon_masseur_hover:\"";
  358.         // line 97
  359.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/masseur-hover.svg"), "html"nulltrue);
  360.         echo "\",
  361. \t\t\ticon_cluster_small:\"";
  362.         // line 99
  363.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/cluster-small.svg"), "html"nulltrue);
  364.         echo "\",
  365. \t\t\ticon_cluster_medium:\"";
  366.         // line 100
  367.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/cluster-medium.svg"), "html"nulltrue);
  368.         echo "\",
  369. \t\t\ticon_cluster_big:\"";
  370.         // line 101
  371.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/cluster-big.svg"), "html"nulltrue);
  372.         echo "\",
  373. \t\t\tmap_marker_cluster: '";
  374.         // line 103
  375.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__cluster.svg")), "html"nulltrue);
  376.         echo "',
  377. \t\t\tmap_marker_cluster_hover: '";
  378.         // line 104
  379.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__cluster_hover.svg")), "html"nulltrue);
  380.         echo "',
  381. \t\t\tmap_marker_build: '";
  382.         // line 105
  383.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_b__build.svg")), "html"nulltrue);
  384.         echo "',
  385. \t\t\tmap_marker_opened: '";
  386.         // line 106
  387.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_b__hover_opened.svg")), "html"nulltrue);
  388.         echo "',
  389. \t\t\tmap_marker_ready: '";
  390.         // line 107
  391.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__ready.svg")), "html"nulltrue);
  392.         echo "',
  393. \t\t\tmap_marker_ready_hover: '";
  394.         // line 108
  395.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__ready_hover.svg")), "html"nulltrue);
  396.         echo "',
  397. \t\t\tmap_marker_transparent: '";
  398.         // line 109
  399.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/transparent_1px.png")), "html"nulltrue);
  400.         echo "',
  401. \t\t\tdefault_img: \"";
  402.         // line 110
  403.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("build/frontend/images/v2025/not-found/estate-no-avatar-x1.jpg"), "html"nulltrue);
  404.         echo "\",
  405. \t\t\tavatar_path : \"";
  406.         // line 112
  407.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""profile_media_avatar""200x280""jpg"), "html"nulltrue);
  408.         echo "\",
  409. \t\t\tphoto_path : \"";
  410.         // line 113
  411.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""profile_media""200x280""jpg"), "html"nulltrue);
  412.         echo "\",
  413. \t\t\tthumb_path : \"";
  414.         // line 114
  415.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""saloon_media_thumb""200x280""jpg"), "html"nulltrue);
  416.         echo "\",
  417. \t\t\tprocess_profile_shows_url  : \"";
  418.         // line 115
  419.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.increment_profile_shows", (((isset($context["multipleCities"]) || array_key_exists("multipleCities"$context) ? $context["multipleCities"] : (function () { throw new RuntimeError('Variable "multipleCities" does not exist.'115$this->source); })())) ? (["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'115$this->source); })())]) : ([]))), "html"nulltrue);
  420.         echo "\"
  421. \t\t};
  422. \t\twindow.map_filters = {
  423. \t\t\tmap_center: [";
  424.         // line 119
  425.         echo twig_escape_filter($this->env, (isset($context["lat"]) || array_key_exists("lat"$context) ? $context["lat"] : (function () { throw new RuntimeError('Variable "lat" does not exist.'119$this->source); })()), "html"nulltrue);
  426.         echo ", ";
  427.         echo twig_escape_filter($this->env, (isset($context["lon"]) || array_key_exists("lon"$context) ? $context["lon"] : (function () { throw new RuntimeError('Variable "lon" does not exist.'119$this->source); })()), "html"nulltrue);
  428.         echo "]
  429. \t\t};
  430. \t\t";
  431.         // line 129
  432.         echo "
  433. \t\twindow.isMapInitialized = false;
  434. \t\twindow.isYMapLoaded = false;
  435. \t\tfunction initMap() {
  436. \t\t\twindow.ymaps = ym;
  437. \t\t\t";
  438.         // line 140
  439.         echo "\t\t\twindow.isMapInitialized = true;
  440. \t\t\twindow.isYMapLoaded = true;
  441. \t\t}
  442. \t\twindow.profileShowed = function ({id}) {
  443. \t\t\tif (!id) return;
  444. \t\t\tfetch('";
  445.         // line 146
  446.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("profile_ctr.increase_shows");
  447.         echo "', {
  448. \t\t\t\tmethod: \"POST\",
  449. \t\t\t\tbody: JSON.stringify({ profiles: [id], source: 'map' }),
  450. \t\t\t});
  451. \t\t}
  452.         window.stations = {";
  453.         // line 153
  454.         $context['_parent'] = $context;
  455.         $context['_seq'] = twig_ensure_traversable($this->extensions['App\Twig\StationsExtension']->stations());
  456.         $context['loop'] = [
  457.           'parent' => $context['_parent'],
  458.           'index0' => 0,
  459.           'index'  => 1,
  460.           'first'  => true,
  461.         ];
  462.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  463.             $length count($context['_seq']);
  464.             $context['loop']['revindex0'] = $length 1;
  465.             $context['loop']['revindex'] = $length;
  466.             $context['loop']['length'] = $length;
  467.             $context['loop']['last'] = === $length;
  468.         }
  469.         foreach ($context['_seq'] as $context["_key"] => $context["station"]) {
  470.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["station"], "id", [], "any"falsefalsefalse153), "html"nulltrue);
  471.             echo ":{icon:`";
  472.             $this->loadTemplate("components/metro/icon_generate.partial.twig""Map/page.html.twig"153)->display(twig_array_merge($context, ["data" => $this->extensions['App\Twig\StationsExtension']->stationLines($context["station"])]));
  473.             echo "`,name:`";
  474.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["station"], "name", [], "any"falsefalsefalse153), "html"nulltrue);
  475.             echo "`},";
  476.             ++$context['loop']['index0'];
  477.             ++$context['loop']['index'];
  478.             $context['loop']['first'] = false;
  479.             if (isset($context['loop']['length'])) {
  480.                 --$context['loop']['revindex0'];
  481.                 --$context['loop']['revindex'];
  482.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  483.             }
  484.         }
  485.         $_parent $context['_parent'];
  486.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['station'], $context['_parent'], $context['loop']);
  487.         $context array_intersect_key($context$_parent) + $_parent;
  488.         // line 154
  489.         echo "};
  490.         document.addEventListener('DOMContentLoaded', function () {
  491. \t\t\tfunction loadForm() {
  492. \t\t\t\tfetch('";
  493.         // line 158
  494.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.form", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'158$this->source); })())]), "html"nulltrue);
  495.         echo "', {
  496. \t\t\t\t\tmode: \"cors\",
  497. \t\t\t\t\timportance: \"low\",
  498. \t\t\t\t\tmethod: \"POST\",
  499. \t\t\t\t\theaders: {
  500. \t\t\t\t\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",
  501. \t\t\t\t\t\t\"X-Requested-With\": \"XMLHttpRequest\"
  502. \t\t\t\t\t},
  503. \t\t\t\t}).then(response => {
  504. \t\t\t\t\tif (response.status < 300) {
  505. \t\t\t\t\t\treturn response.text();
  506. \t\t\t\t\t} else {
  507. \t\t\t\t\t\tconsole.warn(\"🤔\");
  508. \t\t\t\t\t\treturn null;
  509. \t\t\t\t\t}
  510. \t\t\t\t}).then(response => {
  511. \t\t\t\t\tdocument.getElementById('collapseFilter').innerHTML = response;
  512. \t\t\t\t\tdocument.dispatchEvent(new Event('form-html-load'));
  513. \t\t\t\t\tfilterLoader()
  514. \t\t\t\t});
  515. \t\t\t}
  516. \t\t\tloadForm();
  517. \t\t\tfunction filterLoader() {
  518. \t\t\t\tconst stringifyData = `{\"city_id\":\"\${document.getElementById('filter_map_form_city_id').value}\",\"_token\":\"\${document.getElementById('filter_map_form__token').value}\",\"scale\":12}`;
  519. \t\t\t\tfetch(\"";
  520.         // line 184
  521.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.filter", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'184$this->source); })())]), "html"nulltrue);
  522.         echo "\", {
  523. \t\t\t\t\tmethod: \"POST\",
  524. \t\t\t\t\theaders: {
  525. \t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  526. \t\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',
  527. \t\t\t\t\t},
  528. \t\t\t\t\tbody: new URLSearchParams({ form: stringifyData, scale: 12 }).toString(),
  529. \t\t\t\t})
  530. \t\t\t\t\t.then(response => response.json())
  531. \t\t\t\t\t.then(data => {
  532. \t\t\t\t\t\tconst mapLoadedInterval = setInterval(()=>{
  533. \t\t\t\t\t\t\tif (window.isYMapLoaded) {
  534. \t\t\t\t\t\t\t\tdocument.dispatchEvent(new CustomEvent('map:data:loaded', { detail: { data, stringifyData, mapConfig: window.mapConfig } }));
  535. \t\t\t\t\t\t\t\tclearInterval(mapLoadedInterval)
  536. \t\t\t\t\t\t\t}
  537. \t\t\t\t\t\t}, 200)
  538. \t\t\t\t\t})
  539. \t\t\t\t\t.catch(error => console.error(error));
  540. \t\t\t\t//if (!window.isMapInitialized) {
  541. \t\t\t\t//\tconsole.log('new mapPage filterLoader');
  542. \t\t\t\t//\twindow.isMapInitialized = true;
  543. \t\t\t\t//\tnew MapPage(mapConfig);
  544. \t\t\t\t//}
  545. \t\t\t}
  546. \t\t})
  547. \t</script>
  548.     ";
  549.         // line 214
  550.         echo "    ";
  551.         echo $this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->renderWebpackScriptTags("scripts/map-page-2026"null"basicConfig");
  552.         echo "
  553. ";
  554.         
  555.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  556.         
  557.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  558.         
  559.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  560.     }
  561.     /**
  562.      * @codeCoverageIgnore
  563.      */
  564.     public function getTemplateName()
  565.     {
  566.         return "Map/page.html.twig";
  567.     }
  568.     /**
  569.      * @codeCoverageIgnore
  570.      */
  571.     public function isTraitable()
  572.     {
  573.         return false;
  574.     }
  575.     /**
  576.      * @codeCoverageIgnore
  577.      */
  578.     public function getDebugInfo()
  579.     {
  580.         return array (  630 => 214,  598 => 184,  569 => 158,  563 => 154,  528 => 153,  519 => 146,  511 => 140,  504 => 129,  495 => 119,  488 => 115,  484 => 114,  480 => 113,  476 => 112,  471 => 110,  467 => 109,  463 => 108,  459 => 107,  455 => 106,  451 => 105,  447 => 104,  443 => 103,  438 => 101,  434 => 100,  430 => 99,  425 => 97,  421 => 96,  417 => 95,  412 => 93,  408 => 92,  404 => 91,  399 => 89,  395 => 88,  391 => 87,  386 => 85,  382 => 84,  378 => 83,  374 => 82,  370 => 81,  366 => 80,  362 => 79,  358 => 78,  348 => 71,  344 => 70,  341 => 69,  338 => 68,  335 => 67,  332 => 66,  329 => 65,  326 => 64,  323 => 63,  321 => 62,  315 => 60,  302 => 59,  287 => 55,  282 => 54,  251 => 29,  248 => 28,  245 => 27,  242 => 26,  239 => 25,  236 => 24,  233 => 23,  230 => 22,  227 => 21,  224 => 20,  221 => 19,  208 => 18,  183 => 17,  158 => 16,  141 => 12,  128 => 11,  112 => 8,  99 => 7,  83 => 4,  70 => 3,  41 => 1,);
  581.     }
  582.     public function getSourceContext()
  583.     {
  584.         return new Source("{% extends 'grid.html.twig' %}
  585. {% block title %}
  586.     {{ seo_title() }}
  587. {% endblock %}
  588. {% block metaDescription %}
  589.     <meta name=\"description\" content=\"{{ seo_description() }}\">
  590. {% endblock %}
  591. {% block stylesheet %}
  592.     {{ parent() }}
  593.     <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\">
  594. {% endblock %}
  595. {% block name_page %}map{% endblock %}
  596. {% block bodyClasses %}map-page{% endblock %}
  597. {% block mainContainer %}
  598.     {% if city is defined and city.mapCoordinate.latitude %}
  599.         {% set coordss = 1 %}
  600.         {% set lat = city.mapCoordinate.latitude %}
  601.         {% set lon = city.mapCoordinate.longitude %}
  602.     {% else %}
  603.         {% set coordss = 0 %}
  604.         {% set lat = '55.75' %}
  605.         {% set lon = '37.61' %}
  606.     {% endif %}
  607.     <h1 class=\"border-line\">{% if seo_heading() is empty %}%Интим карта{% else %}{{ seo_heading() }}{% endif %}</h1>
  608.     <p class=\"text-desc mb-lg-4\">
  609.         На карте обозначено местоположение зарегистрированных анкет.<br>
  610.         Кликнув на маркер Вы узнаете краткую информацию о девушке.
  611.     </p>
  612.     <div class=\"map\">
  613.         <div class=\"filter-line d-flex justify-content-center justify-content-md-between mb-2 mb-md-3 mb-lg-4\">
  614.             <button class=\"btn btn-secondary btn-collapse-filter\" type=\"button\" id=\"filter-expand\">
  615.                 <svg class=\"icon mr-1\">
  616.                     <use xlink:href=\"#icon-dropdown\"></use>
  617.                 </svg>
  618.                 Расширенный поиск
  619.             </button>
  620.             <div class=\"d-flex align-items-center collapse-reset ml-2\">
  621.                 <span class=\"d-none\" id=\"count-parameters\">Выбрано <em>0</em> параметров</span>
  622.                 <button class=\"btn btn-secondary btn-collapse-reset ml-md-2\" id=\"reset-form-2\" data-reset=\"true\">Сброс</button>
  623.             </div>
  624.         </div>
  625.         <div class=\"collapse\" id=\"collapseFilter\">
  626.         </div>
  627.         <div class=\"map-wrap loading\" id=\"map-wrap\" style=\"width: 100%; height: 700px;\">
  628.         </div>
  629.     </div>
  630.     {# {{ include('components/big_footer.html.twig', { 'type': 'main' }) }} #}
  631. \t{{ include('components/seo.partial.twig', {type: 'top'}) }}
  632. \t{{ include('components/seo.partial.twig', {type: 'bottom'}) }}
  633. {% endblock %}
  634. {% block javascripts %}
  635.     {{ parent() }}
  636.     {% if city is defined and city.mapCoordinate.latitude %}
  637. \t\t{% set lat = city.mapCoordinate.latitude %}
  638. \t\t{% set lon = city.mapCoordinate.longitude %}
  639. \t{% else %}
  640. \t\t{% set lat = '55.753215' %}
  641. \t\t{% set lon = '37.622504' %}
  642. \t{% endif %}
  643. \t<script src=\"{{ asset('bundles/fosjsrouting/js/router.min.js') }}\" defer></script>
  644. \t<script src=\"{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}\" defer></script>
  645. \t<script src=\"https://api-maps.yandex.ru/2.1/?lang=ru_RU&onload=initMap&ns=ym\" defer></script>
  646. \t<script>
  647.         window.mapConfig = {
  648. \t\t\tid:\"map-wrap\",
  649. \t\t\tmultiple_cities:\"{{ multipleCities }}\",
  650. \t\t\troutes_url: \"{{ multipleCities == 0 ? '/js/fos_js_routes.json' : '/js/fos_js_routes_city_prefixed.json' }}\",
  651. \t\t\tcity_uri_identity:\"{{ cityUriIdentity }}\",
  652. \t\t\tcity_latitude:\"{{ lat }}\",
  653. \t\t\tcity_longitude:\"{{ lon }}\",
  654. \t\t\tlocale:\"{{ app.request.locale }}\",
  655. \t\t\tpath:\"{{ path('map.filter', {city:cityUriIdentity}) }}\",
  656. \t\t\tdetail: \"{{ path('map.detail', {city:cityUriIdentity}) }}\",
  657. \t\t\ticon_profile:\"{{ asset('assets/images/map/profile.svg') }}\",
  658. \t\t\ticon_profile_active:\"{{ asset('assets/images/map/profile-active.svg') }}\",
  659. \t\t\ticon_profile_hover:\"{{ asset('assets/images/map/profile-hover.svg') }}\",
  660. \t\t\ticon_saloon:\"{{ asset('assets/images/map/saloon.svg') }}\",
  661. \t\t\ticon_saloon_active:\"{{ asset('assets/images/map/saloon-active.svg') }}\",
  662. \t\t\ticon_saloon_hover:\"{{ asset('assets/images/map/saloon-hover.svg') }}\",
  663. \t\t\ticon_masseur:\"{{ asset('assets/images/map/masseur.svg') }}\",
  664. \t\t\ticon_masseur_active:\"{{ asset('assets/images/map/masseur-active.svg') }}\",
  665. \t\t\ticon_masseur_hover:\"{{ asset('assets/images/map/masseur-hover.svg') }}\",
  666. \t\t\ticon_cluster_small:\"{{ asset('assets/images/map/cluster-small.svg') }}\",
  667. \t\t\ticon_cluster_medium:\"{{ asset('assets/images/map/cluster-medium.svg') }}\",
  668. \t\t\ticon_cluster_big:\"{{ asset('assets/images/map/cluster-big.svg') }}\",
  669. \t\t\tmap_marker_cluster: '{{ absolute_url(asset('assets/images/map/mapMarker_g__cluster.svg')) }}',
  670. \t\t\tmap_marker_cluster_hover: '{{ absolute_url(asset('assets/images/map/mapMarker_g__cluster_hover.svg')) }}',
  671. \t\t\tmap_marker_build: '{{ absolute_url(asset('assets/images/map/mapMarker_b__build.svg')) }}',
  672. \t\t\tmap_marker_opened: '{{ absolute_url(asset('assets/images/map/mapMarker_b__hover_opened.svg')) }}',
  673. \t\t\tmap_marker_ready: '{{ absolute_url(asset('assets/images/map/mapMarker_g__ready.svg')) }}',
  674. \t\t\tmap_marker_ready_hover: '{{ absolute_url(asset('assets/images/map/mapMarker_g__ready_hover.svg')) }}',
  675. \t\t\tmap_marker_transparent: '{{ absolute_url(asset(\"assets/images/map/transparent_1px.png\")) }}',
  676. \t\t\tdefault_img: \"{{ asset('build/frontend/images/v2025/not-found/estate-no-avatar-x1.jpg') }}\",
  677. \t\t\tavatar_path : \"{{ responsive_asset('replace_path', 'profile_media_avatar', \"200x280\", \"jpg\") }}\",
  678. \t\t\tphoto_path : \"{{ responsive_asset('replace_path', 'profile_media', \"200x280\", \"jpg\") }}\",
  679. \t\t\tthumb_path : \"{{ responsive_asset('replace_path', 'saloon_media_thumb', \"200x280\", \"jpg\") }}\",
  680. \t\t\tprocess_profile_shows_url  : \"{{ path('map.increment_profile_shows', multipleCities ? {city:cityUriIdentity} : {}) }}\"
  681. \t\t};
  682. \t\twindow.map_filters = {
  683. \t\t\tmap_center: [{{ lat }}, {{ lon }}]
  684. \t\t};
  685. \t\t{# window._mapPage = {
  686. \t\t\tisMapInitialized: false,
  687. \t\t\tisYMapLoaded: false,
  688. \t\t\tisFormLoaded: false,
  689. \t\t\tisFilterLoaded: false,
  690. \t\t} #}
  691. \t\twindow.isMapInitialized = false;
  692. \t\twindow.isYMapLoaded = false;
  693. \t\tfunction initMap() {
  694. \t\t\twindow.ymaps = ym;
  695. \t\t\t{# window.ymap = new ym.Map(document.getElementById('map-wrap'), {
  696. \t\t\t\tcenter: [\"{{ lat }}\", \"{{ lon }}\"],
  697. \t\t\t\tzoom: 12,
  698. \t\t\t\tbehaviors: [\"drag\", \"dblClickZoom\", \"rightMouseButtonMagnifier\", \"multiTouch\", \"scrollZoom\"],
  699. \t\t\t\tcontrols: ['zoomControl', 'typeSelector',  'fullscreenControl']
  700. \t\t\t}); #}
  701. \t\t\twindow.isMapInitialized = true;
  702. \t\t\twindow.isYMapLoaded = true;
  703. \t\t}
  704. \t\twindow.profileShowed = function ({id}) {
  705. \t\t\tif (!id) return;
  706. \t\t\tfetch('{{ path('profile_ctr.increase_shows') }}', {
  707. \t\t\t\tmethod: \"POST\",
  708. \t\t\t\tbody: JSON.stringify({ profiles: [id], source: 'map' }),
  709. \t\t\t});
  710. \t\t}
  711.         window.stations = {
  712. \t\t\t{%- for station in stations() -%}{{- station.id -}}:{icon:`{%- include 'components/metro/icon_generate.partial.twig' with {data: station|station_lines} -%}`,name:`{{- station.name -}}`},{%- endfor -%}
  713. \t\t};
  714.         document.addEventListener('DOMContentLoaded', function () {
  715. \t\t\tfunction loadForm() {
  716. \t\t\t\tfetch('{{ path('map.form', {city: cityUriIdentity}) }}', {
  717. \t\t\t\t\tmode: \"cors\",
  718. \t\t\t\t\timportance: \"low\",
  719. \t\t\t\t\tmethod: \"POST\",
  720. \t\t\t\t\theaders: {
  721. \t\t\t\t\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",
  722. \t\t\t\t\t\t\"X-Requested-With\": \"XMLHttpRequest\"
  723. \t\t\t\t\t},
  724. \t\t\t\t}).then(response => {
  725. \t\t\t\t\tif (response.status < 300) {
  726. \t\t\t\t\t\treturn response.text();
  727. \t\t\t\t\t} else {
  728. \t\t\t\t\t\tconsole.warn(\"🤔\");
  729. \t\t\t\t\t\treturn null;
  730. \t\t\t\t\t}
  731. \t\t\t\t}).then(response => {
  732. \t\t\t\t\tdocument.getElementById('collapseFilter').innerHTML = response;
  733. \t\t\t\t\tdocument.dispatchEvent(new Event('form-html-load'));
  734. \t\t\t\t\tfilterLoader()
  735. \t\t\t\t});
  736. \t\t\t}
  737. \t\t\tloadForm();
  738. \t\t\tfunction filterLoader() {
  739. \t\t\t\tconst stringifyData = `{\"city_id\":\"\${document.getElementById('filter_map_form_city_id').value}\",\"_token\":\"\${document.getElementById('filter_map_form__token').value}\",\"scale\":12}`;
  740. \t\t\t\tfetch(\"{{ path('map.filter', {city:cityUriIdentity}) }}\", {
  741. \t\t\t\t\tmethod: \"POST\",
  742. \t\t\t\t\theaders: {
  743. \t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  744. \t\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',
  745. \t\t\t\t\t},
  746. \t\t\t\t\tbody: new URLSearchParams({ form: stringifyData, scale: 12 }).toString(),
  747. \t\t\t\t})
  748. \t\t\t\t\t.then(response => response.json())
  749. \t\t\t\t\t.then(data => {
  750. \t\t\t\t\t\tconst mapLoadedInterval = setInterval(()=>{
  751. \t\t\t\t\t\t\tif (window.isYMapLoaded) {
  752. \t\t\t\t\t\t\t\tdocument.dispatchEvent(new CustomEvent('map:data:loaded', { detail: { data, stringifyData, mapConfig: window.mapConfig } }));
  753. \t\t\t\t\t\t\t\tclearInterval(mapLoadedInterval)
  754. \t\t\t\t\t\t\t}
  755. \t\t\t\t\t\t}, 200)
  756. \t\t\t\t\t})
  757. \t\t\t\t\t.catch(error => console.error(error));
  758. \t\t\t\t//if (!window.isMapInitialized) {
  759. \t\t\t\t//\tconsole.log('new mapPage filterLoader');
  760. \t\t\t\t//\twindow.isMapInitialized = true;
  761. \t\t\t\t//\tnew MapPage(mapConfig);
  762. \t\t\t\t//}
  763. \t\t\t}
  764. \t\t})
  765. \t</script>
  766.     {# {{ encore_entry_script_tags('scripts/map-page', null, 'basicConfig') }} #}
  767.     {{ encore_entry_script_tags('scripts/map-page-2026', null, 'basicConfig') }}
  768. {% endblock %}
  769. ""Map/page.html.twig""/app/templates/Map/page.html.twig");
  770.     }
  771. }