#0 | Phalcon\Mvc\Model\Query->execute() |
#1 | Phalcon\Mvc\Model::find(Array([conditions] => group_id = :group_id:, [bind] => Array([group_id] => 2), [cache] => Array([key] => bannerHome, [lifetime] => 300))) /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/FrontEnd/Controller/LoaderController.php (57) <?php /** * Created by PhpStorm. * User: nhanphong * Date: 6/21/18 * Time: 3:17 PM */ namespace FrontEnd\Controller; use Admin\Model\AdminUser; use Application\Mvc\Controller; use Lib\Menu\Helper\Menu; use Lib\Theme\Model\Theme as ThemeLib; use Lib\Slider\Model\Slider as SliderLib; class LoaderController extends Controller { public static $menu; protected $theme; protected $auth = null; public function initialize() { $themeModel = ThemeLib::find([ 'conditons' => 'theme = :theme:', 'bind' => ['theme' => THEME], ]); $theme = []; foreach ($themeModel as $key => $value) { $theme[$value->key] = $value->value; } $this->theme = $theme; $totalUser = AdminUser::count(); $idMenu = ($theme['menu_main']) ? $theme['menu_main'] : 1; $menuBase = new Menu(); $menu = $menuBase->getMenu($idMenu); $auth = $this->session->get('auth'); $this->auth = $auth; $sliders = SliderLib::findFirst([ 'conditions' => 'group_id = :group_id:', 'bind' => [ 'group_id' => 1 ], 'cache' => [ 'key' => 'sliders2', 'lifetime' => 300, ], ]); // echo '<pre>'; // print_r($sliders); // exit(); $bannerHome = SliderLib::find([ 'conditions' => 'group_id = :group_id:', 'bind' => [ 'group_id' => 2 ], 'cache' => [ 'key' => 'bannerHome', 'lifetime' => 300, ], ]); $this->view->setVars([ 'menu' => $menu, 'mobile_device' => MOBILE_DEVICE, 'theme' => $theme, 'auth' => $auth, 'base_url' => BASE_URL, 'totalUser' => $totalUser, 'sliders' => $sliders, 'bannerHome' => $bannerHome ]); } } |
#2 | FrontEnd\Controller\LoaderController->initialize() /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Post/Controller/CategoryController.php (18) <?php namespace Post\Controller; use Phalcon\Http\Response; use FrontEnd\Controller\LoaderController; use Post\Model\Post; use Lib\Category\Model\Category; use Lib\Category\Model\CategoryMeta; use Post\Model\Helper\PostHelper; use Lib\Tag\Model\Tag; use Lib\Theme\Model\Theme as ThemeBase; class CategoryController extends LoaderController { public function initialize() { parent::initialize(); } public function indexAction() { $this->view->bodyClass = 'home'; $page = $this->request->getQuery('page', 'int', 1); $limit = $this->request->getQuery('limit', 'int', 25); $slug = $this->dispatcher->getParam('slug'); $cate = Category::findFirstBySlug($slug); if (!$cate) { $this->error404(); return $this->response; } $categoryMeta = CategoryMeta::findFirst([ 'conditions' => 'term_id = :term_id: AND meta_key = :meta_key:', 'bind' => ['term_id' => $cate->id, 'meta_key' => 'layout'] ]); $format = 'style_post_1'; if ($categoryMeta) { $format = $categoryMeta->meta_value; } $params = [ 'limit' => $limit, 'page' => $page, 'conditions' => [ 'category_id' => $cate->id ] ]; $postHelper = new PostHelper(); $this->view->paginate = $postHelper->getPagination($params); $breadcrumb = [ [ 'title' => 'Trang chá»§', 'url' => '/', 'active' => false ], [ 'title' => $cate->getName(), 'url' => $this->url->get(['for' => 'post_category', 'slug' => $cate->getSlug()]), 'active' => true ] ]; $this->helper->breadcrumb($breadcrumb, true); $meta_title = (!empty($cate->getMetaTitle())) ? $cate->getMetaTitle() : $cate->getName(); $meta_description = $cate->getMetaDescription(); $meta_keyword = $cate->getMetaKeyword(); $this->helper->title()->append($meta_title); $this->helper->meta()->set('description',$meta_description); $this->helper->meta()->set('keywords', $meta_keyword); $this->view->cate = $cate; $this->view->format = $format; unset($params); $params['limit'] = 5; $params['conditions']['type'] = 'F'; $tabFeaturePost = $postHelper->getList($params); unset($params); $params['limit'] = 5; $params['conditions']['type'] = 'H'; $tabHotPost = $postHelper->getList($params); unset($params); $params['limit'] = 5; $params['order'] = 'p.hits DESC'; $tabMostView = $postHelper->getList($params); $topTags = Tag::find([ 'limit' => 10, 'order' => 'count DESC' ]); unset($params); $params['limit'] = 3; $params['conditions']['module'] = 'video'; $videos = $postHelper->getList($params); $sidebarCategory = ThemeBase::findFirst([ 'conditions' => 'theme = :theme: AND key = :key:', 'bind' => [ 'theme' => THEME, 'key' => 'sidebar-category' ] ]); $positionSidebarCategory = []; if ($sidebarCategory) { $sidebarCategory = unserialize($sidebarCategory->value); foreach ($sidebarCategory as $key => &$widget) { $tmp = explode('-', $widget); $origin = $tmp; array_pop($tmp); $typeWidget = implode('-', $tmp); $keyWidget = end($origin); $model = ThemeBase::findFirst([ 'conditions' => 'key = :key: AND theme = :theme:', 'bind' => [ 'key' => $typeWidget, 'theme' => THEME ] ]); $listTypeWidget['key'] = $keyWidget; $listTypeWidget['name'] = $typeWidget; $listTypeWidget['slug'] = $typeWidget . '-' . $keyWidget; $listTypeWidget['detail'] = unserialize($model->value)[$keyWidget]; $positionSidebarCategory[] = $listTypeWidget; } } $mainCategory = ThemeBase::findFirst([ 'conditions' => 'theme = :theme: AND key = :key:', 'bind' => [ 'theme' => THEME, 'key' => 'main-category' ] ]); $positionMainCategory = []; if ($mainCategory) { $mainCategory = unserialize($mainCategory->value); foreach ($mainCategory as $key => &$widget) { $tmp = explode('-', $widget); $origin = $tmp; array_pop($tmp); $typeWidget = implode('-', $tmp); $keyWidget = end($origin); $model = ThemeBase::findFirst([ 'conditions' => 'key = :key: AND theme = :theme:', 'bind' => [ 'key' => $typeWidget, 'theme' => THEME ] ]); $listTypeWidget['key'] = $keyWidget; $listTypeWidget['name'] = $typeWidget; $listTypeWidget['slug'] = $typeWidget . '-' . $keyWidget; $listTypeWidget['detail'] = unserialize($model->value)[$keyWidget]; $positionMainCategory[] = $listTypeWidget; } } $this->view->setVars([ 'tabFeaturePost' => $tabFeaturePost, 'tabMostView' => $tabMostView, 'tabHotPost' => $tabHotPost, 'topTags' => $topTags, 'videos' => $videos, 'sidebarCategory' => $positionSidebarCategory, 'mainCategory' => $positionMainCategory, ]); $this->view->pick('Post/index/list'); } } |
#3 | Post\Controller\CategoryController->initialize() |
#4 | Phalcon\Dispatcher->dispatch() /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/Bootstrap.php (367) <?php namespace PhalartCMS; use Application\Cache\Manager as CacheManager; use Cms\Model\Configuration as CmsConfiguration; use \PhalartCMS\Plugin\CheckPoint as CheckPointPlugin; use \PhalartCMS\Plugin\Localization as LocalizationPlugin; use \PhalartCMS\Plugin\AdminLocalization as AdminLocalizationPlugin; use \PhalartCMS\Plugin\Acl as AclPlugin; use \PhalartCMS\Plugin\MobileDetect as MobileDetectPlugin; use PhalartCMS\Plugin\Shortcode; use \PhalartCMS\Plugin\Title as TitlePlugin; if (APPLICATION_ENV == 'development') { date_default_timezone_set('Asia/Bangkok'); ini_set('display_errors', false); error_reporting(E_ALL); } define('ROOT_APP', __DIR__); class Bootstrap { public function run() { $di = new \Phalcon\DI\FactoryDefault(); $application = include_once APPLICATION_PATH . '/config/environment/' . APPLICATION_ENV . '.php'; $config_default = [ 'base_path' => (isset($application['base_path'])) ? $application['base_path'] : null, 'base_uri' => (isset($application['base_uri'])) ? $application['base_uri'] : null, 'database' => (isset($application['database'])) ? $application['database'] : null, 'cache' => (isset($application['cache'])) ? $application['cache'] : null, 'memcache' => (isset($application['memcache'])) ? $application['memcache'] : null, 'memcached' => (isset($application['memcached'])) ? $application['memcached'] : null, 'assets' => (isset($application['assets'])) ? $application['assets'] : null, ]; $config = new \Phalcon\Config($config_default); // Database $db = new \Phalcon\Db\Adapter\Pdo\Mysql([ "host" => $config->database->host, "username" => $config->database->username, "password" => $config->database->password, "dbname" => $config->database->dbname, "charset" => $config->database->charset, ]); $di->set('db', $db); // Config $result = $db->fetchOne( "SELECT * FROM `cms_configuration` WHERE `key` = 'THEME'" ); $theme = $result['value']; define('THEME', $theme); define('THEME_PATH', __DIR__ . '/themes/' . $theme); require_once LIBRARY_PATH . '/modules/Cms/ConfigApp.php'; $config2 = \Cms\ConfigApp::get(); $config->merge($config2); $di->set('config', $config); // Registry $registry = new \Phalcon\Registry(); $di->set('registry', $registry); // Loader $loader = new \Phalcon\Loader(); $loader->registerNamespaces($config->loader->namespaces->toArray()); $loader->registerDirs([LIBRARY_PATH . "/plugins/"]); $loader->registerFiles([APPLICATION_PATH . '/../vendor/autoload.php']); $loader->register(); // Get Option setting $di->set('options', new \PhalartCMS\Plugin\Options()); // Get Option setting // View $this->initView($di); $this->initSimpleView($di); // URL $url = new \Phalcon\Mvc\Url(); $url->setBasePath($config->base_path); $url->setBaseUri($config->base_path); $di->set('url', $url); // Cache $this->initCache($di); // CMS $cmsModel = new CmsConfiguration(); $registry->cms = $cmsModel->getConfig(); // Application $application = new \Phalcon\Mvc\Application(); $application->registerModules($config->modules->toArray()); // Events Manager, Dispatcher $this->initEventManager($di); // Session $session = new \Phalcon\Session\Adapter\Files(); $session->start(); $di->set('session', $session); $acl = new \Application\Acl\DefaultAcl(); $di->set('acl', $acl); // JS Assets $this->initAssetsManager($di); // Flash helper $flash = new \Phalcon\Flash\Session([ 'error' => 'alert alert-danger', 'success' => 'alert alert-success', 'notice' => 'alert alert-info', 'warning' => 'alert alert-warning', ]); $flash->setAutoescape(false); $di->set('flash', $flash); $di->set('helper', new \Application\Mvc\Helper()); // Routing $this->initRouting($application, $di); $application->setDI($di); $di->setShared('shortcode', new Shortcode($application)); // Main dispatching process $response = $this->dispatch($di); $response->send(); } private function initRouting($application, $di) { $router = new \Application\Mvc\Router\DefaultRouter(); $router->setDi($di); foreach ($application->getModules() as $module) { $routesClassName = str_replace('Module', 'Routes', $module['className']); if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->init($router); } $initClassName = str_replace('Module', 'Init', $module['className']); if (class_exists($initClassName)) { new $initClassName(); } } $di->set('router', $router); } private function initAssetsManager($di) { $config = $di->get('config'); $assetsManager = new \Application\Assets\Manager(); $js_collection = $assetsManager->collection('js') ->setLocal(true) ->addFilter(new \Phalcon\Assets\Filters\Jsmin()) ->setTargetPath(ROOT . '/assets/js.js') ->setTargetUri('assets/js.js') ->join(true); if ($config->assets->js) { foreach ($config->assets->js as $js) { $js_collection->addJs(ROOT . '/' . $js); } } // Admin JS Assets $assetsManager->collection('modules-admin-js') ->setLocal(true) ->addFilter(new \Phalcon\Assets\Filters\Jsmin()) ->setTargetPath(ROOT . '/assets/modules-admin.js') ->setTargetUri('assets/modules-admin.js') ->join(true); // Admin LESS Assets $assetsManager->collection('modules-admin-less') ->setLocal(true) ->addFilter(new \Application\Assets\Filter\Less()) ->setTargetPath(ROOT . '/assets/modules-admin.less') ->setTargetUri('assets/modules-admin.less') ->join(true) ->addCss(APPLICATION_PATH . '/modules/Admin/assets/admin.less'); $di->set('assets', $assetsManager); } private function initEventManager($di) { $eventsManager = new \Phalcon\Events\Manager(); $dispatcher = new \Phalcon\Mvc\Dispatcher(); $eventsManager->attach("dispatch:beforeDispatchLoop", function ($event, $dispatcher) use ($di) { new CheckPointPlugin($di->get('request')); new LocalizationPlugin($dispatcher); new AdminLocalizationPlugin($di->get('config')); new AclPlugin($di->get('acl'), $dispatcher, $di->get('view')); new MobileDetectPlugin($di->get('session'), $di->get('view'), $di->get('request')); }); $eventsManager->attach("dispatch:afterDispatchLoop", function ($event, $dispatcher) use ($di) { new \Seo\Plugin\SeoManager($dispatcher, $di->get('request'), $di->get('router'), $di->get('view')); new TitlePlugin($di); }); // Profiler $registry = $di->get('registry'); if ($registry->cms['PROFILER']) { $profiler = new \Phalcon\Db\Profiler(); $di->set('profiler', $profiler); $eventsManager->attach('db', function ($event, $db) use ($profiler) { if ($event->getType() == 'beforeQuery') { $profiler->startProfile($db->getSQLStatement()); } if ($event->getType() == 'afterQuery') { $profiler->stopProfile(); } }); } $db = $di->get('db'); $db->setEventsManager($eventsManager); $dispatcher->setEventsManager($eventsManager); $di->set('dispatcher', $dispatcher); } private function initView($di) { $view = new \Phalcon\Mvc\View(); $theme = THEME; define('MAIN_VIEW_PATH', ROOT_APP . "/themes/{$theme}/views/"); /*$view->setViewsDir(MAIN_VIEW_PATH); $view->setPartialsDir(MAIN_VIEW_PATH . "/partials/"); $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_ACTION_VIEW);*/ // Volt $volt = new \Application\Mvc\View\Engine\Volt($view, $di); $volt->setOptions([ 'compiledPath' => APPLICATION_PATH . '/../data/cache/volt/', 'compileAlways' => !(APPLICATION_ENV == 'development'), ]); $volt->initCompiler(); $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di); $viewEngines = [ ".volt" => $volt, ".phtml" => $phtml, ]; $view->registerEngines($viewEngines); $ajax = $di->get('request')->getQuery('_ajax'); if ($ajax) { $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT); } $di->set('view', $view); return $view; } private function initSimpleView($di) { $view = new \Phalcon\Mvc\View\Simple(); // Volt $volt = new \Application\Mvc\View\Engine\Volt($view, $di); $volt->setOptions(['compiledPath' => APPLICATION_PATH . '/../data/cache/volt/']); $volt->initCompiler(); $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di); $viewEngines = [ ".volt" => $volt, ".phtml" => $phtml, ]; $view->registerEngines($viewEngines); $di->set('simpleView', $view); return $view; } private function initCache($di) { $config = $di->get('config'); $cacheFrontend = new \Phalcon\Cache\Frontend\Data([ "lifetime" => 60, "prefix" => HOST_HASH, ]); $cache = null; switch ($config->cache) { case 'file': $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [ "cacheDir" => APPLICATION_PATH . "/../data/cache/backend/" ]); break; case 'memcache': $cache = new \Phalcon\Cache\Backend\Memcache( $cacheFrontend, [ "host" => $config->memcache->host, "port" => $config->memcache->port, ]); break; case 'memcached': $cache = new \Phalcon\Cache\Backend\Libmemcached( $cacheFrontend, [ "host" => $config->memcached->host, "port" => $config->memcached->port, ]); break; } $di->set('cache', $cache, true); $di->set('modelsCache', $cache, true); // var_dump($cache);die; \Application\Widget\Proxy::$cache = $cache; // Modules Widget System $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory(); $di->set('modelsMetadata', $modelsMetadata); $di->set('cacheManager', new CacheManager()); } private function dispatch($di) { $router = $di['router']; $router->handle(); $view = $di['view']; $dispatcher = $di['dispatcher']; $response = $di['response']; $dispatcher->setModuleName($router->getModuleName()); $dispatcher->setControllerName($router->getControllerName()); $dispatcher->setActionName($router->getActionName()); $dispatcher->setParams($router->getParams()); $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName()); $ModuleClassName = $moduleName . '\Module'; if (class_exists($ModuleClassName)) { $module = new $ModuleClassName; $module->registerAutoloaders(); $module->registerServices($di); } $view->start(); $registry = $di['registry']; if ($registry->cms['DEBUG_MODE']) { $debug = new \Phalcon\Debug(); $debug->listen(); $dispatcher->dispatch(); } else { try { $dispatcher->dispatch(); } catch (\Phalcon\Exception $e) { // Errors catching $view->setViewsDir(__DIR__ . '/modules/Index/views/'); $view->setPartialsDir(''); $view->e = $e; if ($e instanceof \Phalcon\Mvc\Dispatcher\Exception) { $response->setStatusCode(404, 'Not Found'); $view->partial('error/error404'); } else { $response->setStatusCode(503, 'Service Unavailable'); $view->partial('error/error503'); } return $response; } } $view->render( $dispatcher->getControllerName(), $dispatcher->getActionName(), $dispatcher->getParams() ); $view->finish(); // AJAX $request = $di['request']; $_ajax = $request->getQuery('_ajax'); if ($_ajax) { $contents = $view->getContent(); $return = new \stdClass(); $return->html = $contents; $return->title = $di->get('helper')->title()->get(); $return->success = true; if ($view->bodyClass) { $return->bodyClass = $view->bodyClass; } $headers = $response->getHeaders()->toArray(); if (isset($headers[404]) || isset($headers[503])) { $return->success = false; } $response->setContentType('application/json', 'UTF-8'); $response->setContent(json_encode($return)); } else { $response->setContent($view->getContent()); } return $response; } } |
#5 | PhalartCMS\Bootstrap->dispatch(Object(Phalcon\Di\FactoryDefault)) /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/Bootstrap.php (135) <?php namespace PhalartCMS; use Application\Cache\Manager as CacheManager; use Cms\Model\Configuration as CmsConfiguration; use \PhalartCMS\Plugin\CheckPoint as CheckPointPlugin; use \PhalartCMS\Plugin\Localization as LocalizationPlugin; use \PhalartCMS\Plugin\AdminLocalization as AdminLocalizationPlugin; use \PhalartCMS\Plugin\Acl as AclPlugin; use \PhalartCMS\Plugin\MobileDetect as MobileDetectPlugin; use PhalartCMS\Plugin\Shortcode; use \PhalartCMS\Plugin\Title as TitlePlugin; if (APPLICATION_ENV == 'development') { date_default_timezone_set('Asia/Bangkok'); ini_set('display_errors', false); error_reporting(E_ALL); } define('ROOT_APP', __DIR__); class Bootstrap { public function run() { $di = new \Phalcon\DI\FactoryDefault(); $application = include_once APPLICATION_PATH . '/config/environment/' . APPLICATION_ENV . '.php'; $config_default = [ 'base_path' => (isset($application['base_path'])) ? $application['base_path'] : null, 'base_uri' => (isset($application['base_uri'])) ? $application['base_uri'] : null, 'database' => (isset($application['database'])) ? $application['database'] : null, 'cache' => (isset($application['cache'])) ? $application['cache'] : null, 'memcache' => (isset($application['memcache'])) ? $application['memcache'] : null, 'memcached' => (isset($application['memcached'])) ? $application['memcached'] : null, 'assets' => (isset($application['assets'])) ? $application['assets'] : null, ]; $config = new \Phalcon\Config($config_default); // Database $db = new \Phalcon\Db\Adapter\Pdo\Mysql([ "host" => $config->database->host, "username" => $config->database->username, "password" => $config->database->password, "dbname" => $config->database->dbname, "charset" => $config->database->charset, ]); $di->set('db', $db); // Config $result = $db->fetchOne( "SELECT * FROM `cms_configuration` WHERE `key` = 'THEME'" ); $theme = $result['value']; define('THEME', $theme); define('THEME_PATH', __DIR__ . '/themes/' . $theme); require_once LIBRARY_PATH . '/modules/Cms/ConfigApp.php'; $config2 = \Cms\ConfigApp::get(); $config->merge($config2); $di->set('config', $config); // Registry $registry = new \Phalcon\Registry(); $di->set('registry', $registry); // Loader $loader = new \Phalcon\Loader(); $loader->registerNamespaces($config->loader->namespaces->toArray()); $loader->registerDirs([LIBRARY_PATH . "/plugins/"]); $loader->registerFiles([APPLICATION_PATH . '/../vendor/autoload.php']); $loader->register(); // Get Option setting $di->set('options', new \PhalartCMS\Plugin\Options()); // Get Option setting // View $this->initView($di); $this->initSimpleView($di); // URL $url = new \Phalcon\Mvc\Url(); $url->setBasePath($config->base_path); $url->setBaseUri($config->base_path); $di->set('url', $url); // Cache $this->initCache($di); // CMS $cmsModel = new CmsConfiguration(); $registry->cms = $cmsModel->getConfig(); // Application $application = new \Phalcon\Mvc\Application(); $application->registerModules($config->modules->toArray()); // Events Manager, Dispatcher $this->initEventManager($di); // Session $session = new \Phalcon\Session\Adapter\Files(); $session->start(); $di->set('session', $session); $acl = new \Application\Acl\DefaultAcl(); $di->set('acl', $acl); // JS Assets $this->initAssetsManager($di); // Flash helper $flash = new \Phalcon\Flash\Session([ 'error' => 'alert alert-danger', 'success' => 'alert alert-success', 'notice' => 'alert alert-info', 'warning' => 'alert alert-warning', ]); $flash->setAutoescape(false); $di->set('flash', $flash); $di->set('helper', new \Application\Mvc\Helper()); // Routing $this->initRouting($application, $di); $application->setDI($di); $di->setShared('shortcode', new Shortcode($application)); // Main dispatching process $response = $this->dispatch($di); $response->send(); } private function initRouting($application, $di) { $router = new \Application\Mvc\Router\DefaultRouter(); $router->setDi($di); foreach ($application->getModules() as $module) { $routesClassName = str_replace('Module', 'Routes', $module['className']); if (class_exists($routesClassName)) { $routesClass = new $routesClassName(); $router = $routesClass->init($router); } $initClassName = str_replace('Module', 'Init', $module['className']); if (class_exists($initClassName)) { new $initClassName(); } } $di->set('router', $router); } private function initAssetsManager($di) { $config = $di->get('config'); $assetsManager = new \Application\Assets\Manager(); $js_collection = $assetsManager->collection('js') ->setLocal(true) ->addFilter(new \Phalcon\Assets\Filters\Jsmin()) ->setTargetPath(ROOT . '/assets/js.js') ->setTargetUri('assets/js.js') ->join(true); if ($config->assets->js) { foreach ($config->assets->js as $js) { $js_collection->addJs(ROOT . '/' . $js); } } // Admin JS Assets $assetsManager->collection('modules-admin-js') ->setLocal(true) ->addFilter(new \Phalcon\Assets\Filters\Jsmin()) ->setTargetPath(ROOT . '/assets/modules-admin.js') ->setTargetUri('assets/modules-admin.js') ->join(true); // Admin LESS Assets $assetsManager->collection('modules-admin-less') ->setLocal(true) ->addFilter(new \Application\Assets\Filter\Less()) ->setTargetPath(ROOT . '/assets/modules-admin.less') ->setTargetUri('assets/modules-admin.less') ->join(true) ->addCss(APPLICATION_PATH . '/modules/Admin/assets/admin.less'); $di->set('assets', $assetsManager); } private function initEventManager($di) { $eventsManager = new \Phalcon\Events\Manager(); $dispatcher = new \Phalcon\Mvc\Dispatcher(); $eventsManager->attach("dispatch:beforeDispatchLoop", function ($event, $dispatcher) use ($di) { new CheckPointPlugin($di->get('request')); new LocalizationPlugin($dispatcher); new AdminLocalizationPlugin($di->get('config')); new AclPlugin($di->get('acl'), $dispatcher, $di->get('view')); new MobileDetectPlugin($di->get('session'), $di->get('view'), $di->get('request')); }); $eventsManager->attach("dispatch:afterDispatchLoop", function ($event, $dispatcher) use ($di) { new \Seo\Plugin\SeoManager($dispatcher, $di->get('request'), $di->get('router'), $di->get('view')); new TitlePlugin($di); }); // Profiler $registry = $di->get('registry'); if ($registry->cms['PROFILER']) { $profiler = new \Phalcon\Db\Profiler(); $di->set('profiler', $profiler); $eventsManager->attach('db', function ($event, $db) use ($profiler) { if ($event->getType() == 'beforeQuery') { $profiler->startProfile($db->getSQLStatement()); } if ($event->getType() == 'afterQuery') { $profiler->stopProfile(); } }); } $db = $di->get('db'); $db->setEventsManager($eventsManager); $dispatcher->setEventsManager($eventsManager); $di->set('dispatcher', $dispatcher); } private function initView($di) { $view = new \Phalcon\Mvc\View(); $theme = THEME; define('MAIN_VIEW_PATH', ROOT_APP . "/themes/{$theme}/views/"); /*$view->setViewsDir(MAIN_VIEW_PATH); $view->setPartialsDir(MAIN_VIEW_PATH . "/partials/"); $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_ACTION_VIEW);*/ // Volt $volt = new \Application\Mvc\View\Engine\Volt($view, $di); $volt->setOptions([ 'compiledPath' => APPLICATION_PATH . '/../data/cache/volt/', 'compileAlways' => !(APPLICATION_ENV == 'development'), ]); $volt->initCompiler(); $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di); $viewEngines = [ ".volt" => $volt, ".phtml" => $phtml, ]; $view->registerEngines($viewEngines); $ajax = $di->get('request')->getQuery('_ajax'); if ($ajax) { $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT); } $di->set('view', $view); return $view; } private function initSimpleView($di) { $view = new \Phalcon\Mvc\View\Simple(); // Volt $volt = new \Application\Mvc\View\Engine\Volt($view, $di); $volt->setOptions(['compiledPath' => APPLICATION_PATH . '/../data/cache/volt/']); $volt->initCompiler(); $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di); $viewEngines = [ ".volt" => $volt, ".phtml" => $phtml, ]; $view->registerEngines($viewEngines); $di->set('simpleView', $view); return $view; } private function initCache($di) { $config = $di->get('config'); $cacheFrontend = new \Phalcon\Cache\Frontend\Data([ "lifetime" => 60, "prefix" => HOST_HASH, ]); $cache = null; switch ($config->cache) { case 'file': $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [ "cacheDir" => APPLICATION_PATH . "/../data/cache/backend/" ]); break; case 'memcache': $cache = new \Phalcon\Cache\Backend\Memcache( $cacheFrontend, [ "host" => $config->memcache->host, "port" => $config->memcache->port, ]); break; case 'memcached': $cache = new \Phalcon\Cache\Backend\Libmemcached( $cacheFrontend, [ "host" => $config->memcached->host, "port" => $config->memcached->port, ]); break; } $di->set('cache', $cache, true); $di->set('modelsCache', $cache, true); // var_dump($cache);die; \Application\Widget\Proxy::$cache = $cache; // Modules Widget System $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory(); $di->set('modelsMetadata', $modelsMetadata); $di->set('cacheManager', new CacheManager()); } private function dispatch($di) { $router = $di['router']; $router->handle(); $view = $di['view']; $dispatcher = $di['dispatcher']; $response = $di['response']; $dispatcher->setModuleName($router->getModuleName()); $dispatcher->setControllerName($router->getControllerName()); $dispatcher->setActionName($router->getActionName()); $dispatcher->setParams($router->getParams()); $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName()); $ModuleClassName = $moduleName . '\Module'; if (class_exists($ModuleClassName)) { $module = new $ModuleClassName; $module->registerAutoloaders(); $module->registerServices($di); } $view->start(); $registry = $di['registry']; if ($registry->cms['DEBUG_MODE']) { $debug = new \Phalcon\Debug(); $debug->listen(); $dispatcher->dispatch(); } else { try { $dispatcher->dispatch(); } catch (\Phalcon\Exception $e) { // Errors catching $view->setViewsDir(__DIR__ . '/modules/Index/views/'); $view->setPartialsDir(''); $view->e = $e; if ($e instanceof \Phalcon\Mvc\Dispatcher\Exception) { $response->setStatusCode(404, 'Not Found'); $view->partial('error/error404'); } else { $response->setStatusCode(503, 'Service Unavailable'); $view->partial('error/error503'); } return $response; } } $view->render( $dispatcher->getControllerName(), $dispatcher->getActionName(), $dispatcher->getParams() ); $view->finish(); // AJAX $request = $di['request']; $_ajax = $request->getQuery('_ajax'); if ($_ajax) { $contents = $view->getContent(); $return = new \stdClass(); $return->html = $contents; $return->title = $di->get('helper')->title()->get(); $return->success = true; if ($view->bodyClass) { $return->bodyClass = $view->bodyClass; } $headers = $response->getHeaders()->toArray(); if (isset($headers[404]) || isset($headers[503])) { $return->success = false; } $response->setContentType('application/json', 'UTF-8'); $response->setContent(json_encode($return)); } else { $response->setContent($view->getContent()); } return $response; } } |
#6 | PhalartCMS\Bootstrap->run() /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/public/index.php (40) <?php /** * @copyright Copyright (c) 2018 Phalart * @author Nhan Phong <nhanphong@vinadesign.vn> * User: nhanphong * Date: 6/4/18 * Time: 10:51 AM */ chdir(dirname(__DIR__)); define('ROOT', __DIR__); define('HOST_HASH', substr(md5($_SERVER['HTTP_HOST']), 0, 12)); if (isset($_SERVER['APPLICATION_ENV'])) { $applicationEnv = ($_SERVER['APPLICATION_ENV'] ? $_SERVER['APPLICATION_ENV'] : 'production'); } else { $applicationEnv = (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'); } define('APPLICATION_ENV', $applicationEnv); define('BASE_URL', (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]"); $actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $parts = parse_url($actual_link); $prefix = substr($parts['path'], 1); $part = explode('/', $prefix); $admin = 'admin'; $theme = 'blog'; //define('THEME', $theme); if ($part[0] != $admin) { define('IS_ADMIN', false); define('APPLICATION_PATH', __DIR__ . '/../app'); require_once APPLICATION_PATH . '/Bootstrap.php'; } else { define('IS_ADMIN', true); define('APPLICATION_PATH', __DIR__ . '/../admin'); define('ADMINISTRATOR_PATH', __DIR__ . '/../admin'); require_once ADMINISTRATOR_PATH . '/Bootstrap.php'; } define('LIBRARY_PATH', __DIR__ . '/../library'); $bootstrap = new PhalartCMS\Bootstrap(); $bootstrap->run(); |
Key | Value |
---|---|
_url | /tin-trung-tam-tin-doan-the.html |
page | 1 |
Key | Value |
---|---|
USER | hamsongsg |
HOME | /home/hamsongsg |
SCRIPT_NAME | /public/index.php |
REQUEST_URI | /tin-trung-tam-tin-doan-the.html?page=1 |
QUERY_STRING | _url=/tin-trung-tam-tin-doan-the.html&page=1 |
REQUEST_METHOD | GET |
SERVER_PROTOCOL | HTTP/1.1 |
GATEWAY_INTERFACE | CGI/1.1 |
REDIRECT_QUERY_STRING | _url=/tin-trung-tam-tin-doan-the.html&page=1 |
REDIRECT_URL | /public/tin-trung-tam-tin-doan-the.html |
REMOTE_PORT | 28460 |
SCRIPT_FILENAME | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/private_html/public/index.php |
SERVER_ADMIN | webmaster@dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn |
CONTEXT_DOCUMENT_ROOT | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/private_html |
CONTEXT_PREFIX | |
REQUEST_SCHEME | https |
DOCUMENT_ROOT | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/private_html |
REMOTE_ADDR | 3.148.196.9 |
SERVER_PORT | 443 |
SERVER_ADDR | 192.168.51.119 |
SERVER_NAME | dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn |
SERVER_SOFTWARE | Apache/2 |
SERVER_SIGNATURE | |
LD_LIBRARY_PATH | /etc/httpd/lib |
PATH | /sbin:/usr/sbin:/bin:/usr/bin |
HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
HTTP_ACCEPT | */* |
HTTP_CONNECTION | close |
HTTP_X_FORWARDED_FOR | 3.148.196.9 |
HTTP_HOST | dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn |
HTTP_X_ACCEL_INTERNAL | /nginx_static_files |
proxy-nokeepalive | 1 |
HTTPS | on |
APPLICATION_ENV | development |
UNIQUE_ID | aBEC9wXosY71qdykSO79uQAAAFo |
REDIRECT_STATUS | 200 |
REDIRECT_HTTPS | on |
REDIRECT_APPLICATION_ENV | development |
REDIRECT_UNIQUE_ID | aBEC9wXosY71qdykSO79uQAAAFo |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_REDIRECT_HTTPS | on |
REDIRECT_REDIRECT_UNIQUE_ID | aBEC9wXosY71qdykSO79uQAAAFo |
FCGI_ROLE | RESPONDER |
PHP_SELF | /public/index.php |
REQUEST_TIME_FLOAT | 1745945335.3297 |
REQUEST_TIME | 1745945335 |
# | Path |
---|---|
0 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/public/index.php |
1 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/Bootstrap.php |
2 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/config/environment/development.php |
3 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Cms/ConfigApp.php |
4 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/config/global.php |
5 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/config/modules.php |
6 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Loader/Modules.php |
7 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/config/modules.php |
8 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/autoload.php |
9 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/composer/autoload_real.php |
10 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/composer/ClassLoader.php |
11 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/composer/autoload_static.php |
12 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/cakephp/core/functions.php |
13 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/symfony/polyfill-ctype/bootstrap.php |
14 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/symfony/polyfill-mbstring/bootstrap.php |
15 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/cakephp/utility/bootstrap.php |
16 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/cakephp/utility/Inflector.php |
17 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/cakephp/collection/functions.php |
18 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/Options.php |
19 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Cms/Model/Configuration.php |
20 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Mvc/View/Engine/Volt.php |
21 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Widget/Proxy.php |
22 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Cache/Manager.php |
23 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Acl/DefaultAcl.php |
24 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/config/acl.php |
25 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Assets/Manager.php |
26 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Assets/Filter/Less.php |
27 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Mvc/Helper.php |
28 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Menu/Helper/Menu.php |
29 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Mvc/Router/DefaultRouter.php |
30 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Api/Routes.php |
31 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Index/Routes.php |
32 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Mvc/Helper/CmsCache.php |
33 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Seo/Routes.php |
34 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Admin/Routes.php |
35 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Post/Routes.php |
36 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/ShopMbn/Routes.php |
37 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Search/Routes.php |
38 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Contact/Routes.php |
39 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Sitemap/Routes.php |
40 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Product/Routes.php |
41 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Cart/Routes.php |
42 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Documents/Routes.php |
43 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/Shortcode.php |
44 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/WP/formatting.php |
45 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/WP/shortcodes.php |
46 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Utils/ModuleName.php |
47 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Post/Module.php |
48 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/CheckPoint.php |
49 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/Localization.php |
50 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Cms/Model/Translate.php |
51 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/AdminLocalization.php |
52 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/data/translations/admin/en.php |
53 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/Acl.php |
54 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/plugins/MobileDetect.php |
55 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php |
56 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Post/Controller/CategoryController.php |
57 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/FrontEnd/Controller/LoaderController.php |
58 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Mvc/Controller.php |
59 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Theme/Model/Theme.php |
60 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Application/Mvc/Model/Model.php |
61 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/app/themes/hotmagazine/modules/Admin/Model/AdminUser.php |
62 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Admin/Model/AdminUser.php |
63 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Menu/Model/Menu.php |
64 | /home/hamsongsg/domains/dieuhanhgiaothong-sgtcc.hochiminhcity.gov.vn/public_html/library/modules/Slider/Model/Slider.php |
Memory | |
---|---|
Usage | 2097152 |