Illuminate \ Contracts \ Container \ BindingResolutionException
Target class [\bff\extend\Tags] does not exist.
Previous exceptions
  • Class \bff\extend\Tags does not exist (-1)
Illuminate\Contracts\Container\BindingResolutionException thrown with message "Target class [\bff\extend\Tags] does not exist." Stacktrace: #55 Illuminate\Contracts\Container\BindingResolutionException in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:879 #54 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/Offline.php:0 #53 ReflectionException in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:877 #52 ReflectionClass:__construct in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:877 #51 Illuminate\Container\Container:build in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:758 #50 Illuminate\Container\Container:resolve in /var/www/natumbe.kz/bff/base/Container.php:27 #49 bff\base\Container:resolve in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:296 #48 Illuminate\Container\Container:Illuminate\Container\{closure} in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:873 #47 Illuminate\Container\Container:build in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:758 #46 Illuminate\Container\Container:resolve in /var/www/natumbe.kz/bff/base/Container.php:27 #45 bff\base\Container:resolve in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:694 #44 Illuminate\Container\Container:make in /var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php:1419 #43 Illuminate\Container\Container:offsetGet in /var/www/natumbe.kz/bff/base/Application.php:1763 #42 bff\base\Application:tags in /var/www/natumbe.kz/bff/base/View.php:1300 #41 bff\base\View:block in /var/www/natumbe.kz/bff/vendor/illuminate/support/Facades/Facade.php:261 #40 Illuminate\Support\Facades\Facade:__callStatic in /var/www/natumbe.kz/bff/traits/Macroable.php:42 #39 bff\facades\View:__callStatic in /var/www/natumbe.kz/themes/platform/modules/listings/tpl/search/list.php:44 #38 require in /var/www/natumbe.kz/bff/base/View.php:510 #37 modules\listings\views\search\GalleryListBlock:bff\base\{closure} in /var/www/natumbe.kz/bff/base/View.php:518 #36 bff\base\View:render in /var/www/natumbe.kz/bff/base/Module.php:181 #35 bff\base\Module:template in /var/www/natumbe.kz/bff/base/View.php:587 #34 bff\base\View:template in /var/www/natumbe.kz/bff/view/Block.php:813 #33 bff\view\Block:renderContent in /var/www/natumbe.kz/bff/view/Block.php:696 #32 bff\view\Block:render in /var/www/natumbe.kz/bff/view/Block.php:958 #31 bff\view\Block:__toString in /var/www/natumbe.kz/themes/platform/modules/listings/tpl/search.php:28 #30 require in /var/www/natumbe.kz/bff/base/View.php:510 #29 modules\listings\views\SearchCategoryPage:bff\base\{closure} in /var/www/natumbe.kz/bff/base/View.php:518 #28 bff\base\View:render in /var/www/natumbe.kz/bff/base/Module.php:181 #27 bff\base\Module:template in /var/www/natumbe.kz/bff/base/View.php:587 #26 bff\base\View:template in /var/www/natumbe.kz/bff/view/Block.php:813 #25 bff\view\Block:renderContent in /var/www/natumbe.kz/bff/view/Page.php:129 #24 bff\view\Page:renderContent in /var/www/natumbe.kz/bff/view/Block.php:696 #23 bff\view\Block:render in /var/www/natumbe.kz/bff/base/Router.php:718 #22 bff\base\Router:runRoute in /var/www/natumbe.kz/bff/base/Application.php:730 #21 bff\base\Application:bff\base\{closure} in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:149 #20 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/StartSession.php:134 #19 bff\middleware\StartSession:handleStatefulRequest in /var/www/natumbe.kz/bff/middleware/StartSession.php:76 #18 bff\middleware\StartSession:handle in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:167 #17 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/UserLastActivity.php:23 #16 bff\middleware\UserLastActivity:__invoke in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:168 #15 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/LoginAuto.php:49 #14 bff\middleware\LoginAuto:__invoke in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:168 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/Offline.php:0 #12 bff\middleware\Offline:__invoke in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:168 #11 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/app/middleware/SubdomainsValidation.php:46 #10 app\middleware\SubdomainsValidation:__invoke in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:168 #9 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/Cors.php:77 #8 bff\middleware\Cors:handle in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:167 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/FrameGuard.php:20 #6 bff\middleware\FrameGuard:__invoke in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:168 #5 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/middleware/TrustedProxies.php:21 #4 bff\middleware\TrustedProxies:__invoke in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:168 #3 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php:103 #2 Illuminate\Pipeline\Pipeline:then in /var/www/natumbe.kz/bff/base/Application.php:881 #1 bff\base\Application:middlewareRun in /var/www/natumbe.kz/bff/base/Application.php:631 #0 bff\base\Application:run in /var/www/natumbe.kz/public_html/index.php:6
Stack frames (56)
55
Illuminate\Contracts\Container\BindingResolutionException
/vendor/illuminate/container/Container.php879
54
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/Offline.php0
53
ReflectionException
/vendor/illuminate/container/Container.php877
52
ReflectionClass __construct
/vendor/illuminate/container/Container.php877
51
Illuminate\Container\Container build
/vendor/illuminate/container/Container.php758
50
Illuminate\Container\Container resolve
/base/Container.php27
49
bff\base\Container resolve
/vendor/illuminate/container/Container.php296
48
Illuminate\Container\Container Illuminate\Container\{closure}
/vendor/illuminate/container/Container.php873
47
Illuminate\Container\Container build
/vendor/illuminate/container/Container.php758
46
Illuminate\Container\Container resolve
/base/Container.php27
45
bff\base\Container resolve
/vendor/illuminate/container/Container.php694
44
Illuminate\Container\Container make
/vendor/illuminate/container/Container.php1419
43
Illuminate\Container\Container offsetGet
/base/Application.php1763
42
bff\base\Application tags
/base/View.php1300
41
bff\base\View block
/vendor/illuminate/support/Facades/Facade.php261
40
Illuminate\Support\Facades\Facade __callStatic
/traits/Macroable.php42
39
bff\facades\View __callStatic
/var/www/natumbe.kz/themes/platform/modules/listings/tpl/search/list.php44
38
require
/base/View.php510
37
modules\listings\views\search\GalleryListBlock bff\base\{closure}
/base/View.php518
36
bff\base\View render
/base/Module.php181
35
bff\base\Module template
/base/View.php587
34
bff\base\View template
/view/Block.php813
33
bff\view\Block renderContent
/view/Block.php696
32
bff\view\Block render
/view/Block.php958
31
bff\view\Block __toString
/var/www/natumbe.kz/themes/platform/modules/listings/tpl/search.php28
30
require
/base/View.php510
29
modules\listings\views\SearchCategoryPage bff\base\{closure}
/base/View.php518
28
bff\base\View render
/base/Module.php181
27
bff\base\Module template
/base/View.php587
26
bff\base\View template
/view/Block.php813
25
bff\view\Block renderContent
/view/Page.php129
24
bff\view\Page renderContent
/view/Block.php696
23
bff\view\Block render
/base/Router.php718
22
bff\base\Router runRoute
/base/Application.php730
21
bff\base\Application bff\base\{closure}
/vendor/illuminate/pipeline/Pipeline.php149
20
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/StartSession.php134
19
bff\middleware\StartSession handleStatefulRequest
/middleware/StartSession.php76
18
bff\middleware\StartSession handle
/vendor/illuminate/pipeline/Pipeline.php167
17
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/UserLastActivity.php23
16
bff\middleware\UserLastActivity __invoke
/vendor/illuminate/pipeline/Pipeline.php168
15
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/LoginAuto.php49
14
bff\middleware\LoginAuto __invoke
/vendor/illuminate/pipeline/Pipeline.php168
13
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/Offline.php0
12
bff\middleware\Offline __invoke
/vendor/illuminate/pipeline/Pipeline.php168
11
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/var/www/natumbe.kz/app/middleware/SubdomainsValidation.php46
10
app\middleware\SubdomainsValidation __invoke
/vendor/illuminate/pipeline/Pipeline.php168
9
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/Cors.php77
8
bff\middleware\Cors handle
/vendor/illuminate/pipeline/Pipeline.php167
7
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/FrameGuard.php20
6
bff\middleware\FrameGuard __invoke
/vendor/illuminate/pipeline/Pipeline.php168
5
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/middleware/TrustedProxies.php21
4
bff\middleware\TrustedProxies __invoke
/vendor/illuminate/pipeline/Pipeline.php168
3
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/illuminate/pipeline/Pipeline.php103
2
Illuminate\Pipeline\Pipeline then
/base/Application.php881
1
bff\base\Application middlewareRun
/base/Application.php631
0
bff\base\Application run
/var/www/natumbe.kz/public_html/index.php6
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
     *
     * @param  \Closure|string  $concrete
     * @return mixed
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     * @throws \Illuminate\Contracts\Container\CircularDependencyException
     */
    public function build($concrete)
    {
        // If the concrete type is actually a Closure, we will just execute it and
        // hand back the results of the functions, which allows functions to be
        // used as resolvers for more fine-tuned resolution of these objects.
        if ($concrete instanceof Closure) {
            return $concrete($this, $this->getLastParameterOverride());
        }
 
        try {
            $reflector = new ReflectionClass($concrete);
        } catch (ReflectionException $e) {
            throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
        }
 
        // If the type is not instantiable, the developer is attempting to resolve
        // an abstract type such as an Interface or Abstract Class and there is
        // no binding registered for the abstractions so we need to bail out.
        if (! $reflector->isInstantiable()) {
            return $this->notInstantiable($concrete);
        }
 
        $this->buildStack[] = $concrete;
 
        $constructor = $reflector->getConstructor();
 
        // If there are no constructors, that means there are no dependencies then
        // we can just resolve the instances of the objects right away, without
        // resolving any other types or dependencies out of these containers.
        if (is_null($constructor)) {
            array_pop($this->buildStack);
 
            return new $concrete;
/var/www/natumbe.kz/bff/middleware/Offline.php
<?php //ICB0 71:0 81:1468                                                     ?><?php //00091
// Copyright Tamaranga. 2014-2022
// All Rights Reserved
echo('No IonCube Loader is installed. Please contact support.');exit(199);
?>
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
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
    /**
     * Instantiate a concrete instance of the given type.
     *
     * @param  \Closure|string  $concrete
     * @return mixed
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     * @throws \Illuminate\Contracts\Container\CircularDependencyException
     */
    public function build($concrete)
    {
        // If the concrete type is actually a Closure, we will just execute it and
        // hand back the results of the functions, which allows functions to be
        // used as resolvers for more fine-tuned resolution of these objects.
        if ($concrete instanceof Closure) {
            return $concrete($this, $this->getLastParameterOverride());
        }
 
        try {
            $reflector = new ReflectionClass($concrete);
        } catch (ReflectionException $e) {
            throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
        }
 
        // If the type is not instantiable, the developer is attempting to resolve
        // an abstract type such as an Interface or Abstract Class and there is
        // no binding registered for the abstractions so we need to bail out.
        if (! $reflector->isInstantiable()) {
            return $this->notInstantiable($concrete);
        }
 
        $this->buildStack[] = $concrete;
 
        $constructor = $reflector->getConstructor();
 
        // If there are no constructors, that means there are no dependencies then
        // we can just resolve the instances of the objects right away, without
        // resolving any other types or dependencies out of these containers.
        if (is_null($constructor)) {
            array_pop($this->buildStack);
Exception message: Class \bff\extend\Tags does not exist
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
    /**
     * Instantiate a concrete instance of the given type.
     *
     * @param  \Closure|string  $concrete
     * @return mixed
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     * @throws \Illuminate\Contracts\Container\CircularDependencyException
     */
    public function build($concrete)
    {
        // If the concrete type is actually a Closure, we will just execute it and
        // hand back the results of the functions, which allows functions to be
        // used as resolvers for more fine-tuned resolution of these objects.
        if ($concrete instanceof Closure) {
            return $concrete($this, $this->getLastParameterOverride());
        }
 
        try {
            $reflector = new ReflectionClass($concrete);
        } catch (ReflectionException $e) {
            throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
        }
 
        // If the type is not instantiable, the developer is attempting to resolve
        // an abstract type such as an Interface or Abstract Class and there is
        // no binding registered for the abstractions so we need to bail out.
        if (! $reflector->isInstantiable()) {
            return $this->notInstantiable($concrete);
        }
 
        $this->buildStack[] = $concrete;
 
        $constructor = $reflector->getConstructor();
 
        // If there are no constructors, that means there are no dependencies then
        // we can just resolve the instances of the objects right away, without
        // resolving any other types or dependencies out of these containers.
        if (is_null($constructor)) {
            array_pop($this->buildStack);
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
        $needsContextualBuild = ! empty($parameters) || ! is_null($concrete);
 
        // If an instance of the type is currently being managed as a singleton we'll
        // just return an existing instance instead of instantiating new instances
        // so the developer can keep using the same objects instance every time.
        if (isset($this->instances[$abstract]) && ! $needsContextualBuild) {
            return $this->instances[$abstract];
        }
 
        $this->with[] = $parameters;
 
        if (is_null($concrete)) {
            $concrete = $this->getConcrete($abstract);
        }
 
        // We're ready to instantiate an instance of the concrete type registered for
        // the binding. This will instantiate the types, as well as resolve any of
        // its "nested" dependencies recursively until all have gotten resolved.
        if ($this->isBuildable($concrete, $abstract)) {
            $object = $this->build($concrete);
        } else {
            $object = $this->make($concrete);
        }
 
        // If we defined any extenders for this type, we'll need to spin through them
        // and apply them to the object being built. This allows for the extension
        // of services, such as changing configuration or decorating the object.
        foreach ($this->getExtenders($abstract) as $extender) {
            $object = $extender($object, $this);
        }
 
        // If the requested type is registered as a singleton we'll want to cache off
        // the instances in "memory" so we can return it later without creating an
        // entirely new instance of an object on each subsequent request for it.
        if ($this->isShared($abstract) && ! $needsContextualBuild) {
            $this->instances[$abstract] = $object;
        }
 
        if ($raiseEvents) {
            $this->fireResolvingCallbacks($abstract, $object);
/var/www/natumbe.kz/bff/base/Container.php
 
class Container extends IlluminateContainer
{
    /**
     * {@inheritdoc}
     *
     * @return mixed
     */
    protected function resolve($abstract, $parameters = [], $raiseEvents = true)
    {
        try {
            return parent::resolve($abstract, $parameters, $raiseEvents);
        } catch (BindingResolutionException $e) {
            /**
             * Resolve views contract to default view implementation
             */
            if (Str::contains($abstract, 'views\contracts')) {
                $abstract = Str::replace('views\contracts', 'views', $abstract);
            }
            return parent::resolve($abstract, $parameters, $raiseEvents);
        }
    }
}
 
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
            $this->rebound($abstract);
        }
    }
 
    /**
     * Get the Closure to be used when building a type.
     *
     * @param  string  $abstract
     * @param  string  $concrete
     * @return \Closure
     */
    protected function getClosure($abstract, $concrete)
    {
        return function ($container, $parameters = []) use ($abstract, $concrete) {
            if ($abstract == $concrete) {
                return $container->build($concrete);
            }
 
            return $container->resolve(
                $concrete, $parameters, $raiseEvents = false
            );
        };
    }
 
    /**
     * Determine if the container has a method binding.
     *
     * @param  string  $method
     * @return bool
     */
    public function hasMethodBinding($method)
    {
        return isset($this->methodBindings[$method]);
    }
 
    /**
     * Bind a callback to resolve with Container::call.
     *
     * @param  array|string  $method
     * @param  \Closure  $callback
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
    {
        return $concrete === $abstract || $concrete instanceof Closure;
    }
 
    /**
     * Instantiate a concrete instance of the given type.
     *
     * @param  \Closure|string  $concrete
     * @return mixed
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     * @throws \Illuminate\Contracts\Container\CircularDependencyException
     */
    public function build($concrete)
    {
        // If the concrete type is actually a Closure, we will just execute it and
        // hand back the results of the functions, which allows functions to be
        // used as resolvers for more fine-tuned resolution of these objects.
        if ($concrete instanceof Closure) {
            return $concrete($this, $this->getLastParameterOverride());
        }
 
        try {
            $reflector = new ReflectionClass($concrete);
        } catch (ReflectionException $e) {
            throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
        }
 
        // If the type is not instantiable, the developer is attempting to resolve
        // an abstract type such as an Interface or Abstract Class and there is
        // no binding registered for the abstractions so we need to bail out.
        if (! $reflector->isInstantiable()) {
            return $this->notInstantiable($concrete);
        }
 
        $this->buildStack[] = $concrete;
 
        $constructor = $reflector->getConstructor();
 
        // If there are no constructors, that means there are no dependencies then
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
        $needsContextualBuild = ! empty($parameters) || ! is_null($concrete);
 
        // If an instance of the type is currently being managed as a singleton we'll
        // just return an existing instance instead of instantiating new instances
        // so the developer can keep using the same objects instance every time.
        if (isset($this->instances[$abstract]) && ! $needsContextualBuild) {
            return $this->instances[$abstract];
        }
 
        $this->with[] = $parameters;
 
        if (is_null($concrete)) {
            $concrete = $this->getConcrete($abstract);
        }
 
        // We're ready to instantiate an instance of the concrete type registered for
        // the binding. This will instantiate the types, as well as resolve any of
        // its "nested" dependencies recursively until all have gotten resolved.
        if ($this->isBuildable($concrete, $abstract)) {
            $object = $this->build($concrete);
        } else {
            $object = $this->make($concrete);
        }
 
        // If we defined any extenders for this type, we'll need to spin through them
        // and apply them to the object being built. This allows for the extension
        // of services, such as changing configuration or decorating the object.
        foreach ($this->getExtenders($abstract) as $extender) {
            $object = $extender($object, $this);
        }
 
        // If the requested type is registered as a singleton we'll want to cache off
        // the instances in "memory" so we can return it later without creating an
        // entirely new instance of an object on each subsequent request for it.
        if ($this->isShared($abstract) && ! $needsContextualBuild) {
            $this->instances[$abstract] = $object;
        }
 
        if ($raiseEvents) {
            $this->fireResolvingCallbacks($abstract, $object);
/var/www/natumbe.kz/bff/base/Container.php
 
class Container extends IlluminateContainer
{
    /**
     * {@inheritdoc}
     *
     * @return mixed
     */
    protected function resolve($abstract, $parameters = [], $raiseEvents = true)
    {
        try {
            return parent::resolve($abstract, $parameters, $raiseEvents);
        } catch (BindingResolutionException $e) {
            /**
             * Resolve views contract to default view implementation
             */
            if (Str::contains($abstract, 'views\contracts')) {
                $abstract = Str::replace('views\contracts', 'views', $abstract);
            }
            return parent::resolve($abstract, $parameters, $raiseEvents);
        }
    }
}
 
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     */
    public function makeWith($abstract, array $parameters = [])
    {
        return $this->make($abstract, $parameters);
    }
 
    /**
     * Resolve the given type from the container.
     *
     * @param  string|callable  $abstract
     * @param  array  $parameters
     * @return mixed
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     */
    public function make($abstract, array $parameters = [])
    {
        return $this->resolve($abstract, $parameters);
    }
 
    /**
     * {@inheritdoc}
     *
     * @return mixed
     */
    public function get($id)
    {
        try {
            return $this->resolve($id);
        } catch (Exception $e) {
            if ($this->has($id) || $e instanceof CircularDependencyException) {
                throw $e;
            }
 
            throw new EntryNotFoundException($id, $e->getCode(), $e);
        }
    }
 
/var/www/natumbe.kz/bff/vendor/illuminate/container/Container.php
     *
     * @param  string  $key
     * @return bool
     */
    #[\ReturnTypeWillChange]
    public function offsetExists($key)
    {
        return $this->bound($key);
    }
 
    /**
     * Get the value at a given offset.
     *
     * @param  string  $key
     * @return mixed
     */
    #[\ReturnTypeWillChange]
    public function offsetGet($key)
    {
        return $this->make($key);
    }
 
    /**
     * Set the value at a given offset.
     *
     * @param  string  $key
     * @param  mixed  $value
     * @return void
     */
    #[\ReturnTypeWillChange]
    public function offsetSet($key, $value)
    {
        $this->bind($key, $value instanceof Closure ? $value : function () use ($value) {
            return $value;
        });
    }
 
    /**
     * Unset the value at a given offset.
     *
/var/www/natumbe.kz/bff/base/Application.php
     * Apply filter to config value by key
     * @param string $key filter key
     * @return mixed
     */
    public function filterSys(string $key)
    {
        $args = func_get_args();
        if (isset($args[1])) {
            $args[1] = $this->config($key, $args[1]);
        }
        return $this->hooks()->apply(...$args);
    }
 
    /**
     * Tags manager
     * @return \bff\extend\Tags
     */
    public function tags()
    {
        return $this['tags'];
    }
 
    /**
     * Get application plugin instance or false
     * @param string $name
     * @return Plugin|bool
     */
    public function plugin(string $name)
    {
        return Dev::getPlugin($name);
    }
 
    /**
     * Check if application plugin exists
     * @param string $name
     * @return bool
     */
    public function pluginExists(string $name): bool
    {
        return ($this->plugin($name) !== false);
/var/www/natumbe.kz/bff/base/View.php
     * @return string
     */
    public function tag(string $id, $context = [])
    {
        return $this->app->tags()->view($id, $context);
    }
 
    /**
     * View registered inline block
     * @param string|Block $id block id or Block class
     * @param array $context view context data
     * @return string
     */
    public function block($id, $context = [])
    {
        if (is_string($id) && $id !== '') {
            if (class_exists($id) && is_a($id, Block::class, true)) {
                return new $id($context);
            }
            return $this->app->tags()->view($id, $context);
        } elseif ($id instanceof Block) {
            return $id->with($context);
        }
        return '';
    }
 
    /**
     * Extend block section
     * @param string $id
     * @param string|callable|Block $content
     * @param array $opts ['after' => true]
     * @return mixed
     */
    public function section(string $id, $content, array $opts = [])
    {
        if (strpos(trim($id), static::HINT_DELIMITER) > 0) {
            $segments = explode(static::HINT_DELIMITER, $id);
            if (count($segments) === 2) {
                [$block, $id] = $segments;
            }
/var/www/natumbe.kz/bff/vendor/illuminate/support/Facades/Facade.php
    }
 
    /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array  $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();
 
        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
 
        return $instance->$method(...$args);
    }
}
 
/var/www/natumbe.kz/bff/traits/Macroable.php
        if ($this instanceof Module) {
            return parent::__call($method, $parameters);
        }
 
        return null;
    }
 
    public static function __callStatic($method, $parameters)
    {
        # Allow Facades to be macroable
        if (method_exists(static::class, 'getFacadeAccessor')) {
            if (static::hasMacro($method)) {
                $macro = static::$macros[$method];
                if ($macro instanceof Closure) {
                    # Call method in facade root context
                    return call_user_func_array(Closure::bind($macro, static::getFacadeRoot()), $parameters);
                }
                return $macro(...$parameters);
            } else {
                return parent::__callStatic($method, $parameters);
            }
        }
 
        return static::callBaseStatic($method, $parameters);
    }
}
 
/var/www/natumbe.kz/themes/platform/modules/listings/tpl/search/list.php
<div class="container">
  <div class="l-columns-box<?= $verticalBlock ? ' l-columns-box-w-aside' : '' ?><?= ($verticalBlockPosition == 'left' ? ' flex-md-row-reverse' : ''); ?>">
    <div class="l-columns-box-l">
      <?php if ($total > 0) { ?>
        <?= $sortBlock ?>
 
        <?= View::block($fixedBlock, ['perline' => ($verticalBlock ? 3 : 4)]) ?>
 
        <div class="it-list j-list">
          <?= $list->with('perline', ($verticalBlock ? 3 : 4)); ?>
        </div>
        <div class="it-list-pagination" id="j-listings-search-pages"><?= $pagination ?? '' ?></div>
        <?= View::block('listings_search_notify_p047796_list_after'); ?>
        <?= $rssBlock ?>
      <?php } else { ?>
        <div class="usr-fav-empty usr-fav-empty-items<?= $filterVertical ? ' h-auto' : ''?>">
          <i class="ico fas fa-info-circle c-primary-color mb-2"></i>
          <span class="c-title usr-fav-empty-title"><?= _t('listings', 'No listings found'); ?></span>
          <span class="fs-16"><?= _t('listings', 'Check search query and try again.'); ?></span>
          <?= View::block('listings_search_notify_p047796_list_after', ['emptySearchResults' => true]); ?>
        </div>
      <?php } ?>
    </div>
    <?php if ($verticalBlock) { ?>
      <!-- Sidebar -->
      <div class="l-aside c-shadow-white-box pt-md-1">
        <?php if ($filterVertical) { ?>
          <div class="d-none d-md-block">
            <div class="c-title h4 mb-3"><?= _t('filter', 'Filter') ?></div>
            <div class="fl-aside-filter" id="j-filter-vertical-desktop">
              <?= $filterVerticalBlock ?>
            </div>
          </div>
        <?php } ?>
        <?= $premiumBlock ?>
        <?= $seoTagsSideBlockHTML ?>
        <?php if ($bannerRight) { ?>
          <div class="l-banner-v<?= $bannerRightSticky ? ' l-banner-v-sticky' : '' ?>">
            <?= $bannerRight ?>
          </div>
/var/www/natumbe.kz/bff/base/View.php
            $hookPrefix = 'view.tpl';
        }
        $hook = $hookPrefix . '.' . $view;
        $replaceTemplate = '';
        $hookData = [
            'data'     => &$data,
            'filePath' => $filePath,
            'fileName' => $this->files->name($filePath),
            'replaceTemplate' => &$replaceTemplate,
        ];
        $this->app->hook($hook . '.data', $hookData);
        if ($replaceTemplate) {
            $filePath = $replaceTemplate;
        }
 
        # render
        $render = function ($__filePath, $__sharedData, &$aData) {
            extract($__sharedData, EXTR_SKIP);
            extract($aData, EXTR_REFS | EXTR_OVERWRITE);
            return require $__filePath;
        };
        if (array_key_exists('this', $opts)) { # bind context
            $render = $render->bindTo($opts['this'], $opts['this']);
        }
        $obLevel = ob_get_level();
        try {
            $this->start();
            $response = $render($filePath, $this->sharedData, $data);
            $content = $this->stop();
        } catch (Throwable $e) {
            while (ob_get_level() > $obLevel) {
                ob_end_clean();
            }
            throw $e;
        }
        if ($response instanceof ResponseInterface) {
            return $response;
        }
 
        # hook: after render
/var/www/natumbe.kz/bff/base/View.php
            'replaceTemplate' => &$replaceTemplate,
        ];
        $this->app->hook($hook . '.data', $hookData);
        if ($replaceTemplate) {
            $filePath = $replaceTemplate;
        }
 
        # render
        $render = function ($__filePath, $__sharedData, &$aData) {
            extract($__sharedData, EXTR_SKIP);
            extract($aData, EXTR_REFS | EXTR_OVERWRITE);
            return require $__filePath;
        };
        if (array_key_exists('this', $opts)) { # bind context
            $render = $render->bindTo($opts['this'], $opts['this']);
        }
        $obLevel = ob_get_level();
        try {
            $this->start();
            $response = $render($filePath, $this->sharedData, $data);
            $content = $this->stop();
        } catch (Throwable $e) {
            while (ob_get_level() > $obLevel) {
                ob_end_clean();
            }
            throw $e;
        }
        if ($response instanceof ResponseInterface) {
            return $response;
        }
 
        # hook: after render
        if ($this->app->hooksAdded($hook)) {
            unset($hookData['data']);
            $content = $this->app->filter($hook, $content, $data, $hookData);
        }
        # tags: process
        if ($opts['tags'] ?? false) {
            $content = $this->app->tags()->process($content);
        }
/var/www/natumbe.kz/bff/base/Module.php
    }
 
    /**
     * Forming template
     * @param string $view
     * @param array $data
     * @param array $opts
     * @return string|mixed
     */
    public function template(string $view, array $data = [], array $opts = [])
    {
        # context
        $opts['this'] = $opts['this'] ?? $this;
 
        # hook prefix
        $moduleName = ($this->module_component !== false ? $this->module_component : $this->module_name);
        $opts['hookPrefix'] = 'view.module.' . $moduleName; # view.module.{module}
 
        return $this->view->render(
            $data,
            $view,
            (!empty($opts['path']) ? $opts['path'] : $this->module_dir_tpl),
            $opts
        );
    }
 
    /**
     * Display a notification (frontend)
     * @param string $title message title
     * @param string|array $message message text(s)
     * @param bool $success
     * @param array $opts
     * @return string HTML
     */
    public function showMessage($title = '', $message = '', $success = true, array $opts = [])
    {
        if ($success) {
            return $this->showSuccess($title, $message, $opts);
        }
        return $this->showForbidden($title, $message, $opts);
/var/www/natumbe.kz/bff/base/View.php
 
    /**
     * Rendering the template
     * @param string $view name of the template (without extension)
     * @param array $data data to be passed to the template
     * @param string|null $from name/object of the module/plugin, path to the file, null - path to the default template
     * @param array $opts
     * @return string|mixed HTML
     */
    public function template(string $view, array $data = [], $from = null, array $opts = [])
    {
        if (empty($from) && strpos(trim($view), static::HINT_DELIMITER) > 0) {
            $segments = explode(static::HINT_DELIMITER, $view);
            if (count($segments) === 2) {
                [$from, $view] = $segments;
            }
        }
        if (is_string($from) && !empty($from)) {
            if ($this->app->moduleExists($from)) {
                return $this->app->module($from)->template($view, $data, $opts);
            } elseif ($this->app->pluginExists($from)) {
                return $this->app->plugin($from)->template($view, $data, $opts);
            }
        } elseif ($from instanceof Module) {
            return $from->template($view, $data, $opts);
        }
        return $this->render($data, $view, $from, $opts);
    }
 
    /**
     * Forming the path to the template file
     * @param string $view name of the template file without extension
     * @param string|null $path path to the file
     * @param array $opts [custom, extension]
     * @return string|bool
     */
    public function resolveViewPath(string $view, ?string $path = null, array $opts = [])
    {
        # group
        if (! empty($opts['group'])) {
/var/www/natumbe.kz/bff/view/Block.php
        }
 
        # Bind scope
        $this->renderOptions['this'] = $this->renderOptions['this'] ?? $this;
 
        # Template as callback
        if ($template instanceof Closure) {
            return $template($this->data, $this, $this->renderOptions);
        }
 
        # Groups
        if ($group = $this->getGroupKeyword()) {
            $this->renderOptions['group'] = $group;
        }
 
        return $this->view->template(
            $template,
            $this->data,
            $this->getController(),
            $this->renderOptions
        );
    }
 
    /**
     * Set/get prerenderable status
     * @param bool|callable|null $prerenderable
     * @return static|bool|mixed
     */
    public function prerenderable($prerenderable = null)
    {
        if (is_null($prerenderable)) {
            if (is_callable($this->prerenderable)) {
                return ($this->prerenderable)();
            }
            return $this->prerenderable;
        }
 
        $this->prerenderable = $prerenderable;
 
        return $this;
/var/www/natumbe.kz/bff/view/Block.php
 
        return parent::config($key, $default, $opts);
    }
 
    /**
     * Before render
     * @return bool|void
     */
    protected function beforeRender()
    {
        $this->beforeRenderRotation();
    }
 
    /**
     * Render block
     * @return string|mixed
     */
    public function render()
    {
        $content = $this->renderContent();
        if (! is_string($content)) {
            return $content;
        }
 
        $content = $this->applyWrappers($content);
 
        return $this->app->filter('view.block.render', $content, $this);
    }
 
    /**
     * Apply content wrappers
     * @param string $content
     * @return false|mixed|\Psr\Http\Message\ResponseInterface|string
     */
    protected function applyWrappers($content)
    {
        if (! empty($this->wrappers)) {
            foreach (array_reverse($this->wrappers) as $wrapper) {
                if (empty($wrapper['template'])) {
                    continue;
/var/www/natumbe.kz/bff/view/Block.php
                if ($overwrite === false) {
                    continue;
                }
                if (is_callable($overwrite) && ! $overwrite($key)) {
                    continue;
                }
            }
            $to[$key] = &$value;
        } unset($value);
 
        return true;
    }
 
    /**
     * Render block content
     * @return string|mixed
     */
    public function __toString()
    {
        return $this->render();
    }
 
    /**
     * Json encode to string
     * @return string|mixed
     */
    public function jsonSerialize()
    {
        return $this->render();
    }
 
    /**
     * Set settings or data
     * @param string $key
     * @param mixed $value
     * @return void
     */
    public function __set($key, $value)
    {
        if (
/var/www/natumbe.kz/themes/platform/modules/listings/tpl/search.php
 * @var $categoriesBlock modules\listings\views\search\CategoriesBlock|null subcateries block
 * @var $relinkBlock modules\listings\views\search\RelinkBlock|null
 * @var $category array category data
 * @var $page int active page number
 * @var $seoTagsTopBlock plugins\seotags\views\TagsSearchBlock|null
 * @var $seoTagsBottomBlock plugins\seotags\views\TagsSearchBlock|null
 * @var $blocks bff\view\Block[]
 */
View::section('filter', fn() => $filterBlock);
?>
<div id="j-listings-search-list">
  <?= $breadcrumbs ?>
  <div class="l-page-head it-page-head">
    <div class="container">
      <h1 class="l-page-title c-title"><?= $titleh1 ?></h1>
    </div>
  </div>
 
  <?php foreach ($blocks as $block) { ?>
    <?= $block ?>
  <?php } ?>
 
  <?php if (!empty($category['seotext']) && $page <= 1) { ?>
    <?= $category['seotext'] ?>
  <?php } ?>
</div>
 
/var/www/natumbe.kz/bff/base/View.php
            $hookPrefix = 'view.tpl';
        }
        $hook = $hookPrefix . '.' . $view;
        $replaceTemplate = '';
        $hookData = [
            'data'     => &$data,
            'filePath' => $filePath,
            'fileName' => $this->files->name($filePath),
            'replaceTemplate' => &$replaceTemplate,
        ];
        $this->app->hook($hook . '.data', $hookData);
        if ($replaceTemplate) {
            $filePath = $replaceTemplate;
        }
 
        # render
        $render = function ($__filePath, $__sharedData, &$aData) {
            extract($__sharedData, EXTR_SKIP);
            extract($aData, EXTR_REFS | EXTR_OVERWRITE);
            return require $__filePath;
        };
        if (array_key_exists('this', $opts)) { # bind context
            $render = $render->bindTo($opts['this'], $opts['this']);
        }
        $obLevel = ob_get_level();
        try {
            $this->start();
            $response = $render($filePath, $this->sharedData, $data);
            $content = $this->stop();
        } catch (Throwable $e) {
            while (ob_get_level() > $obLevel) {
                ob_end_clean();
            }
            throw $e;
        }
        if ($response instanceof ResponseInterface) {
            return $response;
        }
 
        # hook: after render
/var/www/natumbe.kz/bff/base/View.php
            'replaceTemplate' => &$replaceTemplate,
        ];
        $this->app->hook($hook . '.data', $hookData);
        if ($replaceTemplate) {
            $filePath = $replaceTemplate;
        }
 
        # render
        $render = function ($__filePath, $__sharedData, &$aData) {
            extract($__sharedData, EXTR_SKIP);
            extract($aData, EXTR_REFS | EXTR_OVERWRITE);
            return require $__filePath;
        };
        if (array_key_exists('this', $opts)) { # bind context
            $render = $render->bindTo($opts['this'], $opts['this']);
        }
        $obLevel = ob_get_level();
        try {
            $this->start();
            $response = $render($filePath, $this->sharedData, $data);
            $content = $this->stop();
        } catch (Throwable $e) {
            while (ob_get_level() > $obLevel) {
                ob_end_clean();
            }
            throw $e;
        }
        if ($response instanceof ResponseInterface) {
            return $response;
        }
 
        # hook: after render
        if ($this->app->hooksAdded($hook)) {
            unset($hookData['data']);
            $content = $this->app->filter($hook, $content, $data, $hookData);
        }
        # tags: process
        if ($opts['tags'] ?? false) {
            $content = $this->app->tags()->process($content);
        }
/var/www/natumbe.kz/bff/base/Module.php
    }
 
    /**
     * Forming template
     * @param string $view
     * @param array $data
     * @param array $opts
     * @return string|mixed
     */
    public function template(string $view, array $data = [], array $opts = [])
    {
        # context
        $opts['this'] = $opts['this'] ?? $this;
 
        # hook prefix
        $moduleName = ($this->module_component !== false ? $this->module_component : $this->module_name);
        $opts['hookPrefix'] = 'view.module.' . $moduleName; # view.module.{module}
 
        return $this->view->render(
            $data,
            $view,
            (!empty($opts['path']) ? $opts['path'] : $this->module_dir_tpl),
            $opts
        );
    }
 
    /**
     * Display a notification (frontend)
     * @param string $title message title
     * @param string|array $message message text(s)
     * @param bool $success
     * @param array $opts
     * @return string HTML
     */
    public function showMessage($title = '', $message = '', $success = true, array $opts = [])
    {
        if ($success) {
            return $this->showSuccess($title, $message, $opts);
        }
        return $this->showForbidden($title, $message, $opts);
/var/www/natumbe.kz/bff/base/View.php
 
    /**
     * Rendering the template
     * @param string $view name of the template (without extension)
     * @param array $data data to be passed to the template
     * @param string|null $from name/object of the module/plugin, path to the file, null - path to the default template
     * @param array $opts
     * @return string|mixed HTML
     */
    public function template(string $view, array $data = [], $from = null, array $opts = [])
    {
        if (empty($from) && strpos(trim($view), static::HINT_DELIMITER) > 0) {
            $segments = explode(static::HINT_DELIMITER, $view);
            if (count($segments) === 2) {
                [$from, $view] = $segments;
            }
        }
        if (is_string($from) && !empty($from)) {
            if ($this->app->moduleExists($from)) {
                return $this->app->module($from)->template($view, $data, $opts);
            } elseif ($this->app->pluginExists($from)) {
                return $this->app->plugin($from)->template($view, $data, $opts);
            }
        } elseif ($from instanceof Module) {
            return $from->template($view, $data, $opts);
        }
        return $this->render($data, $view, $from, $opts);
    }
 
    /**
     * Forming the path to the template file
     * @param string $view name of the template file without extension
     * @param string|null $path path to the file
     * @param array $opts [custom, extension]
     * @return string|bool
     */
    public function resolveViewPath(string $view, ?string $path = null, array $opts = [])
    {
        # group
        if (! empty($opts['group'])) {
/var/www/natumbe.kz/bff/view/Block.php
        }
 
        # Bind scope
        $this->renderOptions['this'] = $this->renderOptions['this'] ?? $this;
 
        # Template as callback
        if ($template instanceof Closure) {
            return $template($this->data, $this, $this->renderOptions);
        }
 
        # Groups
        if ($group = $this->getGroupKeyword()) {
            $this->renderOptions['group'] = $group;
        }
 
        return $this->view->template(
            $template,
            $this->data,
            $this->getController(),
            $this->renderOptions
        );
    }
 
    /**
     * Set/get prerenderable status
     * @param bool|callable|null $prerenderable
     * @return static|bool|mixed
     */
    public function prerenderable($prerenderable = null)
    {
        if (is_null($prerenderable)) {
            if (is_callable($this->prerenderable)) {
                return ($this->prerenderable)();
            }
            return $this->prerenderable;
        }
 
        $this->prerenderable = $prerenderable;
 
        return $this;
/var/www/natumbe.kz/bff/view/Page.php
            $this->fillSettings();
        }
 
        if ($this->isSubmitAction()) {
            if ($response = $this->handleActionRequest('submit')) {
                if (is_array($response)) {
                    return $this->getActionResponse($response);
                }
                return $response;
            }
        } else {
            if ($response = $this->handleActionRequest()) {
                if (is_array($response)) {
                    return $this->getActionResponse($response);
                }
                return $response;
            }
        }
 
        return parent::renderContent();
    }
 
    /**
     * Init before render to fill seo data used in template (titleh1, breadcrumbs ...)
     * @return bool|void
     */
    protected function beforeRender()
    {
        if (parent::beforeRender() === false) {
            return false;
        }
 
        if ($this->skipSeo) {
            return;
        }
 
        if (is_array($this->data)) {
            $this->seoSettings();
            $this->seo();
 
/var/www/natumbe.kz/bff/view/Block.php
 
        return parent::config($key, $default, $opts);
    }
 
    /**
     * Before render
     * @return bool|void
     */
    protected function beforeRender()
    {
        $this->beforeRenderRotation();
    }
 
    /**
     * Render block
     * @return string|mixed
     */
    public function render()
    {
        $content = $this->renderContent();
        if (! is_string($content)) {
            return $content;
        }
 
        $content = $this->applyWrappers($content);
 
        return $this->app->filter('view.block.render', $content, $this);
    }
 
    /**
     * Apply content wrappers
     * @param string $content
     * @return false|mixed|\Psr\Http\Message\ResponseInterface|string
     */
    protected function applyWrappers($content)
    {
        if (! empty($this->wrappers)) {
            foreach (array_reverse($this->wrappers) as $wrapper) {
                if (empty($wrapper['template'])) {
                    continue;
/var/www/natumbe.kz/bff/base/Router.php
 
        if ($controller && $action) {
            return $this->get(static::DIRECT_ROUTE, '', $controller . '/' . $action . '/');
        }
        return null;
    }
 
    /**
     * Gather route middleware
     * @param \bff\http\Request $request
     * @param \bff\base\Route $route
     * @return \bff\http\Response|mixed
     */
    public function runRoute(Request $request, Route $route)
    {
        try {
            # Run
            $response = $route->run($request);
            if ($response instanceof Block) {
                $response = $response->render();
            }
        } catch (ResponseException $e) {
            # Special type of exception in cases where unable to implement proper "return Response"
            return $e->getResponse();
        } catch (ModelRecordNotFoundException $e) {
            if (Errors::no()) {
                Errors::unknownRecord();
            }
            if ($request->isAJAX()) {
                return Response::json(['data' => [], 'errors' => Errors::get()]);
            }
        } catch (NotFoundException $e) {
            return Response::notFound($e->getResponse());
        } catch (Throwable $e) {
            if (! bff()->isDebug()) {
                Errors::logException($e);
                return Errors::error404();
            }
            return Errors::handleException($e);
        }
/var/www/natumbe.kz/bff/base/Application.php
                if (is_string($middleware) && array_key_exists($middleware, $this->middlewareGroups)) {
                    foreach ($this->middlewareGroups[$middleware] as $key => $value) {
                        if (is_string($key)) {
                            $stack[$key] = $value;
                        } else {
                            $stack[] = $value;
                        }
                    }
                } else {
                    $stack[] = $middleware;
                }
            }
            if ($this->adminPanel()) {
                # Admin
                $stack[] = ['callback' => \bff\middleware\AdminPanel::class, 'priority' => 100];
            } else {
                # Frontend ...
                $stack[] = ['callback' => function (Request $request, $next) use ($route) {
                    # Run
                    $response = $this->router()->runRoute($request, $route);
                    # Html + Layout
                    if (is_string($response)) {
                        return $this->view()->layoutResponse([
                            'centerblock' => $this->view()->vueRender(
                                $this->tags()->process($response)
                            ),
                        ]);
                    }
                    # Other response types
                    return Response::responsify($response);
                }, 'priority' => 100];
            }
        } else {
            if ($this->adminPanel()) {
                # Admin
                $stack[] = ['callback' => \bff\middleware\StartSession::class, 'priority' => 50];
                $stack[] = ['callback' => \bff\middleware\AdminPanel::class, 'priority' => 100];
            } else {
                # Not found: Frontend ...
                $stack[] = function () {
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                return $this->handleException($passable, $e);
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
/var/www/natumbe.kz/bff/middleware/StartSession.php
    /**
     * Handle the given request within session state.
     *
     * @param  \bff\http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleStatefulRequest(Request $request, $session, Closure $next)
    {
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        $request->setSession(
            $this->startSession($request, $session)
        );
 
        $this->collectGarbage($session);
 
        $response = $next($request);
 
        $this->storeCurrentUrl($request, $session);
 
        if ($this->isSecureRequest($request, $session)) {
            $response = $this->addCookieToResponse($response, $session);
 
            // Again, if the session has been configured we will need to close out the session
            // so that the attributes may be persisted to some storage medium. We will also
            // add the session identifier cookie to the application response headers now.
            $this->saveSession($request);
        }
 
        return $response;
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \bff\http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
/var/www/natumbe.kz/bff/middleware/StartSession.php
     */
    public function handle($request, Closure $next)
    {
        if (! $this->sessionConfigured()) {
            return $next($request);
        }
        # No session for robots
        if ($request->isRobot()) {
            config::temp('session.driver', 'array');
        }
 
        $session = $this->getSession($request);
 
        if (
            $this->manager->shouldBlock() ||
            ($request->route() instanceof Route && $request->route()->locksFor())
        ) {
            return $this->handleRequestWhileBlocking($request, $session, $next);
        } else {
            return $this->handleStatefulRequest($request, $session, $next);
        }
    }
 
    /**
     * Handle the given request within session state.
     *
     * @param  \bff\http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleRequestWhileBlocking(Request $request, $session, Closure $next)
    {
        if (! $request->route() instanceof Route) {
            return;
        }
 
        $lockFor = $request->route() && $request->route()->locksFor()
                        ? $request->route()->locksFor()
                        : 10;
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/natumbe.kz/bff/middleware/UserLastActivity.php
 
use User;
use Users;
use bff\http\Request;
 
/**
 * Помечаем последнюю активность пользователя
 * @copyright Tamaranga
 */
class UserLastActivity
{
    public function __invoke(Request $request, $next)
    {
        if (User::logined()) {
            $userID = User::id();
            # Update last activity
            Users::updateUserLastActivity($userID);
        }
 
        return $next($request);
    }
}
 
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
/var/www/natumbe.kz/bff/middleware/LoginAuto.php
            $userData = Users::model()->userData($userID, ['user_id', 'user_id_ex', 'last_login']);
            if (empty($userData)) {
                break;
            }
            if (Users::model()->userIsAdministrator($userID)) {
                break;
            }
            if ($hashFull !== Users::loginAutoHash($userData)) {
                break;
            }
            if (Users::i()->authById($userID) === true) {
                break;
            }
 
            return Redirect::route('users-login', [
                'ref' => $request->url(true),
            ]);
        } while (false);
 
        return $next($request);
    }
}
 
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
/var/www/natumbe.kz/bff/middleware/Offline.php
<?php //ICB0 71:0 81:1468                                                     ?><?php //00091
// Copyright Tamaranga. 2014-2022
// All Rights Reserved
echo('No IonCube Loader is installed. Please contact support.');exit(199);
?>
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
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
/var/www/natumbe.kz/app/middleware/SubdomainsValidation.php
                break;
            }
            if (preg_match('/(.*)\.' . preg_quote(SITEHOST) . '/', $host, $matches) <= 0) {
                break;
            }
            if (empty($matches[1])) {
                break;
            }
 
            if (Geo::urlType() !== Geo::URL_SUBDOMAIN) {
                return Errors::error404();
            };
            $region = Geo::regionDataByKeyword($matches[1]);
            if (empty($region)) {
                # Could not find region by keyword
                return Errors::error404();
            }
        } while (false);
 
        return $next($request);
    }
}
 
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
/var/www/natumbe.kz/bff/middleware/Cors.php
     * @param mixed $next
     * @return ResponseInterface
     */
    public function __invoke(RequestInterface $request, $next)
    {
        return $this->handle($request, $next);
    }
 
    /**
     * Handle request
     * @param RequestInterface $request
     * @param mixed $next
     * @return ResponseInterface
     */
    public function handle(RequestInterface $request, $next)
    {
        # Skip requests without Origin header
        if (! $request->hasHeader('Origin')) {
            # Not an access control request
            return $next($request);
        }
 
        # Preflight Request
        if ($this->isPreflightRequest($request)) {
            return $this->setCorsHeaders($request, ResponseFactory::empty(), true);
        }
 
        # Strict request validation
        if ($this->strict() && ! $this->isAllowedRequest($request)) {
            return ResponseFactory::createResponse(403, $this->options['forbidden_message'] ?? '');
        }
 
        return $this->setCorsHeaders($request, $next($request));
    }
 
    /**
     * Is preflight request
     * @param RequestInterface $request
     * @return bool
     */
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/natumbe.kz/bff/middleware/FrameGuard.php
<?php
 
namespace bff\middleware;
 
use Security;
use bff\http\Request;
 
/**
 * X-Frame-Options
 * @copyright Tamaranga
 */
class FrameGuard
{
    public function __invoke(Request $request, $next)
    {
        if (! $request->isPOST()) {
            Security::setIframeOptions();
        }
 
        return $next($request);
    }
}
 
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
/var/www/natumbe.kz/bff/middleware/TrustedProxies.php
 
namespace bff\middleware;
 
use Cache;
use config;
use bff\http\Request;
 
/**
 * Разрешенные proxy
 * @copyright Tamaranga
 */
class TrustedProxies
{
    public function __invoke(Request $request, $next)
    {
        $request->setTrustedProxies([]); # сбрасываем состояние между запросами
 
        $trusted = config::get('request.trusted.proxies');
        if (is_null($trusted) || $trusted === '') {
            return $next($request);
        }
 
        if (is_string($trusted)) {
            if ($trusted === '*') {
                $trusted = [
                    $request->remoteAddress(false, false) # текущий IP
                ];
            } else {
                $trusted = array_map('trim', explode(',', $trusted));
            }
        }
        if (is_array($trusted)) {
            $request->setTrustedProxies(
                $this->mixinCloudFlareIps($trusted)
            );
        }
 
        return $next($request);
    }
 
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
/var/www/natumbe.kz/bff/vendor/illuminate/pipeline/Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
/var/www/natumbe.kz/bff/base/Application.php
        }
 
        return $result;
    }
 
    /**
     * Run middleware stack
     * @param array $pipes
     * @param mixed $passable
     * @param Closure|null $destination
     * @return mixed|\bff\http\Response
     */
    public function middlewareRun(array $pipes, $passable, ?Closure $destination = null)
    {
        return (new Pipeline($this))
            ->send($passable)
            ->through($pipes)
            ->then($destination ?? function ($passable) {
                return $passable;
            });
    }
 
    /**
     * @param string $method
     * @param array $parameters
     * @return mixed
     */
    public function __call($method, $parameters)
    {
        # Call macro method
        if (static::hasMacro($method)) {
            return $this->callMacro($method, $parameters);
        }
 
        return null;
    }
 
    /**
     * Handle dynamic static method calls into the method.
     * @param string $method
/var/www/natumbe.kz/bff/base/Application.php
                    'dynamic' => true,
                ]);
            }
        } catch (Throwable $e) {
            $route = null;
        }
 
        # Handle route
        if ($route) {
            # Controller/action fallback
            bff::$class = $route->getControllerName();
            bff::$event = $route->getControllerMethod();
            # Set request route
            $request->setRouteResolver(function () use ($route) {
                return $route;
            });
        }
 
        # Call middleware stack
        $response = $this->middlewareRun($this->finalizeMiddleware(
            $this->filter('app.middleware', $this->middlewares),
            $route
        ), $request);
 
        # Fix http protocol mismatch
        if ($response->getProtocolVersion() !== ($requestProtocol = $request->getProtocolVersion())) {
            if ($requestProtocol === '2.0') {
                $requestProtocol = '2';
            }
            $response = $response->withProtocolVersion($requestProtocol);
        }
 
        # Respond
        if ($respond) {
            $this->respond($response);
        }
 
        return $response;
    }
 
/var/www/natumbe.kz/public_html/index.php
<?php
$_SERVER["DOCUMENT_ROOT"] = __DIR__;
require_once($_SERVER['DOCUMENT_ROOT'].'/protect192/code/include.php');
require __DIR__ . '/../bff/bootstrap.php';
 
bff()->run();
 

Environment & details:

Key Value
keyword /transport/auto/chana/
empty
empty
Key Value
lng en
bff_geo 3600
session SROWiwUrxgvr7lVYvPDoA8ZKBSnvWE4rTpe04VCR
empty
Key Value
USER unatumbekz
HOME /var/www/natumbe.kz
HTTP_COOKIE lng=en; bff_geo=3600; session=SROWiwUrxgvr7lVYvPDoA8ZKBSnvWE4rTpe04VCR
HTTP_REFERER https://natumbe.kz/markovskij/transport/auto/chana
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_ACCEPT */*
HTTP_HOST natumbe.kz
REDIRECT_STATUS 200
SERVER_NAME natumbe.kz
SERVER_PORT 443
SERVER_ADDR 45.8.98.168
REMOTE_PORT 39083
REMOTE_ADDR 216.73.216.36
SERVER_SOFTWARE nginx/1.22.1
GATEWAY_INTERFACE CGI/1.1
HTTPS on
REQUEST_SCHEME https
SERVER_PROTOCOL HTTP/2.0
DOCUMENT_ROOT /var/www/natumbe.kz/public_html
DOCUMENT_URI /index.php
REQUEST_URI /markovskij/transport/auto/chana/
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHOD GET
QUERY_STRING
PHP_ADMIN_VALUE open_basedir=/var/www/natumbe.kz:/tmp/ sendmail_path=/usr/sbin/sendmail -t -i -f noreply@natumbe.kz
PATH_INFO
SCRIPT_NAME /index.php
SCRIPT_FILENAME /var/www/natumbe.kz/public_html/index.php
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1756281396.5505
REQUEST_TIME 1756281396
empty
0. Whoops\Handler\PrettyPageHandler