Prevent backslash in class name

since the default code is using get_called_class, you can end up with \ in the class name which is an escape character for css selectors
this update convert for example

even valCMS_ACCESS_SilverStripe\VersionedAdmin\ArchiveAdmin
to
even valCMS_ACCESS_SilverStripe-VersionedAdmin-ArchiveAdmin

ArchiveAdmin class should probably implement     private static $required_permission_codes = 'CMS_ACCESS_ArchiveAdmin '; also
This commit is contained in:
Thomas Portelange 2023-01-27 11:55:40 +01:00 committed by Daniel Hensby
parent 62f71a321d
commit 3e5d99dedc
No known key found for this signature in database
GPG Key ID: C5DA5549550F642E
1 changed files with 1 additions and 1 deletions

View File

@ -207,7 +207,7 @@ class PermissionCheckboxSetField extends FormField
$odd = ($odd + 1) % 2;
$extraClass = $odd ? 'odd' : 'even';
$extraClass .= ' val' . str_replace(' ', '', $code ?? '');
$extraClass .= ' val' . str_replace([' ', '\\'], ['', '-'], $code ?? '');
$itemID = $this->ID() . '_' . preg_replace('/[^a-zA-Z0-9]+/', '', $code ?? '');
$disabled = $inheritMessage = '';
$checked = (isset($uninheritedCodes[$code]) || isset($inheritedCodes[$code]))