1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
<?php
/* Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */
namespace Icinga\Module\Monitoring\Forms\Config;
use Icinga\Web\Notification;
use Icinga\Forms\ConfigForm;
/**
* Form for modifying security relevant settings
*/
class SecurityConfigForm extends ConfigForm
{
/**
* Initialize this form
*/
public function init()
{
$this->setName('form_config_monitoring_security');
$this->setSubmitLabel($this->translate('Save Changes'));
}
/**
* @see Form::onSuccess()
*/
public function onSuccess()
{
$this->config->setSection('security', $this->getValues());
if ($this->save()) {
Notification::success($this->translate('New security configuration has successfully been stored'));
} else {
return false;
}
}
/**
* @see Form::onRequest()
*/
public function onRequest()
{
$this->populate($this->config->getSection('security')->toArray());
}
/**
* @see Form::createElements()
*/
public function createElements(array $formData)
{
$this->addElement(
'text',
'protected_customvars',
array(
'allowEmpty' => true,
'attribs' => array('placeholder' => $this->getDefaultProtectedCustomvars()),
'label' => $this->translate('Protected Custom Variables'),
'description' => $this->translate(
'Comma separated case insensitive list of protected custom variables.'
. ' Use * as a placeholder for zero or more wildcard characters.'
. ' Existence of those custom variables will be shown, but their values will be masked.'
)
)
);
}
/**
* Return the customvars to suggest to protect when none are protected
*
* @return string
*/
public function getDefaultProtectedCustomvars()
{
return '*pw*,*pass*,community';
}
}
|