19 declare(strict_types=1);
33 self::RBAC_OP_EDIT_PERMISSIONS,
34 self::RBAC_OP_VISIBLE,
43 public function __construct(
string $type,
string $title,
string $parent_type =
"")
52 return hash(
"sha256", self::class .
"::" . $this->type);
57 return "Add new admin node to tree (type=$this->type;title=$this->title)";
75 $client_ini = $environment->
getResource(
Setup\Environment::RESOURCE_CLIENT_INI);
76 $db = $environment->
getResource(Environment::RESOURCE_DATABASE);
87 if (!defined(
"ROOT_FOLDER_ID")) {
88 define(
"ROOT_FOLDER_ID", (
int) $client_ini->readVariable(
"system",
"ROOT_FOLDER_ID"));
90 if (!defined(
"SYSTEM_FOLDER_ID")) {
91 define(
"SYSTEM_FOLDER_ID", $client_ini->readVariable(
"system",
"SYSTEM_FOLDER_ID"));
93 if (!defined(
"ILIAS_LOG_ENABLED")) {
94 define(
"ILIAS_LOG_ENABLED",
false);
97 $obj_type_id = $db->nextId(
"object_data");
99 'obj_id' => [
'integer', $obj_type_id],
100 'type' => [
'text',
'typ'],
103 'owner' => [
'integer', -1],
104 'create_date' => [
'timestamp', date(
"Y-m-d H:i:s")],
105 'last_update' => [
'timestamp', date(
"Y-m-d H:i:s")]
107 $db->insert(
"object_data", $values);
109 $obj_id = $db->nextId(
"object_data");
111 'obj_id' => [
'integer', $obj_id],
115 'owner' => [
'integer', -1],
116 'create_date' => [
'timestamp', date(
"Y-m-d H:i:s")],
117 'last_update' => [
'timestamp', date(
"Y-m-d H:i:s")]
119 $db->insert(
"object_data", $values);
121 $ref_id = $db->nextId(
"object_reference");
123 "obj_id" => [
"integer", $obj_id],
124 "ref_id" => [
"integer",
$ref_id]
126 $db->insert(
"object_reference", $values);
133 if ($this->parent_type) {
135 "SELECT * FROM object_data " .
140 $rec = $db->fetchAssoc($set);
143 "SELECT * FROM object_reference " .
144 " WHERE obj_id = %s ",
148 $rec = $db->fetchAssoc($set);
149 $parent_type_ref_id = $rec[
"ref_id"];
151 $tree->insertNode((
int)
$ref_id, (
int) $parent_type_ref_id);
156 foreach ($this->rbac_ops as $ops_id) {
161 "typ_id" => [
"integer", $obj_type_id],
162 "ops_id" => [
"integer", $ops_id]
164 $db->insert(
"rbac_ta", $values);
176 $db = $environment->
getResource(Environment::RESOURCE_DATABASE);
achieve(Environment $environment)
Customizing of pimple-DIC for ILIAS.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
getPreconditions(Environment $environment)
static _isRBACOperation(int $type_id, int $ops_id, ?\ilDBInterface $ilDB=null)
const RBAC_OP_EDIT_PERMISSIONS
getResource(string $id)
Consumers of this method should check if the result is what they expect, e.g.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
isApplicable(Environment $environment)
An environment holds resources to be used in the setup process.
static _getObjectTypeIdByTitle(string $type, ?\ilDBInterface $ilDB=null)
__construct(string $type, string $title, string $parent_type="")