. */ namespace SP\Modules\Web\Controllers; use phpseclib\Crypt\RSA; use SP\Bootstrap; use SP\Core\Crypt\CryptPKI; use SP\Http\Cookies; use SP\Http\Response; use SP\Providers\Auth\Browser\Browser; /** * Class BootstrapController * * @package SP\Modules\Web\Controllers */ final class BootstrapController extends SimpleControllerBase { /** * Returns environment data * * @throws \SP\Core\Exceptions\FileNotFoundException * @throws \SP\Core\Exceptions\SPException */ public function getEnvironmentAction() { $configData = $this->config->getConfigData(); $checkStatus = $this->session->getAuthCompleted() && ($this->session->getUserData()->getIsAdminApp() || $configData->isDemoEnabled()); $data = [ 'lang' => require CONFIG_PATH . DIRECTORY_SEPARATOR . 'strings.js.inc', 'locale' => $configData->getSiteLang(), 'app_root' => Bootstrap::$WEBURI, 'max_file_size' => $configData->getFilesAllowedSize(), 'check_updates' => $checkStatus && $configData->isCheckUpdates(), 'check_notices' => $checkStatus && $configData->isChecknotices(), 'timezone' => date_default_timezone_get(), 'debug' => DEBUG || $configData->isDebug(), 'cookies_enabled' => Cookies::checkCookies(), // 'plugins' => PluginUtil::getEnabledPlugins(), 'plugins' => [], 'loggedin' => $this->session->isLoggedIn(), 'authbasic_autologin' => Browser::getServerAuthUser() && $configData->isAuthBasicAutoLoginEnabled(), 'pk' => $this->session->getPublicKey() ?: (new CryptPKI($this->dic->get(RSA::class)))->getPublicKey(), 'import_allowed_exts' => ['CSV', 'XML'], 'files_allowed_exts' => $configData->getFilesAllowedExts() ]; Response::printJson($data, 0); } }