ILIAS
trunk Revision v12.0_alpha-377-g3641b37b9db
◀ ilDoc Overview
class.ilAdministrationSetupAgent.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\Administration\Setup
;
22
23
use
ILIAS\Setup\Agent\NullAgent
;
24
use
ILIAS\Setup\Objective
;
25
use
ILIAS\Setup\Metrics
;
26
use
ILIAS\Setup\Config
;
27
use
ilDatabaseUpdateStepsExecutedObjective
;
28
use
ilDatabaseUpdateStepsMetricsCollectedObjective
;
29
use
ILIAS\Setup\ObjectiveCollection
;
30
use
ilObjGeneralSettings
;
31
use
ilTreeAdminNodeAddedObjective
;
32
use
ilObjServerInfo
;
33
use
ilAccessRBACOperationDeletedObjective
;
34
use
ILIAS\Administration\Setup\Objective\DropPermissions
;
35
use
ILIAS\Administration\Setup\Objective\CopyPermissions
;
36
use
ilObjBenchmark
;
37
42
class
ilAdministrationSetupAgent
extends
NullAgent
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
,
56
new
ilDatabaseUpdateStepsExecutedObjective
(
new
ilAdministrationDBUpdateSteps
()),
57
new
ilTreeAdminNodeAddedObjective
(
ilObjGeneralSettings::TYPE
,
'General Settings'
),
58
new
ilTreeAdminNodeAddedObjective
(
ilObjServerInfo::TYPE
,
'Server Info'
),
59
new
AdminNodesVisibilityRemovedObjective
(),
60
new
ExternalToolsRemovedObjective
(),
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
{
73
return
new
ilDatabaseUpdateStepsMetricsCollectedObjective
($storage,
new
ilAdministrationDBUpdateSteps
());
74
}
75
}
ILIAS\Administration\Setup\AdminNodesVisibilityRemovedObjective
Definition:
AdminNodesVisibilityRemovedObjective.php:32
ILIAS\Administration\Setup\ExternalToolsRemovedObjective
Definition:
ExternalToolsRemovedObjective.php:33
ILIAS\Administration\Setup\Objective\CopyPermissions
ALL permissions are copied from the $src_type and all existing permissions are first deleted from $de...
Definition:
CopyPermissions.php:35
ILIAS\Administration\Setup\Objective\DropPermissions
Definition:
DropPermissions.php:33
ILIAS\Administration\Setup\ilAdministrationDBUpdateSteps
Class ilAdministrationDBUpdateSteps.
Definition:
class.ilAdministrationDBUpdateSteps.php:31
ILIAS\Administration\Setup\ilAdministrationSetupAgent
Class ilAdministrationSetupAgent.
Definition:
class.ilAdministrationSetupAgent.php:43
ILIAS\Administration\Setup\ilAdministrationSetupAgent\DROP_PERMISSIONS
const DROP_PERMISSIONS
Definition:
class.ilAdministrationSetupAgent.php:44
ILIAS\Administration\Setup\ilAdministrationSetupAgent\getStatusObjective
getStatusObjective(Metrics\Storage $storage)
@inheritdocs
Definition:
class.ilAdministrationSetupAgent.php:71
ILIAS\Administration\Setup\ilAdministrationSetupAgent\getUpdateObjective
getUpdateObjective(?Config $config=null)
@inheritdocs
Definition:
class.ilAdministrationSetupAgent.php:50
ILIAS\Setup\Agent\NullAgent
An agent that just doesn't do a thing.
Definition:
NullAgent.php:35
ILIAS\Setup\ObjectiveCollection
A objective collection is a objective that is achieved once all subobjectives are achieved.
Definition:
ObjectiveCollection.php:27
ilAccessRBACOperationDeletedObjective
Definition:
class.ilAccessRBACOperationDeletedObjective.php:25
ilDatabaseUpdateStepsExecutedObjective
This class attempt to achieve a set of database update steps.
Definition:
class.ilDatabaseUpdateStepsExecutedObjective.php:28
ilDatabaseUpdateStepsMetricsCollectedObjective
Definition:
class.ilDatabaseUpdateStepsMetricsCollectedObjective.php:27
ilObjBenchmark
Definition:
class.ilObjBenchmark.php:22
ilObjBenchmark\TYPE
const string TYPE
Definition:
class.ilObjBenchmark.php:23
ilObjGeneralSettings
Definition:
class.ilObjGeneralSettings.php:22
ilObjGeneralSettings\TYPE
const string TYPE
Definition:
class.ilObjGeneralSettings.php:23
ilObjServerInfo
Definition:
class.ilObjServerInfo.php:22
ilObjServerInfo\TYPE
const string TYPE
Definition:
class.ilObjServerInfo.php:23
ilTreeAdminNodeAddedObjective
Definition:
class.ilTreeAdminNodeAddedObjective.php:26
ILIAS\Setup\Config
A configuration for the setup.
Definition:
Config.php:27
ILIAS\Setup\Metrics\Storage
Definition:
Storage.php:24
ILIAS\Setup\Objective
An objective is a desired state of the system that is supposed to be created by the setup.
Definition:
Objective.php:31
ILIAS\Administration\Setup
Definition:
AdminNodesVisibilityRemovedObjective.php:21
ILIAS\Setup\Metrics
Definition:
ArrayStorage.php:21
ILIAS\Setup\Objective
Definition:
AdminConfirmedObjective.php:21
components
ILIAS
Administration
classes
Setup
class.ilAdministrationSetupAgent.php
Generated on Sat Dec 13 2025 23:01:37 for ILIAS by
1.9.4 (using
Doxyfile
)