#0 | unknown |
#1 | Phalcon\Mvc\View\Engine\Volt->render |
#2 | Phalcon\Mvc\View->engineRender |
#3 | Phalcon\Mvc\View->processRender |
#4 | Phalcon\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); } } } } |
#5 | SH\Dispatcher\Plugin->afterDispatchLoop |
#6 | Phalcon\Events\Manager->fireQueue |
#7 | Phalcon\Events\Manager->fire |
#8 | Phalcon\Dispatcher\AbstractDispatcher->dispatch |
#9 | Phalcon\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; } } |
#10 | SH\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('/'); } } } |
Key | Value |
---|---|
_url | /usun-kod-rabatowy |
Key | Value |
---|---|
USER | www-data |
HOME | /var/www |
SCRIPT_NAME | /index.php |
REQUEST_URI | /usun-kod-rabatowy |
QUERY_STRING | _url=/usun-kod-rabatowy |
REQUEST_METHOD | GET |
SERVER_PROTOCOL | HTTP/1.1 |
GATEWAY_INTERFACE | CGI/1.1 |
REDIRECT_QUERY_STRING | _url=/usun-kod-rabatowy |
REDIRECT_URL | /usun-kod-rabatowy |
REMOTE_PORT | 51906 |
SCRIPT_FILENAME | /srv/dietetykpro/sklep.dietetykpro.pl/public/index.php |
SERVER_ADMIN | admin@smartheads.pl |
CONTEXT_DOCUMENT_ROOT | /srv/dietetykpro/sklep.dietetykpro.pl/public |
CONTEXT_PREFIX | |
REQUEST_SCHEME | https |
DOCUMENT_ROOT | /srv/dietetykpro/sklep.dietetykpro.pl/public |
REMOTE_ADDR | 3.128.31.227 |
SERVER_PORT | 443 |
SERVER_ADDR | 100.100.0.110 |
SERVER_NAME | sklep.dietetykpro.pl |
SERVER_SOFTWARE | Apache/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_HOST | sklep.dietetykpro.pl |
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 | */* |
proxy-nokeepalive | 1 |
SSL_TLS_SNI | sklep.dietetykpro.pl |
HTTPS | on |
UNIQUE_ID | Zz8RTUI6j2hhK2nI6fUb6QAAAIs |
REDIRECT_STATUS | 200 |
REDIRECT_SSL_TLS_SNI | sklep.dietetykpro.pl |
REDIRECT_HTTPS | on |
REDIRECT_UNIQUE_ID | Zz8RTUI6j2hhK2nI6fUb6QAAAIs |
FCGI_ROLE | RESPONDER |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1732186445.2696 |
REQUEST_TIME | 1732186445 |
# | 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/vendor/Views/Filters.php |
39 | /srv/dietetykpro/sklep.dietetykpro.pl/cache/_srv_dietetykpro_sklep.dietetykpro.pl_themes_dietetykpro_main_frontend_notfound.twig.php |
Memory | |
---|---|
Usage | 2097152 |