コード例 #1
0
ファイル: Lang.class.php プロジェクト: AntiqS/altocms
 /**
  * Инициализирует языковой файл
  *
  */
 protected function InitLang($sLang = null)
 {
     if (!$sLang) {
         $sLang = $this->sCurrentLang;
     }
     UserLocale::setLocale(Config::Get('lang.current'), array('locale' => Config::get('i18n.locale'), 'timezone' => Config::get('i18n.timezone')));
     if (!is_array($this->aLangMsg)) {
         $this->aLangMsg = array();
     }
     $this->aLangMsg[$sLang] = array();
     // * Если используется кеширование через memcaсhed, то сохраняем данные языкового файла в кеш
     if (Config::Get('sys.cache.type') == 'memory' && Config::Get('sys.cache.use')) {
         $sCacheKey = 'lang_' . $sLang . '_' . Config::Get('view.skin');
         if (false === ($this->aLangMsg[$sLang] = E::ModuleCache()->Get($sCacheKey))) {
             // if false then empty array
             $this->aLangMsg[$sLang] = array();
             $this->LoadLangFiles($this->sDefaultLang, $sLang);
             if ($sLang != $this->sDefaultLang) {
                 $this->LoadLangFiles($sLang, $sLang);
             }
             E::ModuleCache()->Set($this->aLangMsg[$sLang], $sCacheKey, array(), 60 * 60);
         }
     } else {
         $this->LoadLangFiles($this->sDefaultLang, $sLang);
         if ($sLang != $this->sDefaultLang) {
             $this->LoadLangFiles($sLang, $sLang);
         }
     }
     if ($sLang != Config::Get('lang.current')) {
         //Config::Set('lang.current', $sLang);
     }
     $this->LoadLangJs();
 }
コード例 #2
0
ファイル: Loader.class.php プロジェクト: Azany/altocms
 /**
  * @param array $aConfig
  */
 public static function Init($aConfig)
 {
     // Регистрация автозагрузчика классов
     spl_autoload_register('Loader::Autoload');
     Config::Load($aConfig);
     $sConfigDir = Config::Get('path.dir.config');
     // Load main config
     Config::LoadFromFile($sConfigDir . '/config.php', false);
     // Load additional config files if defined
     $aConfigLoad = F::Str2Array(Config::Get('config_load'));
     if ($aConfigLoad) {
         self::_loadConfigSections($sConfigDir, $aConfigLoad);
     }
     // Includes all *.php files from {path.root.engine}/include/
     $sIncludeDir = Config::Get('path.dir.engine') . '/include/';
     self::_includeAllFiles($sIncludeDir);
     // Load main config level (modules, local & plugins)
     self::_loadConfigFiles($sConfigDir, Config::LEVEL_MAIN);
     // Define app config dir
     $sAppConfigDir = Config::Get('path.dir.app') . '/config/';
     // Ups config level
     Config::ResetLevel(Config::LEVEL_APP);
     // Load application config level (modules, local & plugins)
     self::_loadConfigFiles($sAppConfigDir, Config::LEVEL_APP);
     // Load additional config files (the set could be changed in this point)
     $aConfigLoad = F::Str2Array(Config::Get('config_load'));
     if ($aConfigLoad) {
         self::_loadConfigSections($sAppConfigDir, $aConfigLoad, Config::LEVEL_APP);
     }
     // Load include files of plugins
     self::_loadIncludeFiles(Config::LEVEL_MAIN);
     self::_loadIncludeFiles(Config::LEVEL_APP);
     self::_checkRequiredDirs();
     $aSeekDirClasses = array(Config::Get('path.dir.app'), Config::Get('path.dir.common'), Config::Get('path.dir.engine'));
     Config::Set('path.root.seek', $aSeekDirClasses);
     if (is_null(Config::Get('path.root.subdir'))) {
         if (isset($_SERVER['DOCUMENT_ROOT'])) {
             $sPathSubdir = '/' . F::File_LocalPath(ALTO_DIR, $_SERVER['DOCUMENT_ROOT']);
         } elseif ($iOffset = Config::Get('path.offset_request_url')) {
             $aParts = array_slice(explode('/', F::File_NormPath(ALTO_DIR)), -$iOffset);
             $sPathSubdir = '/' . implode('/', $aParts);
         } else {
             $sPathSubdir = '';
         }
         Config::Set('path.root.subdir', $sPathSubdir);
     }
     // Подгружаем конфиг из файлового кеша, если он есть
     Config::ResetLevel(Config::LEVEL_CUSTOM);
     $aConfig = Config::ReadCustomConfig(null, true);
     if ($aConfig) {
         Config::Load($aConfig, false, null, null, 'custom');
     }
     // Задаем локаль по умолчанию
     F::IncludeLib('UserLocale/UserLocale.class.php');
     // Устанавливаем признак того, является ли сайт многоязычным
     $aLangsAllow = (array) Config::Get('lang.allow');
     if (sizeof($aLangsAllow) > 1) {
         UserLocale::initLocales($aLangsAllow);
         Config::Set('lang.multilang', true);
     } else {
         Config::Set('lang.multilang', false);
     }
     UserLocale::setLocale(Config::Get('lang.current'), array('local' => Config::Get('i18n.locale'), 'timezone' => Config::Get('i18n.timezone')));
     Config::Set('i18n', UserLocale::getLocale());
     F::IncludeFile(Config::Get('path.dir.engine') . '/classes/core/Engine.class.php');
 }