Phalcon Framework 3.4.4

Phalcon\Cache\Exception: Cache file /home/admin/web/mintrans.uz/public_html/public/../app/../data/cache/backend/c4f801df16cb64b600ca6e97afd8f4771c87fc7e4889 could not be written

/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Model/Model.php (166)
#0Phalcon\Cache\Backend\File->save(c4f801df16cb64b600ca6e97afd8f4771c87fc7e4889, Object(Phalcon\Mvc\Model\Resultset\Simple), 300)
/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Model/Model.php (166)
<?php
 
/**
 * Model
 */
 
namespace Application\Mvc\Model;
 
class Model extends \Phalcon\Mvc\Model
{
    const CACHE_LIFETIME = 300;
 
    protected $translations_array = []; // Массив переводов
 
    public $translations = [];
    public $fields = [];
 
    public static $lang = LANG; // Язык по-умолчанию
    public static $custom_lang = ''; // Используется для создания карты сайта
    private static $translateCache = true; // Флаг использования кеша переводов
 
    /**
     * Translate. Для реализации мультиязычной схемы, необходимо скопировать в вашу модель следующие методы:
     * Start Copy:
     */
    protected $translateModel; // translate // Название связанного класса с переводами, например = 'Page\Model\Translate\PageTranslate'
 
    public function initialize()
    {
        $this->hasMany("id", $this->translateModel, "foreign_id"); // translate
    }
    //End Copy
 
    /**
     * Метод вызывается после извлечения всех полей в модели
     */
    public function afterFetch()
    {
        if ($this->translateModel && defined('LANG')) {
            // Если есть массив переводов и установлена константа активного языка или другого языка
            if(self::$custom_lang){
                self::setLang(self::$custom_lang);
            } else {
                self::setLang(LANG); // Устанавливаем текущий язык
            }
 
            $this->initTranslationsArray(); // Извлекаем переводы со связанной таблицы переводов
            $this->initTranslations();
        }
    }
 
    /**
     * Очищение кеша переводов
     * Метод вызывается после обновления значений в модели
     */
    public function afterUpdate()
    {
        $this->deleteTranslateCache();
    }
 
    /**
     * Установка языка
     */
    public static function setLang($lang)
    {
        self::$lang = $lang;
    }
 
    /**
     * Установка другого языка  для карты сайта
     */
    public static function setCustomLang($lang)
    {
        self::$custom_lang = $lang;
    }
 
    /**
     * Установка флага использования кеша.
     * Нужно устанавливать до вызова других методов модели.
     * Пример:
     *
     * ModelName::setTranslateCache(false); // Устанавливаем флаг. Отключение кеша необходимо при работе с моделями в админке
     * $entries = ModelName::find(); // Извлекаем данные
     */
    public static function setTranslateCache($value)
    {
        self::$translateCache = (bool) $value;
    }
 
    /**
     * Извлечение единичного перевода по имени переменной
     */
    public function getMLVariable($key)
    {
        if (array_key_exists($key, $this->translations)) {
            return $this->translations[$key];
        }
 
    }
 
    public function setMLVariable($key, $value, $lang = null)
    {
        if (!$this->getId()) {
            return false;
        }
        $model = new $this->translateModel();
        if (!$lang) {
            $lang = self::$lang;
        }
        $conditions = "foreign_id = :foreign_id: AND lang = :lang: AND key = :key:";
        $parameters = [
            'foreign_id' => $this->getId(),
            'lang'       => $lang,
            'key'        => $key
        ];
        $entity = $model->findFirst([
            $conditions,
            'bind' => $parameters]);
        if (!$entity) {
            $entity = new $this->translateModel();
            $entity->setForeignId($this->getId());
            $entity->setLang($lang);
            $entity->setKey($key);
        }
        $entity->setValue($value);
        $entity->save();
    }
 
    public function translateCacheKey()
    {
        if (!$this->getId()) {
            return false;
        }
        $query = 'foreign_id = ' . $this->getId() . ' AND lang = "' . self::$lang . '"';
        $key = HOST_HASH . md5($this->getSource() . '_translate ' . $query);
        return $key;
    }
 
    public function deleteTranslateCache()
    {
        if (!$this->getId()) {
            return false;
        }
        $cache = $this->getDi()->get('cache');
        $cache->delete($this->translateCacheKey());
    }
 
    /**
     * Извлечение массива переводов
     */
    private function initTranslationsArray()
    {
        if (!$this->getId()) {
            return false;
        }
        $model = new $this->translateModel();
        $query = 'foreign_id = ' . $this->getId() . ' AND lang = "' . self::$lang . '"';
        $params = ['conditions' => $query];
 
        if (self::$translateCache) {
            $cache = $this->getDi()->get('cache');
            $data = $cache->get($this->translateCacheKey());
            if (!$data) {
                $data = $model->find($params);
                if ($data) {
                    $cache->save($this->translateCacheKey(), $data, self::CACHE_LIFETIME);
                }
            }
        } else {
            $data = $model->find($params);
        }
 
        $this->translations_array = $data;
    }
 
    public function initTranslations()
    {
        if (!empty($this->translations_array)) {
            foreach ($this->translations_array as $translation) {
                $this->translations[$translation->getKey()] = $translation->getValue();
            }
        }
    }
 
}
#1Application\Mvc\Model\Model->initTranslationsArray()
/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Model/Model.php (47)
<?php
 
/**
 * Model
 */
 
namespace Application\Mvc\Model;
 
class Model extends \Phalcon\Mvc\Model
{
    const CACHE_LIFETIME = 300;
 
    protected $translations_array = []; // Массив переводов
 
    public $translations = [];
    public $fields = [];
 
    public static $lang = LANG; // Язык по-умолчанию
    public static $custom_lang = ''; // Используется для создания карты сайта
    private static $translateCache = true; // Флаг использования кеша переводов
 
    /**
     * Translate. Для реализации мультиязычной схемы, необходимо скопировать в вашу модель следующие методы:
     * Start Copy:
     */
    protected $translateModel; // translate // Название связанного класса с переводами, например = 'Page\Model\Translate\PageTranslate'
 
    public function initialize()
    {
        $this->hasMany("id", $this->translateModel, "foreign_id"); // translate
    }
    //End Copy
 
    /**
     * Метод вызывается после извлечения всех полей в модели
     */
    public function afterFetch()
    {
        if ($this->translateModel && defined('LANG')) {
            // Если есть массив переводов и установлена константа активного языка или другого языка
            if(self::$custom_lang){
                self::setLang(self::$custom_lang);
            } else {
                self::setLang(LANG); // Устанавливаем текущий язык
            }
 
            $this->initTranslationsArray(); // Извлекаем переводы со связанной таблицы переводов
            $this->initTranslations();
        }
    }
 
    /**
     * Очищение кеша переводов
     * Метод вызывается после обновления значений в модели
     */
    public function afterUpdate()
    {
        $this->deleteTranslateCache();
    }
 
    /**
     * Установка языка
     */
    public static function setLang($lang)
    {
        self::$lang = $lang;
    }
 
    /**
     * Установка другого языка  для карты сайта
     */
    public static function setCustomLang($lang)
    {
        self::$custom_lang = $lang;
    }
 
    /**
     * Установка флага использования кеша.
     * Нужно устанавливать до вызова других методов модели.
     * Пример:
     *
     * ModelName::setTranslateCache(false); // Устанавливаем флаг. Отключение кеша необходимо при работе с моделями в админке
     * $entries = ModelName::find(); // Извлекаем данные
     */
    public static function setTranslateCache($value)
    {
        self::$translateCache = (bool) $value;
    }
 
    /**
     * Извлечение единичного перевода по имени переменной
     */
    public function getMLVariable($key)
    {
        if (array_key_exists($key, $this->translations)) {
            return $this->translations[$key];
        }
 
    }
 
    public function setMLVariable($key, $value, $lang = null)
    {
        if (!$this->getId()) {
            return false;
        }
        $model = new $this->translateModel();
        if (!$lang) {
            $lang = self::$lang;
        }
        $conditions = "foreign_id = :foreign_id: AND lang = :lang: AND key = :key:";
        $parameters = [
            'foreign_id' => $this->getId(),
            'lang'       => $lang,
            'key'        => $key
        ];
        $entity = $model->findFirst([
            $conditions,
            'bind' => $parameters]);
        if (!$entity) {
            $entity = new $this->translateModel();
            $entity->setForeignId($this->getId());
            $entity->setLang($lang);
            $entity->setKey($key);
        }
        $entity->setValue($value);
        $entity->save();
    }
 
    public function translateCacheKey()
    {
        if (!$this->getId()) {
            return false;
        }
        $query = 'foreign_id = ' . $this->getId() . ' AND lang = "' . self::$lang . '"';
        $key = HOST_HASH . md5($this->getSource() . '_translate ' . $query);
        return $key;
    }
 
    public function deleteTranslateCache()
    {
        if (!$this->getId()) {
            return false;
        }
        $cache = $this->getDi()->get('cache');
        $cache->delete($this->translateCacheKey());
    }
 
    /**
     * Извлечение массива переводов
     */
    private function initTranslationsArray()
    {
        if (!$this->getId()) {
            return false;
        }
        $model = new $this->translateModel();
        $query = 'foreign_id = ' . $this->getId() . ' AND lang = "' . self::$lang . '"';
        $params = ['conditions' => $query];
 
        if (self::$translateCache) {
            $cache = $this->getDi()->get('cache');
            $data = $cache->get($this->translateCacheKey());
            if (!$data) {
                $data = $model->find($params);
                if ($data) {
                    $cache->save($this->translateCacheKey(), $data, self::CACHE_LIFETIME);
                }
            }
        } else {
            $data = $model->find($params);
        }
 
        $this->translations_array = $data;
    }
 
    public function initTranslations()
    {
        if (!empty($this->translations_array)) {
            foreach ($this->translations_array as $translation) {
                $this->translations[$translation->getKey()] = $translation->getValue();
            }
        }
    }
 
}
#2Application\Mvc\Model\Model->afterFetch()
#3Phalcon\Mvc\Model->fireEvent(afterFetch)
#4Phalcon\Mvc\Model::cloneResultMap(Object(Page\Model\Page: 24), Array([id] => 58, [slug] => young-leaders, [created_at] => 2020-09-14 12:05:10, [updated_at] => 2020-10-31 13:44:01, [index_page] => 0, [anons] => (empty string)), null, 0, false)
#5Phalcon\Mvc\Model\Resultset\Complex->current()
#6Phalcon\Mvc\Model\Resultset->getFirst()
/home/admin/web/mintrans.uz/public_html/app/modules/Page/Model/Helper/PageHelper.php (31)
<?php
 
namespace Page\Model\Helper;
 
use Application\Cache\Keys;
use Page\Model\Page;
 
class PageHelper extends Page
{
 
    public function pageBySlug($slug, $lang = null, $lifeTime = 60)
    {
        $lang = ($lang) ? $lang : LANG;
 
        $pageResult = $this->getDi()->get('cacheManager')->load([
            Keys::PAGE,
            $slug,
            $lang
 
        ], function() use ($slug, $lang, $lifeTime) {
            $columns = ['p.*'];
            foreach($this->translateFields as $field) {
                $columns[] = "(SELECT t.value FROM [$this->translateModel] AS t WHERE t.foreign_id = p.id AND t.lang = '$lang' AND t.key = '$field') AS $field";
            }
 
            $qb = $this->modelsManager->createBuilder()
                ->columns($columns)
                ->addFrom('Page\Model\Page', 'p')
                ->where('p.slug = :slug:', ['slug' => $slug]);
 
            $result = $qb->getQuery()->execute()->getFirst();
            return $result;
 
        }, $lifeTime);
 
        return $pageResult;
    }
 
}
#7Page\Model\Helper\PageHelper->Page\Model\Helper\{closure}()
/home/admin/web/mintrans.uz/public_html/app/modules/Application/Cache/Manager.php (22)
<?php
 
namespace Application\Cache;
 
use Phalcon\Mvc\User\Component;
 
class Manager extends Component
{
    /**
     * Get cache data. If data not exists, generate data and save to cache
     */
    public function load($key, $closure, $lifetime = 60)
    {
        if (is_array($key)) {
            $key = $this->key($key);
        }
        if ($lifetime == 0) {
            return $closure();
        }
        $data = $this->cache->get($key, $lifetime);
        if (!$data) {
            $data = $closure();
            $this->cache->save($key, $data, $lifetime);
        }
        return $data;
    }
 
    public function save($key, $data, $lifetime)
    {
        if (is_array($key)) {
            $key = $this->key($key);
        }
        $this->cache->save($key, $data, $lifetime);
    }
 
    public function delete($key)
    {
        if (is_array($key)) {
            $key = $this->key($key);
        }
        $this->cache->delete($key);
    }
 
    public function key(array $params = [])
    {
        return md5(serialize($params));
    }
 
}
#8Application\Cache\Manager->load(553232907ab82ee72f4900166c3200ba, Object(Closure), 60)
/home/admin/web/mintrans.uz/public_html/app/modules/Page/Model/Helper/PageHelper.php (34)
<?php
 
namespace Page\Model\Helper;
 
use Application\Cache\Keys;
use Page\Model\Page;
 
class PageHelper extends Page
{
 
    public function pageBySlug($slug, $lang = null, $lifeTime = 60)
    {
        $lang = ($lang) ? $lang : LANG;
 
        $pageResult = $this->getDi()->get('cacheManager')->load([
            Keys::PAGE,
            $slug,
            $lang
 
        ], function() use ($slug, $lang, $lifeTime) {
            $columns = ['p.*'];
            foreach($this->translateFields as $field) {
                $columns[] = "(SELECT t.value FROM [$this->translateModel] AS t WHERE t.foreign_id = p.id AND t.lang = '$lang' AND t.key = '$field') AS $field";
            }
 
            $qb = $this->modelsManager->createBuilder()
                ->columns($columns)
                ->addFrom('Page\Model\Page', 'p')
                ->where('p.slug = :slug:', ['slug' => $slug]);
 
            $result = $qb->getQuery()->execute()->getFirst();
            return $result;
 
        }, $lifeTime);
 
        return $pageResult;
    }
 
}
#9Page\Model\Helper\PageHelper->pageBySlug(Young-leaders)
/home/admin/web/mintrans.uz/public_html/app/modules/Page/Controller/IndexController.php (27)
<?php
 
namespace Page\Controller;
 
use Application\Mvc\Controller;
use Page\Model\Helper\PageHelper;
use Page\Model\Page;
use Page\Model\AvtoticketToken;
use Page\Model\Lisence;
use Phalcon\Mvc\Dispatcher\Exception;
use Cms\Model\Settings;
use GuzzleHttp\Client;
use Portfolio\Model\Portfolio;
 
class IndexController extends Controller
{
 
    public function indexAction()
    {
        $slug = $this->dispatcher->getParam('slug', 'string');
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();        
        
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug($slug);
        if (!$pageResult) {
            throw new Exception("Page '$slug.html' not found");
        }
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->view->title  = $pageResult->title;
        $this->view->gallery  = $pageResult->p->gallery;
        $this->view->text = $pageResult->text;
    }
 
    public function contactsAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('contacts');
        if (!$pageResult) {
            throw new Exception("Page 'contacts' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('contacts');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }
    public function vacancyAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('vacancy');
        if (!$pageResult) {
            throw new Exception("Page 'vacancy' not found");
        }
        $vacancy = Portfolio::find();
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('contacts');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text;
        $this->view->vacancy = $vacancy;
        
    }
    public function subwayAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('subway');
        if (!$pageResult) {
            throw new Exception("Page 'contacts' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('subway');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }
    public function railwaylicensesAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('railwaylicenses');
        if (!$pageResult) {
            throw new Exception("Page 'contacts' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('railwaylicenses');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }
 
    public function apparatAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('markaziy-apparat');
        if (!$pageResult) {
            throw new Exception("Page 'markaziy-apparat' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('markaziy-apparat');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }
 
    public function organizationsAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('tizimdagi-tashkilotlar');
        if (!$pageResult) {
            throw new Exception("Page 'tizimdagi-tashkilotlar' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('tizimdagi-tashkilotlar');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }
    
    public function regionsAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('regions');
        if (!$pageResult) {
            throw new Exception("Page 'regions' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('regions');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }    
    
    public function aviaticketsAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('avia-parvoz-jadvallari');
        if (!$pageResult) {
            throw new Exception("Page 'avia-parvoz-jadvallari' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('avia-parvoz-jadvallari');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }       
    
    public function countryorgansAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('countryorgans');
        if (!$pageResult) {
            throw new Exception("Page 'countryorgans' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('countryorgans');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }    
    
    public function ygrAction()
    {
        if($this->request->isPost()){
            if ($this->security->checkToken()) {
                $seria = htmlspecialchars($this->request->getPost('seria'));
                $ygr = Lisence::findFirst([
                    'conditions' => 'number = ?1',
                    'bind' => [1 => $seria]
                ]);
                if($ygr){
                    $this->view->setVar('ygr', $ygr);
                }else{
                    $this->view->setVar('nothing', 1);
                }
            }
        }
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('ygr');
        if (!$pageResult) {
            throw new Exception("Page 'ygr' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('countryorgans');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }
    public function railwayAction()
    {
        if($this->request->isPost()){
            if ($this->security->checkToken()) {
                $seria = htmlspecialchars($this->request->getPost('seria'));
                $ygr = Lisence::findFirst([
                    'conditions' => 'number = ?1',
                    'bind' => [1 => $seria]
                ]);
                if($ygr){
                    $this->view->setVar('railway', $ygr);
                }else{
                    $this->view->setVar('nothing', 1);
                }
            }
        }
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('railway');
        if (!$pageResult) {
            throw new Exception("Page 'railway' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('countryorgans');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text; 
        
    }
 
    public function railwayReysAction()
    {
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('railway-reys');
        if (!$pageResult) {
            throw new Exception("Page 'railway-reys' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('railway-reys');
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text;
 
        $code = $this->request->get('code');
        
        $railwayList = $this->getStationList($code);
        $depTrains = $railwayList['depTrains']['train'];
        $arvTrains = $railwayList['arvTrains']['train'];
        $this->view->schedules = $depTrains;
        $this->view->arvTrains = $arvTrains;
    }
 
    public function getStationList($code)
    {
        $codeName = empty($code) ? 2900000 : $code; 
        try {
            $client = new Client();
            $response = $client->post('https://e-ticket.railway.uz/api/v1/station/schedule', [
                \GuzzleHttp\RequestOptions::JSON => ['code' => $codeName]
            ]);
            $result = json_decode($response->getBody()->getContents(),true);
            return $result;
        } catch (\Throwable $th){
            return [];
        }
    }
    public function countryNameAction(){
        $name = $this->request->get('nameFull');
        $countries = $this->getStationNameList($name);
        return $this->returnJSON(['countries' => $countries]);
    }
 
    public function getStationNameList($name)
    {
        try {
            $client = new Client();
            $response = $client->post('https://e-ticket.railway.uz/api/v1/station/list', [
                \GuzzleHttp\RequestOptions::JSON => ['nameFull' => $name]
            ]);
            $result = json_decode($response->getBody()->getContents(),true);
            return $result;
        } catch (\Throwable $th) {
            return [];
        }
    }
    public function timetableAction()
    {
        $the_date = $this->request->getQuery('date', 'string', date('Y-m-d'));
        $pageHelper = new PageHelper();
        $pageResult = $pageHelper->pageBySlug('timetable');
        if (!$pageResult) {
            throw new Exception("Page 'timetable' not found");
        }
 
        $settings = Settings::findFirst(1);
        $curLang = $this->helper->currentUrl(LANG);
        $meta_url = $this->helper->base_url().$curLang.$slug;        
        $meta_image = $this->helper->base_url().'/'.$settings->getLogo();
 
        if(!$pageResult->meta_title){
            $this->helper->title()->append($pageResult->title);
            $this->helper->meta()->set('title', $pageResult->title);
        }
        if($pageResult->meta_title){
            $this->helper->title()->append($pageResult->meta_title);
            $this->helper->meta()->set('title', $pageResult->meta_title);
        }
 
        $this->helper->meta()->set('description', $pageResult->meta_description);
        $this->helper->meta()->set('type', 'article');
        $this->helper->meta()->set('site_name', $settings->getSiteName());
        $this->helper->meta()->set('url', $meta_url);
        $this->helper->meta()->set('image', $meta_image);
 
        if($pageResult->p->index_page == 1)        
            $this->helper->meta()->set('robots', 'noindex, nofollow');        
 
        $this->helper->menu->setActive('timetable');
 
        $token = AvtoticketToken::findFirst([
            'conditions' => 'expired_at > ?1',
            'bind' => [1 => date('Y-m-d')]
        ]);
        if(!$token){
            $token = $this->getAvtoticketToken();
            $the_token = $token;
        }
        if($token){
            try {
                $the_token = $token->token;
                $client2 = new Client();
                $newresponse = $client2->request(
                    'GET',
                    'https://capi.avtoticket.uz/v1/trips/list/'.$the_date,
                    // ['debug'   => true], 
                    ['headers' => 
                        [
                            'Authorization' => "Bearer {$the_token}"
                        ]
                    ]
                )->getBody()->getContents();
                $newresponse = json_decode($newresponse,true);
                // print_r($newresponse);die;
                $this->view->trips  = $newresponse['data']['trips'];
            } catch (\Throwable $th) {
                //throw $th;
            }
        }
 
        $this->view->title  = $pageResult->title;
        $this->view->text = $pageResult->text;
        $this->view->the_date = date('Y-m-d');
    }
 
    private function getAvtoticketToken()
    {
        try {
            $client = new Client();
            $response = $client->request('POST', 'https://capi.avtoticket.uz/v1/auth/login', [
                'form_params' => [
                    'username' => 'mintrans_site',
                    'password' => 'mintrans_site123',
                ]
            ]);
            $result = json_decode($response->getBody()->getContents(),true);
            $token = new AvtoticketToken();
            $token->token = $result['data']['token'];
            $token->expired_at = date('Y-m-d', strtotime($result['data']['expired_at']));
            if(!$token->save()){
                foreach($token->getMessages() as $m){
                    echo $m . '<br>';
                }
            }
            // print_r($result['data']['token']);die;
            return $result['data']['token'];
        } catch (\Throwable $th) {
            return false;
        }
    }
 
    public function adminAction()
    {  
        return $this->redirect($this->url->get() . 'admin/index');
    }
    
 
}
#10Page\Controller\IndexController->indexAction(Young-leaders)
#11Phalcon\Dispatcher->callActionMethod(Object(Page\Controller\IndexController), indexAction, Array([slug] => Young-leaders))
#12Phalcon\Dispatcher->dispatch()
/home/admin/web/mintrans.uz/public_html/app/Bootstrap.php (307)
<?php
 
namespace Eskiz;
use Application\Cache\Manager as CacheManager;
 
/**
 * Bootstrap
 */
 
class Bootstrap
{
 
    public function run()
    {
        $di = new \Phalcon\DI\FactoryDefault();
 
        // Config
        require_once APPLICATION_PATH . '/modules/Cms/Config.php';
        $config = \Cms\Config::get();
        $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([APPLICATION_PATH . "/plugins/"]);
        $loader->register();
        require_once APPLICATION_PATH . '/../vendor/autoload.php';
 
        // 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);
 
        // View
        $this->initView($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 \Cms\Model\Configuration();
        $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'   => 'ui red inverted segment',
            'success' => 'ui green inverted segment',
            'notice'  => 'ui blue inverted segment',
            'warning' => 'ui orange inverted segment',
        ]);
        $di->set('flash', $flash);
 
        $di->set('helper', new \Application\Mvc\Helper());
 
        // Routing
        $this->initRouting($application, $di);
 
        $application->setDI($di);
 
        // Main dispatching process
        $this->dispatch($di);
 
    }
 
    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/admin/js/js.js')
            ->setTargetUri('assets/admin/js/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/admin/js/modules-admin.js')
            ->setTargetUri('assets/admin/js/modules-admin.js')
            ->join(true);
 
        // Admin LESS Assets
        $assetsManager->collection('modules-admin-less')
            ->setLocal(true)
            ->addFilter(new \Application\Assets\Filter\Less())
            ->setTargetPath(ROOT . '/assets/admin/js/modules-admin.less')
            ->setTargetUri('assets/admin/js/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 \Eskiz\Plugin\CheckPoint($di->get('request'));
            new \Eskiz\Plugin\Localization($dispatcher);
            new \Eskiz\Plugin\AdminLocalization($di->get('config'));
            new \Eskiz\Plugin\Acl($di->get('acl'), $dispatcher, $di->get('view'));
            new \Eskiz\Plugin\MobileDetect($di->get('session'), $di->get('view'), $di->get('request'));
        });
 
        $eventsManager->attach("dispatch:afterDispatchLoop", function ($event, $dispatcher) use ($di) {
            new \Eskiz\Plugin\Title($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();
 
        define('MAIN_VIEW_PATH', '../../../views/');
        $view->setMainView(MAIN_VIEW_PATH . 'main');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('main');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
        // 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);
 
        $ajax = $di->get('request')->getQuery('_ajax');
        if ($ajax) {
            $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
        }
 
        $di->set('view', $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->removeExtraSlashes(true);
        $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());
        $params = $router->getParams();
        if($params){
          if(isset($params['slug'])){
            $params = $params['slug'];
            $lang = \Cms\Model\Language::findFirst("iso='{$params}'");        
            if($lang){            
                $dispatcher->setParams(array('lang'=>$lang->getIso(),'slug'=>'index')); 
                $moduleName = \Application\Utils\ModuleName::camelize('index');
            } 
          }  
        }  
 
        $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');
                }
                $response->sendHeaders();
                echo $response->getContent();
                return;
            }
        }
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
        $response = $di['response'];
 
        // 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());
        }
        $response->sendHeaders();
        echo $response->getContent();
    }
}
#13Eskiz\Bootstrap->dispatch(Object(Phalcon\Di\FactoryDefault))
/home/admin/web/mintrans.uz/public_html/app/Bootstrap.php (94)
<?php
 
namespace Eskiz;
use Application\Cache\Manager as CacheManager;
 
/**
 * Bootstrap
 */
 
class Bootstrap
{
 
    public function run()
    {
        $di = new \Phalcon\DI\FactoryDefault();
 
        // Config
        require_once APPLICATION_PATH . '/modules/Cms/Config.php';
        $config = \Cms\Config::get();
        $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([APPLICATION_PATH . "/plugins/"]);
        $loader->register();
        require_once APPLICATION_PATH . '/../vendor/autoload.php';
 
        // 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);
 
        // View
        $this->initView($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 \Cms\Model\Configuration();
        $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'   => 'ui red inverted segment',
            'success' => 'ui green inverted segment',
            'notice'  => 'ui blue inverted segment',
            'warning' => 'ui orange inverted segment',
        ]);
        $di->set('flash', $flash);
 
        $di->set('helper', new \Application\Mvc\Helper());
 
        // Routing
        $this->initRouting($application, $di);
 
        $application->setDI($di);
 
        // Main dispatching process
        $this->dispatch($di);
 
    }
 
    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/admin/js/js.js')
            ->setTargetUri('assets/admin/js/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/admin/js/modules-admin.js')
            ->setTargetUri('assets/admin/js/modules-admin.js')
            ->join(true);
 
        // Admin LESS Assets
        $assetsManager->collection('modules-admin-less')
            ->setLocal(true)
            ->addFilter(new \Application\Assets\Filter\Less())
            ->setTargetPath(ROOT . '/assets/admin/js/modules-admin.less')
            ->setTargetUri('assets/admin/js/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 \Eskiz\Plugin\CheckPoint($di->get('request'));
            new \Eskiz\Plugin\Localization($dispatcher);
            new \Eskiz\Plugin\AdminLocalization($di->get('config'));
            new \Eskiz\Plugin\Acl($di->get('acl'), $dispatcher, $di->get('view'));
            new \Eskiz\Plugin\MobileDetect($di->get('session'), $di->get('view'), $di->get('request'));
        });
 
        $eventsManager->attach("dispatch:afterDispatchLoop", function ($event, $dispatcher) use ($di) {
            new \Eskiz\Plugin\Title($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();
 
        define('MAIN_VIEW_PATH', '../../../views/');
        $view->setMainView(MAIN_VIEW_PATH . 'main');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('main');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
        // 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);
 
        $ajax = $di->get('request')->getQuery('_ajax');
        if ($ajax) {
            $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
        }
 
        $di->set('view', $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->removeExtraSlashes(true);
        $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());
        $params = $router->getParams();
        if($params){
          if(isset($params['slug'])){
            $params = $params['slug'];
            $lang = \Cms\Model\Language::findFirst("iso='{$params}'");        
            if($lang){            
                $dispatcher->setParams(array('lang'=>$lang->getIso(),'slug'=>'index')); 
                $moduleName = \Application\Utils\ModuleName::camelize('index');
            } 
          }  
        }  
 
        $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');
                }
                $response->sendHeaders();
                echo $response->getContent();
                return;
            }
        }
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
        $response = $di['response'];
 
        // 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());
        }
        $response->sendHeaders();
        echo $response->getContent();
    }
}
#14Eskiz\Bootstrap->run()
/home/admin/web/mintrans.uz/public_html/public/index.php (20)
<?php
 
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('APPLICATION_PATH', __DIR__ . '/../app');
 
require_once APPLICATION_PATH . '/Bootstrap.php';
$bootstrap = new Eskiz\Bootstrap();
$bootstrap->run();
KeyValue
_url/Young-leaders
KeyValue
REDIRECT_REDIRECT_STATUS200
REDIRECT_APPLICATION_ENVdevelopment
REDIRECT_STATUS200
APPLICATION_ENVdevelopment
HTTP_HOSTwww.mintrans.uz
HTTP_X_REAL_IP3.216.79.60
HTTP_X_FORWARDED_FOR3.216.79.60
HTTP_CONNECTIONclose
HTTP_USER_AGENTCCBot/2.0 (https://commoncrawl.org/faq/)
HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGEen-US,en;q=0.5
HTTP_ACCEPT_ENCODINGbr,gzip
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
SERVER_SIGNATURE
SERVER_SOFTWAREApache/2.4.29 (Ubuntu) mod_fcgid/2.3.9 OpenSSL/1.1.1d
SERVER_NAMEwww.mintrans.uz
SERVER_ADDR195.158.27.21
SERVER_PORT80
REMOTE_ADDR195.158.27.21
DOCUMENT_ROOT/home/admin/web/mintrans.uz/public_html
REQUEST_SCHEMEhttp
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT/home/admin/web/mintrans.uz/public_html
SERVER_ADMINinfo@mintrans.uz
SCRIPT_FILENAME/home/admin/web/mintrans.uz/public_html/public/index.php
REMOTE_PORT53996
REDIRECT_URL/public/Young-leaders
REDIRECT_QUERY_STRING_url=/Young-leaders
GATEWAY_INTERFACECGI/1.1
SERVER_PROTOCOLHTTP/1.0
REQUEST_METHODGET
QUERY_STRING_url=/Young-leaders
REQUEST_URI/Young-leaders
SCRIPT_NAME/public/index.php
PHP_SELF/public/index.php
REQUEST_TIME_FLOAT1607149792.341
REQUEST_TIME1607149792
#Path
0/home/admin/web/mintrans.uz/public_html/public/index.php
1/home/admin/web/mintrans.uz/public_html/app/Bootstrap.php
2/home/admin/web/mintrans.uz/public_html/app/modules/Cms/Config.php
3/home/admin/web/mintrans.uz/public_html/app/config/environment/development.php
4/home/admin/web/mintrans.uz/public_html/app/config/global.php
5/home/admin/web/mintrans.uz/public_html/app/config/modules.php
6/home/admin/web/mintrans.uz/public_html/app/modules/Application/Loader/Modules.php
7/home/admin/web/mintrans.uz/public_html/vendor/autoload.php
8/home/admin/web/mintrans.uz/public_html/vendor/composer/autoload_real.php
9/home/admin/web/mintrans.uz/public_html/vendor/composer/ClassLoader.php
10/home/admin/web/mintrans.uz/public_html/vendor/composer/autoload_static.php
11/home/admin/web/mintrans.uz/public_html/vendor/symfony/polyfill-mbstring/bootstrap.php
12/home/admin/web/mintrans.uz/public_html/vendor/ralouphie/getallheaders/src/getallheaders.php
13/home/admin/web/mintrans.uz/public_html/vendor/swiftmailer/swiftmailer/lib/swift_required.php
14/home/admin/web/mintrans.uz/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php
15/home/admin/web/mintrans.uz/public_html/vendor/cakephp/collection/functions.php
16/home/admin/web/mintrans.uz/public_html/vendor/guzzlehttp/promises/src/functions_include.php
17/home/admin/web/mintrans.uz/public_html/vendor/guzzlehttp/promises/src/functions.php
18/home/admin/web/mintrans.uz/public_html/vendor/guzzlehttp/psr7/src/functions_include.php
19/home/admin/web/mintrans.uz/public_html/vendor/guzzlehttp/psr7/src/functions.php
20/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/abs.php
21/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/acos.php
22/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/acosh.php
23/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/acot.php
24/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/acoth.php
25/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/acsc.php
26/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/acsch.php
27/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/argument.php
28/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/asec.php
29/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/asech.php
30/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/asin.php
31/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/asinh.php
32/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/atan.php
33/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/atanh.php
34/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/conjugate.php
35/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/cos.php
36/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/cosh.php
37/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/cot.php
38/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/coth.php
39/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/csc.php
40/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/csch.php
41/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/exp.php
42/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/inverse.php
43/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/ln.php
44/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/log2.php
45/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/log10.php
46/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/negative.php
47/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/pow.php
48/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/rho.php
49/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/sec.php
50/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/sech.php
51/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/sin.php
52/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/sinh.php
53/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/sqrt.php
54/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/tan.php
55/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/tanh.php
56/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/functions/theta.php
57/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/operations/add.php
58/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/operations/subtract.php
59/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/operations/multiply.php
60/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/operations/divideby.php
61/home/admin/web/mintrans.uz/public_html/vendor/markbaker/complex/classes/src/operations/divideinto.php
62/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/adjoint.php
63/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/antidiagonal.php
64/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/cofactors.php
65/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/determinant.php
66/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/diagonal.php
67/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/identity.php
68/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/inverse.php
69/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/minors.php
70/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/trace.php
71/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/functions/transpose.php
72/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/operations/add.php
73/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/operations/directsum.php
74/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/operations/subtract.php
75/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/operations/multiply.php
76/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/operations/divideby.php
77/home/admin/web/mintrans.uz/public_html/vendor/markbaker/matrix/classes/src/operations/divideinto.php
78/home/admin/web/mintrans.uz/public_html/vendor/guzzlehttp/guzzle/src/functions_include.php
79/home/admin/web/mintrans.uz/public_html/vendor/guzzlehttp/guzzle/src/functions.php
80/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/View/Engine/Volt.php
81/home/admin/web/mintrans.uz/public_html/app/modules/Application/Widget/Proxy.php
82/home/admin/web/mintrans.uz/public_html/app/modules/Application/Cache/Manager.php
83/home/admin/web/mintrans.uz/public_html/app/modules/Cms/Model/Configuration.php
84/home/admin/web/mintrans.uz/public_html/app/modules/Application/Acl/DefaultAcl.php
85/home/admin/web/mintrans.uz/public_html/app/config/acl.php
86/home/admin/web/mintrans.uz/public_html/app/modules/Application/Assets/Manager.php
87/home/admin/web/mintrans.uz/public_html/app/modules/Application/Assets/Filter/Less.php
88/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Helper.php
89/home/admin/web/mintrans.uz/public_html/app/modules/Menu/Helper/Menu.php
90/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Router/DefaultRouter.php
91/home/admin/web/mintrans.uz/public_html/app/modules/Index/Routes.php
92/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Helper/CmsCache.php
93/home/admin/web/mintrans.uz/public_html/app/modules/Admin/Routes.php
94/home/admin/web/mintrans.uz/public_html/app/modules/Page/Routes.php
95/home/admin/web/mintrans.uz/public_html/app/modules/Publication/Routes.php
96/home/admin/web/mintrans.uz/public_html/app/modules/Publication/Model/Type.php
97/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Model/Model.php
98/home/admin/web/mintrans.uz/public_html/app/modules/Menu/Init.php
99/home/admin/web/mintrans.uz/public_html/app/modules/Menu/Helper/Helper.php
100/home/admin/web/mintrans.uz/public_html/app/modules/Seo/Routes.php
101/home/admin/web/mintrans.uz/public_html/app/modules/Api/Routes.php
102/home/admin/web/mintrans.uz/public_html/app/modules/Employee/Routes.php
103/home/admin/web/mintrans.uz/public_html/app/modules/Webform/Routes.php
104/home/admin/web/mintrans.uz/public_html/app/modules/Portfolio/Routes.php
105/home/admin/web/mintrans.uz/public_html/app/modules/Search/Routes.php
106/home/admin/web/mintrans.uz/public_html/app/modules/Products/Routes.php
107/home/admin/web/mintrans.uz/public_html/app/modules/Products/Model/Category.php
108/home/admin/web/mintrans.uz/public_html/app/modules/Faq/Routes.php
109/home/admin/web/mintrans.uz/public_html/app/modules/Partner/Routes.php
110/home/admin/web/mintrans.uz/public_html/app/modules/Newsletter/Routes.php
111/home/admin/web/mintrans.uz/public_html/app/modules/Documentation/Routes.php
112/home/admin/web/mintrans.uz/public_html/app/modules/Media/Routes.php
113/home/admin/web/mintrans.uz/public_html/app/modules/Comments/Routes.php
114/home/admin/web/mintrans.uz/public_html/app/modules/Services/Routes.php
115/home/admin/web/mintrans.uz/public_html/app/modules/Reception/Routes.php
116/home/admin/web/mintrans.uz/public_html/app/modules/Application/Utils/ModuleName.php
117/home/admin/web/mintrans.uz/public_html/app/modules/Cms/Model/Language.php
118/home/admin/web/mintrans.uz/public_html/app/modules/Page/Module.php
119/home/admin/web/mintrans.uz/public_html/app/plugins/CheckPoint.php
120/home/admin/web/mintrans.uz/public_html/app/plugins/Localization.php
121/home/admin/web/mintrans.uz/public_html/app/modules/Cms/Model/Translate.php
122/home/admin/web/mintrans.uz/public_html/app/plugins/AdminLocalization.php
123/home/admin/web/mintrans.uz/public_html/data/translations/admin/ru.php
124/home/admin/web/mintrans.uz/public_html/app/plugins/Acl.php
125/home/admin/web/mintrans.uz/public_html/app/plugins/MobileDetect.php
126/home/admin/web/mintrans.uz/public_html/vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php
127/home/admin/web/mintrans.uz/public_html/app/modules/Page/Controller/IndexController.php
128/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Controller.php
129/home/admin/web/mintrans.uz/public_html/app/modules/Cms/Model/Settings.php
130/home/admin/web/mintrans.uz/public_html/app/modules/Page/Model/Helper/PageHelper.php
131/home/admin/web/mintrans.uz/public_html/app/modules/Page/Model/Page.php
132/home/admin/web/mintrans.uz/public_html/app/modules/Application/Cache/Keys.php
133/home/admin/web/mintrans.uz/public_html/app/modules/Page/Model/Translate/PageTranslate.php
134/home/admin/web/mintrans.uz/public_html/app/modules/Application/Mvc/Model/Translate.php
Memory
Usage2097152