I would like to take advantage of the config override system we already have in place, in order to be able to: 1. lock a specific setting for multiple similar config files 2. disallow/override/remove a specific setting when it is an array value.
Use case: as an admin, I would like: - all user roles to have a specific permission, without anyone with access to the permissions page to be able to revoke it. - disallow a specific permission from any user role.
Consider this default example config file of the anonymous role:
{
"_config_name": "user.role.anonymous",
"name": "anonymous",
"label": "Anonymous",
"weight": "0",
"permissions": [
"access content",
"access comments",
"use text format filtered_html"
]
}
- I can do
$config['user.role.anonymous']['permissions'] = ...;
, but if I wanted that override to cover all existing roles as well as any roles added in the future (for which I don't know the machine name beforehand), then something like$config['user.role.*']['permissions'] = ...;
is not possible. In fact, I would like to exclude the admin role from that config override, so although supporting a wildcard*
would be a good first step, eventually, I'd need to be able to specify a regex; something like$config['user.role.(?!admin)']['permissions'] = ...;
- I can do something like
$config['user.role.editor']['permissions'] = ...;
, but because the permissions are an array within the json file, any value I add would override the entire permissions array. I would like a way to be able to:- specify a permission that would be added to the existing permissions in the array
- specify a permission that would be "removed" if found in the array
Recent comments
Thanks! The site was on PHP 7.0. With assistance from my hosting provider, I updated to PHP 7.4 and now I have access to the site again. No database re-import required.
Locked out of site after updating modules
Thank you very much. I will follow your advice.
Locked out of site after updating modules
The best you can do is test and report. If you find a contrib that doesn't work in php 8.3, create an issue in its queue so it gets fixed. In my experience, I've found that 7.4 is safest...
Locked out of site after updating modules