. */ namespace SP\Modules\Web\Controllers; use Exception; use SP\Bootstrap; use SP\Core\CryptPKI; use SP\Core\Plugin\PluginUtil; use SP\Core\SessionFactory; use SP\Http\Cookies; use SP\Http\Response; use SP\Providers\Auth\Browser\Browser; /** * Class BootstrapController * * @package SP\Modules\Web\Controllers */ class BootstrapController extends SimpleControllerBase { /** * Returns environment data */ public function getEnvironmentAction() { $configData = $this->config->getConfigData(); $data = [ 'lang' => require PUBLIC_PATH . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'strings.js.php', 'locale' => $configData->getSiteLang(), 'app_root' => Bootstrap::$WEBURI, 'pk' => '', 'max_file_size' => $configData->getFilesAllowedSize(), 'check_updates' => $this->session->getAuthCompleted() && ($configData->isCheckUpdates() || $configData->isChecknotices()) && ($this->session->getUserData()->getIsAdminApp() || $configData->isDemoEnabled()), 'timezone' => date_default_timezone_get(), 'debug' => DEBUG || $configData->isDebug(), 'cookies_enabled' => Cookies::checkCookies(), 'plugins' => PluginUtil::getEnabledPlugins(), 'loggedin' => $this->session->isLoggedIn(), 'authbasic_autologin' => Browser::getServerAuthUser() && $configData->isAuthBasicAutoLoginEnabled() ]; try { $CryptPKI = new CryptPKI(); $data['pk'] = SessionFactory::getPublicKey() ?: $CryptPKI->getPublicKey(); } catch (Exception $e) { } Response::printJson($data, 0); } }