PDOException (23000)
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '71763-2025-07-07' for key 'bff_listings_items_views.item_id' PDOException thrown with message "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '71763-2025-07-07' for key 'bff_listings_items_views.item_id'" Stacktrace: #32 PDOException in /var/www/dev.reklama.lv/bff/db/Database.php:841 #31 PDOStatement:execute in /var/www/dev.reklama.lv/bff/db/Database.php:841 #30 bff\db\Database:exec in /var/www/dev.reklama.lv/bff/db/Database.php:930 #29 bff\db\Database:insert in /var/www/dev.reklama.lv/modules/listings/model.php:2865 #28 ListingsModel_:itemViewsIncrement in /var/www/dev.reklama.lv/modules/listings/views/ItemPage.php:362 #27 modules\listings\views\ItemPage:data in /var/www/dev.reklama.lv/bff/view/Block.php:820 #26 bff\view\Block:gatherData in /var/www/dev.reklama.lv/bff/view/Block.php:678 #25 bff\view\Block:renderContent in /var/www/dev.reklama.lv/bff/view/Page.php:129 #24 bff\view\Page:renderContent in /var/www/dev.reklama.lv/bff/view/Block.php:626 #23 bff\view\Block:render in /var/www/dev.reklama.lv/bff/base/Router.php:678 #22 bff\base\Router:runRoute in /var/www/dev.reklama.lv/bff/base/Application.php:695 #21 bff\base\Application:bff\base\{closure} in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:149 #20 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/middleware/StartSession.php:134 #19 bff\middleware\StartSession:handleStatefulRequest in /var/www/dev.reklama.lv/bff/middleware/StartSession.php:76 #18 bff\middleware\StartSession:handle in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:167 #17 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/middleware/UserLastActivity.php:23 #16 bff\middleware\UserLastActivity:__invoke in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:168 #15 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/middleware/LoginAuto.php:49 #14 bff\middleware\LoginAuto:__invoke in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:168 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/middleware/Offline.php:0 #12 bff\middleware\Offline:__invoke in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:168 #11 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/app/middleware/SubdomainsValidation.php:46 #10 app\middleware\SubdomainsValidation:__invoke in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:168 #9 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/middleware/Cors.php:77 #8 bff\middleware\Cors:handle in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:167 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/middleware/FrameGuard.php:20 #6 bff\middleware\FrameGuard:__invoke in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:168 #5 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/middleware/TrustedProxies.php:21 #4 bff\middleware\TrustedProxies:__invoke in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:168 #3 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/dev.reklama.lv/bff/vendor/illuminate/pipeline/Pipeline.php:103 #2 Illuminate\Pipeline\Pipeline:then in /var/www/dev.reklama.lv/bff/base/Application.php:844 #1 bff\base\Application:middlewareRun in /var/www/dev.reklama.lv/bff/base/Application.php:596 #0 bff\base\Application:run in /var/www/dev.reklama.lv/public_html/index.php:4
Stack frames (33)
32
PDOException
/db/Database.php841
31
PDOStatement execute
/db/Database.php841
30
bff\db\Database exec
/db/Database.php930
29
bff\db\Database insert
/var/www/dev.reklama.lv/modules/listings/model.php2865
28
ListingsModel_ itemViewsIncrement
/var/www/dev.reklama.lv/modules/listings/views/ItemPage.php362
27
modules\listings\views\ItemPage data
/view/Block.php820
26
bff\view\Block gatherData
/view/Block.php678
25
bff\view\Block renderContent
/view/Page.php129
24
bff\view\Page renderContent
/view/Block.php626
23
bff\view\Block render
/base/Router.php678
22
bff\base\Router runRoute
/base/Application.php695
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/dev.reklama.lv/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.php844
1
bff\base\Application middlewareRun
/base/Application.php596
0
bff\base\Application run
/var/www/dev.reklama.lv/public_html/index.php4
/var/www/dev.reklama.lv/bff/db/Database.php
                    }
                }
            }
 
            if (is_null($arg)) {
                $query = $this->pdo->query($cmd);
            } else {
                $query = $this->pdo->prepare($cmd, $prepareOptions);
                if (is_object($query)) {
                    foreach ($arg as $key => $value) {
                        if (
                            !(is_array($value) ?
                                $query->bindValue($key, $value[0], $value[1]) :
                                $query->bindValue($key, $value, $this->type($value))
                            )
                        ) {
                            break;
                        }
                    }
                    $query->execute();
                }
            }
            # Проверяем SQLSTATE
            if (!$this->errorCheck($query, ['query' => $cmd, 'bind' => $arg])) {
                if ($this->tag !== false) {
                    $this->tag = false;
                }
                return false;
            }
 
            if ($fetchType !== false || preg_match('/^\s*(?:SELECT|PRAGMA|SHOW|EXPLAIN)\s/i', (string) $cmd)) {
                if ($fetchFunc !== false) {
                    $this->result = $query->$fetchFunc($fetchType);
                    $this->rows = $query->rowCount();
                    $query = null;
                } else {
                    $this->result = $query;
                }
            } else {
                $this->rows = $this->result = $query->rowCount();
/var/www/dev.reklama.lv/bff/db/Database.php
                    }
                }
            }
 
            if (is_null($arg)) {
                $query = $this->pdo->query($cmd);
            } else {
                $query = $this->pdo->prepare($cmd, $prepareOptions);
                if (is_object($query)) {
                    foreach ($arg as $key => $value) {
                        if (
                            !(is_array($value) ?
                                $query->bindValue($key, $value[0], $value[1]) :
                                $query->bindValue($key, $value, $this->type($value))
                            )
                        ) {
                            break;
                        }
                    }
                    $query->execute();
                }
            }
            # Проверяем SQLSTATE
            if (!$this->errorCheck($query, ['query' => $cmd, 'bind' => $arg])) {
                if ($this->tag !== false) {
                    $this->tag = false;
                }
                return false;
            }
 
            if ($fetchType !== false || preg_match('/^\s*(?:SELECT|PRAGMA|SHOW|EXPLAIN)\s/i', (string) $cmd)) {
                if ($fetchFunc !== false) {
                    $this->result = $query->$fetchFunc($fetchType);
                    $this->rows = $query->rowCount();
                    $query = null;
                } else {
                    $this->result = $query;
                }
            } else {
                $this->rows = $this->result = $query->rowCount();
/var/www/dev.reklama.lv/bff/db/Database.php
        if ($returnID !== false) {
            if ($this->isPgSQL()) {
                # RETURNING expression (pgsql)
                if (is_string($returnID)) {
                    $query .= ' RETURNING ' . $this->wrapColumn($returnID);
                    list($fetchType, $fetchFunc) = [0, 'fetchColumn']; // one_data
                } elseif (is_array($returnID)) {
                    $query .= ' RETURNING ' . join(', ', $this->wrapColumn($returnID));
                    list($fetchType, $fetchFunc) = [PDO::FETCH_ASSOC, 'fetch']; // one_array
                }
 
                return $this->exec($query, $bind, 0, $fetchType, $fetchFunc);
            } else {
                # lastInsertId (mysql, ...)
                $this->exec($query, $bind);
 
                return $this->insert_id($table, $returnID);
            }
        } else {
            return $this->exec($query, $bind);
        }
    }
 
    /**
     * Получаем ID последней добавленной записи
     * @param string $table название таблицы
     * @param string $columnName название поля ID
     * @param string $sequencePostfix окончание в названии последовательности(sequence) (tableName_FieldName)
     * @return int
     */
    public function insert_id($table = '', $columnName = 'id', $sequencePostfix = '_seq')
    {
        $result = (int)$this->pdo->lastInsertId($table . ($columnName ? '_' . $columnName : '') . $sequencePostfix);
 
        return (empty($result) ? 0 : $result);
    }
 
    /**
     * Выполняем UPDATE запрос
     * @param string $table название таблицы
/var/www/dev.reklama.lv/modules/listings/model.php
        $res = $this->db->update(
            static::TABLE_ITEMS_VIEWS,
            [$field . ' = ' . $field . ' + ' . $increment],
            ['item_id' => $itemID, 'period' => $date]
        );
 
        # update failed
        if (empty($res) && $res !== false) {
            # 2. start counting statistics for today
            if (! empty($viewsToday)) {
                $this->db->update(static::TABLE_ITEMS, [
                    'views_today' => 0,
                ], ['id' => $itemID]);
                $opts['views_today'] = 0;
            }
            $res = $this->db->insert(static::TABLE_ITEMS_VIEWS, [
                'item_id' => $itemID,
                $field    => $increment,
                'period'  => $date,
            ], false);
        }
 
        # static::TABLE_ITEMS:
        # 3. wind up counter of items views / Contacts for today (+ total)
        if (!empty($res)) {
            $this->db->update(
                static::TABLE_ITEMS,
                [
                    'views_total = views_total + ' . $increment,
                    'views_today = views_today + ' . $increment,
                    'views_' . $viewType . '_total = views_' . $viewType . '_total + ' . $increment,
                ],
                ['id' => $itemID]
            );
            isset($opts['views_today']) && $opts['views_today'] += $increment;
            isset($opts['views_total']) && $opts['views_total'] += $increment;
        }
 
        return !empty($res);
    }
/var/www/dev.reklama.lv/modules/listings/views/ItemPage.php
        $this->item['video'] = Listings::itemVideo()->viewIframe($this->item['video_embed']);
 
        # Dynprops
        $data['dynprops'] = Listings::dp()->onView($this->item['cat_id'], $this->item, ['dataOnly' => -1]);
 
        # Is favorite
        $data['fav'] = Listings::favorites()->isFavorite($this->itemId, $this->userId);
 
        # Increment views if not:
        # - owner
        # - redirect from admin panel
        # - page refresh
        if (!$this->item['owner'] && $this->from != 'adm' && !$this->request->isRefresh()) {
            Listings::model()->itemViewsIncrement(
                $this->itemId,
                'item',
                $this->item['views_today'],
                [
                    'views_total' => & $this->item['views_total'],
                    'views_today' => & $this->item['views_today'],
                ]
            );
        }
 
        # Free top up
        if ($this->input->get('up_free', TYPE_UINT) == 1 && $this->item['owner']) {
            $up = Listings::itemServices('up');
            if ($up) {
                $msg = $up->upFree($this->itemId);
                if ($this->errors->no()) {
                    $data['msg_success'] = $msg;
                } else {
                    $data['msg_error'] = join('<br />', $this->errors->get());
                }
            }
        }
 
        $data['premoderation'] = Listings::premoderation();
 
        # Share code
/var/www/dev.reklama.lv/bff/view/Block.php
 
        foreach ($this->fillable as $key) {
            # Do not override data keys
            if (array_key_exists($key, $this->data)) {
                continue;
            }
            $this->data[$key] = &$this->$key;
        }
    }
 
    /**
     * Gather data before render
     * @return void
     */
    protected function gatherData()
    {
        $this->fillSettings();
        $this->fillableToData();
 
        $this->data = $this->data();
 
        $this->app->hook('view.block.data', $this, ['data' => & $this->data]);
 
        if (is_array($this->data)) {
            $this->blocksIterator(function ($block, $key) {
                $this->data[$key] = $block;
            });
        }
    }
 
    /**
     * Get block (and sub blocks) data without rendering
     * @return array|mixed
     */
    public function getData()
    {
        $this->gatherData();
 
        if (is_array($this->data)) {
            foreach ($this->data as $key => $value) {
/var/www/dev.reklama.lv/bff/view/Block.php
                        $wrapper['renderOptions'] ?? $this->renderOptions
                    );
                    continue;
                }
                if (is_callable($wrapper['template'])) {
                    $content = call_user_func($wrapper['template'], $content, $this->data);
                }
            }
        }
 
        return $content;
    }
 
    /**
     * Render block content
     * @return string|mixed
     */
    protected function renderContent()
    {
        $this->gatherData();
 
        # Try to return data
        if (! is_array($this->data)) {
            if ($this->data instanceof self) {
                return $this->data->render();
            }
            # cancel render
            if ($this->beforeRender() === false) {
                return '';
            }
            # string is a render goal
            if (is_string($this->data)) {
                return $this->data;
            }
            # throw response
            if ($this->data instanceof Response) {
                $this->data->throw();
            }
            if ($this->data instanceof Closure) {
                $callback = $this->data;
/var/www/dev.reklama.lv/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/dev.reklama.lv/bff/view/Block.php
 
        return $summary ?: $response;
    }
 
    /**
     * 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/dev.reklama.lv/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/dev.reklama.lv/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->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 () {
                    return Response::notFound();
                };
/var/www/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/bff/middleware/Offline.php
<?php //ICB0 71:0 81:144c                                                     ?><?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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/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/dev.reklama.lv/bff/base/Application.php
                    'seo-redirects' => 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/dev.reklama.lv/public_html/index.php
<?php
require __DIR__ . '/../bff/bootstrap.php';
 
bff()->run();
 

Environment & details:

Key Value
keyword wr219-039oem-85241-05070039-rear-310-mm-liftback-loga-slotinas-turetajs-toyota-avensis-t25-20
id 71763
empty
empty
empty
empty
Key Value
USER ureklamalv
HOME /var/www/reklama.lv
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 dev.reklama.lv
REDIRECT_STATUS 200
SERVER_NAME dev.reklama.lv
SERVER_PORT 443
SERVER_ADDR 84.38.137.52
REMOTE_PORT 63619
REMOTE_ADDR 216.73.216.119
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/dev.reklama.lv/public_html
DOCUMENT_URI /index.php
REQUEST_URI /riga/transport/zapchasti-aksessuary/avtozapchasti/wr219-039oem-85241-05070039-rear-310-mm-liftback-loga-slotinas-turetajs-toyota-avensis-t25-20-71763.html
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHOD GET
QUERY_STRING
PHP_ADMIN_VALUE open_basedir=/var/www/dev.reklama.lv:/tmp/ sendmail_path=/usr/sbin/sendmail -t -i -f noreply@reklama.lv
PATH_INFO
SCRIPT_NAME /index.php
SCRIPT_FILENAME /var/www/dev.reklama.lv/public_html/index.php
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1751915939.5226
REQUEST_TIME 1751915939
empty
0. Whoops\Handler\PrettyPageHandler