ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilAccessRBACTemplateAddedObjective Class Reference
+ Inheritance diagram for ilAccessRBACTemplateAddedObjective:
+ Collaboration diagram for ilAccessRBACTemplateAddedObjective:

Public Member Functions

 __construct (string $type, string $id, string $description, array $op_ids=[])
 
 getHash ()
 
 getLabel ()
 
 isNotable ()
 
 getPreconditions (Environment $environment)
 
 achieve (Environment $environment)
 
 isApplicable (Environment $environment)
 

Protected Attributes

string $type
 
string $id
 
string $description
 
array $op_ids
 

Detailed Description

Definition at line 10 of file class.ilAccessRBACTemplateAddedObjective.php.

Constructor & Destructor Documentation

◆ __construct()

ilAccessRBACTemplateAddedObjective::__construct ( string  $type,
string  $id,
string  $description,
array  $op_ids = [] 
)

Member Function Documentation

◆ achieve()

ilAccessRBACTemplateAddedObjective::achieve ( Environment  $environment)

Definition at line 48 of file class.ilAccessRBACTemplateAddedObjective.php.

References $description, $id, $type, and ILIAS\Setup\Environment\getResource().

48  : Environment
49  {
50  $db = $environment->getResource(Environment::RESOURCE_DATABASE);
51 
52  $tpl_id = $db->nextId("object_data");
53  $values = [
54  "obj_id" => ["integer", $tpl_id],
55  "type" => ["text", "rolt"],
56  "title" => ["text", $this->id],
57  "description" => ["text", $this->description],
58  "owner" => ["integer", -1],
59  "create_date" => ["timestamp", date("Y-m-d H:i:s")],
60  "last_update" => ["timestamp", date("Y-m-d H:i:s")]
61  ];
62  $db->insert("object_data", $values);
63 
64  $values = [
65  "rol_id" => ["integer", $tpl_id],
66  "parent" => ["integer", 8],
67  "assign" => ["text", "n"],
68  "protected" => ["text", "n"]
69  ];
70  $db->insert("rbac_fa", $values);
71 
72  foreach ($this->op_ids as $op_id) {
73  $values = [
74  "rol_id" => ["integer", $tpl_id],
75  "type" => ["text", $this->type],
76  "ops_id" => ["integer", $op_id],
77  "parent" => ["integer", 8]
78  ];
79  $db->insert("rbac_templates", $values);
80  }
81 
82  return $environment;
83  }
getResource(string $id)
Consumers of this method should check if the result is what they expect, e.g.
An environment holds resources to be used in the setup process.
Definition: Environment.php:27
+ Here is the call graph for this function:

◆ getHash()

ilAccessRBACTemplateAddedObjective::getHash ( )

Definition at line 25 of file class.ilAccessRBACTemplateAddedObjective.php.

25  : string
26  {
27  return hash("sha256", self::class);
28  }

◆ getLabel()

ilAccessRBACTemplateAddedObjective::getLabel ( )

Definition at line 30 of file class.ilAccessRBACTemplateAddedObjective.php.

30  : string
31  {
32  $op_ids = implode(",", $this->op_ids);
33  return "Add rbac template (type=$this->type;id=$this->id;description=$this->description;op_ids=$op_ids)";
34  }

◆ getPreconditions()

ilAccessRBACTemplateAddedObjective::getPreconditions ( Environment  $environment)

Definition at line 41 of file class.ilAccessRBACTemplateAddedObjective.php.

41  : array
42  {
43  return [
45  ];
46  }

◆ isApplicable()

ilAccessRBACTemplateAddedObjective::isApplicable ( Environment  $environment)

Definition at line 85 of file class.ilAccessRBACTemplateAddedObjective.php.

85  : bool
86  {
87  return (bool) count($this->op_ids);
88  }

◆ isNotable()

ilAccessRBACTemplateAddedObjective::isNotable ( )

Definition at line 36 of file class.ilAccessRBACTemplateAddedObjective.php.

36  : bool
37  {
38  return true;
39  }

Field Documentation

◆ $description

string ilAccessRBACTemplateAddedObjective::$description
protected

Definition at line 14 of file class.ilAccessRBACTemplateAddedObjective.php.

Referenced by __construct(), and achieve().

◆ $id

string ilAccessRBACTemplateAddedObjective::$id
protected

Definition at line 13 of file class.ilAccessRBACTemplateAddedObjective.php.

Referenced by __construct(), and achieve().

◆ $op_ids

array ilAccessRBACTemplateAddedObjective::$op_ids
protected

Definition at line 15 of file class.ilAccessRBACTemplateAddedObjective.php.

Referenced by __construct().

◆ $type

string ilAccessRBACTemplateAddedObjective::$type
protected

Definition at line 12 of file class.ilAccessRBACTemplateAddedObjective.php.

Referenced by __construct(), and achieve().


The documentation for this class was generated from the following file: