Phalcon Framework 4.1.2

TypeError: Argument 1 passed to Phalcon\Text::upper() must be of the type string, null given

/srv/dietetykpro/sklep.dietetykpro.pl/cache/_srv_dietetykpro_sklep.dietetykpro.pl_themes_dietetykpro_main_frontend_show.twig.php (151)
#0Phalcon\Text::upper
/srv/dietetykpro/sklep.dietetykpro.pl/cache/_srv_dietetykpro_sklep.dietetykpro.pl_themes_dietetykpro_main_frontend_show.twig.php (151)
<!DOCTYPE html>
<!--[if lt IE 9]>
<html dir="ltr" lang="pl" class="no-js ie8 lt-ie10 lt-ie9">        <![endif]-->
<!--[if IE 9]>
<html dir="ltr" lang="pl" class="no-js ie9 lt-ie10">            <![endif]-->
<!--[if gt IE 9]><!-->
<html dir="ltr" lang="pl" class="no-js">                    <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <title>Strefa zakupów DietetykPro</title>
        <meta name="description" content="W strefie zakupów DietetykPro znajdziesz gadżety dla Dietetyka i wyposażenie gabinetu dietetycznego. Zapraszamy!">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
        <link rel="stylesheet" type="text/css" href="/css/animate.css">
        <link rel="stylesheet" type="text/css" href="/css/style.css?v=3">
        <link rel="stylesheet" type="text/css" href="/fonts/stylesheet.css">
        <link rel="stylesheet" type="text/css" href="/css/fancySelect.css">
        <script type="text/javascript" src="/js/jquery.min.js"></script>
        <script type="text/javascript" src="/js/jquery.colorbox-min.js"></script>
        <script type="text/javascript" src="/js/loader.js"></script>
        <script type="text/javascript" src="/js/fancySelect.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                new QueryLoader2(document.querySelector("body"), {
                    barColor: "#a0c31b",
                    backgroundColor: "#fff",
                    percentage: false,
                    barHeight: 5,
                    minimumTime: 200,
                    fadeOutTime: 1000,
                    onComplete: function () {
                        $('#firstScreen').addClass('active');
                    }
                });
            });
        </script>
        <!--[if lt IE 9]>
        <script src="/js/respond.min.js" type="text/javascript"></script>
        <![endif]-->
        <script type="text/javascript" src="/js/owl.carousel.min.js"></script>
        <script type="text/javascript" src="/js/fancybox/jquery.fancybox.js"></script>
        <script type="text/javascript" src="/js/functions.js"></script>
        <script type="text/javascript">
            jQuery(document).ready(function () {
                $("#dont-show-cookies").on('click', function (e) {
                    e.preventDefault();
                    $.ajax({
                        type: 'POST',
                        url: '/cookies.php',
                        data: '',
                        'dataType': 'json',
                        success: function (response) {
                            $(".cookie-info-container").fadeOut(400, function () {
                                $(".cookie-info-container").remove();
                            })
                        }
                    });
                });
            });
        </script>
    </head>
    <body> <!-- PO ODPALENIU POPUPA DODAĆ KLASĘ pupVisible -->
 
        <div id="HEADER">
            <div class="content">
                <a href="/" class="logo"><img src="/imgs/logo.png" alt="" class="logo-image"/><img src="/imgs/logo-mobile.png" alt="" class="logo-image-mobile"/></a>
                <div class="right">
                    <ul>
                        <li class="scrollto-parent"><a href="#oferta" rel="second" data-goto="oferta" class="scrollto">OFERTA</a></li>
                        <li class="scrollto-parent"><a href="#faq" rel="third" data-goto="faq" class="scrollto">JAK TO DZIAŁA</a></li>
                        <li class="scrollto-parent"><a href="/kontakt">KONTAKT</a></li>
                        <li class="contact top-button"><a href="tel:793124240"><img src="/imgs/headphones-icon.png" alt=""> tel.: 793 124 240</a></li>
                        <?php if (isset($bucket)) { ?>
                            <li class="cart top-button">
                <span class="holder">
                <a href="#" class="cart-trigger"><img src="/imgs/cart-icon.png" alt=""/> <span data-bucket="count"><?= $bucket['count'] ?></span></a>
                <span class="cart-widget scroll-bar-wrap">
                                    <h4>MÓJ KOSZYK</h4>
                                    <div data-bucket="listing-header" id="listing-header" class="scroll-box"><?php foreach ($bucket as $p) { ?>
    <?php if (isset($p->id)) { ?>
        <span class="single" data-bucket="product" data-product-id="<?= $p->id ?>" <?php if (isset($p->size)) { ?>data-product-size="<?= $p->size ?>"<?php } ?>>
    <img src="<?= $this->convert->imageCache2('/uploads/photos/', $p->photo1, '174x232') ?>" alt="">
    <h5><?= Phalcon\Text::upper($p->name) ?></h5>
    <span class="options" data-bucket="Size">Ilość: <?= $p->count ?> <?php if (isset($p->size)) { ?>&nbsp;| &nbsp;Rozmiar: <?= $p->size ?><?php } ?></span>
    <span class="prices">
        <span class="regular">
            <?php if ($p->bonus_price) { ?>
                <strong class="discount"><sup><?= SH\Views\Filters::number_format(($p->price * $p->count), 2, ',', '') ?> zł</sup><br><?= SH\Views\Filters::number_format(($p->bonus_price * $p->count), 2, ',', '') ?> zł</strong>
            <?php } else { ?>
                <?= SH\Views\Filters::number_format(($p->price * $p->count), 2, ',', '') ?> zł
            <?php } ?>
        </span>
        <?php if ($p->member_price) { ?><span class="bonus"><?= SH\Views\Filters::number_format(($p->member_price * $p->count), 2, ',', '') ?> zł</span><?php } ?>
    </span>
    <a data-bucket="DeleteButton" href="<?php if (isset($p->size)) { ?><?= $this->url->get(['for' => 'home-del-all-from-bucket-size', 'id' => $p->id, 'size' => $p->size]) ?><?php } else { ?><?= $this->url->get(['for' => 'home-del-all-from-bucket', 'id' => $p->id]) ?><?php } ?>" class="delete"></a>
</span>
<span class="line"></span>
 
    <?php } else { ?>
        <?php if ((is_array($p) || ($p) instanceof Traversable)) { ?>
            <?php foreach ($p as $p) { ?>
                <span class="single" data-bucket="product" data-product-id="<?= $p->id ?>" <?php if (isset($p->size)) { ?>data-product-size="<?= $p->size ?>"<?php } ?>>
    <img src="<?= $this->convert->imageCache2('/uploads/photos/', $p->photo1, '174x232') ?>" alt="">
    <h5><?= Phalcon\Text::upper($p->name) ?></h5>
    <span class="options" data-bucket="Size">Ilość: <?= $p->count ?> <?php if (isset($p->size)) { ?>&nbsp;| &nbsp;Rozmiar: <?= $p->size ?><?php } ?></span>
    <span class="prices">
        <span class="regular">
            <?php if ($p->bonus_price) { ?>
                <strong class="discount"><sup><?= SH\Views\Filters::number_format(($p->price * $p->count), 2, ',', '') ?> zł</sup><br><?= SH\Views\Filters::number_format(($p->bonus_price * $p->count), 2, ',', '') ?> zł</strong>
            <?php } else { ?>
                <?= SH\Views\Filters::number_format(($p->price * $p->count), 2, ',', '') ?> zł
            <?php } ?>
        </span>
        <?php if ($p->member_price) { ?><span class="bonus"><?= SH\Views\Filters::number_format(($p->member_price * $p->count), 2, ',', '') ?> zł</span><?php } ?>
    </span>
    <a data-bucket="DeleteButton" href="<?php if (isset($p->size)) { ?><?= $this->url->get(['for' => 'home-del-all-from-bucket-size', 'id' => $p->id, 'size' => $p->size]) ?><?php } else { ?><?= $this->url->get(['for' => 'home-del-all-from-bucket', 'id' => $p->id]) ?><?php } ?>" class="delete"></a>
</span>
<span class="line"></span>
 
            <?php } ?>
        <?php } ?>
    <?php } ?>
<?php } ?></div>
                                    <div class="cover-bar"></div>
                                    <span class="summary">
                                        <span class="left">Łączna kwota:</span>
                                        <strong data-bucket="total-price-cart"><?= SH\Views\Filters::number_format($bucket['total_price'], 2, ',', '') ?> zł <span class="green" data-bucket="total-member-price-cart"><?= SH\Views\Filters::number_format($bucket['total_member_price'], 2, ',', '') ?> zł</span></strong>
                                        <span class="clr"></span>
                                    </span>
                    <span class="clr"></span>
                    
                    <a href="<?= $this->url->get(['for' => 'home-bucket']) ?>" class="button white"><pre>KOSZYK</pre> <small>KOSZYK</small></a>
                </span>
 
 
              </span>
                            </li>
                        <?php } ?>
                    </ul>
                    <div class="clr"></div>
                    <a href="#" id="mobile-trigger"><span></span></a>
                </div>
            </div>
            <div class="clr"></div>
        </div>
        <div class="overall">
            <div id="page">
                <div class="container<?php if (!isset($isHomepage)) { ?> subpage<?php } ?>">
                    
    <div class="page">
        <div class="single-product">
            <a href="<?php if ($product->photo1) { ?><?= $this->convert->imageCache2('/uploads/photos/', $product->photo, '765x765') ?><?php } ?>" class="gallery image left"><img src="<?= $this->convert->imageCache2('/uploads/photos/', $product->photo, '489x489') ?>" alt="<?= Phalcon\Text::upper($product->name) ?> - Produkt DietetykPro"></a>
            <div class="left main-info">
                <h1 class="subpage"><?= Phalcon\Text::upper($product->name) ?></h1>
                <div class="stars">
                    <img src="/imgs/star-big.png" alt="">
                    <img src="/imgs/star-big.png" alt="">
                    <img src="/imgs/star-big.png" alt="">
                    <img src="/imgs/star-big.png" alt="">
                    <img src="/imgs/star-big.png" alt="">
                </div>
                <form id='Form' method='POST' action="<?= $this->url->get(['for' => 'home-add-to-bucket', 'id' => $product->id]) ?>">
                    <input type="hidden" id="ProductId" value="<?= $product->id ?>"/>
                    <span class="prices"><span class="regular">CENA <br>REGULARNA:<strong><?= $product->price ?> zł</strong></span><?php if ($product->member_price) { ?><span class="bonus">UŻYTKOWNICY DIETETYKPRO:<strong><?= $product->member_price ?> zł</strong></span><?php } ?></span>
                    <?php if (isset($product->sizes)) { ?>
                        <select name="size" data-size="show">
                            <option value="0">Wybierz rozmiar</option>
                            <?php foreach ($product->sizes as $s) { ?>
                                <option value="<?= $s ?>"><?= $s ?></option>
                            <?php } ?>
                        </select>
                        <a href="<?php if ($product->size_image) { ?><?= $uploadsDir . $product->size_image ?><?php } ?>" class="gallery image left size-tab" class="size-tab">Tabela rozmiarów</a>
                    <?php } ?>
 
                    <a href="<?= $this->url->get(['for' => 'home-add-to-bucket', 'id' => $product->id]) ?>" data-bucket="AddButton" class="button">
                        <pre>DODAJ DO KOSZYKA</pre>
                        <small>DODAJ DO KOSZYKA</small>
                    </a>
                    <a href="#" class="button fake">
                        <pre>DODANO DO KOSZYKA</pre>
                        <small>DODANO DO KOSZYKA</small>
                    </a>
 
                </form>
            </div>
            <div class="clr"></div>
            <div class="details">
                <h2>Szczegóły</h2>
                <p><?= $product->description ?></p>
                <?php $cattonum['Plakaty'] = 1; ?>
                <?php $cattonum['Torby'] = 2; ?>
                <?php $cattonum['Kubki'] = 3; ?>
                <?php $cattonum['Koszulki'] = 4; ?>
                <?php $cattonum['Opcje dodatkowe'] = 5; ?>
                <?php $cattonum['Podkładki'] = 6; ?>
 
            </div>
            <div class="details delivery">
                <h2>Przesyłka</h2>
                <?= $product->send_text ?>
            </div>
            <a href="/#tab<?= $cattonum[$product->category] ?>" class="return">Powrót do listy produktów</a>
        </div>
    </div>
 
                </div>
            </div>
        </div>
        <div id="qLoverlay">
            <div id="qlcontent">
                <!--[if lt IE 9]>
                <div class="queryloader__overlay__bar" style="width: 253px; height: 253px;"></div> <![endif]-->
                <div class="sk-cube-grid">
                    <div class="sk-cube sk-cube1"></div>
                    <div class="sk-cube sk-cube2"></div>
                    <div class="sk-cube sk-cube3"></div>
                    <div class="sk-cube sk-cube4"></div>
                    <div class="sk-cube sk-cube5"></div>
                    <div class="sk-cube sk-cube6"></div>
                    <div class="sk-cube sk-cube7"></div>
                    <div class="sk-cube sk-cube8"></div>
                    <div class="sk-cube sk-cube9"></div>
                </div>
            </div>
            <!--[if lt IE 9]>
            <div id="IEAlerthtml">
                <div class="ie_alert_bottom">Używasz przestarzałej wersji przeglądarki internetowej. Aby poprawnie wyświetlić tę witrynę wymagany jest Internet Explorer w wersji 9 lub wyższej. <a href="http://pliki.onet.pl/Internet/Przegladarki.WWW/" rel="nofollow" target="_blank">Zaktualizuj swoją przeglądarkę</a></div>
            </div> <![endif]-->
        </div>
        <div id="FOOTER">
            <div class="top-footer">
                <div class="page">
                    <a href="https://www.facebook.com/dietetykpro/" target="_blank"><img src="/imgs/facebook.png" alt=""></a>
                    <a href="https://www.youtube.com/channel/UCfArMFLohrXdQiRdi09GTnQ" target="_blank"><img src="/imgs/youtube.png" alt=""></a>
                    <a href="https://www.instagram.com/dietetykpro/?hl=pl" target="_blank"><img src="/imgs/instagram.png" alt=""></a>
                </div>
            </div>
            <div class="bottom-footer">
                <div class="page">
                    <img class="ftr-logo" src="/imgs/footer-logo.png" alt="">
                    <div class="footer-menu">
                        <ul>
                            <li><a href="/strefa-zakupow-dietetykpro-regulamin.pdf" target="_blank">REGULAMIN</a></li>
                            <li><a href="/polityka-prywatnosci-sklep-dietetykpro.pdf" target="_blank">POLITYKA PRYWATNOŚCI</a></li>
                        </ul>
                    </div>
                    <p class="agency right">powered by <a href="http://smartheads.pl" class="logo-sh" target="_blank"><img src="/imgs/sh.svg" alt=""></a></p>
                    <div class="clr"></div>
                </div>
            </div>
        </div>
        <div id="cookies">
            <div style="text-align: center;">
                <h5>Polityka cookies</h5>
                <p> <strong>Ta strona wykorzystuje pliki cookie.</strong><br> Używamy informacji zapisanych za pomocą cookies, w&nbsp;celu zapewnienia maksymalnej wygody w&nbsp;korzystaniu z&nbsp;cnaszego serwisu. Jeżeli wyrażasz zgodę na zapisywanie informacji zawartej w cookies kliknij ‚Rozumiem’. Jeśli nie wyrażasz zgody, opuść stronę.  <br /><br />
 <a href="/polityka-prywatnosci-sklep-dietetykpro.pdf" rel="nofollow" target="_blank">Więcej informacji o polityce cookies</a></p>
                <a class="border button link app-menu__link app-menu__link--hire" href="#" onclick="return remcookie();">ROZUMIEM</a>
            </div>
 
            <script type="text/javascript">
                function setCookie(name, value, days) {
                    var exdate = new Date();
                    exdate.setDate(exdate.getDate() + days);
                    var value = escape(value) + ((days == null) ? "" : "; expires=" + exdate.toUTCString()) + "; path=/";
                    document.cookie = name + '=' + value;
                }
 
                function getCookie(name) {
                    var i, x, y, ARRcookies = document.cookie.split(";");
                    for (i = 0; i < ARRcookies.length; i++) {
                        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
                        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
                        x = x.replace(/^\s+|\s+$/g, "");
                        if (x == name) {
                            return unescape(y);
                        }
                    }
                }
 
                if (parseInt(getCookie('shhpcdisable')) === 1) {
                    var elem = document.getElementById('cookies');
                    document.getElementById('cookies').parentNode.removeChild(elem);
                } else {
                    document.getElementById("cookies").style.display = "block";
                }
 
                function remcookie() {
                    var elem = document.getElementById('cookies');
                    document.getElementById('cookies').parentNode.removeChild(elem);
                    setCookie('shhpcdisable', 1, 365);
                    return false;
                }
            </script>
        </div>
        
    </body>
</html>
#1unknown
#2Phalcon\Mvc\View\Engine\Volt->render
#3Phalcon\Mvc\View->engineRender
#4Phalcon\Mvc\View->processRender
#5Phalcon\Mvc\View->render
/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Dispatcher/Plugin.php (116)
<?php
 
namespace SH\Dispatcher;
 
use Phalcon\Di\Injectable;
use Phalcon\Events\Event;
use Phalcon\Http\ResponseInterface;
use Phalcon\Mvc\Dispatcher;
 
/**
 * Class Plugin
 * @package SH\Dispatcher
 * @property \SH\Application $application
 */
class Plugin extends Injectable
{
    function beforeDispatch(Event $event, Dispatcher $dispatcher)
    {
        $controllerClass = $dispatcher->getControllerClass();
        $activeMethod = $dispatcher->getActiveMethod();
 
        if (preg_match('/FrontendController/', $controllerClass) || preg_match('/AclController/', $controllerClass)) {
            $user = $this->user->getIdentity();
 
            if ($user) {
                if ($user->role && $user->role !== 'su') {
                    $annotations = $this->annotations->get($controllerClass);
 
                    if ($annotations->getClassAnnotations() && $annotations->getClassAnnotations()->has('Acl')) {
                        $aclResource = $annotations->getClassAnnotations()->get('Acl');
                        $aclResource = $aclResource->getNamedParameter('label');
 
                        $aclMethod = $annotations->getMethodsAnnotations();
 
                        if (isset($aclMethod[$activeMethod])) {
                            $aclMethod = $aclMethod[$activeMethod];
 
                            if ($aclMethod->has('Acl')) {
                                $aclMethod = $aclMethod->get('Acl');
                                $aclMethod = $aclMethod->getNamedParameter('label');
 
                                if ($this->acl->isAllowed($user->role, $aclResource, $aclMethod) === false) {
                                    $this->response->redirect('/403');
 
                                    return false;
                                } else {
                                    return true;
                                }
                            }
                        }
                    }
                }
            }
        } else {
            $annotations = $this->annotations->get($controllerClass);
 
            if ($annotations->getClassAnnotations() && $annotations->getClassAnnotations()->has('Acl')) {
                $aclResource = $annotations->getClassAnnotations()->get('Acl');
                $aclResource = $aclResource->getNamedParameter('label');
 
                $aclMethod = $annotations->getMethodsAnnotations();
 
                if (isset($aclMethod[$activeMethod])) {
                    $aclMethod = $aclMethod[$activeMethod];
 
                    if ($aclMethod->has('Acl')) {
                        $aclMethod = $aclMethod->get('Acl');
                        $aclMethod = $aclMethod->getNamedParameter('label');
 
                        if ($this->acl->isAllowed($this->auth->getRoleName(), $aclResource, $aclMethod) === false) {
                            if ($this->auth->isGuest) {
                                $this->response->redirect('/admin/user/login');
                            } else {
                                $this->response->redirect('/admin/main/code403');
                            }
 
                            return false;
                        } else {
                            return true;
                        }
                    }
                }
            }
        }
 
        return true;
    }
 
    function beforeDispatchLoop(Event $event, Dispatcher $dispatcher)
    {
        $module = $this->application->getModule($dispatcher->getModuleName());
 
        if (is_array($module) && isset($module['className'])) {
            $module = $this->di->get($module['className']);
        }
        $namespace = $module->getNamespace();
        $namespace .= '\controllers';
 
        $dispatcher->setNamespaceName($namespace);
    }
 
    function afterDispatchLoop(Event $event, Dispatcher $dispatcher)
    {
        $results = $dispatcher->getReturnedValue();
 
        if ($results instanceof ResponseInterface || $results === false) {
            $this->view->disable();
        } else {
            if (is_array($results) || is_null($results)) {
                if ($results) {
                    $this->view->setVars($results);
                } else {
                    $results = [];
                }
 
                $this->view->render($this->router->getModuleName() . '/' . $dispatcher->getControllerName(), $dispatcher->getActionName(), $results);
            }
        }
    }
}
#6SH\Dispatcher\Plugin->afterDispatchLoop
#7Phalcon\Events\Manager->fireQueue
#8Phalcon\Events\Manager->fire
#9Phalcon\Dispatcher\AbstractDispatcher->dispatch
#10Phalcon\Mvc\Application->handle
/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Application.php (30)
<?php
 
namespace SH;
 
use Phalcon\Application\Exception;
 
/**
 * Class Application
 * @package SH
 * @property \SH\Views\MenuGenerator $MenuGenerator
 */
class Application extends \Phalcon\Mvc\Application
{
    protected $_moduleNamespace = '';
 
    public function handle($uri = null)
    {
        $nameSpaces = $this->loader->getNamespaces();
 
        if (isset($nameSpaces['app\modules']) === false) {
            throw new Exception("namespace app modules not defined");
        }
 
        $this->_moduleNamespace = $nameSpaces['app\modules'][0];
        $dirs = scandir($this->_moduleNamespace);
 
        $modules = $this->handleModules($this->_moduleNamespace, $dirs);
        $this->registerModules($modules);
 
        return parent::handle($uri);
    }
 
    protected function handleModules(string $path, array $dirs): array
    {
        $modules = [];
 
        foreach ($dirs as $dir) {
            $modulePath = "{$path}{$dir}";
            if (is_dir($modulePath) === false) {
                continue;
            } else {
                if (in_array($dir, ['.', '..'])) {
                    continue;
                } else {
                    if (file_exists($modulePath . "/Web.php") === false) {
                        continue;
                    }
                }
            }
 
            $moduleClass = str_replace($this->_moduleNamespace, '', $modulePath);
            $moduleClass = str_replace('/', '\\', $moduleClass);
            $moduleClass = 'app\modules\\' . $moduleClass . '\Web';
 
            $module = $this->getDI()->get($moduleClass);
            $module->registerAutoloaders($this->getDI());
            $module->registerServices($this->getDI());
 
            if (file_exists($modulePath . '/params/router.php')) {
                require_once $modulePath . '/params/router.php';
            }
 
            if (IS_ADMIN) {
                if (file_exists($modulePath . '/params/menu.php')) {
                    require_once $modulePath . '/params/menu.php';
                }
            }
 
            $modules[$dir] = ["className" => $moduleClass];
 
            $subModules = "{$modulePath}/modules/";
            if (is_dir($subModules)) {
                $subDirs = scandir($subModules);
                $subModules = $this->handleModules($subModules, $subDirs);
 
                $modules = array_merge($modules, $subModules);
            }
        }
 
        return $modules;
    }
}
#11SH\Application->handle
/srv/dietetykpro/sklep.dietetykpro.pl/public/index.php (59)
<?php
 
  $admin_dir = 'admin';
 
  defined('BASE_PATH') or define('BASE_PATH', dirname(__DIR__));
  defined('APP_PATH') or define('APP_PATH', BASE_PATH . '/app');
  define ('IS_CONSOLE', false);
 
  if (preg_match('/^\/' . $admin_dir . '\/$/', $_SERVER['REQUEST_URI'])) {
    header('Location: /admin');
    die;
  }
 
  if (preg_match('/' . $admin_dir . '/', $_SERVER['REQUEST_URI'])) {
    defined('IS_ADMIN') or define('IS_ADMIN', true);
  } else {
    defined('IS_ADMIN') or define('IS_ADMIN', false);
  }
 
  $config = null;
  $application = null;
 
  try {
    /**
     * Include Autoloader
     */
    $loader = include APP_PATH . '/config/web/loader.php';
 
    /**
     * The FactoryDefault Dependency Injector automatically registers
     * the services that provide a full stack framework.
     */
        $di = new \Phalcon\Di();
        $di->setShared('loader', $loader);
    /**
     * Read services
     */
    include APP_PATH . '/config/web/services.php';
 
    /**
     * Get config service for use in inline setup below
     */
    $config = $di->getConfig();
 
        if ($config->application->isDevelopment) {
            error_reporting(E_ALL);
            ini_set('display_errors', 1);
 
            $debug = new \Phalcon\Debug();
            $debug->listen();
        }
 
        /**
         * Handle the request
         */
        $application = new \SH\Application($di);
        $di->setShared('application', $application);
 
        $application->handle($_SERVER['REQUEST_URI'])->send();
 
  } catch (\Exception $e) {
    if (!(is_null($config) || is_null($application))) {
      if ($config->application->isDevelopment) {
        throw $e;
      } else {
        $application->response->redirect('/');
      }
    }
  }
KeyValue
_url/produkt/11
KeyValue
USERwww-data
HOME/var/www
SCRIPT_NAME/index.php
REQUEST_URI/produkt/11
QUERY_STRING_url=/produkt/11
REQUEST_METHODGET
SERVER_PROTOCOLHTTP/1.1
GATEWAY_INTERFACECGI/1.1
REDIRECT_QUERY_STRING_url=/produkt/11
REDIRECT_URL/produkt/11
REMOTE_PORT48310
SCRIPT_FILENAME/srv/dietetykpro/sklep.dietetykpro.pl/public/index.php
SERVER_ADMINadmin@smartheads.pl
CONTEXT_DOCUMENT_ROOT/srv/dietetykpro/sklep.dietetykpro.pl/public
CONTEXT_PREFIX
REQUEST_SCHEMEhttps
DOCUMENT_ROOT/srv/dietetykpro/sklep.dietetykpro.pl/public
REMOTE_ADDR18.224.37.68
SERVER_PORT443
SERVER_ADDR100.100.0.110
SERVER_NAMEsklep.dietetykpro.pl
SERVER_SOFTWAREApache/2.4.52 (Ubuntu)
SERVER_SIGNATURE<address>Apache/2.4.52 (Ubuntu) Server at sklep.dietetykpro.pl Port 443</address>\n
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
HTTP_HOSTsklep.dietetykpro.pl
HTTP_REFERERhttp://sklep.dietetykpro.pl/produkt/11
HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_ACCEPT*/*
proxy-nokeepalive1
SSL_TLS_SNIsklep.dietetykpro.pl
HTTPSon
UNIQUE_IDZitF7uV1UcUhN9xFUApQHwAAAM8
REDIRECT_STATUS200
REDIRECT_SSL_TLS_SNIsklep.dietetykpro.pl
REDIRECT_HTTPSon
REDIRECT_UNIQUE_IDZitF7uV1UcUhN9xFUApQHwAAAM8
FCGI_ROLERESPONDER
PHP_SELF/index.php
REQUEST_TIME_FLOAT1714111982.1711
REQUEST_TIME1714111982
#Path
0/srv/dietetykpro/sklep.dietetykpro.pl/public/index.php
1/srv/dietetykpro/sklep.dietetykpro.pl/app/config/web/loader.php
2/srv/dietetykpro/sklep.dietetykpro.pl/app/config/web/config.php
3/srv/dietetykpro/sklep.dietetykpro.pl/app/plugins/swiftmailer/lib/swift_required.php
4/srv/dietetykpro/sklep.dietetykpro.pl/app/plugins/swiftmailer/lib/classes/Swift.php
5/srv/dietetykpro/sklep.dietetykpro.pl/app/plugins/PHPExcel/Classes/PHPExcel.php
6/srv/dietetykpro/sklep.dietetykpro.pl/app/plugins/PHPExcel/Classes/PHPExcel/Autoloader.php
7/srv/dietetykpro/sklep.dietetykpro.pl/app/plugins/PHPExcel/Classes/PHPExcel/Shared/String.php
8/srv/dietetykpro/sklep.dietetykpro.pl/app/config/web/services.php
9/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Auth.php
10/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Query/Builder.php
11/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/DatabaseManager.php
12/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Application.php
13/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/acl/Web.php
14/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Info/NamespaceInfo.php
15/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Info/AclInfo.php
16/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/admins/Web.php
17/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/crm/Web.php
18/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/discounts/Web.php
19/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/howto/Web.php
20/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/main/Web.php
21/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/main/params/router.php
22/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/orders/Web.php
23/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/photos/Web.php
24/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/products/Web.php
25/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/stats/Web.php
26/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/user/Web.php
27/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/widgets/Web.php
28/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/www/Web.php
29/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/www/modules/newsletter/Web.php
30/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/www/modules/newsletter/params/router.php
31/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/www/modules/pages/Web.php
32/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/www/modules/pages/params/router.php
33/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/www/modules/seo/Web.php
34/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Dispatcher/Plugin.php
35/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/main/controllers/FrontendController.php
36/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Controllers/FrontendController.php
37/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Controllers/Controller.php
38/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/products/models/ShopAvaliableSizesTable.php
39/srv/dietetykpro/sklep.dietetykpro.pl/app/modules/products/models/ShopProductTable.php
40/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Views/Convert.php
41/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Cart.php
42/srv/dietetykpro/sklep.dietetykpro.pl/app/vendor/Views/Filters.php
43/srv/dietetykpro/sklep.dietetykpro.pl/cache/_srv_dietetykpro_sklep.dietetykpro.pl_themes_dietetykpro_main_frontend_show.twig.php
Memory
Usage2097152