mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-31 01:34:09 +02:00
Escape restriction names manually in Forms\Security\RoleForm
fixes #8086
This commit is contained in:
parent
f0438d1ea0
commit
706e5504e6
@ -93,7 +93,7 @@ class RoleForm extends ConfigForm
|
|||||||
foreach ($this->providedRestrictions as $name => $description) {
|
foreach ($this->providedRestrictions as $name => $description) {
|
||||||
$this->addElement(
|
$this->addElement(
|
||||||
'text',
|
'text',
|
||||||
$name,
|
str_replace('/', '_', $name),
|
||||||
array(
|
array(
|
||||||
'label' => $name,
|
'label' => $name,
|
||||||
'description' => $description
|
'description' => $description
|
||||||
@ -129,6 +129,12 @@ class RoleForm extends ConfigForm
|
|||||||
? String::trimSplit($role['permissions'])
|
? String::trimSplit($role['permissions'])
|
||||||
: null;
|
: null;
|
||||||
$role['name'] = $name;
|
$role['name'] = $name;
|
||||||
|
foreach (array_keys($role) as $key) {
|
||||||
|
// Slashes are not allowed in a form's element name
|
||||||
|
$value = $role[$key];
|
||||||
|
unset($role[$key]);
|
||||||
|
$role[str_replace('/', '_', $key)] = $value;
|
||||||
|
}
|
||||||
$this->populate($role);
|
$this->populate($role);
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@ -230,6 +236,12 @@ class RoleForm extends ConfigForm
|
|||||||
if (isset($values['permissions'])) {
|
if (isset($values['permissions'])) {
|
||||||
$values['permissions'] = implode(', ', $values['permissions']);
|
$values['permissions'] = implode(', ', $values['permissions']);
|
||||||
}
|
}
|
||||||
|
foreach (array_keys($values) as $key) {
|
||||||
|
// Slashes are not allowed in a form's element name
|
||||||
|
$value = $values[$key];
|
||||||
|
unset($values[$key]);
|
||||||
|
$values[str_replace('/', '_', $key)] = $value;
|
||||||
|
}
|
||||||
return $values;
|
return $values;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user