1
0
mirror of https://github.com/typemill/typemill.git synced 2025-08-06 14:16:46 +02:00

Version 1.3.8: ACL Integration

This commit is contained in:
trendschau
2020-07-11 20:28:27 +02:00
parent 7d994c2230
commit 4f80e07810
44 changed files with 1033 additions and 576 deletions

View File

@@ -190,32 +190,29 @@ class Settings
public static function loadResources()
{
return ['content',
'mycontent',
'user',
'userlist',
'settings',
'themes',
'plugins'];
'system'];
}
public static function loadRolesAndPermissions()
{
$guest['name'] = 'guest';
$guest['inherits'] = NULL;
$guest['permissions'] = [];
$member['name'] = 'member';
$member['inherits'] = 'guest';
$member['inherits'] = NULL;
$member['permissions'] = ['user' => ['view','update','delete']];
$author['name'] = 'author';
$author['inherits'] = 'member';
$author['permissions'] = ['content' => ['view','create', 'update', 'delete']];
$author['permissions'] = ['mycontent' => ['view', 'create', 'update'],
'content' => ['view']];
$editor['name'] = 'editor';
$editor['inherits'] = 'author';
$editor['permissions'] = ['content' => ['publish', 'depublish']];
$editor['permissions'] = [ 'mycontent' => ['delete', 'publish', 'unpublish'],
'content' => ['create', 'update', 'delete', 'publish', 'unpublish']];
return [$guest, $member, $author, $editor];
return [$member, $author, $editor];
}
public static function createAcl($roles, $resources)
@@ -235,7 +232,8 @@ class Settings
foreach($roles as $role)
{
$acl->addRole(new Role($role['name']), $role['inherits']);
foreach($role['permissions'] as $resource => $permissions)
foreach($role['permissions'] as $resource => $permissions)
{
$acl->allow($role['name'], $resource, $permissions);
}