#0 | PDO->__construct(mysql:host=127.0.0.1;dbname=nubotica_vr_demo, nubotica_vr_demo, DBNub0t1c4#2022, Array([1002] => SET SESSION group_concat_max_len = 10000000;, [3] => 2)) |
#1 | Phalcon\Db\Adapter\Pdo->connect(Array([host] => 127.0.0.1, [username] => nubotica_vr_demo, [password] => DBNub0t1c4#2022, [dbname] => nubotica_vr_demo, [dialectClass] => Object(Phalcon\Db\Dialect\Mysql), [options] => Array([1002] => SET SESSION group_concat_max_len = 10000000;))) |
#2 | Phalcon\Db\Adapter\Pdo->__construct(Array([host] => 127.0.0.1, [username] => nubotica_vr_demo, [password] => DBNub0t1c4#2022, [dbname] => nubotica_vr_demo, [dialectClass] => Object(Phalcon\Db\Dialect\Mysql), [options] => Array([1002] => SET SESSION group_concat_max_len = 10000000;))) /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/Bootstrap.php (302) <?php namespace Nube; class Bootstrap { private static $_cl = false; private static $_argv; public static function commandline($argv) { self::$_cl = true; self::$_argv = $argv; } public static function run() { if (!getenv('APPLICATION_ENV')) { putenv("APPLICATION_ENV=production"); } $config = new \Phalcon\Config\Adapter\Ini(__DIR__ . "/config/".getenv('APPLICATION_ENV').".ini"); if ($config->global->debug_mode) { $debug = new \Phalcon\Debug(); $debug->listen(); } \Phalcon\Tag::setAutoescape(false); // Global configurations date_default_timezone_set('Europe/Madrid'); if ((isset($config->global->alternative_domains))&&(isset($_SERVER['HTTP_ORIGIN']))) { $httpOrigin = $_SERVER['HTTP_ORIGIN']; $allowedDomains = explode(',', $config->global->alternative_domains); if (in_array($httpOrigin, $allowedDomains)) { header("Access-Control-Allow-Origin: $httpOrigin"); } else { header("Access-Control-Allow-Origin: http://localhost"); } } else { header("Access-Control-Allow-Origin: http://localhost"); } header("Access-Control-Allow-Credentials: true"); error_reporting(E_ALL); ini_set('display_errors', $config->global->debug_mode); // DI Container $di = new \Phalcon\DI\FactoryDefault(); if (self::$_cl) { $argv = self::$_argv; $di->set('commandline', function () use ($argv) { return $argv; }); } // Loader, registering namespaces $loader = new \Phalcon\Loader(); $loader->registerNamespaces(array( 'Nube\Module' => __DIR__ . '/library/Nube/Module' )); $loader->register(); $di->setShared('nimodules', function () use ($config) { $modules = null; $params = array(); if (isset($config->modules->load)) { $modules = $config->modules->load->toArray(); if (isset($config->moduleparams)) { $params = $config->moduleparams->toArray(); } } return new \Nube\Module\Loader(__DIR__, $modules, $params); }); $loader->registerNamespaces(array( 'Nube\Core' => __DIR__ . '/core/', 'Nube\Core\Controllers' => __DIR__ . '/core/controllers/', 'Nube\Core\Forms' => __DIR__ . '/core/forms/', 'Nube\Core\Models' => __DIR__ . '/core/models/', 'Nube\Assets' => __DIR__ . '/library/Nube/Assets/', 'Nube\Forms' => __DIR__ . '/library/Nube/Forms/', 'Nube\Mvc' => __DIR__ . '/library/Nube/Mvc/', 'Nube\Translate' => __DIR__ . '/library/Nube/Translate/', 'Nube\Utils' => __DIR__ . '/library/Nube/Utils/', ), true); $niNamespaces = $di->get('nimodules')->getNamespaces(); if (count($niNamespaces)) { $loader->registerNamespaces($niNamespaces, true); } if (is_file(__DIR__ . '/library/composer/composer/autoload_namespaces.php')) { $namespacesMap = require __DIR__ . '/library/composer/composer/autoload_namespaces.php'; foreach ($namespacesMap as $k => $values) { $k = trim(str_replace('_', '\\', $k), '\\'); if (!isset($namespaces[$k])) { $dir = '/' . str_replace('\\', '/', $k) . '/'; $namespaces[$k] = implode($dir . ';', $values) . $dir; } if (!isset($dirs[$k])) { $dirs[$k] = implode($dir . ';', $values); } } } if (is_file(__DIR__ . '/library/composer/composer/autoload_psr4.php')) { $namespacesMapPsr4 = require __DIR__ . '/library/composer/composer/autoload_psr4.php'; foreach ($namespacesMapPsr4 as $k => $values) { $k = trim($k, '\\'); if (!isset($namespaces[$k])) { $dir = '/' . str_replace('\\', '/', $k) . '/'; $namespaces[$k] = $values;//implode($dir . ';', $values); } } } if (!empty($namespaces)) { $loader->registerNamespaces($namespaces, true); } if (!empty($dirs)) { $loader->registerDirs($dirs, true); } if (is_file(__DIR__ . '/library/composer/composer/autoload_classmap.php')) { $classMap = require __DIR__ . '/library/composer/composer/autoload_classmap.php'; if ($classMap) { $loader->registerClasses($classMap, true); } } if (is_file(__DIR__ . '/library/composer/composer/autoload_files.php')) { $includeFiles = require __DIR__ . '/library/composer/composer/autoload_files.php'; foreach ($includeFiles as $file) { $filesToRegister[] = $file; } $loader->registerFiles($filesToRegister, true); $loader->loadFiles(); } $loaderEventsManager = new \Phalcon\Events\Manager(); $loaderEventsManager->attach( 'loader:afterCheckClass', function (\Phalcon\Events\Event $event, \Phalcon\Loader $loader, $className) { if ((strpos($className, '_') !== false) && (!class_exists($className))) { $className = str_replace('_', '\\', $className); $event->stop(); $loader->autoLoad($className); } } ); $loader->setEventsManager($loaderEventsManager); $loader->register(); $di->set('globalconfig', $config->global); $di->set('login_url', function () use ($config) { $url = $config->global->frontUri; if (!empty($config->global->prefix->forbackend)) { $url .= $config->global->prefix->forbackend; } return $url; }); // Database $di->setShared('db', function () use ($config) { $eventsManager = new \Phalcon\Events\Manager(); if ($config->global->debug_mode) { $logger = new \Phalcon\Logger\Adapter\File(__DIR__."/logs/debug.log"); //Listen all the database events $eventsManager->attach('db', function ($event, $connection) use ($logger) { if ($event->getType() == 'beforeQuery') { $logger->log($connection->getSQLStatement(), \Phalcon\Logger::INFO); } }); } $dialect = new \Phalcon\Db\Dialect\MySQL(); $dialect->registerCustomFunction( 'GROUP_CONCAT', function ($dialect, $expression) { $arguments = $expression['arguments']; $distinct = ((isset($expression['distinct'])) && ($expression['distinct'] == 1))? 'DISTINCT ' : ''; if (!empty($arguments[3])) { if ($dialect->getSqlExpression($arguments[3]) == "'DESC'") { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s DESC SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } } elseif (!empty($arguments[2])) { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } elseif (!empty($arguments[1])) { return sprintf( " GROUP_CONCAT($distinct%s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " GROUP_CONCAT($distinct%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'TRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(BOTH %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " TRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'RTRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(TRAILING %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " RTRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'LTRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(LEADING %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " LTRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'CLEARFLOAT', function ($dialect, $expression) { $arguments = $expression['arguments']; return sprintf( " TRIM(TRAILING '.' FROM TRIM(TRAILING 0 FROM %s))", $dialect->getSqlExpression($arguments[0]) ); } ); $connection = new \Phalcon\Db\Adapter\Pdo\Mysql(array( 'host' => $config->database->host, 'username' => $config->database->username, 'password' => $config->database->password, 'dbname' => $config->database->dbname, 'dialectClass' => $dialect, 'options' => [\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET SESSION group_concat_max_len = 10000000;'] )); //Assign the eventsManager to the db adapter instance $connection->setEventsManager($eventsManager); return $connection; }); $di->set('modelsManager', function () { return new \Nube\Mvc\Model\Manager(); }); // $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory(); // $di->set('modelsMetadata', $modelsMetadata); $application = new \Phalcon\Mvc\Application(); /** * Register application modules */ $application->registerModules(array( 'core' => array( 'className' => 'Nube\Core\Module', 'path' => __DIR__ . '/core/Module.php' ), 'frontend' => array( 'className' => 'Nube\Frontend\Module', 'path' => __DIR__ . '/frontend/Module.php' ) )); $niModules = $di->get('nimodules')->getModulesReg(); if (count($niModules)) { $application->registerModules($niModules, true); } // Routing $di->setShared('router', function () use ($di, $config, $application) { $router = new \Phalcon\Mvc\Router(); $defaultModule = (isset($config->modules->default)? $config->modules->default->module : 'frontend'); $router->setDefaultModule($defaultModule); $router->setDefaultController( isset($config->modules->default->controller) ? $config->modules->default->controller : 'index' ); $router->setDefaultAction( isset($config->modules->default->action) ? $config->modules->default->action : 'index' ); $defaultNamespace = $di->get('nimodules')->getNamespace($defaultModule); if ($defaultNamespace === false) { $defaultNamespace = '\\Nube\\'.mb_convert_case($defaultModule, MB_CASE_TITLE); } $routesClassName = $defaultNamespace.'\Routes'; if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->add($router, $config); } foreach ($application->getModules() as $name => $module) { if ($name !== $defaultModule) { $routesClassName = preg_replace('/Module$/', 'Routes', $module['className']); if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->add($router, $config); } } } return $router; }); // URL component $di->setShared('url', function () use ($config) { $url = new \Nube\Mvc\Url(); $url->setBaseUri($config->path->uri); return $url; }); // Translator $di->set('translator', function () use ($di) { //Ask browser what is the best language $language = str_replace('-', '_', $di->get('request')->getBestLanguage()); //Check if it is fixed (to test) at global settings if (isset($di->get('globalconfig')->language)) { $language = $di->get('globalconfig')->language; } //Check if we have a translation file for that lang if (!file_exists(__DIR__ . '/languages/'.$language)) { $language = 'es_ES'; } $translate = new \Nube\Translate\Adapter\Gettext([ 'locale' => $language, 'file' => 'messages', 'directory' => __DIR__ . '/languages/' ]); $domains = $di->get('nimodules')->getTranslations(); foreach ($domains as $domain => $folder) { $translate->addDomain([ 'locale' => $language, 'file' => $domain, 'directory' => $folder ]); } return $translate; }); // Session $di->setShared('session', function () use ($config, $di) { if ($di->get('request')->getScheme() == 'https') { ini_set("session.cookie_samesite", 'None'); ini_set("session.cookie_secure", 'true'); } else { ini_set("session.cookie_samesite", 'Lax'); } ini_set("session.cookie_lifetime", 0); ini_set("session.gc_maxlifetime", ($config->global->session_timeout*24)); ini_set("session.gc_probability", 1); ini_set("session.gc_divisor", 1000); ini_set("session.save_path", realpath($config->global->frontDir.'/../apps/tmp/')); if (isset($config->global->session_cookiedomain)) { ini_set('session.cookie_domain', $config->global->session_cookiedomain); } if (isset($config->global->session_cookiepath)) { ini_set('session.cookie_path', $config->global->session_cookiepath); } $session = new \Phalcon\Session\Adapter\Files(); $session->start(); return $session; }); // $di->getShared('session'); // Permissions $di->setShared('acl', function () use ($di) { if ($di->get('session')->has('auth')) { $user = unserialize($di->get('session')->get('user')); if (!file_exists(__DIR__ . "/cache/acl.data.".$user->id)) { $acl = new \Phalcon\Acl\Adapter\Memory(); $acl->setDefaultAction(\Phalcon\Acl::DENY); $acl->addRole('r'.$user->id); $resources = \Nube\Core\Models\ACLResources::find(); foreach ($resources as $resource) { $customersResource = new \Phalcon\Acl\Resource($resource->controller); $acl->addResource($customersResource, $resource->action); } $permissions = \Nube\Core\Models\ACLPermissions::find([ "conditions" => "id_usuario = ?1", "bind" => [1 => $user->id] ]); foreach ($permissions as $permission) { if ($permission->resourceObj !== false) { $acl->allow( 'r'.$user->id, $permission->resourceObj->controller, $permission->resourceObj->action ); } } } else { //Restore acl object from serialized file $acl = unserialize(file_get_contents(__DIR__ . "/cache/acl.data.".$user->id)); } return $acl; } return null; }); // Flash messenger $di->set('flash', function () { $flash = new \Phalcon\Flash\Session([ 'error' => 'alert alert-error', 'success' => 'alert alert-success', 'notice' => 'alert alert-info', ]); $flash->setAutoescape(false); return $flash; }); // Assets $di->setShared('assets', function () use ($di) { $assetsManager = new \Nube\Assets\Manager(); $assetsManager->collection('js') ->addJs('components/jquery/dist/jquery.min.js') ->addJs('components/jquery-ui/jquery-ui.min.js') ->addJs('components/knockout/dist/knockout.js') ->addJs('components/knockout-mapping/knockout.mapping.js') ->addJs('js/jquery.custom-select.js') ->addJs('js/jquery.custom-checkbox.js') ->addJs('js/jquery.custom-radio.js') ->addJs('js/main.js'); $language = 'es_ES'; //Check if it is fixed (to test) at global settings if (isset($di->get('globalconfig')->language) && file_exists($di->get('globalconfig')->frontDir.'/js/languages/'.$di->get('globalconfig')->language.'.js')) { $language = $di->get('globalconfig')->language; } $assetsManager->collection('js')->addJs("js/languages/$language.js"); $assetsManager->collection('jsltie9'); $assetsManager->collection('jsMin') ->setLocal(true) ->join(true); $assetsManager->collection('css')->addCss('components/jquery-ui/themes/base/jquery-ui.css'); $assetsManager->collection('css')->addCss('css/ni-template/style.css'); if (file_exists($di->get('globalconfig')->frontDir.'/modules/0-project/css/style.css')) { $assetsManager->collection('css')->addCss('modules/0-project/css/style.css'); } $assetsManager->collection('cssMin') ->setLocal(true) ->join(true); $assetsManager->collection('csslteie9'); return $assetsManager; }); $di->setShared('dispatcher', function () { $dispatcher = new \Phalcon\Mvc\Dispatcher(); $eventsManager = new \Phalcon\Events\Manager(); $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) { if ($event->getType() == 'beforeDispatchLoop') { $dispatcher->setActionName(\Phalcon\Text::camelize($dispatcher->getActionName())); return false; } if ($event->getType() == 'beforeNotFoundAction') { $dispatcher->forward([ 'module' => 'core', 'controller' => 'error', 'action' => 'notFound' ]); return false; } if ($event->getType() == 'beforeException') { switch ($exception->getCode()) { case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND: case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND: $dispatcher->forward([ 'module' => 'core', 'controller' => 'error', 'action' => 'notFound' ]); return false; } } }); $dispatcher->setEventsManager($eventsManager); return $dispatcher; }); $di->set('debug', function () { $debugger = new \Nube\Utils\Debug(); return $debugger; }); // Handle the request $application->setDI($di); // The core of all the work of the controller occurs when handle() is invoked: echo $application->handle($di->get('url')->resolve())->getContent(); } } |
#3 | Nube\Bootstrap->Nube\{closure}() |
#4 | Phalcon\Di\Service->resolve(null, Object(Phalcon\Di\FactoryDefault)) |
#5 | Phalcon\Di->get(db, null) |
#6 | Phalcon\Di->getShared(db) |
#7 | Phalcon\Mvc\Model\Manager->_getConnection(Object(Nube\Modules\Cms\Models\LanguageVariants: [id] => (empty string), [name] => (empty string), [language] => (empty string), [parent] => (empty string), [url_prefix] => (empty string), [_skipBehaviourUpdate] => ), null) |
#8 | Phalcon\Mvc\Model\Manager->getReadConnection(Object(Nube\Modules\Cms\Models\LanguageVariants: [id] => (empty string), [name] => (empty string), [language] => (empty string), [parent] => (empty string), [url_prefix] => (empty string), [_skipBehaviourUpdate] => )) |
#9 | Phalcon\Mvc\Model->getReadConnection() |
#10 | Phalcon\Mvc\Model\Query->_executeSelect(Array([models] => Array([0] => Nube\Modules\Cms\Models\LanguageVariants), [tables] => Array([0] => CMS_language_variants), [columns] => Array([nube\Modules\Cms\Models\LanguageVariants] => Array([type] => object, [model] => Nube\Modules\Cms\Models\LanguageVariants, [column] => CMS_language_variants, [balias] => nube\Modules\Cms\Models\LanguageVariants))), null, null) |
#11 | Phalcon\Mvc\Model\Query->execute() |
#12 | Phalcon\Mvc\Model::find() /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/module-webvrnubotica/apps/modules/webvrnubotica/Routes.php (134) <?php namespace Nube\Modules\Webvrnubotica; class Routes { public function add($router, $config = array()) { $routergroup = new \Phalcon\Mvc\Router\Group(array( 'module' => 'frontend' )); $prefix = ''; //HOME $routergroup->add($prefix.'(/)?', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'cms', 'm_action' => 'index', 'language' => 'es' ))->setName('webindex'); $routergroup->add($prefix.'/{language:[a-zA-Z]{2}}(/)?', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'cms', 'm_action' => 'index' ))->setName('webindexlang'); $routergroup->add($prefix .'/{language:[a-zA-Z]{2}}/contactoSend/:params', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'index', 'm_action' => 'contactoSendAjax', 'params' => 2 ))->setName('websendemail'); $routergroup->add($prefix .'/{language:[a-zA-Z]{2}}/reservation/validate/:params', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'payment', 'm_action' => 'validarPago', 'params' => 2 ))->setName('paymentvalidate'); $routergroup->add($prefix .'/{language:[a-zA-Z]{2}}/reservation/cancelled/:params', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'payment', 'm_action' => 'pagoOnlineCancelado', 'params' => 2 ))->setName('paymentcancel'); $routergroup->add($prefix .'/{language:[a-zA-Z]{2}}/reservation/success/:params', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'payment', 'm_action' => 'pagoOnlineRealizado', 'params' => 2 ))->setName('paymentsuccess'); $routergroup->add($prefix .'/DiasSinDisponibilidad', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'operaciones', 'm_action' => 'obtenerDiasSinDisponibilidad' ))->setName('obtenerDiasSinDisponibilidad'); $routergroup->add($prefix .'/checkCupon/:params', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'index', 'm_action' => 'checkCuponAjax', 'params' => 1 ))->setName('checkcupon'); $routergroup->add($prefix .'/getProductSchedule', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'index', 'm_action' => 'getProductoHorarios', ))->setName('getProductSchedule'); $routergroup->add($prefix .'/getProductPax', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'index', 'm_action' => 'getProductoPax', ))->setName('getProductPax'); $routergroup->add($prefix .'/reserva', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'operaciones', 'm_action' => 'indexReservaWeb' ))->setName('webformreserva'); $routergroup->add($prefix .'/robots.txt(/)?', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'seo', 'm_action' => 'robots' ))->setName('webrobots'); $routergroup->add($prefix .'/sitemap.xml(/)?', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'seo', 'm_action' => 'sitemap' ))->setName('webrobots'); $routergroup->add($prefix .'/reserva', array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'operaciones', 'm_action' => 'indexReservaWeb' ))->setName('webformreserva'); $languages = \Nube\Modules\Cms\Models\LanguageVariants::find(); $pages = \Nube\Modules\Cms\Models\Page::find(array('conditions' => 'ctrl_active = ?1 AND ctrl_deleted = ?2', 'bind' => array(1 => 1, 2 => 0))); $pageRoutes = array(); foreach ($pages as $page) { if ($page->have_url) { $pageRoutes[$page->id] = array(); $metas = $page->getactiveversionObj()->getmetaObj(); foreach ($metas as $meta) { foreach ($languages as $language) { if ($meta->meta_key == '_'.$language->language.'_slug') { $pageRoutes[$page->id][$language->language] = '/'.$language->language.'/'.$meta->meta_value.'/:params'; } // elseif (($language->parent !== 0)&&($meta->meta_key == '_'.$language->parentObj->language.'_slug')&&(!isset($pageRoutes[$page->id][$language->language]))) { // $pageRoutes[$page->id][$language->language] = '/'.$language->language.'/'.$meta->meta_value.'/:params'; // } } } } } foreach ($pageRoutes as $pageId => $route) { foreach ($route as $language => $slug) { $routergroup->add($slug, array( 'controller' => 'index', 'action' => 'index', 'm_module' => 'webvrnubotica', 'm_controller' => 'cms', 'm_action' => 'page', 'language' => $language, 'page_id' => "".$pageId, 'params' => 1 ))->setName('webcms'.$pageId.$language); } } $router->mount($routergroup); return $router; } } |
#13 | Nube\Modules\Webvrnubotica\Routes->add(Object(Phalcon\Mvc\Router), Object(Phalcon\Config\Adapter\Ini)) /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/Bootstrap.php (359) <?php namespace Nube; class Bootstrap { private static $_cl = false; private static $_argv; public static function commandline($argv) { self::$_cl = true; self::$_argv = $argv; } public static function run() { if (!getenv('APPLICATION_ENV')) { putenv("APPLICATION_ENV=production"); } $config = new \Phalcon\Config\Adapter\Ini(__DIR__ . "/config/".getenv('APPLICATION_ENV').".ini"); if ($config->global->debug_mode) { $debug = new \Phalcon\Debug(); $debug->listen(); } \Phalcon\Tag::setAutoescape(false); // Global configurations date_default_timezone_set('Europe/Madrid'); if ((isset($config->global->alternative_domains))&&(isset($_SERVER['HTTP_ORIGIN']))) { $httpOrigin = $_SERVER['HTTP_ORIGIN']; $allowedDomains = explode(',', $config->global->alternative_domains); if (in_array($httpOrigin, $allowedDomains)) { header("Access-Control-Allow-Origin: $httpOrigin"); } else { header("Access-Control-Allow-Origin: http://localhost"); } } else { header("Access-Control-Allow-Origin: http://localhost"); } header("Access-Control-Allow-Credentials: true"); error_reporting(E_ALL); ini_set('display_errors', $config->global->debug_mode); // DI Container $di = new \Phalcon\DI\FactoryDefault(); if (self::$_cl) { $argv = self::$_argv; $di->set('commandline', function () use ($argv) { return $argv; }); } // Loader, registering namespaces $loader = new \Phalcon\Loader(); $loader->registerNamespaces(array( 'Nube\Module' => __DIR__ . '/library/Nube/Module' )); $loader->register(); $di->setShared('nimodules', function () use ($config) { $modules = null; $params = array(); if (isset($config->modules->load)) { $modules = $config->modules->load->toArray(); if (isset($config->moduleparams)) { $params = $config->moduleparams->toArray(); } } return new \Nube\Module\Loader(__DIR__, $modules, $params); }); $loader->registerNamespaces(array( 'Nube\Core' => __DIR__ . '/core/', 'Nube\Core\Controllers' => __DIR__ . '/core/controllers/', 'Nube\Core\Forms' => __DIR__ . '/core/forms/', 'Nube\Core\Models' => __DIR__ . '/core/models/', 'Nube\Assets' => __DIR__ . '/library/Nube/Assets/', 'Nube\Forms' => __DIR__ . '/library/Nube/Forms/', 'Nube\Mvc' => __DIR__ . '/library/Nube/Mvc/', 'Nube\Translate' => __DIR__ . '/library/Nube/Translate/', 'Nube\Utils' => __DIR__ . '/library/Nube/Utils/', ), true); $niNamespaces = $di->get('nimodules')->getNamespaces(); if (count($niNamespaces)) { $loader->registerNamespaces($niNamespaces, true); } if (is_file(__DIR__ . '/library/composer/composer/autoload_namespaces.php')) { $namespacesMap = require __DIR__ . '/library/composer/composer/autoload_namespaces.php'; foreach ($namespacesMap as $k => $values) { $k = trim(str_replace('_', '\\', $k), '\\'); if (!isset($namespaces[$k])) { $dir = '/' . str_replace('\\', '/', $k) . '/'; $namespaces[$k] = implode($dir . ';', $values) . $dir; } if (!isset($dirs[$k])) { $dirs[$k] = implode($dir . ';', $values); } } } if (is_file(__DIR__ . '/library/composer/composer/autoload_psr4.php')) { $namespacesMapPsr4 = require __DIR__ . '/library/composer/composer/autoload_psr4.php'; foreach ($namespacesMapPsr4 as $k => $values) { $k = trim($k, '\\'); if (!isset($namespaces[$k])) { $dir = '/' . str_replace('\\', '/', $k) . '/'; $namespaces[$k] = $values;//implode($dir . ';', $values); } } } if (!empty($namespaces)) { $loader->registerNamespaces($namespaces, true); } if (!empty($dirs)) { $loader->registerDirs($dirs, true); } if (is_file(__DIR__ . '/library/composer/composer/autoload_classmap.php')) { $classMap = require __DIR__ . '/library/composer/composer/autoload_classmap.php'; if ($classMap) { $loader->registerClasses($classMap, true); } } if (is_file(__DIR__ . '/library/composer/composer/autoload_files.php')) { $includeFiles = require __DIR__ . '/library/composer/composer/autoload_files.php'; foreach ($includeFiles as $file) { $filesToRegister[] = $file; } $loader->registerFiles($filesToRegister, true); $loader->loadFiles(); } $loaderEventsManager = new \Phalcon\Events\Manager(); $loaderEventsManager->attach( 'loader:afterCheckClass', function (\Phalcon\Events\Event $event, \Phalcon\Loader $loader, $className) { if ((strpos($className, '_') !== false) && (!class_exists($className))) { $className = str_replace('_', '\\', $className); $event->stop(); $loader->autoLoad($className); } } ); $loader->setEventsManager($loaderEventsManager); $loader->register(); $di->set('globalconfig', $config->global); $di->set('login_url', function () use ($config) { $url = $config->global->frontUri; if (!empty($config->global->prefix->forbackend)) { $url .= $config->global->prefix->forbackend; } return $url; }); // Database $di->setShared('db', function () use ($config) { $eventsManager = new \Phalcon\Events\Manager(); if ($config->global->debug_mode) { $logger = new \Phalcon\Logger\Adapter\File(__DIR__."/logs/debug.log"); //Listen all the database events $eventsManager->attach('db', function ($event, $connection) use ($logger) { if ($event->getType() == 'beforeQuery') { $logger->log($connection->getSQLStatement(), \Phalcon\Logger::INFO); } }); } $dialect = new \Phalcon\Db\Dialect\MySQL(); $dialect->registerCustomFunction( 'GROUP_CONCAT', function ($dialect, $expression) { $arguments = $expression['arguments']; $distinct = ((isset($expression['distinct'])) && ($expression['distinct'] == 1))? 'DISTINCT ' : ''; if (!empty($arguments[3])) { if ($dialect->getSqlExpression($arguments[3]) == "'DESC'") { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s DESC SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } } elseif (!empty($arguments[2])) { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } elseif (!empty($arguments[1])) { return sprintf( " GROUP_CONCAT($distinct%s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " GROUP_CONCAT($distinct%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'TRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(BOTH %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " TRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'RTRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(TRAILING %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " RTRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'LTRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(LEADING %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " LTRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'CLEARFLOAT', function ($dialect, $expression) { $arguments = $expression['arguments']; return sprintf( " TRIM(TRAILING '.' FROM TRIM(TRAILING 0 FROM %s))", $dialect->getSqlExpression($arguments[0]) ); } ); $connection = new \Phalcon\Db\Adapter\Pdo\Mysql(array( 'host' => $config->database->host, 'username' => $config->database->username, 'password' => $config->database->password, 'dbname' => $config->database->dbname, 'dialectClass' => $dialect, 'options' => [\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET SESSION group_concat_max_len = 10000000;'] )); //Assign the eventsManager to the db adapter instance $connection->setEventsManager($eventsManager); return $connection; }); $di->set('modelsManager', function () { return new \Nube\Mvc\Model\Manager(); }); // $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory(); // $di->set('modelsMetadata', $modelsMetadata); $application = new \Phalcon\Mvc\Application(); /** * Register application modules */ $application->registerModules(array( 'core' => array( 'className' => 'Nube\Core\Module', 'path' => __DIR__ . '/core/Module.php' ), 'frontend' => array( 'className' => 'Nube\Frontend\Module', 'path' => __DIR__ . '/frontend/Module.php' ) )); $niModules = $di->get('nimodules')->getModulesReg(); if (count($niModules)) { $application->registerModules($niModules, true); } // Routing $di->setShared('router', function () use ($di, $config, $application) { $router = new \Phalcon\Mvc\Router(); $defaultModule = (isset($config->modules->default)? $config->modules->default->module : 'frontend'); $router->setDefaultModule($defaultModule); $router->setDefaultController( isset($config->modules->default->controller) ? $config->modules->default->controller : 'index' ); $router->setDefaultAction( isset($config->modules->default->action) ? $config->modules->default->action : 'index' ); $defaultNamespace = $di->get('nimodules')->getNamespace($defaultModule); if ($defaultNamespace === false) { $defaultNamespace = '\\Nube\\'.mb_convert_case($defaultModule, MB_CASE_TITLE); } $routesClassName = $defaultNamespace.'\Routes'; if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->add($router, $config); } foreach ($application->getModules() as $name => $module) { if ($name !== $defaultModule) { $routesClassName = preg_replace('/Module$/', 'Routes', $module['className']); if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->add($router, $config); } } } return $router; }); // URL component $di->setShared('url', function () use ($config) { $url = new \Nube\Mvc\Url(); $url->setBaseUri($config->path->uri); return $url; }); // Translator $di->set('translator', function () use ($di) { //Ask browser what is the best language $language = str_replace('-', '_', $di->get('request')->getBestLanguage()); //Check if it is fixed (to test) at global settings if (isset($di->get('globalconfig')->language)) { $language = $di->get('globalconfig')->language; } //Check if we have a translation file for that lang if (!file_exists(__DIR__ . '/languages/'.$language)) { $language = 'es_ES'; } $translate = new \Nube\Translate\Adapter\Gettext([ 'locale' => $language, 'file' => 'messages', 'directory' => __DIR__ . '/languages/' ]); $domains = $di->get('nimodules')->getTranslations(); foreach ($domains as $domain => $folder) { $translate->addDomain([ 'locale' => $language, 'file' => $domain, 'directory' => $folder ]); } return $translate; }); // Session $di->setShared('session', function () use ($config, $di) { if ($di->get('request')->getScheme() == 'https') { ini_set("session.cookie_samesite", 'None'); ini_set("session.cookie_secure", 'true'); } else { ini_set("session.cookie_samesite", 'Lax'); } ini_set("session.cookie_lifetime", 0); ini_set("session.gc_maxlifetime", ($config->global->session_timeout*24)); ini_set("session.gc_probability", 1); ini_set("session.gc_divisor", 1000); ini_set("session.save_path", realpath($config->global->frontDir.'/../apps/tmp/')); if (isset($config->global->session_cookiedomain)) { ini_set('session.cookie_domain', $config->global->session_cookiedomain); } if (isset($config->global->session_cookiepath)) { ini_set('session.cookie_path', $config->global->session_cookiepath); } $session = new \Phalcon\Session\Adapter\Files(); $session->start(); return $session; }); // $di->getShared('session'); // Permissions $di->setShared('acl', function () use ($di) { if ($di->get('session')->has('auth')) { $user = unserialize($di->get('session')->get('user')); if (!file_exists(__DIR__ . "/cache/acl.data.".$user->id)) { $acl = new \Phalcon\Acl\Adapter\Memory(); $acl->setDefaultAction(\Phalcon\Acl::DENY); $acl->addRole('r'.$user->id); $resources = \Nube\Core\Models\ACLResources::find(); foreach ($resources as $resource) { $customersResource = new \Phalcon\Acl\Resource($resource->controller); $acl->addResource($customersResource, $resource->action); } $permissions = \Nube\Core\Models\ACLPermissions::find([ "conditions" => "id_usuario = ?1", "bind" => [1 => $user->id] ]); foreach ($permissions as $permission) { if ($permission->resourceObj !== false) { $acl->allow( 'r'.$user->id, $permission->resourceObj->controller, $permission->resourceObj->action ); } } } else { //Restore acl object from serialized file $acl = unserialize(file_get_contents(__DIR__ . "/cache/acl.data.".$user->id)); } return $acl; } return null; }); // Flash messenger $di->set('flash', function () { $flash = new \Phalcon\Flash\Session([ 'error' => 'alert alert-error', 'success' => 'alert alert-success', 'notice' => 'alert alert-info', ]); $flash->setAutoescape(false); return $flash; }); // Assets $di->setShared('assets', function () use ($di) { $assetsManager = new \Nube\Assets\Manager(); $assetsManager->collection('js') ->addJs('components/jquery/dist/jquery.min.js') ->addJs('components/jquery-ui/jquery-ui.min.js') ->addJs('components/knockout/dist/knockout.js') ->addJs('components/knockout-mapping/knockout.mapping.js') ->addJs('js/jquery.custom-select.js') ->addJs('js/jquery.custom-checkbox.js') ->addJs('js/jquery.custom-radio.js') ->addJs('js/main.js'); $language = 'es_ES'; //Check if it is fixed (to test) at global settings if (isset($di->get('globalconfig')->language) && file_exists($di->get('globalconfig')->frontDir.'/js/languages/'.$di->get('globalconfig')->language.'.js')) { $language = $di->get('globalconfig')->language; } $assetsManager->collection('js')->addJs("js/languages/$language.js"); $assetsManager->collection('jsltie9'); $assetsManager->collection('jsMin') ->setLocal(true) ->join(true); $assetsManager->collection('css')->addCss('components/jquery-ui/themes/base/jquery-ui.css'); $assetsManager->collection('css')->addCss('css/ni-template/style.css'); if (file_exists($di->get('globalconfig')->frontDir.'/modules/0-project/css/style.css')) { $assetsManager->collection('css')->addCss('modules/0-project/css/style.css'); } $assetsManager->collection('cssMin') ->setLocal(true) ->join(true); $assetsManager->collection('csslteie9'); return $assetsManager; }); $di->setShared('dispatcher', function () { $dispatcher = new \Phalcon\Mvc\Dispatcher(); $eventsManager = new \Phalcon\Events\Manager(); $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) { if ($event->getType() == 'beforeDispatchLoop') { $dispatcher->setActionName(\Phalcon\Text::camelize($dispatcher->getActionName())); return false; } if ($event->getType() == 'beforeNotFoundAction') { $dispatcher->forward([ 'module' => 'core', 'controller' => 'error', 'action' => 'notFound' ]); return false; } if ($event->getType() == 'beforeException') { switch ($exception->getCode()) { case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND: case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND: $dispatcher->forward([ 'module' => 'core', 'controller' => 'error', 'action' => 'notFound' ]); return false; } } }); $dispatcher->setEventsManager($eventsManager); return $dispatcher; }); $di->set('debug', function () { $debugger = new \Nube\Utils\Debug(); return $debugger; }); // Handle the request $application->setDI($di); // The core of all the work of the controller occurs when handle() is invoked: echo $application->handle($di->get('url')->resolve())->getContent(); } } |
#14 | Nube\Bootstrap->Nube\{closure}() |
#15 | Phalcon\Di\Service->resolve(null, Object(Phalcon\Di\FactoryDefault)) |
#16 | Phalcon\Di->get(router, null) |
#17 | Phalcon\Di->getShared(router) |
#18 | Phalcon\Mvc\Application->handle() /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/Bootstrap.php (575) <?php namespace Nube; class Bootstrap { private static $_cl = false; private static $_argv; public static function commandline($argv) { self::$_cl = true; self::$_argv = $argv; } public static function run() { if (!getenv('APPLICATION_ENV')) { putenv("APPLICATION_ENV=production"); } $config = new \Phalcon\Config\Adapter\Ini(__DIR__ . "/config/".getenv('APPLICATION_ENV').".ini"); if ($config->global->debug_mode) { $debug = new \Phalcon\Debug(); $debug->listen(); } \Phalcon\Tag::setAutoescape(false); // Global configurations date_default_timezone_set('Europe/Madrid'); if ((isset($config->global->alternative_domains))&&(isset($_SERVER['HTTP_ORIGIN']))) { $httpOrigin = $_SERVER['HTTP_ORIGIN']; $allowedDomains = explode(',', $config->global->alternative_domains); if (in_array($httpOrigin, $allowedDomains)) { header("Access-Control-Allow-Origin: $httpOrigin"); } else { header("Access-Control-Allow-Origin: http://localhost"); } } else { header("Access-Control-Allow-Origin: http://localhost"); } header("Access-Control-Allow-Credentials: true"); error_reporting(E_ALL); ini_set('display_errors', $config->global->debug_mode); // DI Container $di = new \Phalcon\DI\FactoryDefault(); if (self::$_cl) { $argv = self::$_argv; $di->set('commandline', function () use ($argv) { return $argv; }); } // Loader, registering namespaces $loader = new \Phalcon\Loader(); $loader->registerNamespaces(array( 'Nube\Module' => __DIR__ . '/library/Nube/Module' )); $loader->register(); $di->setShared('nimodules', function () use ($config) { $modules = null; $params = array(); if (isset($config->modules->load)) { $modules = $config->modules->load->toArray(); if (isset($config->moduleparams)) { $params = $config->moduleparams->toArray(); } } return new \Nube\Module\Loader(__DIR__, $modules, $params); }); $loader->registerNamespaces(array( 'Nube\Core' => __DIR__ . '/core/', 'Nube\Core\Controllers' => __DIR__ . '/core/controllers/', 'Nube\Core\Forms' => __DIR__ . '/core/forms/', 'Nube\Core\Models' => __DIR__ . '/core/models/', 'Nube\Assets' => __DIR__ . '/library/Nube/Assets/', 'Nube\Forms' => __DIR__ . '/library/Nube/Forms/', 'Nube\Mvc' => __DIR__ . '/library/Nube/Mvc/', 'Nube\Translate' => __DIR__ . '/library/Nube/Translate/', 'Nube\Utils' => __DIR__ . '/library/Nube/Utils/', ), true); $niNamespaces = $di->get('nimodules')->getNamespaces(); if (count($niNamespaces)) { $loader->registerNamespaces($niNamespaces, true); } if (is_file(__DIR__ . '/library/composer/composer/autoload_namespaces.php')) { $namespacesMap = require __DIR__ . '/library/composer/composer/autoload_namespaces.php'; foreach ($namespacesMap as $k => $values) { $k = trim(str_replace('_', '\\', $k), '\\'); if (!isset($namespaces[$k])) { $dir = '/' . str_replace('\\', '/', $k) . '/'; $namespaces[$k] = implode($dir . ';', $values) . $dir; } if (!isset($dirs[$k])) { $dirs[$k] = implode($dir . ';', $values); } } } if (is_file(__DIR__ . '/library/composer/composer/autoload_psr4.php')) { $namespacesMapPsr4 = require __DIR__ . '/library/composer/composer/autoload_psr4.php'; foreach ($namespacesMapPsr4 as $k => $values) { $k = trim($k, '\\'); if (!isset($namespaces[$k])) { $dir = '/' . str_replace('\\', '/', $k) . '/'; $namespaces[$k] = $values;//implode($dir . ';', $values); } } } if (!empty($namespaces)) { $loader->registerNamespaces($namespaces, true); } if (!empty($dirs)) { $loader->registerDirs($dirs, true); } if (is_file(__DIR__ . '/library/composer/composer/autoload_classmap.php')) { $classMap = require __DIR__ . '/library/composer/composer/autoload_classmap.php'; if ($classMap) { $loader->registerClasses($classMap, true); } } if (is_file(__DIR__ . '/library/composer/composer/autoload_files.php')) { $includeFiles = require __DIR__ . '/library/composer/composer/autoload_files.php'; foreach ($includeFiles as $file) { $filesToRegister[] = $file; } $loader->registerFiles($filesToRegister, true); $loader->loadFiles(); } $loaderEventsManager = new \Phalcon\Events\Manager(); $loaderEventsManager->attach( 'loader:afterCheckClass', function (\Phalcon\Events\Event $event, \Phalcon\Loader $loader, $className) { if ((strpos($className, '_') !== false) && (!class_exists($className))) { $className = str_replace('_', '\\', $className); $event->stop(); $loader->autoLoad($className); } } ); $loader->setEventsManager($loaderEventsManager); $loader->register(); $di->set('globalconfig', $config->global); $di->set('login_url', function () use ($config) { $url = $config->global->frontUri; if (!empty($config->global->prefix->forbackend)) { $url .= $config->global->prefix->forbackend; } return $url; }); // Database $di->setShared('db', function () use ($config) { $eventsManager = new \Phalcon\Events\Manager(); if ($config->global->debug_mode) { $logger = new \Phalcon\Logger\Adapter\File(__DIR__."/logs/debug.log"); //Listen all the database events $eventsManager->attach('db', function ($event, $connection) use ($logger) { if ($event->getType() == 'beforeQuery') { $logger->log($connection->getSQLStatement(), \Phalcon\Logger::INFO); } }); } $dialect = new \Phalcon\Db\Dialect\MySQL(); $dialect->registerCustomFunction( 'GROUP_CONCAT', function ($dialect, $expression) { $arguments = $expression['arguments']; $distinct = ((isset($expression['distinct'])) && ($expression['distinct'] == 1))? 'DISTINCT ' : ''; if (!empty($arguments[3])) { if ($dialect->getSqlExpression($arguments[3]) == "'DESC'") { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s DESC SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } } elseif (!empty($arguments[2])) { return sprintf( " GROUP_CONCAT($distinct%s ORDER BY %s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[2]), $dialect->getSqlExpression($arguments[1]) ); } elseif (!empty($arguments[1])) { return sprintf( " GROUP_CONCAT($distinct%s SEPARATOR %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " GROUP_CONCAT($distinct%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'TRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(BOTH %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " TRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'RTRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(TRAILING %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " RTRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'LTRIM', function ($dialect, $expression) { $arguments = $expression['arguments']; if (!empty($arguments[1])) { return sprintf( " TRIM(LEADING %s FROM %s)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } else { return sprintf( " LTRIM(%s)", $dialect->getSqlExpression($arguments[0]) ); } } ); $dialect->registerCustomFunction( 'CLEARFLOAT', function ($dialect, $expression) { $arguments = $expression['arguments']; return sprintf( " TRIM(TRAILING '.' FROM TRIM(TRAILING 0 FROM %s))", $dialect->getSqlExpression($arguments[0]) ); } ); $connection = new \Phalcon\Db\Adapter\Pdo\Mysql(array( 'host' => $config->database->host, 'username' => $config->database->username, 'password' => $config->database->password, 'dbname' => $config->database->dbname, 'dialectClass' => $dialect, 'options' => [\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET SESSION group_concat_max_len = 10000000;'] )); //Assign the eventsManager to the db adapter instance $connection->setEventsManager($eventsManager); return $connection; }); $di->set('modelsManager', function () { return new \Nube\Mvc\Model\Manager(); }); // $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory(); // $di->set('modelsMetadata', $modelsMetadata); $application = new \Phalcon\Mvc\Application(); /** * Register application modules */ $application->registerModules(array( 'core' => array( 'className' => 'Nube\Core\Module', 'path' => __DIR__ . '/core/Module.php' ), 'frontend' => array( 'className' => 'Nube\Frontend\Module', 'path' => __DIR__ . '/frontend/Module.php' ) )); $niModules = $di->get('nimodules')->getModulesReg(); if (count($niModules)) { $application->registerModules($niModules, true); } // Routing $di->setShared('router', function () use ($di, $config, $application) { $router = new \Phalcon\Mvc\Router(); $defaultModule = (isset($config->modules->default)? $config->modules->default->module : 'frontend'); $router->setDefaultModule($defaultModule); $router->setDefaultController( isset($config->modules->default->controller) ? $config->modules->default->controller : 'index' ); $router->setDefaultAction( isset($config->modules->default->action) ? $config->modules->default->action : 'index' ); $defaultNamespace = $di->get('nimodules')->getNamespace($defaultModule); if ($defaultNamespace === false) { $defaultNamespace = '\\Nube\\'.mb_convert_case($defaultModule, MB_CASE_TITLE); } $routesClassName = $defaultNamespace.'\Routes'; if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->add($router, $config); } foreach ($application->getModules() as $name => $module) { if ($name !== $defaultModule) { $routesClassName = preg_replace('/Module$/', 'Routes', $module['className']); if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->add($router, $config); } } } return $router; }); // URL component $di->setShared('url', function () use ($config) { $url = new \Nube\Mvc\Url(); $url->setBaseUri($config->path->uri); return $url; }); // Translator $di->set('translator', function () use ($di) { //Ask browser what is the best language $language = str_replace('-', '_', $di->get('request')->getBestLanguage()); //Check if it is fixed (to test) at global settings if (isset($di->get('globalconfig')->language)) { $language = $di->get('globalconfig')->language; } //Check if we have a translation file for that lang if (!file_exists(__DIR__ . '/languages/'.$language)) { $language = 'es_ES'; } $translate = new \Nube\Translate\Adapter\Gettext([ 'locale' => $language, 'file' => 'messages', 'directory' => __DIR__ . '/languages/' ]); $domains = $di->get('nimodules')->getTranslations(); foreach ($domains as $domain => $folder) { $translate->addDomain([ 'locale' => $language, 'file' => $domain, 'directory' => $folder ]); } return $translate; }); // Session $di->setShared('session', function () use ($config, $di) { if ($di->get('request')->getScheme() == 'https') { ini_set("session.cookie_samesite", 'None'); ini_set("session.cookie_secure", 'true'); } else { ini_set("session.cookie_samesite", 'Lax'); } ini_set("session.cookie_lifetime", 0); ini_set("session.gc_maxlifetime", ($config->global->session_timeout*24)); ini_set("session.gc_probability", 1); ini_set("session.gc_divisor", 1000); ini_set("session.save_path", realpath($config->global->frontDir.'/../apps/tmp/')); if (isset($config->global->session_cookiedomain)) { ini_set('session.cookie_domain', $config->global->session_cookiedomain); } if (isset($config->global->session_cookiepath)) { ini_set('session.cookie_path', $config->global->session_cookiepath); } $session = new \Phalcon\Session\Adapter\Files(); $session->start(); return $session; }); // $di->getShared('session'); // Permissions $di->setShared('acl', function () use ($di) { if ($di->get('session')->has('auth')) { $user = unserialize($di->get('session')->get('user')); if (!file_exists(__DIR__ . "/cache/acl.data.".$user->id)) { $acl = new \Phalcon\Acl\Adapter\Memory(); $acl->setDefaultAction(\Phalcon\Acl::DENY); $acl->addRole('r'.$user->id); $resources = \Nube\Core\Models\ACLResources::find(); foreach ($resources as $resource) { $customersResource = new \Phalcon\Acl\Resource($resource->controller); $acl->addResource($customersResource, $resource->action); } $permissions = \Nube\Core\Models\ACLPermissions::find([ "conditions" => "id_usuario = ?1", "bind" => [1 => $user->id] ]); foreach ($permissions as $permission) { if ($permission->resourceObj !== false) { $acl->allow( 'r'.$user->id, $permission->resourceObj->controller, $permission->resourceObj->action ); } } } else { //Restore acl object from serialized file $acl = unserialize(file_get_contents(__DIR__ . "/cache/acl.data.".$user->id)); } return $acl; } return null; }); // Flash messenger $di->set('flash', function () { $flash = new \Phalcon\Flash\Session([ 'error' => 'alert alert-error', 'success' => 'alert alert-success', 'notice' => 'alert alert-info', ]); $flash->setAutoescape(false); return $flash; }); // Assets $di->setShared('assets', function () use ($di) { $assetsManager = new \Nube\Assets\Manager(); $assetsManager->collection('js') ->addJs('components/jquery/dist/jquery.min.js') ->addJs('components/jquery-ui/jquery-ui.min.js') ->addJs('components/knockout/dist/knockout.js') ->addJs('components/knockout-mapping/knockout.mapping.js') ->addJs('js/jquery.custom-select.js') ->addJs('js/jquery.custom-checkbox.js') ->addJs('js/jquery.custom-radio.js') ->addJs('js/main.js'); $language = 'es_ES'; //Check if it is fixed (to test) at global settings if (isset($di->get('globalconfig')->language) && file_exists($di->get('globalconfig')->frontDir.'/js/languages/'.$di->get('globalconfig')->language.'.js')) { $language = $di->get('globalconfig')->language; } $assetsManager->collection('js')->addJs("js/languages/$language.js"); $assetsManager->collection('jsltie9'); $assetsManager->collection('jsMin') ->setLocal(true) ->join(true); $assetsManager->collection('css')->addCss('components/jquery-ui/themes/base/jquery-ui.css'); $assetsManager->collection('css')->addCss('css/ni-template/style.css'); if (file_exists($di->get('globalconfig')->frontDir.'/modules/0-project/css/style.css')) { $assetsManager->collection('css')->addCss('modules/0-project/css/style.css'); } $assetsManager->collection('cssMin') ->setLocal(true) ->join(true); $assetsManager->collection('csslteie9'); return $assetsManager; }); $di->setShared('dispatcher', function () { $dispatcher = new \Phalcon\Mvc\Dispatcher(); $eventsManager = new \Phalcon\Events\Manager(); $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) { if ($event->getType() == 'beforeDispatchLoop') { $dispatcher->setActionName(\Phalcon\Text::camelize($dispatcher->getActionName())); return false; } if ($event->getType() == 'beforeNotFoundAction') { $dispatcher->forward([ 'module' => 'core', 'controller' => 'error', 'action' => 'notFound' ]); return false; } if ($event->getType() == 'beforeException') { switch ($exception->getCode()) { case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND: case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND: $dispatcher->forward([ 'module' => 'core', 'controller' => 'error', 'action' => 'notFound' ]); return false; } } }); $dispatcher->setEventsManager($eventsManager); return $dispatcher; }); $di->set('debug', function () { $debugger = new \Nube\Utils\Debug(); return $debugger; }); // Handle the request $application->setDI($di); // The core of all the work of the controller occurs when handle() is invoked: echo $application->handle($di->get('url')->resolve())->getContent(); } } |
#19 | Nube\Bootstrap::run() /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/public/index.php (5) <?php include __DIR__ . '/../apps/Bootstrap.php'; \Nube\Bootstrap::run(); |
Key | Value |
---|---|
_url | /ru |
Key | Value |
---|---|
USER | nubedemo |
HOME | /var/www/vhosts/nubedemos.com |
SCRIPT_NAME | /nube-interactiva/public/index.php |
REQUEST_URI | /ru |
QUERY_STRING | _url=/ru |
REQUEST_METHOD | GET |
SERVER_PROTOCOL | HTTP/1.0 |
GATEWAY_INTERFACE | CGI/1.1 |
REDIRECT_QUERY_STRING | _url=/ru |
REDIRECT_URL | /nube-interactiva/public/ru |
REMOTE_PORT | 37748 |
SCRIPT_FILENAME | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/public/index.php |
SERVER_ADMIN | [no address given] |
CONTEXT_DOCUMENT_ROOT | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com |
CONTEXT_PREFIX | |
REQUEST_SCHEME | http |
DOCUMENT_ROOT | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com |
REMOTE_ADDR | 3.148.250.255 |
SERVER_PORT | 80 |
SERVER_ADDR | 10.5.0.4 |
SERVER_NAME | vr.nubotica-stg.nubedemos.com |
SERVER_SOFTWARE | Apache |
SERVER_SIGNATURE | <address>Apache Server at vr.nubotica-stg.nubedemos.com Port 80</address>\n |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
HTTP_ACCEPT_ENCODING | gzip, zstd, deflate |
HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
HTTP_ACCEPT | */* |
HTTP_CONNECTION | close |
HTTP_X_ACCEL_INTERNAL | /internal-nginx-static-location |
HTTP_X_REAL_IP | 3.148.250.255 |
HTTP_HOST | vr.nubotica-stg.nubedemos.com |
proxy-nokeepalive | 1 |
APPLICATION_ENV | staging |
REDIRECT_STATUS | 200 |
REDIRECT_APPLICATION_ENV | staging |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_REDIRECT_MWD | / |
FCGI_ROLE | RESPONDER |
PHP_SELF | /nube-interactiva/public/index.php |
REQUEST_TIME_FLOAT | 1747369854.2013 |
REQUEST_TIME | 1747369854 |
# | Path |
---|---|
0 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/public/index.php |
1 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/Bootstrap.php |
2 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/Nube/Module/Loader.php |
3 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/composer/autoload_namespaces.php |
4 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/composer/autoload_psr4.php |
5 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/composer/autoload_classmap.php |
6 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/composer/autoload_files.php |
7 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/myclabs/deep-copy/src/DeepCopy/deep_copy.php |
8 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/abs.php |
9 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/acos.php |
10 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/acosh.php |
11 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/acot.php |
12 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/acoth.php |
13 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/acsc.php |
14 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/acsch.php |
15 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/argument.php |
16 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/asec.php |
17 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/asech.php |
18 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/asin.php |
19 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/asinh.php |
20 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/atan.php |
21 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/atanh.php |
22 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/conjugate.php |
23 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/cos.php |
24 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/cosh.php |
25 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/cot.php |
26 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/coth.php |
27 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/csc.php |
28 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/csch.php |
29 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/exp.php |
30 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/inverse.php |
31 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/ln.php |
32 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/log2.php |
33 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/log10.php |
34 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/negative.php |
35 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/pow.php |
36 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/rho.php |
37 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/sec.php |
38 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/sech.php |
39 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/sin.php |
40 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/sinh.php |
41 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/sqrt.php |
42 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/tan.php |
43 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/tanh.php |
44 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/functions/theta.php |
45 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/operations/add.php |
46 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/operations/subtract.php |
47 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/operations/multiply.php |
48 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/operations/divideby.php |
49 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/complex/classes/src/operations/divideinto.php |
50 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/adjoint.php |
51 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/antidiagonal.php |
52 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/cofactors.php |
53 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/determinant.php |
54 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/diagonal.php |
55 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/identity.php |
56 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/inverse.php |
57 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/minors.php |
58 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/trace.php |
59 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Functions/transpose.php |
60 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Operations/add.php |
61 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Operations/directsum.php |
62 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Operations/subtract.php |
63 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Operations/multiply.php |
64 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Operations/divideby.php |
65 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/markbaker/matrix/classes/src/Operations/divideinto.php |
66 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/swiftmailer/swiftmailer/lib/swift_required.php |
67 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/composer/swiftmailer/swiftmailer/lib/classes/Swift.php |
68 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/Nube/Mvc/Url.php |
69 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/module-webvrnubotica/apps/modules/webvrnubotica/Routes.php |
70 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/module-cms/apps/modules/cms/models/LanguageVariants.php |
71 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/Nube/Mvc/Model.php |
72 | /var/www/vhosts/nubedemos.com/vr.nubotica-stg.nubedemos.com/nube-interactiva/apps/library/Nube/Mvc/Model/Manager.php |
Memory | |
---|---|
Usage | 2097152 |