73 {
74 $client_ini = $environment->
getResource(
Setup\Environment::RESOURCE_CLIENT_INI);
75 $db = $environment->
getResource(Environment::RESOURCE_DATABASE);
76 $settings_factory = $environment->
getResource(Environment::RESOURCE_SETTINGS_FACTORY);
77
78 if (!defined("ROOT_FOLDER_ID")) {
79 define("ROOT_FOLDER_ID", (int) $client_ini->readVariable("system", "ROOT_FOLDER_ID"));
80 }
81 if (!defined("SYSTEM_FOLDER_ID")) {
82 define("SYSTEM_FOLDER_ID", $client_ini->readVariable("system", "SYSTEM_FOLDER_ID"));
83 }
84 if (!defined("ILIAS_LOG_ENABLED")) {
85 define("ILIAS_LOG_ENABLED", false);
86 }
87
88 $obj_type_id = $db->nextId("object_data");
89 $values = [
90 'obj_id' => ['integer', $obj_type_id],
91 'type' => ['text', 'typ'],
94 'owner' => ['integer', -1],
95 'create_date' => [
'timestamp',
date(
"Y-m-d H:i:s")],
96 'last_update' => [
'timestamp',
date(
"Y-m-d H:i:s")]
97 ];
98 $db->insert("object_data", $values);
99
100 $obj_id = $db->nextId("object_data");
101 $values = [
102 'obj_id' => ['integer', $obj_id],
106 'owner' => ['integer', -1],
107 'create_date' => [
'timestamp',
date(
"Y-m-d H:i:s")],
108 'last_update' => [
'timestamp',
date(
"Y-m-d H:i:s")]
109 ];
110 $db->insert("object_data", $values);
111
112 $ref_id = $db->nextId("object_reference");
113 $values = [
114 "obj_id" => ["integer", $obj_id],
115 "ref_id" => ["integer", $ref_id]
116 ];
117 $db->insert("object_reference", $values);
118
120 ->forSetupEnvironment($db, $settings_factory->settingsFor("common"))
121 ->build();
122
123 if ($this->parent_type) {
124 $set = $db->queryF(
125 "SELECT * FROM object_data " .
126 " WHERE type = %s ",
127 ["text"],
128 [$this->parent_type]
129 );
130 $rec = $db->fetchAssoc($set);
131
132 $set = $db->queryF(
133 "SELECT * FROM object_reference " .
134 " WHERE obj_id = %s ",
135 ["integer"],
136 [$rec["obj_id"]]
137 );
138 $rec = $db->fetchAssoc($set);
139 $parent_type_ref_id = $rec["ref_id"];
140
141 $tree->insertNode((
int) $ref_id, (
int) $parent_type_ref_id);
142 } else {
144 }
145
146 foreach ($this->rbac_ops as $ops_id) {
148 continue;
149 }
150 $values = [
151 "typ_id" => ["integer", $obj_type_id],
152 "ops_id" => ["integer", $ops_id]
153 ];
154 $db->insert("rbac_ta", $values);
155 }
156
157 return $environment;
158 }
@template-extends \ilTree
static _isRBACOperation(int $type_id, int $ops_id, ?\ilDBInterface $ilDB=null)
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.