getServiceFactory()->create('Settings')->getConfigData(); $data->jsLibs = $this->getMetadata()->get(['app', 'jsLibs']); unset($data->loginView); $loginView = $this->getMetadata()->get(['clientDefs', 'App', 'loginView']); if ($loginView) { $data->loginView = $loginView; } return $data; } public function actionRead($params, $data) { return $this->getConfigData(); } public function actionUpdate($params, $data, $request) { return $this->actionPatch($params, $data, $request); } public function actionPatch($params, $data, $request) { if (!$this->getUser()->isAdmin()) { throw new Forbidden(); } if (!$request->isPut() && !$request->isPatch()) { throw new BadRequest(); } $this->getServiceFactory()->create('Settings')->setConfigData($data); return $this->getConfigData(); } public function postActionTestLdapConnection($params, $data) { if (!$this->getUser()->isAdmin()) { throw new Forbidden(); } if (!isset($data->password)) { $data->password = $this->getConfig()->get('ldapPassword'); } $data = get_object_vars($data); $ldapUtils = new LDAPUtils(); $options = $ldapUtils->normalizeOptions($data); $ldapClient = new LDAPClient($options); //an exception if no connection $ldapClient->bind(); return true; } }