19declare(strict_types=1);
38 return hash(
"sha256", self::class);
43 return "Remove visibility permissions from admin nodes";
63 $objective->achieve($environment);
82 $folder_id = (
int) $client_ini->readVariable(
'system',
'SYSTEM_FOLDER_ID');
93 JOIN object_reference r ON r.ref_id = t.child
94 JOIN object_data d1 ON d1.obj_id = r.obj_id
95 JOIN object_data d2 ON d2.`type` = 'typ' AND d2.title = d1.`type`
96 JOIN rbac_ta a ON a.typ_id = d2.obj_id AND a.ops_id = %s
98 AND d1.`type` <> 'usrf'
99 AND d1.`type` <> 'orgu'
103 $result =
$db->queryF($query, [
'integer',
'integer'], [self::RBAC_OP_VISIBLE, $folder_id]);
106 foreach (
$db->fetchAll($result) as $row) {
107 $types[] = (string) $row[
'type'];
const int RBAC_OP_VISIBLE
getTypesToChange(Environment $environment)
Get the types of admin nodes where the visible permission needs to be removed.
getLabel()
Get a label that describes this objective.
isApplicable(Environment $environment)
Get to know whether the objective is applicable.
getPreconditions(Environment $environment)
Objectives might depend on other objectives.
isNotable()
Get to know if this is an interesting objective for a human.
getHash()
Get a hash for this objective.
achieve(Environment $environment)
Objectives can be achieved.
INI file parser — compatibility wrapper.
An environment holds resources to be used in the setup process.
getResource(string $id)
Consumers of this method should check if the result is what they expect, e.g.
const RESOURCE_CLIENT_INI
An objective is a desired state of the system that is supposed to be created by the setup.