TypeError
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method ItpandaSeo::ConcatNotEmpty() cannot be called statically TypeError thrown with message "call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method ItpandaSeo::ConcatNotEmpty() cannot be called statically" Stacktrace: #17 TypeError in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/lib/eventmanager.php:437 #16 call_user_func_array in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/lib/eventmanager.php:437 #15 Bitrix\Main\EventManager:sendToEventHandler in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/lib/eventmanager.php:373 #14 Bitrix\Main\EventManager:send in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/lib/event.php:142 #13 Bitrix\Main\Event:send in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/iblock/lib/template/functions/fabric.php:62 #12 Bitrix\Iblock\Template\Functions\Fabric:createInstance in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/iblock/lib/template/engine.php:449 #11 Bitrix\Iblock\Template\NodeFunction:process in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/iblock/lib/template/engine.php:309 #10 Bitrix\Iblock\Template\NodeRoot:process in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/iblock/lib/template/engine.php:83 #9 Bitrix\Iblock\Template\Engine:process in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/aspro.smartseo/classes/general/SmartseoEngine.php:113 #8 Aspro\Smartseo\General\SmartseoEngine:loadSeoPropertyForPage in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/aspro.smartseo/classes/general/SmartseoEventHandler.php:21 #7 Aspro\Smartseo\General\SmartseoEventHandler:onPageStart in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/tools.php:5259 #6 ExecuteModuleEventEx in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include.php:186 #5 require_once in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include/prolog_before.php:19 #4 require_once in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include/prolog.php:10 #3 require_once in /var/www/www-root/data/www/vannstudio.ru/bitrix/header.php:1 #2 require in /var/www/www-root/data/www/vannstudio.ru/catalog/index.php:1 #1 include_once in /var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include/urlrewrite.php:178 #0 include_once in /var/www/www-root/data/www/vannstudio.ru/bitrix/urlrewrite.php:2
Stack frames (18)
17
TypeError
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
eventmanager.php
437
16
call_user_func_array
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
eventmanager.php
437
15
Bitrix
\
Main
\
EventManager
sendToEventHandler
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
eventmanager.php
373
14
Bitrix
\
Main
\
EventManager
send
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
event.php
142
13
Bitrix
\
Main
\
Event
send
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
functions
/
fabric.php
62
12
Bitrix
\
Iblock
\
Template
\
Functions
\
Fabric
createInstance
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
engine.php
449
11
Bitrix
\
Iblock
\
Template
\
NodeFunction
process
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
engine.php
309
10
Bitrix
\
Iblock
\
Template
\
NodeRoot
process
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
engine.php
83
9
Bitrix
\
Iblock
\
Template
\
Engine
process
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
aspro.smartseo
/
classes
/
general
/
SmartseoEngine.php
113
8
Aspro
\
Smartseo
\
General
\
SmartseoEngine
loadSeoPropertyForPage
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
aspro.smartseo
/
classes
/
general
/
SmartseoEventHandler.php
21
7
Aspro
\
Smartseo
\
General
\
SmartseoEventHandler
onPageStart
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
tools.php
5259
6
ExecuteModuleEventEx
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include.php
186
5
require_once
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include
/
prolog_before.php
19
4
require_once
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include
/
prolog.php
10
3
require_once
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
header.php
1
2
require
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
catalog
/
index.php
1
1
include_once
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include
/
urlrewrite.php
178
0
include_once
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
urlrewrite.php
2
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
eventmanager.php
                    $args[] = $event;
                }
                else
                {
                    $args = array_merge($args, array_values($event->getParameters()));
                }
 
                $callback = null;
                if (isset($handler['CALLBACK']))
                {
                    $callback = $handler['CALLBACK'];
                }
                elseif (!empty($handler['TO_CLASS']) && !empty($handler['TO_METHOD']) && class_exists($handler['TO_CLASS']))
                {
                    $callback = [$handler['TO_CLASS'], $handler['TO_METHOD']];
                }
 
                if ($callback != null)
                {
                    $result = call_user_func_array($callback, $args);
                }
                else
                {
                    $result = $includeResult;
                }
 
                if (($result != null) && !($result instanceof EventResult))
                {
                    $result = new EventResult(EventResult::UNDEFINED, $result, $handler['TO_MODULE_ID'] ?? null);
                }
 
                $event->addDebugInfo($result);
 
                if ($result != null)
                {
                    $event->addResult($result);
                }
            }
        }
        catch (\Exception $ex)
Arguments
  1. "call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method ItpandaSeo::ConcatNotEmpty() cannot be called statically"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
eventmanager.php
                    $args[] = $event;
                }
                else
                {
                    $args = array_merge($args, array_values($event->getParameters()));
                }
 
                $callback = null;
                if (isset($handler['CALLBACK']))
                {
                    $callback = $handler['CALLBACK'];
                }
                elseif (!empty($handler['TO_CLASS']) && !empty($handler['TO_METHOD']) && class_exists($handler['TO_CLASS']))
                {
                    $callback = [$handler['TO_CLASS'], $handler['TO_METHOD']];
                }
 
                if ($callback != null)
                {
                    $result = call_user_func_array($callback, $args);
                }
                else
                {
                    $result = $includeResult;
                }
 
                if (($result != null) && !($result instanceof EventResult))
                {
                    $result = new EventResult(EventResult::UNDEFINED, $result, $handler['TO_MODULE_ID'] ?? null);
                }
 
                $event->addDebugInfo($result);
 
                if ($result != null)
                {
                    $event->addResult($result);
                }
            }
        }
        catch (\Exception $ex)
Arguments
  1. array:2 [
      0 => "ItpandaSeo"
      1 => "ConcatNotEmpty"
    ]
    
  2. array:1 [
      0 => Event {}
    ]
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
eventmanager.php
            $handlersTmp = $handlers;
            $handlers = [];
            foreach ($handlersTmp as $handler)
            {
                if (isset($handler['TO_MODULE_ID']) && in_array($handler['TO_MODULE_ID'], $filter))
                {
                    $handlers[] = $handler;
                }
            }
        }
 
        return $handlers;
    }
 
    public function send(Event $event)
    {
        $handlers = $this->findEventHandlers($event->getModuleId(), $event->getEventType(), $event->getFilter());
        foreach ($handlers as $handler)
        {
            $this->sendToEventHandler($handler, $event);
        }
    }
 
    protected function sendToEventHandler(array $handler, Event $event)
    {
        try
        {
            $result = true;
            $includeResult = true;
 
            $event->addDebugInfo($handler);
 
            if (!empty($handler['TO_MODULE_ID']) && ($handler['TO_MODULE_ID'] != 'main'))
            {
                $result = Loader::includeModule($handler['TO_MODULE_ID']);
            }
            elseif (!empty($handler['TO_PATH']))
            {
                $path = ltrim($handler['TO_PATH'], '/');
                if (($path = Loader::getLocal($path)) !== false)
Arguments
  1. array:9 [
      "SORT" => 100
      "TO_MODULE_ID" => "itpanda.seo"
      "TO_PATH" => ""
      "TO_CLASS" => "ItpandaSeo"
      "TO_METHOD" => "ConcatNotEmpty"
      "TO_METHOD_ARG" => []
      "VERSION" => "2"
      "TO_NAME" => "ItpandaSeo::ConcatNotEmpty (itpanda.seo)"
      "FROM_DB" => true
    ]
    
  2. Event {}
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
lib
/
event.php
     */
    public function getResults()
    {
        return $this->results;
    }
 
    public function addResult(EventResult $result)
    {
        $this->results[] = $result;
    }
 
    public function getSender()
    {
        return $this->sender;
    }
 
    public function send($sender = null)
    {
        $this->sender = $sender;
        EventManager::getInstance()->send($this);
    }
 
    public function addException(\Exception $exception)
    {
        $this->exceptions[] = $exception;
    }
 
    public function getExceptions()
    {
        return $this->exceptions;
    }
 
    public function turnDebugOn()
    {
        $this->debugMode = true;
    }
 
    public function isDebugOn()
    {
        return $this->debugMode;
Arguments
  1. Event {}
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
functions
/
fabric.php
        if (!is_string($functionName))
        {
            return new FunctionBase($data);
        }
        if (isset(self::$defaultFunctionMap[$functionName]))
        {
            /** @var FunctionBase $functionClass */
            $functionClass = self::$defaultFunctionMap[$functionName];
            return new $functionClass($data);
        }
        elseif (isset(self::$functionMap[$functionName]))
        {
            /** @var FunctionBase $functionClass */
            $functionClass = self::$functionMap[$functionName];
            return new $functionClass($data);
        }
        else
        {
            $event = new \Bitrix\Main\Event("iblock", "OnTemplateGetFunctionClass", array($functionName));
            $event->send();
            if ($event->getResults())
            {
                foreach($event->getResults() as $evenResult)
                {
                    if($evenResult->getType() == \Bitrix\Main\EventResult::SUCCESS)
                    {
                        $functionClass = $evenResult->getParameters();
                        if (is_string($functionClass) && class_exists($functionClass))
                        {
                            self::$functionMap[$functionName] = $functionClass;
                        }
                        break;
                    }
                }
            }
            if (isset(self::$functionMap[$functionName]))
            {
                $functionClass = self::$functionMap[$functionName];
                return new $functionClass($data);
            }
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
engine.php
     *
     * @return void
     */
    public function addParameter(NodeBase $parameter)
    {
        $this->parameters[] = $parameter;
    }
 
    /**
     * Uses Functions\Fabric to get an instance of the function object by it's name.
     * On success calls onPrepareParameters, then calculate method.
     * Otherwise returns an empty string.
     *
     * @param Entity\Base $entity Sets the context of processing.
     *
     * @return string
     */
    public function process(Entity\Base $entity)
    {
        $functionObject = Functions\Fabric::createInstance($this->functionName);
        if ($functionObject instanceof Functions\FunctionBase)
        {
            $arguments = $functionObject->onPrepareParameters($entity, $this->parameters);
            return $functionObject->calculate($arguments);
        }
        else
        {
            return "";
        }
    }
}
 
Arguments
  1. "aspro_morphy"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
engine.php
                ));
            $this->modifiers[] = $modifierFunction;
        }
    }
 
    /**
     * Calls process for each of it's children.
     * Returns concatenation of their results.
     *
     * @param Entity\Base $entity Sets the context of processing.
     *
     * @return string
     */
    public function process(Entity\Base $entity)
    {
        $content = "";
        /** @var NodeBase $child*/
        foreach ($this->children as $child)
        {
            $childContent = $child->process($entity);
            if (is_array($childContent))
                $content .= implode(" ", $childContent);
            else
                $content .= $childContent;
        }
        /** @var Functions\FunctionBase $modifier*/
        foreach ($this->modifiers as $modifier)
        {
            $node = new NodeText($content);
            $arguments = $modifier->onPrepareParameters($entity, array($node));
            $content = $modifier->calculate($arguments);
        }
        return $content;
    }
}
 
/**
 * Class NodeText
 * Plain text node
 *
Arguments
  1. FilterRuleUrl {}
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
iblock
/
lib
/
template
/
engine.php
{
    /**
     * Takes an entity (Element, Section or Iblock) and processes the template.
     * <code>
     * if (\Bitrix\Main\Loader::includeModule('iblock'))
     * &#123;
     *     $e = new \Bitrix\Iblock\Template\Entity\Element(6369);
     *     echo "<pre>", print_r(\Bitrix\Iblock\Template\Engine::process($e, "Name: {=this.Name}. Code:{=this.code}"), 1), "</pre>";
     * &#125;
     * </code>
     *
     * @param Entity\Base $entity Context entity for template processing.
     * @param string $template Template to make substitutions in.
     *
     * @return string
     */
    public static function process(Entity\Base $entity, $template)
    {
        $rootNode = self::parseTemplateTree($template, new NodeRoot);
        return $rootNode->process($entity);
    }
 
    /**
     * Splits template by tokens and builds execution tree.
     *
     * @param string $template Source expression.
     * @param NodeRoot $parent Root node.
     *
     * @return NodeRoot
     */
    protected static function parseTemplateTree($template, NodeRoot $parent)
    {
        list($template, $modifiers) = Helper::splitTemplate($template);
        if ($modifiers != "")
            $parent->setModifiers($modifiers);
 
        $parsedTemplate = preg_split('/({=|})/',  $template, -1, PREG_SPLIT_DELIM_CAPTURE);
        while (($token = array_shift($parsedTemplate)) !== null)
        {
            $node = null;
Arguments
  1. FilterRuleUrl {}
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
aspro.smartseo
/
classes
/
general
/
SmartseoEngine.php
              \Aspro\Smartseo\Models\SmartseoSeoTemplateTable::ENTITY_TYPE_FILTER_RULE => $dataScope['RULE_ID'],
              \Aspro\Smartseo\Models\SmartseoSeoTemplateTable::ENTITY_TYPE_FILTER_CONDITION => $dataScope['CONDITION_ID'],
              \Aspro\Smartseo\Models\SmartseoSeoTemplateTable::ENTITY_TYPE_FILTER_URL => $dataScope['URL_ID'],
        ]);
 
        if (!$seoTemplates) {
            return;
        }
 
        $element = new \Aspro\Smartseo\Template\Entity\FilterRuleUrl($dataScope['URL_ID']);
 
        $currentSeoProperty = Smartseo::getCurrentSeoProperty();
        foreach ($seoTemplates as $seoProperty) {
            if (!$seoProperty['TEMPLATE']) {
                $currentSeoProperty[$code] = '';
                continue;
            }
 
            $currentSeoProperty[$seoProperty['CODE']] = \Bitrix\Main\Text\HtmlFilter::encode(
                \Bitrix\Iblock\Template\Engine::process($element, $seoProperty['TEMPLATE'])
            );
        }
 
        Smartseo::setCurrentSeoProperty($currentSeoProperty);
    }
 
    static public function replaceSeoPropertyOnPage()
    {
        if(!Smartseo::validateModules()) {
            return;
        }
 
        if (!Smartseo::getCurrentData()) {
            return;
        }
 
        if (!Smartseo::getCurrentSeoProperty()) {
            return;
        }
 
Arguments
  1. FilterRuleUrl {}
    
  2. "{=property.IP_PROP958} {=aspro_morphy {=property.attr_form} "ср" "ед"}"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
aspro.smartseo
/
classes
/
general
/
SmartseoEventHandler.php
 
namespace Aspro\Smartseo\General;
 
class SmartseoEventHandler
{
 
    static public function onPageStart()
    {
        global $APPLICATION;
 
        Smartseo::init();
 
        if (\CSite::InDir('/bitrix/')) {
            Smartseo::fixBitrixCoreAjaxAuth();
 
            return;
        }
 
        SmartseoEngine::urlRewrite();
        SmartseoEngine::loadSeoPropertyForPage();
    }
 
    static public function onEpilog()
    {
        if (\CSite::InDir('/bitrix/')) {
            return;
        }
 
        SmartseoEngine::disallowPageIndexUrl();
        SmartseoEngine::replaceSeoPropertyOnPage();
    }
 
    static public function onEndBufferContent(&$bufferContent)
    {
        if (\CSite::InDir('/bitrix/')) {
            return;
        }
 
        if(Smartseo::getSettingObject()->isReplaceSnippetPage()) {
            SmartseoEngine::replaceSnippetInContent($bufferContent);
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
tools.php
    }
    else
    {
        $args = $arParams;
    }
 
    //TODO: Возможно заменить на EventManager::getInstance()->getLastEvent();
    global $BX_MODULE_EVENT_LAST;
    $BX_MODULE_EVENT_LAST = $arEvent;
 
    if (isset($arEvent["CALLBACK"]))
    {
        $result = call_user_func_array($arEvent["CALLBACK"], $args);
    }
    else
    {
        //php bug: http://bugs.php.net/bug.php?id=47948
        if (class_exists($arEvent["TO_CLASS"]) && is_callable([$arEvent["TO_CLASS"], $arEvent["TO_METHOD"]]))
        {
            $result = call_user_func_array([$arEvent["TO_CLASS"], $arEvent["TO_METHOD"]], $args);
        }
        else
        {
            $exception = new SystemException("Event handler error: could not invoke {$arEvent["TO_CLASS"]}::{$arEvent["TO_METHOD"]}. Class or method does not exist.");
            $application = Application::getInstance();
            $exceptionHandler = $application->getExceptionHandler();
            $exceptionHandler->writeToLog($exception);
 
            $result = null;
        }
    }
 
    return $result;
}
 
function UnRegisterModuleDependences($FROM_MODULE_ID, $MESSAGE_ID, $TO_MODULE_ID, $TO_CLASS = "", $TO_METHOD = "", $TO_PATH = "", $TO_METHOD_ARG = [])
{
    $eventManager = Main\EventManager::getInstance();
    $eventManager->unRegisterEventHandler($FROM_MODULE_ID, $MESSAGE_ID, $TO_MODULE_ID, $TO_CLASS, $TO_METHOD, $TO_PATH, $TO_METHOD_ARG);
}
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include.php
{
    $application->addBackgroundJob(["CAgent", "CheckAgents"], [], \Bitrix\Main\Application::JOB_PRIORITY_LOW);
}
 
//send email events
if (COption::GetOptionString("main", "check_events", "Y") !== "N")
{
    $application->addBackgroundJob(['\Bitrix\Main\Mail\EventManager', 'checkEvents'], [], \Bitrix\Main\Application::JOB_PRIORITY_LOW-1);
}
 
$healerOfEarlySessionStart = new HealerEarlySessionStart();
$healerOfEarlySessionStart->process($application->getKernelSession());
 
$kernelSession = $application->getKernelSession();
$kernelSession->start();
$application->getSessionLocalStorageManager()->setUniqueId($kernelSession->getId());
 
foreach (GetModuleEvents("main", "OnPageStart", true) as $arEvent)
{
    ExecuteModuleEventEx($arEvent);
}
 
//define global user object
$GLOBALS["USER"] = new CUser;
 
//session control from group policy
$arPolicy = $GLOBALS["USER"]->GetSecurityPolicy();
$currTime = time();
if (
    (
        //IP address changed
        $kernelSession['SESS_IP']
        && $arPolicy["SESSION_IP_MASK"] <> ''
        && (
            (ip2long($arPolicy["SESSION_IP_MASK"]) & ip2long($kernelSession['SESS_IP']))
            !=
            (ip2long($arPolicy["SESSION_IP_MASK"]) & ip2long($_SERVER['REMOTE_ADDR']))
        )
    )
    ||
Arguments
  1. array:11 [
      "SORT" => 100
      "TO_MODULE_ID" => "aspro.smartseo"
      "TO_PATH" => ""
      "TO_CLASS" => "\Aspro\Smartseo\General\SmartseoEventHandler"
      "TO_METHOD" => "onPageStart"
      "TO_METHOD_ARG" => []
      "VERSION" => "2"
      "TO_NAME" => "\Aspro\Smartseo\General\SmartseoEventHandler::onPageStart (aspro.smartseo)"
      "FROM_DB" => true
      "FROM_MODULE_ID" => "main"
      "MESSAGE_ID" => "OnPageStart"
    ]
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include
/
prolog_before.php
<?php
 
if (!defined('START_EXEC_PROLOG_BEFORE_1'))
{
    define("START_EXEC_PROLOG_BEFORE_1", microtime(true));
}
 
$GLOBALS["BX_STATE"] = "PB";
if(isset($_REQUEST["BX_STATE"])) unset($_REQUEST["BX_STATE"]);
if(isset($_GET["BX_STATE"])) unset($_GET["BX_STATE"]);
if(isset($_POST["BX_STATE"])) unset($_POST["BX_STATE"]);
if(isset($_COOKIE["BX_STATE"])) unset($_COOKIE["BX_STATE"]);
if(isset($_FILES["BX_STATE"])) unset($_FILES["BX_STATE"]);
 
if(!isset($USER)) {global $USER;}
if(!isset($APPLICATION)) {global $APPLICATION;}
if(!isset($DB)) {global $DB;}
 
require_once(__DIR__."/../include.php");
 
CMain::PrologActions();
 
if (!defined('START_EXEC_PROLOG_BEFORE_2'))
{
    define("START_EXEC_PROLOG_BEFORE_2", microtime(true));
}
 
Arguments
  1. "/var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include.php"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include
/
prolog.php
<?php
require_once(__DIR__ . "/../bx_root.php");
 
if (file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/html_pages/.enabled"))
{
    require_once(__DIR__ . "/../lib/composite/responder.php");
    Bitrix\Main\Composite\Responder::respond();
}
 
require_once(__DIR__ . "/prolog_before.php");
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_after.php");
 
Arguments
  1. "/var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include/prolog_before.php"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
header.php
<?require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog.php");?>
Arguments
  1. "/var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include/prolog.php"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
catalog
/
index.php
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Каталог товаров сантехники Vannstudio.ru");
$APPLICATION->IncludeComponent(
    "bitrix:catalog", 
    "main", 
    array(
        "IBLOCK_TYPE" => "aspro_max_catalog",
        "IBLOCK_ID" => "2",
        "HIDE_NOT_AVAILABLE" => "Y",
        "BASKET_URL" => "/basket/",
        "ACTION_VARIABLE" => "action",
        "PRODUCT_ID_VARIABLE" => "id",
        "SECTION_ID_VARIABLE" => "SECTION_ID",
        "PRODUCT_QUANTITY_VARIABLE" => "quantity",
        "PRODUCT_PROPS_VARIABLE" => "prop",
        "SEF_MODE" => "Y",
        "SEF_FOLDER" => "/catalog/",
        "AJAX_MODE" => "N",
        "AJAX_OPTION_JUMP" => "N",
        "AJAX_OPTION_STYLE" => "Y",
        "AJAX_OPTION_HISTORY" => "Y",
        "CACHE_TYPE" => "A",
        "CACHE_TIME" => "3600000",
        "CACHE_FILTER" => "Y",
        "CACHE_GROUPS" => "Y",
        "SET_TITLE" => "Y",
        "SET_STATUS_404" => "Y",
        "USE_ELEMENT_COUNTER" => "Y",
        "USE_FILTER" => "Y",
        "FILTER_NAME" => "MAX_SMART_FILTER",
        "FILTER_FIELD_CODE" => array(
            0 => "",
            1 => "",
        ),
        "FILTER_PROPERTY_CODE" => array(
            0 => "",
            1 => "WF_SALE",
            2 => "WF_NOTE",
            3 => "attr_deliveryprice_tk_other",
            4 => "attr_manufacturer_warranty",
Arguments
  1. "/var/www/www-root/data/www/vannstudio.ru/bitrix/header.php"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
modules
/
main
/
include
/
urlrewrite.php
 
            if ((str_starts_with($urlTmp, "upload/") || (str_starts_with($urlTmp, "bitrix/") && !str_starts_with($urlTmp, "bitrix/services/") && !str_starts_with($urlTmp, "bitrix/groupdavphp"))))
                continue;
 
            $ext = strtolower(GetFileExtension($url));
            if ($ext != "php")
                continue;
 
            // D7 response is not available here
            if(stristr(php_sapi_name(), "cgi") !== false && (!defined("BX_HTTP_STATUS") || BX_HTTP_STATUS == false))
            {
                header("Status: 200 OK");
            }
            else
            {
                header($_SERVER["SERVER_PROTOCOL"]." 200 OK");
            }
 
            $_SERVER["REAL_FILE_PATH"] = $url;
            include_once($io->GetPhysicalName($_SERVER['DOCUMENT_ROOT'].$url));
            die();
        }
    }
}
 
//admin section 404
if(str_starts_with($requestUri, "/bitrix/admin/"))
{
    $_SERVER["REAL_FILE_PATH"] = "/bitrix/admin/404.php";
    include($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/404.php");
    die();
}
 
define("BX_CHECK_SHORT_URI", true);
 
Arguments
  1. "/var/www/www-root/data/www/vannstudio.ru/catalog/index.php"
    
/
var
/
www
/
www-root
/
data
/
www
/
vannstudio.ru
/
bitrix
/
urlrewrite.php
<?
include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/urlrewrite.php');
if(file_exists($_SERVER['DOCUMENT_ROOT'].'/404.php'))
    include_once($_SERVER['DOCUMENT_ROOT'].'/404.php');
?>
Arguments
  1. "/var/www/www-root/data/www/vannstudio.ru/bitrix/modules/main/include/urlrewrite.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
PHP_INI_SCAN_DIR
"/var/www/www-root/data/php-bin-isp-php81/vannstudio.ru:"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
PHPRC
"/var/www/www-root/data/php-bin-isp-php81"
PWD
"/var/www/php-bin-isp-php81/www-root/vannstudio.ru"
CONTENT_LENGTH
"0"
SCRIPT_NAME
"/bitrix/urlrewrite.php"
REQUEST_URI
"/catalog/mebel-dlya-vannoy/filter/ip_prop958-is-9e8f67297142dfb8ff04656ffa0f20d2/apply/"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.0"
GATEWAY_INTERFACE
"CGI/1.1"
REDIRECT_URL
"/catalog/mebel-dlya-vannoy/zerkalo/"
REMOTE_PORT
"48110"
SCRIPT_FILENAME
"/var/www/www-root/data/www/vannstudio.ru/bitrix/urlrewrite.php"
SERVER_ADMIN
"webmaster@vannstudio.ru"
CONTEXT_DOCUMENT_ROOT
"/var/www/www-root/data/www/vannstudio.ru"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"http"
DOCUMENT_ROOT
"/var/www/www-root/data/www/vannstudio.ru"
REMOTE_ADDR
"18.97.9.171"
SERVER_PORT
"80"
SERVER_ADDR
"127.0.0.1"
SERVER_NAME
"vannstudio.ru"
SERVER_SOFTWARE
"Apache/2.4.52 (Ubuntu)"
SERVER_SIGNATURE
"<address>Apache/2.4.52 (Ubuntu) Server at vannstudio.ru Port 80</address>\n"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_CONNECTION
"close"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_HOST
"vannstudio.ru"
REMOTE_USER
""
HTTPS
"on"
REDIRECT_STATUS
"200"
REDIRECT_HTTPS
"on"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/bitrix/urlrewrite.php"
REQUEST_TIME_FLOAT
1742120862.2042
REQUEST_TIME
1742120862
REAL_FILE_PATH
"/catalog/index.php"
empty
0. Whoops\Handler\PrettyPageHandler