public static function Init($bGrantAdminPrivileges = false) { include_once self::LibrariesPath() . 'autoload.php'; if ($bGrantAdminPrivileges) { \CApi::$aUserSession['UserId'] = -1; \CApi::$aUserSession['AuthToken'] = ''; } CApi::$aI18N = null; CApi::$aClientI18N = array(); CApi::$aSecretWords = array(); CApi::$bUseDbLog = false; if (!is_object(CApi::$oManager)) { CApi::IncArray(array('functions', 'constants', 'enum', 'exception', 'utils', 'crypt', 'container', 'eav', 'manager', 'module', 'response', 'xml', 'utils.get', 'utils.post', 'utils.session', 'http', 'db.storage', 'user-session')); $sSalt = ''; $sSaltFile = CApi::DataPath() . '/salt.php'; if (!@file_exists($sSaltFile)) { $sSaltDesc = '<?php #' . md5(microtime(true) . rand(1000, 9999)) . md5(microtime(true) . rand(1000, 9999)); @file_put_contents($sSaltFile, $sSaltDesc); } else { $sSalt = '$2y$07$' . md5(file_get_contents($sSaltFile)) . '$'; } CApi::$sSalt = $sSalt; CApi::$aConfig = (include CApi::RootPath() . 'config.php'); $sSettingsFile = CApi::DataPath() . '/settings/config.php'; if (@file_exists($sSettingsFile)) { $aAppConfig = (include $sSettingsFile); if (is_array($aAppConfig)) { CApi::$aConfig = array_merge(CApi::$aConfig, $aAppConfig); } } $sHost = \MailSo\Base\Http::SingletonInstance()->GetHost(); if (0 < \strlen($sHost)) { $sDomainSettingsFile = CApi::DataPath() . '/settings/' . $sHost . '.config.php'; if (@file_exists($sDomainSettingsFile)) { $aDomainAppConfig = (include $sDomainSettingsFile); if (is_array($aDomainAppConfig)) { CApi::$aConfig = array_merge(CApi::$aConfig, $aDomainAppConfig); } } } CApi::$oManager = new CApiGlobalManager(); CApi::$bIsValid = CApi::validateApi(); CApi::GetModuleManager(); CApi::$oManager->PrepareStorageMap(); CApi::$aModuleDecorators = array(); } }