/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/src
/View
/src
/blank.html.twig
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="keywords" content="{% block keywords %}{{ seo.keywords }}{% endblock %}">
<meta name="description" content="{% block description %}{{ seo.description }}{% endblock %}">
<title>{% block title %}{{ seo.title }}{% endblock %}</title>
<meta name="HandheldFriendly" content="true">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="x-dns-prefetch-control" content="off">
<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="/css/default/style.css"/>
<link rel="stylesheet" type="text/css" href="/css/default/libs.css"/>
<link rel="stylesheet" type="text/css" href="/css/style.css"/>
<link rel="stylesheet" type="text/css" href="/css/responsive.css"/>
<link rel="icon" type="image/icon" href="/favicon.ico">
<script src="/js/jQuery.js"></script>
<script src="/js/jQuery.js"></script>
<script src="//bootstrap-3.3.7/js/bootstrap.min.js"></script>
<script src="//tether/js/tether.min.js"></script>
<script src="//bootstrap-multiselect/js/bootstrap-multiselect.js"></script>
<link href="//bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet">
{#<script src="//jquery-ui/jquery-ui.min.js"></script>#}
<script src="//ckeditor/ckeditor.js"></script>
<script src="//ckeditor/adapters/jquery.js"></script>
<script src="//moment/moment.min.js"></script>
<script src="//bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script src="//bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js"></script>
<link rel="stylesheet" href="/css/dev.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-38145874-61"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
Arguments
"Impossible to access an attribute ("keywords") on a null variable."
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
Twig_Environment {#3627}
Twig_Source {#4295}
null
"keywords"
[]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4535}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
"keywords"
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4535}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4535}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4535}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4416}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:2 [
"body_content" => array:2 [
0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4535}
1 => "block_body_content"
]
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:2 [
"body_content" => array:2 [
0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4535}
1 => "block_body_content"
]
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:2 [
"body_content" => array:2 [
0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4535}
1 => "block_body_content"
]
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_8e3973350e146a9ce5558e0c88b10544edf011a29488a4c9b5b9aec49e1763a8 {#4022}
1 => "block_content"
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
"src/contacts/index.html.twig"
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
"src/contacts/index.html.twig"
array:18 [
"Registry" => Registry {#764}
"Locale" => Locale {#767}
"Translation" => Translation {#765}
"Csrf" => Csrf {#766}
"this" => Index {#3655}
"logo" => Photo {#3767}
"logoFooter" => Photo {#3826}
"logoDisable" => false
"CMS" => CMS {#3824}
"Auth" => Cabinet {#3823}
"seo" => null
"locales" => """
<div class="lang_box">\n
\t<a href="/ru/" class="active_lang">\n
\t\t<span>Рус</span>\n
\t\t<i class="fa fa-chevron-down"></i>\n
\t</a>\n
\t<div class="lang_grop">\n
\t\t\t\t\t<a href="/kz/">Каз</a>\n
\t\t\t\t\t<a href="/en/">Eng</a>\n
\t\t\t</div>\n
</div>
"""
"lang" => "ru"
"contacts" => Subject {#3708}
"siteVariables" => SubjectsCollection {#4096}
"header" => array:1 [
"menu" => Subject {#4179}
]
"footer" => array:1 [
"slogan" => Subject {#4238}
]
"breadcrumbs" => array:1 [
"" => null
]
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/src
/Controller
/Index.php
$this->GET('/contacts', 'contactsPage');
$this->POST('/send', 'send');
}
public function aboutPage() {
$seo = Subjects::of('Seo')->find(5);
$breadcrumbs[''] = $seo->h1;
return $this->html(Template::render( 'src/about/index',[
'breadcrumbs'=>$breadcrumbs,
'seo' => $seo
]));
}
public function contactsPage() {
$seo = Subjects::of('Seo')->find(4);
$breadcrumbs[''] = $seo->h1;
return $this->html(Template::render('src/contacts/index',[
'breadcrumbs'=>$breadcrumbs,
'seo' => $seo
]));
}
public function indexPage()
{
$slider = Subjects::of('Slider')->select(function ($select){
$select->where(['hidden' => 0]);
$select->order('sort');
})->get();
$news = Subjects::of('News')->select(function ($select){
$select->where(['hidden' => 0]);
$select->order('date DESC');
})->get();
$aboutList = Subjects::of('AboutPage')->select(function ($select){
$select->where(['hidden' => 0]);
$select->order('sort');
})->get();
$preim1 = Subjects::of('Preim1')->select(function ($select){
$select->where(['hidden' => 0]);
$select->order('sort');
Arguments
"src/contacts/index"
array:2 [
"breadcrumbs" => array:1 [
"" => null
]
"seo" => null
]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/core
/Middleware
/Controller.php
}
private function addRoute($route, $method, $callback)
{
if (is_callable($callback)) {
$middleware = function () use ($callback) {
return call_user_func_array($callback, Registry::pull('http.request.attributes'));
};
} elseif (is_string($callback)) {
if (!method_exists($this, $callback)) {
throw new RuntimeException(
'No method '.get_class($this).'::'.$method.'() for route "'.$route.'"'
);
}
$middleware = function () use ($callback) {
return call_user_func_array([$this, $callback], Registry::pull('http.request.attributes'));
};
} else {
throw new RuntimeException(
'$callback shoud be callable or string type'
);
}
if (!$this->router) {
$this->router = App::getInstance()->getContainer()->build(RouterInterface::class);
}
$this->router->addRoute(new Route($route, $middleware, [$method]));
}
}
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/core
/Middleware
/Controller.php
}
private function addRoute($route, $method, $callback)
{
if (is_callable($callback)) {
$middleware = function () use ($callback) {
return call_user_func_array($callback, Registry::pull('http.request.attributes'));
};
} elseif (is_string($callback)) {
if (!method_exists($this, $callback)) {
throw new RuntimeException(
'No method '.get_class($this).'::'.$method.'() for route "'.$route.'"'
);
}
$middleware = function () use ($callback) {
return call_user_func_array([$this, $callback], Registry::pull('http.request.attributes'));
};
} else {
throw new RuntimeException(
'$callback shoud be callable or string type'
);
}
if (!$this->router) {
$this->router = App::getInstance()->getContainer()->build(RouterInterface::class);
}
$this->router->addRoute(new Route($route, $middleware, [$method]));
}
}
Arguments
array:2 [
0 => Index {#3655}
1 => "contactsPage"
]
[]
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/core
/Middleware
/Controller.php
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;
}
protected function response($status, $headers = [])
{
return new EmptyResponse($status, $headers);
}
protected function redirect($url, $status = 302, array $headers = [])
{
return new RedirectResponse($url, $status, $headers);
}
protected function html($html, $status = 200, array $headers = [])
{
return new HtmlResponse($html, $status, $headers);
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/core
/Middleware
/Controller.php
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;
}
protected function response($status, $headers = [])
{
return new EmptyResponse($status, $headers);
}
protected function redirect($url, $status = 302, array $headers = [])
{
return new RedirectResponse($url, $status, $headers);
}
protected function html($html, $status = 200, array $headers = [])
{
return new HtmlResponse($html, $status, $headers);
Arguments
Closure {#3664
class: "Core\Middleware\Controller"
this: Index {#3655 …}
use: {
$callback: "contactsPage"
}
}
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/var
/www
/vhosts
/otr-tyres.kz
/otr-group.kz
/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
/otr-tyres.kz
/otr-group.kz
/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();
});