### Affected Version of Concrete CMS
9.x
### Description
The AJAX request ret…urns 500 error when you try to add a group entity to `Edit Properties` permission of a page
### How to reproduce
Tested on a fresh install of 9.1.1
- Turn on Advanced Permission
- Make an additional group `Editor`
- Visit the full sitemap
- Select a page, and click the menu to edit permission
- Select `Edit Properties`
- Add the `Editor` group to Included
- Click `Save`
- `[site]/ccm/system/permissions/categories/page/save_permission?cID=xxx&pkID=x&ccm_token=199999999:xxxxxxxxxxxxx` ajax request returned 500 error.
This is the debug output from my local valet.
It's PHP8.1
```
{
"error": {
"type": "Whoops\\Exception\\ErrorException",
"message": "Undefined array key \"propertiesExcluded\"",
"code": 2,
"file": "/Users/katz/Sites/ccm911/concrete/src/Permission/Access/EditPagePropertiesPageAccess.php",
"line": 70,
"trace": [
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Permission/Access/EditPagePropertiesPageAccess.php",
"line": 70,
"function": null,
"class": "Whoops\\Exception\\ErrorException",
"args": [
"Undefined array key \"propertiesExcluded\""
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Permission/Access/EditPagePropertiesPageAccess.php",
"line": 70,
"function": "handleError",
"class": "Whoops\\Run",
"args": [
2,
"Undefined array key \"propertiesExcluded\"",
"/Users/katz/Sites/ccm911/concrete/src/Permission/Access/EditPagePropertiesPageAccess.php",
70
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/controllers/permissions/categories/task_handlers/page.php",
"line": 122,
"function": "save",
"class": "Concrete\\Core\\Permission\\Access\\EditPagePropertiesPageAccess",
"args": [
{
"paID": "166",
"propertiesIncluded": {
"1": "A",
"10": "A"
},
"allowEditName": {
"1": "1",
"10": "1"
},
"allowEditDescription": {
"1": "1",
"10": "1"
},
"allowEditUID": {
"1": "1",
"10": "1"
},
"allowEditDateTime": {
"1": "1",
"10": "1"
},
"allowEditPaths": {
"1": "1",
"10": "1"
},
"cID": "227",
"pkID": "5",
"ccm_token": "1658487113:5f5383a764fb5489ace649ba4837ddc7"
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/controllers/permissions/categories/task_handlers/page.php",
"line": 46,
"function": "savePermission",
"class": "Concrete\\Controller\\Permissions\\Categories\\TaskHandlers\\Page",
"args": [
[
{
"error": false,
"cID": 227,
"siteTree": null,
"cCheckedOutUID": 1,
"pkgID": 0,
"cPointerID": 0,
"cIsDraft": 0,
"cIsActive": 1,
"cFilename": null,
"ptID": 6,
"cDisplayOrder": 2,
"cInheritPermissionsFrom": "OVERRIDE",
"cOverrideTemplatePermissions": 1,
"cIsTemplate": 0,
"uID": 1,
"cPath": "/documents",
"cParentID": 1,
"cChildren": 0,
"cCacheFullPageContent": -1
}
],
{
"paID": "166",
"propertiesIncluded": {
"1": "A",
"10": "A"
},
"allowEditName": {
"1": "1",
"10": "1"
},
"allowEditDescription": {
"1": "1",
"10": "1"
},
"allowEditUID": {
"1": "1",
"10": "1"
},
"allowEditDateTime": {
"1": "1",
"10": "1"
},
"allowEditPaths": {
"1": "1",
"10": "1"
},
"cID": "227",
"pkID": "5",
"ccm_token": "1658487113:5f5383a764fb5489ace649ba4837ddc7"
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Permission/Category/TaskLauncher.php",
"line": 66,
"function": "handle",
"class": "Concrete\\Controller\\Permissions\\Categories\\TaskHandlers\\Page",
"args": [
"save_permission",
{
"paID": "166",
"propertiesIncluded": {
"1": "A",
"10": "A"
},
"allowEditName": {
"1": "1",
"10": "1"
},
"allowEditDescription": {
"1": "1",
"10": "1"
},
"allowEditUID": {
"1": "1",
"10": "1"
},
"allowEditDateTime": {
"1": "1",
"10": "1"
},
"allowEditPaths": {
"1": "1",
"10": "1"
},
"cID": "227",
"pkID": "5",
"ccm_token": "1658487113:5f5383a764fb5489ace649ba4837ddc7"
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Permission/Category/TaskLauncher.php",
"line": 21,
"function": "runHandler",
"class": "Concrete\\Core\\Permission\\Category\\TaskLauncher",
"args": [
{},
"save_permission"
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Controller/AbstractController.php",
"line": 318,
"function": "launch",
"class": "Concrete\\Core\\Permission\\Category\\TaskLauncher",
"args": [
"page",
"save_permission"
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Controller/AbstractController.php",
"line": 318,
"function": "call_user_func_array",
"class": null,
"args": [
[
{},
"launch"
],
[
"page",
"save_permission"
]
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Routing/ControllerRouteAction.php",
"line": 64,
"function": "runAction",
"class": "Concrete\\Core\\Controller\\AbstractController",
"args": [
"launch",
[
"page",
"save_permission"
]
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/RouteDispatcher.php",
"line": 37,
"function": "execute",
"class": "Concrete\\Core\\Routing\\ControllerRouteAction",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
},
{},
[]
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/DispatcherDelegate.php",
"line": 39,
"function": "dispatch",
"class": "Concrete\\Core\\Http\\RouteDispatcher",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/MiddlewareStack.php",
"line": 86,
"function": "next",
"class": "Concrete\\Core\\Http\\Middleware\\DispatcherDelegate",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/DefaultDispatcher.php",
"line": 127,
"function": "process",
"class": "Concrete\\Core\\Http\\Middleware\\MiddlewareStack",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/DefaultDispatcher.php",
"line": 60,
"function": "handleDispatch",
"class": "Concrete\\Core\\Http\\DefaultDispatcher",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/DispatcherDelegate.php",
"line": 39,
"function": "dispatch",
"class": "Concrete\\Core\\Http\\DefaultDispatcher",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/FrameOptionsMiddleware.php",
"line": 39,
"function": "next",
"class": "Concrete\\Core\\Http\\Middleware\\DispatcherDelegate",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/MiddlewareDelegate.php",
"line": 50,
"function": "process",
"class": "Concrete\\Core\\Http\\Middleware\\FrameOptionsMiddleware",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
},
{}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php",
"line": 36,
"function": "next",
"class": "Concrete\\Core\\Http\\Middleware\\MiddlewareDelegate",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/MiddlewareDelegate.php",
"line": 50,
"function": "process",
"class": "Concrete\\Core\\Http\\Middleware\\StrictTransportSecurityMiddleware",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
},
{}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php",
"line": 36,
"function": "next",
"class": "Concrete\\Core\\Http\\Middleware\\MiddlewareDelegate",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/MiddlewareDelegate.php",
"line": 50,
"function": "process",
"class": "Concrete\\Core\\Http\\Middleware\\ContentSecurityPolicyMiddleware",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
},
{}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/CookieMiddleware.php",
"line": 35,
"function": "next",
"class": "Concrete\\Core\\Http\\Middleware\\MiddlewareDelegate",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/MiddlewareDelegate.php",
"line": 50,
"function": "process",
"class": "Concrete\\Core\\Http\\Middleware\\CookieMiddleware",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
},
{}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/ApplicationMiddleware.php",
"line": 29,
"function": "next",
"class": "Concrete\\Core\\Http\\Middleware\\MiddlewareDelegate",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/MiddlewareDelegate.php",
"line": 50,
"function": "process",
"class": "Concrete\\Core\\Http\\Middleware\\ApplicationMiddleware",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
},
{}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/Middleware/MiddlewareStack.php",
"line": 86,
"function": "next",
"class": "Concrete\\Core\\Http\\Middleware\\MiddlewareDelegate",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Http/DefaultServer.php",
"line": 85,
"function": "process",
"class": "Concrete\\Core\\Http\\Middleware\\MiddlewareStack",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Foundation/Runtime/Run/DefaultRunner.php",
"line": 125,
"function": "handleRequest",
"class": "Concrete\\Core\\Http\\DefaultServer",
"args": [
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
}
]
},
{
"file": "/Users/katz/Sites/ccm911/concrete/src/Foundation/Runtime/DefaultRuntime.php",
"line": 102,
"function": "run",
"class": "Concrete\\Core\\Foundation\\Runtime\\Run\\DefaultRunner",
"args": []
},
{
"file": "/Users/katz/Sites/ccm911/concrete/dispatcher.php",
"line": 45,
"function": "run",
"class": "Concrete\\Core\\Foundation\\Runtime\\DefaultRuntime",
"args": []
},
{
"file": "/Users/katz/Sites/ccm911/index.php",
"line": 2,
"function": "require",
"class": null,
"args": [
"/Users/katz/Sites/ccm911/concrete/dispatcher.php"
]
},
{
"file": "/Users/katz/.composer/vendor/laravel/valet/server.php",
"line": 234,
"function": "require",
"class": null,
"args": [
"/Users/katz/Sites/ccm911/index.php"
]
}
]
},
"errors": [
"Undefined array key \"propertiesExcluded\""
]
}
```
### Possible Solution
_No response_
### Additional Context
_No response_