ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
class.ilAdministrationSetupAgent.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
37
43{
44 private const DROP_PERMISSIONS = [
45 1, // ilTreeAdminNodeAddedObjective::RBAC_OP_EDIT_PERMISSIONS,
46 2, // ilTreeAdminNodeAddedObjective::RBAC_OP_VISIBLE,
47 4, // ilTreeAdminNodeAddedObjective::RBAC_OP_WRITE,
48 ];
49
50 public function getUpdateObjective(?Config $config = null): Objective
51 {
52 $drop_visible = new DropPermissions('adm', [2]); // ilTreeAdminNodeAddedObjective::RBAC_OP_VISIBLE
53 return new ObjectiveCollection(
54 'Administration',
55 true,
61 // First drop visible then copy permissions then drop all except READ.
62 new DropPermissions('adm', self::DROP_PERMISSIONS, [
63 new CopyPermissions('adm', ilObjGeneralSettings::TYPE, [$drop_visible]),
64 new CopyPermissions('adm', ilObjServerInfo::TYPE, [$drop_visible]),
65 new CopyPermissions('adm', 'cron', [$drop_visible]),
66 new CopyPermissions('adm', ilObjBenchmark::TYPE, [$drop_visible]),
67 ]),
68 );
69 }
70
71 public function getStatusObjective(Metrics\Storage $storage): Objective
72 {
74 }
75}
ALL permissions are copied from the $src_type and all existing permissions are first deleted from $de...
An agent that just doesn't do a thing.
Definition: NullAgent.php:35
A objective collection is a objective that is achieved once all subobjectives are achieved.
This class attempt to achieve a set of database update steps.
A configuration for the setup.
Definition: Config.php:27
An objective is a desired state of the system that is supposed to be created by the setup.
Definition: Objective.php:31