Twig_Error_Runtime
Variable "cities" does not exist. Twig_Error_Runtime thrown with message "Variable "cities" does not exist." Stacktrace: #31 Twig_Error_Runtime in /var/www/vhosts/sparta.kz/httpdocs/src/View/src/layout.html.twig:179 #30 __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f:{closure} in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Environment.php:373 #29 __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f:block_body_content in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:188 #28 Twig_Template:displayBlock in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Environment.php:373 #27 __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134:doDisplay in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:389 #26 Twig_Template:displayWithErrorHandling in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:366 #25 Twig_Template:display in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Environment.php:373 #24 __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f:doDisplay in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:389 #23 Twig_Template:displayWithErrorHandling in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:366 #22 Twig_Template:display in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Environment.php:373 #21 __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc:doDisplay in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:389 #20 Twig_Template:displayWithErrorHandling in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:366 #19 Twig_Template:display in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Template.php:374 #18 Twig_Template:render in /var/www/vhosts/sparta.kz/httpdocs/vendor/twig/twig/lib/Twig/Environment.php:288 #17 Twig_Environment:render in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-expressive-twigrenderer/src/TwigRenderer.php:102 #16 Zend\Expressive\Twig\TwigRenderer:render in /var/www/vhosts/sparta.kz/httpdocs/core/Facade/Template.php:16 #15 Core\Facade\Template:render in /var/www/vhosts/sparta.kz/httpdocs/core/Facade/App.php:59 #14 Core\Facade\App:Core\Facade\{closure} in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-stratigility/src/Middleware/CallableMiddlewareWrapper.php:58 #13 Zend\Stratigility\Middleware\CallableMiddlewareWrapper:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-stratigility/src/Next.php:128 #12 Zend\Stratigility\Next:process in /var/www/vhosts/sparta.kz/httpdocs/core/Middleware/Controller.php:62 #11 Core\Middleware\Controller:processController in /var/www/vhosts/sparta.kz/httpdocs/core/Middleware/Controller.php:54 #10 Core\Middleware\Controller:process in /var/www/vhosts/sparta.kz/httpdocs/core/Middleware/FindController.php:58 #9 Core\Middleware\FindController:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-stratigility/src/Next.php:128 #8 Zend\Stratigility\Next:process in /var/www/vhosts/sparta.kz/httpdocs/core/Service/Locale.php:24 #7 Core\Service\Locale:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-stratigility/src/Next.php:128 #6 Zend\Stratigility\Next:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-stratigility/src/Middleware/ErrorHandler.php:157 #5 Zend\Stratigility\Middleware\ErrorHandler:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-expressive/src/Middleware/LazyLoadingMiddleware.php:60 #4 Zend\Expressive\Middleware\LazyLoadingMiddleware:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-stratigility/src/Next.php:128 #3 Zend\Stratigility\Next:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php:102 #2 Zend\Stratigility\MiddlewarePipe:process in /var/www/vhosts/sparta.kz/httpdocs/vendor/zendframework/zend-expressive/src/Application.php:374 #1 Zend\Expressive\Application:run in /var/www/vhosts/sparta.kz/httpdocs/public/index.php:17 #0 {closure} in /var/www/vhosts/sparta.kz/httpdocs/public/index.php:18
Stack frames (32)
31
Twig_Error_Runtime
/
src
/
View
/
src
/
layout.html.twig
179
30
__TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f
{closure}
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
29
__TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f
block_body_content
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
188
28
Twig_Template
displayBlock
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
27
__TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
389
26
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
366
25
Twig_Template
display
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
24
__TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
389
23
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
366
22
Twig_Template
display
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
21
__TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
389
20
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
366
19
Twig_Template
display
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
374
18
Twig_Template
render
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
288
17
Twig_Environment
render
/
vendor
/
zendframework
/
zend-expressive-twigrenderer
/
src
/
TwigRenderer.php
102
16
Zend
\
Expressive
\
Twig
\
TwigRenderer
render
/
core
/
Facade
/
Template.php
16
15
Core
\
Facade
\
Template
render
/
core
/
Facade
/
App.php
59
14
Core
\
Facade
\
App
Core
\
Facade
\
{closure}
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Middleware
/
CallableMiddlewareWrapper.php
58
13
Zend
\
Stratigility
\
Middleware
\
CallableMiddlewareWrapper
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
128
12
Zend
\
Stratigility
\
Next
process
/
core
/
Middleware
/
Controller.php
62
11
Core
\
Middleware
\
Controller
processController
/
core
/
Middleware
/
Controller.php
54
10
Core
\
Middleware
\
Controller
process
/
core
/
Middleware
/
FindController.php
58
9
Core
\
Middleware
\
FindController
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
128
8
Zend
\
Stratigility
\
Next
process
/
core
/
Service
/
Locale.php
24
7
Core
\
Service
\
Locale
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
128
6
Zend
\
Stratigility
\
Next
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Middleware
/
ErrorHandler.php
157
5
Zend
\
Stratigility
\
Middleware
\
ErrorHandler
process
/
vendor
/
zendframework
/
zend-expressive
/
src
/
Middleware
/
LazyLoadingMiddleware.php
60
4
Zend
\
Expressive
\
Middleware
\
LazyLoadingMiddleware
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
128
3
Zend
\
Stratigility
\
Next
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
MiddlewarePipe.php
102
2
Zend
\
Stratigility
\
MiddlewarePipe
process
/
vendor
/
zendframework
/
zend-expressive
/
src
/
Application.php
374
1
Zend
\
Expressive
\
Application
run
/
public
/
index.php
17
0
{closure}
/
public
/
index.php
18
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
src
/
View
/
src
/
layout.html.twig
                                        <div class="icon_img">
                                            <img src="/img/f-3.png" alt="">
                                        </div>
                                        <a href="https://api.whatsapp.com/send?phone={{ contacts.whatsapp|tel }}" target="_blank">{{ contacts.whatsapp }}</a>
                                    </div>
                                    <div class="icon_item">
                                        <div class="icon_img">
                                            <img src="/img/f-4.png" alt="">
                                        </div>
                                        <a target="_blank" href="https://t.me/{{ contacts.telegram }}">{{ contacts.telegram }}</a>
                                    </div>
                                    <div class="icon_item">
                                        <h3>Адрес</h3>
                                        <div class="icon_img">
                                            <img src="/img/f-5.png" alt="">
                                        </div>
                                        {{ contacts.address|nl2br }}
                                    </div>
                                    
                                    {% if cities %}
                                        {% for item in cities %}
                                            {% if item.phone and loop.index != 1 %}
                                                <div class="icon_item">
                                                    <h3>{{ item.name}}</h3>
                                                    <div class="icon_img">
                                                        <img src="/img/f-1.png" alt="">
                                                    </div>
                                                    <a href="tel:{{ item.phone|tel }}">{{ item.phone }}</a>
                                                 </div>
                                             {% endif %}
                                         {% endfor %}
                                    {% endif %}
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        {% endif %}
        <div class="footer_bottom">
Arguments
  1. "Variable "cities" does not exist."
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
        if (!class_exists($cls, false)) {
            $key = $this->cache->generateKey($name, $mainCls);

            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }

            if (!class_exists($cls, false)) {
                $source = $this->getLoader()->getSourceContext($name);
                $content = $this->compileSource($source);
                $this->cache->write($key, $content);
                $this->cache->load($key);

                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }

                if (!class_exists($cls, false)) {
                    throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
                }
            }
        }

        // to be removed in 3.0
        $this->extensionSet->initRuntime($this);

        return $this->loadedTemplates[$cls] = new $cls($this);
    }

    /**
     * Creates a template from source.
     *
     * This method should not be used as a generic way to load templates.
     *
     * @param string $template The template name
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
    {
        if ($useBlocks && isset($blocks[$name])) {
            $template = $blocks[$name][0];
            $block = $blocks[$name][1];
        } elseif (isset($this->blocks[$name])) {
            $template = $this->blocks[$name][0];
            $block = $this->blocks[$name][1];
        } else {
            $template = null;
            $block = null;
        }

        // avoid RCEs when sandbox is enabled
        if (null !== $template && !$template instanceof self) {
            throw new LogicException('A block must be a method on a Twig_Template instance.');
        }

        if (null !== $template) {
            try {
                $template->$block($context, $blocks);
            } catch (Twig_Error $e) {
                if (!$e->getSourceContext()) {
                    $e->setSourceContext($template->getSourceContext());
                }

                // this is mostly useful for Twig_Error_Loader exceptions
                // see Twig_Error_Loader
                if (false === $e->getTemplateLine()) {
                    $e->setTemplateLine(-1);
                    $e->guess();
                }

                throw $e;
            } catch (Exception $e) {
                throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
        } elseif (isset($blocks[$name])) {
            throw new Twig_Error_Runtime(sprintf('Block "%s" should not call parent() in "%s" as the block does not exist in the parent template "%s".', $name, $blocks[$name][0]->getTemplateName(), $this->getTemplateName()), -1, $blocks[$name][0]->getTemplateName());
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f {#8269}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
        if (!class_exists($cls, false)) {
            $key = $this->cache->generateKey($name, $mainCls);

            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }

            if (!class_exists($cls, false)) {
                $source = $this->getLoader()->getSourceContext($name);
                $content = $this->compileSource($source);
                $this->cache->write($key, $content);
                $this->cache->load($key);

                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }

                if (!class_exists($cls, false)) {
                    throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
                }
            }
        }

        // to be removed in 3.0
        $this->extensionSet->initRuntime($this);

        return $this->loadedTemplates[$cls] = new $cls($this);
    }

    /**
     * Creates a template from source.
     *
     * This method should not be used as a generic way to load templates.
     *
     * @param string $template The template name
Arguments
  1. "body_content"
    
  2. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  3. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f {#8269}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }

            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }

            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
        }
    }

    /**
     * Auto-generated method to display the template with the given context.
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f {#8269}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
    }

    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }

    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }

    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = array())
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f {#8269}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_906ce7daa8691a917b74b29d024a626e250b1e48f86e234ffd9ae9dc1c6bc134 {#48}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
        if (!class_exists($cls, false)) {
            $key = $this->cache->generateKey($name, $mainCls);

            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }

            if (!class_exists($cls, false)) {
                $source = $this->getLoader()->getSourceContext($name);
                $content = $this->compileSource($source);
                $this->cache->write($key, $content);
                $this->cache->load($key);

                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }

                if (!class_exists($cls, false)) {
                    throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
                }
            }
        }

        // to be removed in 3.0
        $this->extensionSet->initRuntime($this);

        return $this->loadedTemplates[$cls] = new $cls($this);
    }

    /**
     * Creates a template from source.
     *
     * This method should not be used as a generic way to load templates.
     *
     * @param string $template The template name
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:2 [
      "body_content" => array:2 [
        0 => __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f {#8269}
        1 => "block_body_content"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }

            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }

            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
        }
    }

    /**
     * Auto-generated method to display the template with the given context.
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:2 [
      "body_content" => array:2 [
        0 => __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f {#8269}
        1 => "block_body_content"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
    }

    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }

    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }

    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = array())
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:2 [
      "body_content" => array:2 [
        0 => __TwigTemplate_631c7b3e3608ebc596e17b9b56765fd85ae26584355dd18c4d71e7f1ddbe250f {#8269}
        1 => "block_body_content"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
        if (!class_exists($cls, false)) {
            $key = $this->cache->generateKey($name, $mainCls);

            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }

            if (!class_exists($cls, false)) {
                $source = $this->getLoader()->getSourceContext($name);
                $content = $this->compileSource($source);
                $this->cache->write($key, $content);
                $this->cache->load($key);

                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }

                if (!class_exists($cls, false)) {
                    throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
                }
            }
        }

        // to be removed in 3.0
        $this->extensionSet->initRuntime($this);

        return $this->loadedTemplates[$cls] = new $cls($this);
    }

    /**
     * Creates a template from source.
     *
     * This method should not be used as a generic way to load templates.
     *
     * @param string $template The template name
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:1 [
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }

            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }

            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
        }
    }

    /**
     * Auto-generated method to display the template with the given context.
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:1 [
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
    }

    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }

    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }

    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = array())
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
  2. array:1 [
      "content" => array:2 [
        0 => __TwigTemplate_00682550899e21e86177654b3c1100aa26db9886d5b8db9b71acb63f7e44ccbc {#8035}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
     * @return array An array of blocks
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }

    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }

    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }

Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
        $key = $this->getLoader()->getCacheKey($name).$this->optionsHash;

        return $this->templateClassPrefix.hash('sha256', $key).(null === $index ? '' : '_'.$index);
    }

    /**
     * Renders a template.
     *
     * @param string $name    The template name
     * @param array  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws Twig_Error_Loader  When the template cannot be found
     * @throws Twig_Error_Syntax  When an error occurred during compilation
     * @throws Twig_Error_Runtime When an error occurred during rendering
     */
    public function render($name, array $context = array())
    {
        return $this->loadTemplate($name)->render($context);
    }

    /**
     * Displays a template.
     *
     * @param string $name    The template name
     * @param array  $context An array of parameters to pass to the template
     *
     * @throws Twig_Error_Loader  When the template cannot be found
     * @throws Twig_Error_Syntax  When an error occurred during compilation
     * @throws Twig_Error_Runtime When an error occurred during rendering
     */
    public function display($name, array $context = array())
    {
        $this->loadTemplate($name)->display($context);
    }

    /**
     * Loads a template.
     *
Arguments
  1. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-expressive-twigrenderer
/
src
/
TwigRenderer.php
    /**
     * Render
     *
     * @param string $name
     * @param array|object $params
     * @return string
     * @throws \Zend\Expressive\Template\Exception\InvalidArgumentException for non-array, non-object parameters.
     */
    public function render($name, $params = [])
    {
        // Merge parameters based on requested template name
        $params = $this->mergeParams($name, $this->normalizeParams($params));

        $name   = $this->normalizeTemplate($name);

        // Merge parameters based on normalized template name
        $params = $this->mergeParams($name, $params);

        return $this->template->render($name, $params);
    }

    /**
     * Add a path for template
     *
     * @param string $path
     * @param null|string $namespace
     * @return void
     */
    public function addPath($path, $namespace = null)
    {
        $namespace = $namespace ?: TwigFilesystem::MAIN_NAMESPACE;
        $this->twigLoader->addPath($path, $namespace);
    }

    /**
     * Get the template directories
     *
     * @return TemplatePath[]
     */
Arguments
  1. "src/404.html.twig"
    
  2. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
core
/
Facade
/
Template.php
<?php namespace Core\Facade;

use Zend\Expressive\Template\TemplateRendererInterface;

/**
 * @method static TemplateRendererInterface getInstance()
 */
class Template extends AbstractFacade
{
    protected static $instance = TemplateRendererInterface::class;

    protected static $defaults = [];

    public static function render($path, $params = [])
    {
        return static::getInstance()->render($path, array_merge(static::$defaults, $params));
    }

    public static function defaults($params = null)
    {
        if (is_array($params)) {
            static::$defaults = array_merge(static::$defaults, $params);
        }

        return static::$defaults;
    }
}
Arguments
  1. "src/404.html.twig"
    
  2. array:16 [
      "Registry" => Registry {#1240}
      "Locale" => Locale {#1243}
      "Translation" => Translation {#1241}
      "Csrf" => Csrf {#1242}
      "accountAuth" => false
      "bottom_form" => true
      "footer_top" => true
      "CMS" => CMS {#7677}
      "Auth" => Cabinet {#7676}
      "seo" => Subject {#7748}
      "menu" => Subject {#7807}
      "contacts" => Subject {#7679}
      "trainingsAll" => SubjectsCollection {#7561}
      "policy" => Page {#7866}
      "header" => []
      "footer" => []
    ]
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
core
/
Facade
/
App.php
        ]);
    }

    public static function initSession()
    {
        Session::getInstance()->start();
        Registry::setReference('session', $_SESSION);
    }

    public static function initPipeline()
    {
        static::getInstance()->pipe(ErrorHandler::class);
        //static::getInstance()->pipe(CsrfProtection::class); // we shouldn't protect entire system
        static::getInstance()->pipe(Locale::class);
        static::getInstance()->pipe(FindController::class);

        static::getInstance()->pipe(function () use ($seo) {
            $abs = new Index;
            $abs->bootDispatchTemplateDefaults();
            return new HtmlResponse(Template::render('src/404'), 404);
        });
    }

    public static function stripRouteFromPath(ServerRequestInterface $request, $route)
    {
        return $request->withUri($request->getUri()->withPath($request->getUri()->getPath() == $route ? '/' : substr($request->getUri()->getPath(), strlen($route))));
    }
}
Arguments
  1. "src/404"
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Middleware
/
CallableMiddlewareWrapper.php
        $this->responsePrototype = $prototype;
    }

    /**
     * Proxies to underlying middleware, using composed response prototype.
     *
     * Also decorates the $delegator using the CallableMiddlewareWrapper.
     *
     * {@inheritDocs}
     */
    public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        $middleware = $this->middleware;
        $delegate = $delegate instanceof Next
            ? $delegate
            : function ($request) use ($delegate) {
                return $delegate->process($request);
            };

        return $middleware($request, $this->responsePrototype, $delegate);
    }
}
 
Arguments
  1. ServerRequest {#7447}
    
  2. Response {#15}
    
  3. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
        $normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;

        // Skip if layer path does not match current url
        if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
            return $this->process($request);
        }

        // Skip if match is not at a border ('/', '.', or end)
        $border = $this->getBorder($path, $normalizedRoute);
        if ($border && '/' !== $border && '.' !== $border) {
            return $this->process($request);
        }

        // Trim off the part of the url that matches the layer route
        if (! empty($route) && $route !== '/') {
            $request = $this->stripRouteFromPath($request, $route);
        }

        $middleware = $layer->handler;
        $response = $middleware->process($request, $this);

        if (! $response instanceof ResponseInterface) {
            throw new Exception\MissingResponseException(sprintf(
                "Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
                $request->getMethod(),
                $request->getUri()->getPath(),
                get_class($middleware)
            ));
        }

        return $response;
    }

    /**
     * Toggle the "raise throwables" flag on.
     *
     * @deprecated Since 2.0.0; this functionality is now a no-op.
     * @return void
     */
    public function raiseThrowables()
Arguments
  1. ServerRequest {#7447}
    
  2. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
core
/
Middleware
/
Controller.php
    public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        $this->boot('bootProcess');

        foreach($this->middlewares as $middleware) {
            if(($return = $middleware->process($request, $delegate)) !== null) {//if anything returned
                return $return;
            }
        }

        return $this->processController($request, $delegate);
    }

    private function processController(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        $this->boot('bootRouting');

        if (!$this->router || ($result = $this->router->match($request))->isFailure()) {
            return $delegate->process($request);
        }

        $this->request = $request;
        $this->delegate = $delegate;

        Template::defaults([
            'this' => $this
        ]);

        Registry::set('http.controller.object', $this);
        Registry::set('http.request.attributes', $result->getMatchedParams());

        $this->boot('bootDispatch');
        return call_user_func($result->getMatchedMiddleware());
    }

    protected function path($route = null)
    {
        return Registry::get('http.controller.path').$route;
    }
Arguments
  1. ServerRequest {#7447}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
core
/
Middleware
/
Controller.php
            }
        }
    }

    protected function middleware($middleware)
    {
        $this->middlewares[] = $middleware;
    }

    public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        $this->boot('bootProcess');

        foreach($this->middlewares as $middleware) {
            if(($return = $middleware->process($request, $delegate)) !== null) {//if anything returned
                return $return;
            }
        }

        return $this->processController($request, $delegate);
    }

    private function processController(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        $this->boot('bootRouting');

        if (!$this->router || ($result = $this->router->match($request))->isFailure()) {
            return $delegate->process($request);
        }

        $this->request = $request;
        $this->delegate = $delegate;

        Template::defaults([
            'this' => $this
        ]);

        Registry::set('http.controller.object', $this);
        Registry::set('http.request.attributes', $result->getMatchedParams());

Arguments
  1. ServerRequest {#7447}
    
  2. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
core
/
Middleware
/
FindController.php
        $controllerClass = $controllerClassPath.$controllerClassName;

        if ($controllerPath != '/') {
            $request = App::stripRouteFromPath($request, $controllerPath);
        }

        Registry::set('http.request.method', $request->getMethod());
        Registry::set('http.request.path', $request->getUri()->getPath());
        Registry::set('http.request.headers', $request->getHeaders());
        Registry::set('http.request.cookies', $request->getCookieParams());
        Registry::set('http.request.query', $request->getQueryParams());
        Registry::set('http.request.body', $request->getParsedBody());
        Registry::set('http.request.files', $request->getUploadedFiles());
        Registry::set('http.request.server', $request->getServerParams());

        Registry::set('http.controller.path', Locale::getLocalePath().$controllerPath);
        Registry::set('http.controller.class', $controllerClass);

        return (new $controllerClass)->process($request, $delegate);
    }

    private function controllerClassName($name)
    {
        return str_replace('-', '', ucwords($name, '-'));
    }
}
Arguments
  1. ServerRequest {#7447}
    
  2. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
        $normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;

        // Skip if layer path does not match current url
        if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
            return $this->process($request);
        }

        // Skip if match is not at a border ('/', '.', or end)
        $border = $this->getBorder($path, $normalizedRoute);
        if ($border && '/' !== $border && '.' !== $border) {
            return $this->process($request);
        }

        // Trim off the part of the url that matches the layer route
        if (! empty($route) && $route !== '/') {
            $request = $this->stripRouteFromPath($request, $route);
        }

        $middleware = $layer->handler;
        $response = $middleware->process($request, $this);

        if (! $response instanceof ResponseInterface) {
            throw new Exception\MissingResponseException(sprintf(
                "Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
                $request->getMethod(),
                $request->getUri()->getPath(),
                get_class($middleware)
            ));
        }

        return $response;
    }

    /**
     * Toggle the "raise throwables" flag on.
     *
     * @deprecated Since 2.0.0; this functionality is now a no-op.
     * @return void
     */
    public function raiseThrowables()
Arguments
  1. ServerRequest {#7447}
    
  2. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
core
/
Service
/
Locale.php
use Interop\Http\ServerMiddleware\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Zend\Diactoros\Response\RedirectResponse;

class Locale implements MiddlewareInterface
{
    protected static $locales = [];
    protected static $locale;
    protected static $default;

    public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        if (($locale = substr($request->getUri()->getPath(), 1, 2)) && in_array($locale, static::getLocales()) && in_array(substr($request->getUri()->getPath(), 3, 1), ['/', false, ''])) {
            static::setLocale($locale);
            $request = App::stripRouteFromPath($request, '/'.$locale);
        } elseif (($localePath = static::getLocalePath())) {// to prevent doubled-content for google
            return new RedirectResponse($localePath.$request->getUri()->getPath());
        }

        return $delegate->process($request);
    }

    /**
     * @param string $locale
     * @throws \Exception
     */
    public static function setLocales(array $locales)
    {
        self::$locales = $locales;
        self::$default = current($locales);
    }

    /**
     * @return array
     */
    public static function getLocales()
    {
        return self::$locales;
    }

Arguments
  1. ServerRequest {#7447}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
        $normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;

        // Skip if layer path does not match current url
        if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
            return $this->process($request);
        }

        // Skip if match is not at a border ('/', '.', or end)
        $border = $this->getBorder($path, $normalizedRoute);
        if ($border && '/' !== $border && '.' !== $border) {
            return $this->process($request);
        }

        // Trim off the part of the url that matches the layer route
        if (! empty($route) && $route !== '/') {
            $request = $this->stripRouteFromPath($request, $route);
        }

        $middleware = $layer->handler;
        $response = $middleware->process($request, $this);

        if (! $response instanceof ResponseInterface) {
            throw new Exception\MissingResponseException(sprintf(
                "Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
                $request->getMethod(),
                $request->getUri()->getPath(),
                get_class($middleware)
            ));
        }

        return $response;
    }

    /**
     * Toggle the "raise throwables" flag on.
     *
     * @deprecated Since 2.0.0; this functionality is now a no-op.
     * @return void
     */
    public function raiseThrowables()
Arguments
  1. ServerRequest {#7447}
    
  2. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Middleware
/
ErrorHandler.php
     * Adds an error handler that will convert PHP errors to ErrorException
     * instances.
     *
     * Internally, wraps the call to $next() in a try/catch block, catching
     * all PHP Throwables (PHP 7) and Exceptions (PHP 5.6 and earlier).
     *
     * When an exception is caught, an appropriate error response is created
     * and returned instead; otherwise, the response returned by $next is
     * used.
     *
     * @param ServerRequestInterface $request
     * @param DelegateInterface $delegate
     * @return ResponseInterface
     */
    public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        set_error_handler($this->createErrorHandler());

        try {
            $response = $delegate->process($request);

            if (! $response instanceof ResponseInterface) {
                throw new MissingResponseException('Application did not return a response');
            }
        } catch (Throwable $e) {
            $response = $this->handleThrowable($e, $request);
        } catch (Exception $e) {
            $response = $this->handleThrowable($e, $request);
        }

        restore_error_handler();

        return $response;
    }

    /**
     * Handles all throwables/exceptions, generating and returning a response.
     *
     * Passes the error, request, and response prototype to createErrorResponse(),
     * triggers all listeners with the same arguments (but using the response
Arguments
  1. ServerRequest {#7447}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-expressive
/
src
/
Middleware
/
LazyLoadingMiddleware.php
    ) {
        $this->container = $container;
        $this->responsePrototype = $responsePrototype;
        $this->middlewareName = $middlewareName;
    }

    /**
     * @param ServerRequestInterface $request
     * @param DelegateInterface $delegate
     * @return ResponseInterface
     * @throws InvalidMiddlewareException for invalid middleware types pulled
     *     from the container.
     */
    public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        $middleware = $this->container->get($this->middlewareName);

        // http-interop middleware
        if ($middleware instanceof ServerMiddlewareInterface) {
            return $middleware->process($request, $delegate);
        }

        // Unknown - invalid!
        if (! is_callable($middleware)) {
            throw new InvalidMiddlewareException(sprintf(
                'Lazy-loaded middleware "%s" is neither invokable nor implements %s',
                $this->middlewareName,
                ServerMiddlewareInterface::class
            ));
        }

        // Callable http-interop middleware
        if ($this->isCallableInteropMiddleware($middleware)) {
            return $middleware($request, $delegate);
        }

        // Legacy double-pass signature
        return $middleware($request, $this->responsePrototype, function ($request, $response) use ($delegate) {
            return $delegate->process($request);
        });
Arguments
  1. ServerRequest {#7447}
    
  2. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
        $normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;

        // Skip if layer path does not match current url
        if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
            return $this->process($request);
        }

        // Skip if match is not at a border ('/', '.', or end)
        $border = $this->getBorder($path, $normalizedRoute);
        if ($border && '/' !== $border && '.' !== $border) {
            return $this->process($request);
        }

        // Trim off the part of the url that matches the layer route
        if (! empty($route) && $route !== '/') {
            $request = $this->stripRouteFromPath($request, $route);
        }

        $middleware = $layer->handler;
        $response = $middleware->process($request, $this);

        if (! $response instanceof ResponseInterface) {
            throw new Exception\MissingResponseException(sprintf(
                "Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
                $request->getMethod(),
                $request->getUri()->getPath(),
                get_class($middleware)
            ));
        }

        return $response;
    }

    /**
     * Toggle the "raise throwables" flag on.
     *
     * @deprecated Since 2.0.0; this functionality is now a no-op.
     * @return void
     */
    public function raiseThrowables()
Arguments
  1. ServerRequest {#7447}
    
  2. Next {#7442}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
MiddlewarePipe.php
            $delegate = new Delegate\CallableDelegateDecorator($delegate, $response);
        }

        return $this->process($request, $delegate);
    }

    /**
     * http-interop invocation: single-pass with delegate.
     *
     * Executes the internal pipeline, passing $delegate as the "final
     * handler" in cases when the pipeline exhausts itself.
     *
     * @param Request $request
     * @param DelegateInterface $delegate
     * @return Response
     */
    public function process(Request $request, DelegateInterface $delegate)
    {
        $next = new Next($this->pipeline, $delegate);
        return $next->process($request);
    }

    /**
     * Attach middleware to the pipeline.
     *
     * Each middleware can be associated with a particular path; if that
     * path is matched when that middleware is invoked, it will be processed;
     * otherwise it is skipped.
     *
     * No path means it should be executed every request cycle.
     *
     * A handler CAN implement MiddlewareInterface, but MUST be callable.
     *
     * @see MiddlewareInterface
     * @see Next
     * @param string|callable|object $path Either a URI path prefix, or middleware.
     * @param null|callable|object $middleware Middleware
     * @return self
     */
    public function pipe($path, $middleware = null)
Arguments
  1. ServerRequest {#7447}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
vendor
/
zendframework
/
zend-expressive
/
src
/
Application.php
     */
    public function run(ServerRequestInterface $request = null, ResponseInterface $response = null)
    {
        try {
            $request  = $request ?: ServerRequestFactory::fromGlobals();
        } catch (InvalidArgumentException $e) {
            // Unable to parse uploaded files
            $this->emitMarshalServerRequestException($e);
            return;
        } catch (UnexpectedValueException $e) {
            // Invalid request method
            $this->emitMarshalServerRequestException($e);
            return;
        }

        $response = $response ?: new Response();
        $request  = $request->withAttribute('originalResponse', $response);
        $delegate = $this->getDefaultDelegate();

        $response = $this->process($request, $delegate);

        $emitter = $this->getEmitter();
        $emitter->emit($response);
    }

    /**
     * Retrieve the IoC container.
     *
     * If no IoC container is registered, we raise an exception.
     *
     * @return ContainerInterface
     * @throws Exception\ContainerNotRegisteredException
     */
    public function getContainer()
    {
        if (null === $this->container) {
            throw new Exception\ContainerNotRegisteredException();
        }
        return $this->container;
    }
Arguments
  1. ServerRequest {#7447}
    
  2. NotFoundDelegate {#7460}
    
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
public
/
index.php
<?php date_default_timezone_set('Asia/Almaty');

use Core\Facade\App;

chdir(dirname(__DIR__));
require 'vendor/autoload.php';

/**
 * Self-called anonymous function that creates its own scope and keep the global namespace clean.
 */
call_user_func(function () {

    App::init(require 'config/config.php');
    App::initSession();
    App::initPipeline();

    App::getInstance()->run();
});
 
/
var
/
www
/
vhosts
/
sparta.kz
/
httpdocs
/
public
/
index.php
<?php date_default_timezone_set('Asia/Almaty');

use Core\Facade\App;

chdir(dirname(__DIR__));
require 'vendor/autoload.php';

/**
 * Self-called anonymous function that creates its own scope and keep the global namespace clean.
 */
call_user_func(function () {

    App::init(require 'config/config.php');
    App::initSession();
    App::initPipeline();

    App::getInstance()->run();
});
 

Environment & details:

Key Value
HTTP Method
"GET"
URI
"https://sparta.kz/mv/"
Script
"/index.php"
Headers
array:6 [
  "accept" => array:1 [
    0 => "*/*"
  ]
  "connection" => array:1 [
    0 => "close"
  ]
  "host" => array:1 [
    0 => "sparta.kz"
  ]
  "user-agent" => array:1 [
    0 => "claudebot"
  ]
  "x-real-ip" => array:1 [
    0 => "52.55.19.189"
  ]
  "x-accel-internal" => array:1 [
    0 => "/internal-nginx-static-location"
  ]
]
Cookies
[]
Attributes
array:1 [
  "originalResponse" => Response {#7445}
]
Query String Arguments
[]
Body Params
[]
empty
empty
empty
empty
Key Value
__ZF
array:2 [
  "_REQUEST_ACCESS_TIME" => 1711704223.3403
  "_VALID" => array:1 [
    "Zend\Session\Validator\Id" => "361aaf619c11057f23231f366f126068"
  ]
]
Key Value
PHPRC
"/var/www/vhosts/system/sparta.kz/etc/php.ini"
PATH
"/usr/local/bin:/usr/bin:/bin"
TEMP
"/tmp"
TMP
"/tmp"
TMPDIR
"/tmp"
PWD
"/"
LSCAPI_CRIU_SYNC_FD
"7"
HTTP_ACCEPT
"*/*"
HTTP_CONNECTION
"close"
CONTENT_LENGTH
"0"
HTTP_HOST
"sparta.kz"
HTTP_USER_AGENT
"claudebot"
HTTP_X_REAL_IP
"52.55.19.189"
HTTP_X_ACCEL_INTERNAL
"/internal-nginx-static-location"
REDIRECT_UNIQUE_ID
"ZgaIn1yONV@6gJoL@6yK5gAAAQ0"
REDIRECT_SCRIPT_URL
"/mv/"
REDIRECT_SCRIPT_URI
"https://sparta.kz/mv/"
REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_HTTPS
"on"
REDIRECT_STATUS
"200"
UNIQUE_ID
"ZgaIn1yONV@6gJoL@6yK5gAAAQ0"
SCRIPT_URL
"/mv/"
SCRIPT_URI
"https://sparta.kz/mv/"
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
HTTPS
"on"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"sparta.kz"
SERVER_ADDR
"185.98.5.110"
SERVER_PORT
"443"
REMOTE_ADDR
"52.55.19.189"
DOCUMENT_ROOT
"/var/www/vhosts/sparta.kz/httpdocs/public"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/sparta.kz/httpdocs/public"
SERVER_ADMIN
"root@localhost"
SCRIPT_FILENAME
"/var/www/vhosts/sparta.kz/httpdocs/public/index.php"
REMOTE_PORT
"46180"
REDIRECT_URL
"/mv/"
SERVER_PROTOCOL
"HTTP/1.0"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/mv/"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711704223.34
REQUEST_TIME
1711704223
empty
0. Whoops\Handler\PrettyPageHandler