new: [API] get a single server setting via /servers/getSetting/[setting_name], fixes #4964

pull/5014/head
iglocska 2019-08-15 20:01:36 +02:00
parent 591b83405b
commit e8c5dba4f3
No known key found for this signature in database
GPG Key ID: BEA224F1FEF113AC
3 changed files with 14 additions and 0 deletions

View File

@ -341,6 +341,7 @@ class ACLComponent extends Component
'getGit' => array(),
'getInstanceUUID' => array('perm_sync'),
'getPyMISPVersion' => array('*'),
'getSetting' => array(),
'getSubmodulesStatus' => array('perm_site_admin'),
'getSubmoduleQuickUpdateForm' => array('perm_site_admin'),
'getWorkers' => array(),

View File

@ -1215,6 +1215,18 @@ class ServersController extends AppController
$this->render('ajax/submoduleStatus');
}
public function getSetting($setting_name)
{
$setting = $this->Server->getSettingData($setting_name);
if (!empty($setting["redacted"])) {
throw new MethodNotAllowedException(__('This setting is redacted.'));
}
if (Configure::check($setting_name)) {
$setting['value'] = Configure::read($setting_name);
}
return $this->RestResponse->viewData($setting);
}
public function serverSettingsEdit($setting_name, $id = false, $forceSave = false)
{
if (!$this->_isSiteAdmin()) {

View File

@ -1162,6 +1162,7 @@ class Server extends AppModel
'test' => 'testSalt',
'type' => 'string',
'editable' => false,
'redacted' => true
),
'syslog' => array(
'level' => 0,