Phalcon Framework 3.3.2

Phalcon\Mvc\View\Engine\Volt\Exception: Volt directory can't be written

phalcon/mvc/view/engine/volt/compiler.zep (2456)
#0Phalcon\Mvc\View\Engine\Volt\Compiler->compileFile(/home/congvieclamtn/app/themes/hotmagazine/views/desktop/main.volt, /home/congvieclamtn/public/../app/../data/cache/volt/%%home%%congvieclamtn%%app%%themes%%hotmagazine%%views%%desktop%%main.volt%%e%%.php, true)
#1Phalcon\Mvc\View\Engine\Volt\Compiler->compile(/home/congvieclamtn/app/themes/hotmagazine/views/desktop/main.volt, true)
#2Phalcon\Mvc\View\Engine\Volt\Compiler->_statementList(Array([0] => Array([type] => 310, [path] => Array([type] => 260, [value] => main.volt, [file] => /home/congvieclamtn/app/themes/hotmagazine/views/desktop/Post/index/detail.volt, [line] => 1), [file] => /home/congvieclamtn/app/themes/hotmagazine/views/desktop/Post/index/detail.volt, [line] => 2), [1] => Array([type] => 307, [name] => content, [block_statements] => Array(59), [file] => /home/congvieclamtn/app/themes/hotmagazine/views/desktop/Post/index/detail.volt, [line] => 305)), false)
#3Phalcon\Mvc\View\Engine\Volt\Compiler->_compileSource({% extends 'main.volt' %}\n{% block content %}\n <section class="block-wrapper">\n <div class="container">\n <div class="row">\n <div class="col-sm-8">\n\n <!-- block content -->\n <div class="block-content">\n\n <!-- single-post box -->\n <div class="single-post-box">\n\n <div class="title-post">\n <h1>{{ postHelper['post']['title'] }} </h1>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>{{ post.getPublish() }}</li>\n </ul>\n </div>\n <p><b>{{ postHelper['post']['intro'] }}</b></p>\n <div class="share-post-box">\n <ul class="share-box">\n <li><i class="fa fa-share-alt"></i><span>Share Post</span></li>\n <li><a class="facebook" href="#" onclick="share_fb('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-facebook"></i>Share on Facebook</a></li>\n <li><a class="twitter" href="#" onclick="share_twitter('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-twitter"></i><span>Share on Twitter</span></a></li>\n <li><a class="google" href="#" onclick="share_gplus('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-google-plus"></i><span></span></a></li>\n <li><a class="linkedin" href="#" onclick="share_linkedin('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-linkedin"></i><span></span></a></li>\n </ul>\n </div>\n\n <div class="post-content">\n {{ shortcode.do_shortcode(post.getPostContent().content) }}\n </div>\n {% if post.getPostTag().toArray() is not empty %}\n <div class="post-tags-box">\n <ul class="tags-box">\n <li><i class="fa fa-tags"></i><span>Tags:</span></li>\n {% for post_tag in post.getPostTag() %}\n <li><a href="{{ url.get({ 'for' : 'post_tag', 'slug' : helper.getTagSlug(post_tag.tag_id) }) }}">{{ helper.getTagName(post_tag.tag_id) }}</a></li>\n {% endfor %}\n </ul>\n </div>\n {% endif %}\n <div class="share-post-box">\n <ul class="share-box">\n <li><i class="fa fa-share-alt"></i><span>Share Post</span></li>\n <li><a class="facebook" href="#" onclick="share_fb('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-facebook"></i>Share on Facebook</a></li>\n <li><a class="twitter" href="#" onclick="share_twitter('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-twitter"></i><span>Share on Twitter</span></a></li>\n <li><a class="google" href="#" onclick="share_gplus('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-google-plus"></i><span></span></a></li>\n <li><a class="linkedin"href="#" onclick="share_linkedin('{{ domain ~ router.getRewriteUri() }}');return false;" rel="nofollow" share_url="{{ router.getRewriteUri() }}" target="_blank"><i class="fa fa-linkedin"></i><span></span></a></li>\n </ul>\n </div>\n\n {#<div class="prev-next-posts">\n <div class="prev-post">\n <img src="/themes/hotmagazine/upload/news-posts/listw4.jpg" alt="">\n <div class="post-content">\n <h2><a href="single-post.html" title="prev post">Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. </a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>27 may 2013</li>\n <li><a href="single-post.html#"><i class="fa fa-comments-o"></i><span>11</span></a></li>\n </ul>\n </div>\n </div>\n <div class="next-post">\n <img src="/themes/hotmagazine/upload/news-posts/listw5.jpg" alt="">\n <div class="post-content">\n <h2><a href="single-post.html" title="next post">Donec consectetuer ligula vulputate sem tristique cursus. </a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>27 may 2013</li>\n <li><a href="single-post.html#"><i class="fa fa-comments-o"></i><span>8</span></a></li>\n </ul>\n </div>\n </div>\n </div>#}<!-- -->\n\n <div class="about-more-autor">\n <ul class="nav nav-tabs">\n {#<li class="active">\n <a href="single-post.html#about-autor" data-toggle="tab">Thành viên</a>\n </li>#}\n <li class="active">\n <a href="single-post.html#more-autor" data-toggle="tab">Tin khác của thành viên này</a>\n </li>\n </ul>\n\n <div class="tab-content">\n\n {#<div class="tab-pane active" id="about-autor">\n <div class="autor-box">\n <img src="{{ helper.getGravatar() }}" alt="">\n <div class="autor-content">\n <div class="autor-title">\n <h1><span>{{ postHelper['author']['name'] }}</span><a href="{{ postHelper['author']['url'] }}">{{ postHelper['author']['post_count'] }} tin đăng</a></h1>\n <ul class="autor-social">\n <li><a href="{{ (postHelper['author']['facebook'] is defined) ? postHelper['author']['facebook'] : '#' }}" class="facebook" target="_blank"><i class="fa fa-facebook"></i></a></li>\n <li><a href="{{ (postHelper['author']['google_plus'] is defined) ? postHelper['author']['google_plus'] : '#' }}" class="google" target="_blank"><i class="fa fa-google-plus"></i></a></li>\n <li><a href="{{ (postHelper['author']['twitter'] is defined) ? postHelper['author']['twitter'] : '#' }}" class="twitter" target="_blank"><i class="fa fa-twitter"></i></a></li>\n <li><a href="{{ (postHelper['author']['youtube'] is defined) ? postHelper['author']['youtube'] : '#' }}" class="youtube" target="_blank"><i class="fa fa-youtube"></i></a></li>\n <li><a href="{{ (postHelper['author']['instagram'] is defined) ? postHelper['author']['instagram'] : '#' }}" class="instagram" target="_blank"><i class="fa fa-instagram"></i></a></li>\n <li><a href="{{ (postHelper['author']['linkedin'] is defined) ? postHelper['author']['linkedin'] : '#' }}" class="linkedin" target="_blank"><i class="fa fa-linkedin"></i></a></li>\n </ul>\n </div>\n <p>\n </p>\n </div>\n </div>\n </div>#}\n\n <div class="tab-pane active" id="more-autor">\n <div class="more-autor-posts">\n {% if postHelper['author']['post_count'] > 0 %}\n {% for postAuthor in postHelper['author']['posts'] %}\n <div class="news-post image-post3">\n <img src="/{{ postAuthor['image'] }}" alt="{{ postAuthor['title'] }}">\n <div class="hover-box">\n <h2><a href="{{ url.get({ 'for' : 'post_detail', 'slug' : postAuthor['slug'], 'id' : postAuthor['id'] }) }}">{{ postAuthor['title'] }}</a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>{{ postAuthor['created_at'] }}</li>\n </ul>\n </div>\n </div>\n {% endfor %}\n {% endif %}\n </div>\n </div>\n\n </div>\n </div>\n\n <!-- carousel box -->\n <div class="carousel-box owl-wrapper">\n <div class="title-section">\n <h1><span>Tin cùng chuyên mục</span></h1>\n </div>\n <div class="owl-carousel" data-num="3">\n {% if postRelate is not empty %}\n {% for post_relate in postRelate %}\n <div class="item news-post image-post3">\n <img height="210" src="/{{ post_relate['post']['image'] }}" alt="{{ post_relate['post']['title'] }}">\n <div class="hover-box">\n <h2><a href="{{ post_relate['post']['url'] }}">{{ post_relate['post']['title'] }}</a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>{{ post_relate['post']['created_at'] }}</li>\n </ul>\n </div>\n </div>\n {% endfor %}\n {% endif %}\n </div>\n </div>\n <!-- End carousel box -->\n\n </div>\n <!-- End single-post box -->\n\n </div>\n <!-- End block content -->\n\n </div>\n\n <div class="col-sm-4">\n\n <!-- sidebar -->\n <div class="sidebar">\n\n <div class="widget tab-posts-widget">\n\n <ul class="nav nav-tabs" id="myTab">\n <li class="active">\n <a href="index.html#option1" data-toggle="tab">Tiêu điểm</a>\n </li>\n <li>\n <a href="index.html#option2" data-toggle="tab">Nổi bật</a>\n </li>\n <li>\n <a href="index.html#option3" data-toggle="tab">Xem nhiều</a>\n </li>\n </ul>\n\n <div class="tab-content">\n <div class="tab-pane active" id="option1">\n <ul class="list-posts">\n {% if tabFeaturePost %}\n {% for post in tabFeaturePost %}\n <li>\n <a href="{{ post['post']['url'] }}"><img src="/{{ post['post']['image'] }}" alt="{{ post['post']['title'] }}"></a>\n <div class="post-content">\n <h2><a href="{{ post['post']['url'] }}">{{ post['post']['title'] }} </a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>{{ post['post']['created_at'] }}</li>\n </ul>\n </div>\n </li>\n {% endfor %}\n {% endif %}\n </ul>\n </div>\n <div class="tab-pane" id="option2">\n <ul class="list-posts">\n\n {% if tabHotPost %}\n {% for post in tabHotPost %}\n <li>\n <a href="{{ post['post']['url'] }}"><img src="/{{ post['post']['image'] }}" alt="{{ post['post']['title'] }}"></a>\n <div class="post-content">\n <h2><a href="{{ post['post']['url'] }}">{{ post['post']['title'] }} </a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>{{ post['post']['created_at'] }}</li>\n </ul>\n </div>\n </li>\n {% endfor %}\n {% endif %}\n </ul>\n </div>\n <div class="tab-pane" id="option3">\n <ul class="list-posts">\n\n {% if tabMostView %}\n {% for post in tabMostView %}\n <li>\n <a href="{{ post['post']['url'] }}"><img src="/{{ post['post']['image'] }}" alt="{{ post['post']['title'] }}"></a>\n <div class="post-content">\n <h2><a href="{{ post['post']['url'] }}">{{ post['post']['title'] }} </a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>{{ post['post']['created_at'] }}</li>\n </ul>\n </div>\n </li>\n {% endfor %}\n {% endif %}\n </ul>\n </div>\n </div>\n </div>\n\n <div class="widget post-widget">\n <div class="title-section">\n <h1><span>Video</span></h1>\n </div>\n {% for video in videos %}\n <div class="news-post video-post">\n <img alt="" src="/{{ video['post']['image'] }}">\n <a href="https://www.youtube.com/watch?v=LL59es7iy8Q" class="video-link"><i class="fa fa-play-circle-o"></i></a>\n <div class="hover-box">\n <h2><a href="{{ video['post']['url'] }}">{{ video['post']['title'] }} </a></h2>\n <ul class="post-tags">\n <li><i class="fa fa-clock-o"></i>{{ video['post']['created_at'] }}</li>\n </ul>\n </div>\n </div>\n {% endfor %}\n </div>\n\n <div class="widget subscribe-widget">\n <form class="subscribe-form">\n <h1>Đăng ký nhận thông tin</h1>\n <input type="text" name="sumbscribe" id="subscribe" placeholder="Email"/>\n <button id="submit-subscribe">\n <i class="fa fa-arrow-circle-right"></i>\n </button>\n </form>\n </div>\n\n <div class="widget tags-widget">\n\n <div class="title-section">\n <h1><span>Tag Phổ Biến</span></h1>\n </div>\n\n <ul class="tag-list">\n {% if topTags is not empty %}\n {% for item in topTags %}\n <li><a href="{{ url.get({ 'for' : 'post_tag', 'slug' : item.slug }) }}">{{ item.name }}</a></li>\n {% endfor %}\n {% endif %}\n </ul>\n\n </div>\n {{ partial('widget', ['widgets' : sidebarPost]) }}\n </div>\n <!-- End sidebar -->\n\n </div>\n\n </div>\n\n </div>\n </section>\n <script type="text/javascript">\n function share_fb(url) {\n window.open('https://www.facebook.com/sharer/sharer.php?u='+url,'facebook-share-dialog',"width=600, height=600")\n }\n function share_gplus(url) {\n window.open('https://plus.google.com/share?url='+url,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600')\n }\n function share_twitter(url) {\n window.open('https://twitter.com/share?'+url,'', 'left=0,top=0,width=600,height=600,personalbar=0,toolbar=0,scrollbars=0,resizable=0')\n }\n function share_linkedin(url) {\n window.open('https://www.linkedin.com/shareArticle?mini=true&url='+url,'', 'left=0,top=0,width=600,height=600,personalbar=0,toolbar=0,scrollbars=0,resizable=0')\n }\n </script>\n{% endblock %}, false)
#4Phalcon\Mvc\View\Engine\Volt\Compiler->compileFile(/home/congvieclamtn/app/themes/hotmagazine/views/desktop/Post/index/detail.volt, /home/congvieclamtn/public/../app/../data/cache/volt/%%home%%congvieclamtn%%app%%themes%%hotmagazine%%views%%desktop%%post%%index%%detail.volt.php, false)
#5Phalcon\Mvc\View\Engine\Volt\Compiler->compile(/home/congvieclamtn/app/themes/hotmagazine/views/desktop/Post/index/detail.volt)
#6Phalcon\Mvc\View\Engine\Volt->render(/home/congvieclamtn/app/themes/hotmagazine/views/desktop/Post/index/detail.volt, Array(22), true)
#7Phalcon\Mvc\View->_engineRender(Array([.volt] => Object(Application\Mvc\View\Engine\Volt), [.phtml] => Object(Phalcon\Mvc\View\Engine\Php)), Post/index/detail, true, true, null)
#8Phalcon\Mvc\View->render(index, detail, Array([slug] => sinh-vien-dung-de-ngheo-vi-khong-co-uoc-mo, [id] => 39278))
/home/congvieclamtn/app/Bootstrap.php (402)
<?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;
 
/**
 * @copyright Copyright (c) 2018 Phalart
 * @author Nhan Phong <nhanphong@vinadesign.vn>
 * User: nhanphong
 * Date: 6/4/18
 * Time: 10:51 AM
 */
 
if (APPLICATION_ENV == 'development') {
    date_default_timezone_set('Asia/Bangkok');
    ini_set('display_errors', true);
    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(); // Отправляем в Registry
 
        // 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);
 
        \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;
    }
 
}
#9PhalartCMS\Bootstrap->dispatch(Object(Phalcon\Di\FactoryDefault))
/home/congvieclamtn/app/Bootstrap.php (142)
<?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;
 
/**
 * @copyright Copyright (c) 2018 Phalart
 * @author Nhan Phong <nhanphong@vinadesign.vn>
 * User: nhanphong
 * Date: 6/4/18
 * Time: 10:51 AM
 */
 
if (APPLICATION_ENV == 'development') {
    date_default_timezone_set('Asia/Bangkok');
    ini_set('display_errors', true);
    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(); // Отправляем в Registry
 
        // 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);
 
        \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;
    }
 
}
#10PhalartCMS\Bootstrap->run()
/home/congvieclamtn/public/index.php (42)
<?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();
KeyValue
_url/sinh-vien-dung-de-ngheo-vi-khong-co-uoc-mo-39278.html
KeyValue
USERcongvieclamtn
HOME/home/congvieclamtn
HTTP_CONNECTIONKeep-Alive
HTTP_HOSTthanhgiong.vn
HTTP_ACCEPT_ENCODINGbr,gzip
HTTP_ACCEPT_LANGUAGEen-US,en;q=0.5
HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_USER_AGENTCCBot/2.0 (https://commoncrawl.org/faq/)
APPLICATION_ENVproduction
SCRIPT_FILENAME/home/congvieclamtn/public/index.php
PATH_TRANSLATED/home/congvieclamtn/public
PATH_INFO
REDIRECT_STATUS200
SERVER_NAMEthanhgiong.vn
SERVER_PORT80
SERVER_ADDR210.211.116.91
REMOTE_PORT51560
REMOTE_ADDR18.232.55.175
SERVER_SOFTWAREnginx/1.12.2
GATEWAY_INTERFACECGI/1.1
SERVER_PROTOCOLHTTP/1.1
DOCUMENT_ROOT/home/congvieclamtn/public
DOCUMENT_URI/index.php
REQUEST_URI/sinh-vien-dung-de-ngheo-vi-khong-co-uoc-mo-39278.html
SCRIPT_NAME/index.php
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHODGET
QUERY_STRING_url=/sinh-vien-dung-de-ngheo-vi-khong-co-uoc-mo-39278.html
FCGI_ROLERESPONDER
PHP_SELF/index.php
REQUEST_TIME_FLOAT1580255550.943
REQUEST_TIME1580255550
#Path
0/home/congvieclamtn/public/index.php
1/home/congvieclamtn/app/Bootstrap.php
2/home/congvieclamtn/app/config/environment/production.php
3/home/congvieclamtn/library/modules/Cms/ConfigApp.php
4/home/congvieclamtn/app/config/global.php
5/home/congvieclamtn/app/config/modules.php
6/home/congvieclamtn/library/modules/Application/Loader/Modules.php
7/home/congvieclamtn/library/config/modules.php
8/home/congvieclamtn/vendor/autoload.php
9/home/congvieclamtn/vendor/composer/autoload_real.php
10/home/congvieclamtn/vendor/composer/ClassLoader.php
11/home/congvieclamtn/vendor/composer/autoload_static.php
12/home/congvieclamtn/vendor/cakephp/core/functions.php
13/home/congvieclamtn/vendor/symfony/polyfill-ctype/bootstrap.php
14/home/congvieclamtn/vendor/symfony/polyfill-mbstring/bootstrap.php
15/home/congvieclamtn/vendor/cakephp/utility/bootstrap.php
16/home/congvieclamtn/vendor/cakephp/utility/Inflector.php
17/home/congvieclamtn/vendor/cakephp/collection/functions.php
18/home/congvieclamtn/library/plugins/Options.php
19/home/congvieclamtn/library/modules/Cms/Model/Configuration.php
20/home/congvieclamtn/library/modules/Application/Mvc/View/Engine/Volt.php
21/home/congvieclamtn/library/modules/Application/Widget/Proxy.php
22/home/congvieclamtn/library/modules/Application/Cache/Manager.php
23/home/congvieclamtn/library/modules/Application/Acl/DefaultAcl.php
24/home/congvieclamtn/app/config/acl.php
25/home/congvieclamtn/library/modules/Application/Assets/Manager.php
26/home/congvieclamtn/library/modules/Application/Assets/Filter/Less.php
27/home/congvieclamtn/library/modules/Application/Mvc/Helper.php
28/home/congvieclamtn/library/modules/Menu/Helper/Menu.php
29/home/congvieclamtn/library/modules/Application/Mvc/Router/DefaultRouter.php
30/home/congvieclamtn/library/modules/Api/Routes.php
31/home/congvieclamtn/app/themes/hotmagazine/modules/Index/Routes.php
32/home/congvieclamtn/library/modules/Application/Mvc/Helper/CmsCache.php
33/home/congvieclamtn/app/themes/hotmagazine/modules/Seo/Routes.php
34/home/congvieclamtn/app/themes/hotmagazine/modules/Admin/Routes.php
35/home/congvieclamtn/app/themes/hotmagazine/modules/Post/Routes.php
36/home/congvieclamtn/app/themes/hotmagazine/modules/ShopMbn/Routes.php
37/home/congvieclamtn/app/themes/hotmagazine/modules/Search/Routes.php
38/home/congvieclamtn/app/themes/hotmagazine/modules/Contact/Routes.php
39/home/congvieclamtn/app/themes/hotmagazine/modules/Sitemap/Routes.php
40/home/congvieclamtn/app/themes/hotmagazine/modules/Product/Routes.php
41/home/congvieclamtn/app/themes/hotmagazine/modules/Cart/Routes.php
42/home/congvieclamtn/app/themes/hotmagazine/modules/Documents/Routes.php
43/home/congvieclamtn/library/plugins/Shortcode.php
44/home/congvieclamtn/library/plugins/WP/formatting.php
45/home/congvieclamtn/library/plugins/WP/shortcodes.php
46/home/congvieclamtn/library/modules/Application/Utils/ModuleName.php
47/home/congvieclamtn/app/themes/hotmagazine/modules/Post/Module.php
48/home/congvieclamtn/library/plugins/CheckPoint.php
49/home/congvieclamtn/library/plugins/Localization.php
50/home/congvieclamtn/library/modules/Cms/Model/Translate.php
51/home/congvieclamtn/library/plugins/AdminLocalization.php
52/home/congvieclamtn/data/translations/admin/en.php
53/home/congvieclamtn/library/plugins/Acl.php
54/home/congvieclamtn/library/plugins/MobileDetect.php
55/home/congvieclamtn/vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php
56/home/congvieclamtn/app/themes/hotmagazine/modules/Post/Controller/IndexController.php
57/home/congvieclamtn/library/modules/FrontEnd/Controller/LoaderController.php
58/home/congvieclamtn/library/modules/Application/Mvc/Controller.php
59/home/congvieclamtn/library/modules/Theme/Model/Theme.php
60/home/congvieclamtn/library/modules/Application/Mvc/Model/Model.php
61/home/congvieclamtn/app/themes/hotmagazine/modules/Admin/Model/AdminUser.php
62/home/congvieclamtn/library/modules/Admin/Model/AdminUser.php
63/home/congvieclamtn/library/modules/Menu/Model/Menu.php
64/home/congvieclamtn/library/modules/Slider/Model/Slider.php
65/home/congvieclamtn/app/themes/hotmagazine/modules/Post/Model/Post.php
66/home/congvieclamtn/library/modules/Post/Model/Post.php
67/home/congvieclamtn/library/modules/Post/Model/PostCategory.php
68/home/congvieclamtn/library/modules/Category/Model/Category.php
69/home/congvieclamtn/library/modules/Application/Mvc/Helper/Breadcrumb.php
70/home/congvieclamtn/library/modules/Post/Model/PostContent.php
71/home/congvieclamtn/library/modules/Application/Mvc/Helper/Title.php
72/home/congvieclamtn/library/modules/Application/Mvc/Helper/Meta.php
73/home/congvieclamtn/app/themes/hotmagazine/modules/Post/Model/Helper/PostHelper.php
74/home/congvieclamtn/library/modules/Post/Model/Helper/PostHelper.php
75/home/congvieclamtn/library/modules/Application/Cache/Keys.php
76/home/congvieclamtn/library/modules/Tag/Model/Tag.php
77/home/congvieclamtn/app/themes/hotmagazine/modules/Seo/Plugin/SeoManager.php
78/home/congvieclamtn/app/themes/hotmagazine/modules/Seo/Model/Manager.php
79/home/congvieclamtn/library/plugins/Title.php
Memory
Usage2097152