ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilDBUpdateNewObjectType Class Reference

Helper class to create new object types (object_data, RBAC) More...

+ Collaboration diagram for ilDBUpdateNewObjectType:

Static Public Member Functions

static addNewType (string $type_id, string $type_title)
 Add new type to object data. More...
 
static addRBACOperations (int $type_id, array $operations)
 Add RBAC operations for type. More...
 
static addRBACOperation (int $type_id, int $ops_id)
 Add RBAC operation. More...
 
static isRBACOperation (int $type_id, int $ops_id)
 Check if rbac operation exists. More...
 
static deleteRBACOperation (string $type, int $ops_id)
 Delete rbac operation. More...
 
static deleteRBACTemplateOperation (string $type, int $ops_id)
 Delete operation for type in templates. More...
 
static getCustomRBACOperationId (string $operation)
 Get id of RBAC operation. More...
 
static addCustomRBACOperation (string $id, string $title, string $class, int $pos)
 Add custom RBAC operation. More...
 
static getObjectTypeId (string $type)
 Get id for object data type entry. More...
 
static addRBACCreate (string $id, string $title, array $parent_types)
 Add create RBAC operations for parent object types. More...
 
static updateOperationOrder (string $operation, int $pos)
 Change order of operations. More...
 
static addAdminNode (string $obj_type, string $title)
 Create new admin object node. More...
 
static cloneOperation (string $obj_type, int $source_op_id, int $target_op_id)
 Clone RBAC-settings between operations. More...
 
static setRolePermission (int $a_rol_id, string $a_type, array $a_ops, int $a_ref_id)
 
static applyInitialPermissionGuideline (string $objectType, bool $hasLearningProgress=false, bool $usedForAuthoring=false)
 This method will apply the 'Initial Permissions Guideline' when introducing new object types. More...
 

Data Fields

const RBAC_OP_EDIT_PERMISSIONS = 1
 
const RBAC_OP_VISIBLE = 2
 
const RBAC_OP_READ = 3
 
const RBAC_OP_WRITE = 4
 
const RBAC_OP_DELETE = 6
 
const RBAC_OP_COPY = 99
 

Static Protected Member Functions

static isValidRBACOperation (int $ops_id)
 Check if given RBAC operation id is valid. More...
 

Static Protected Attributes

static array $initialPermissionDefinition
 

Detailed Description

Helper class to create new object types (object_data, RBAC)

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Id
class.ilObjFolderGUI.php 25134 2010-08-13 14:22:11Z smeyer

Definition at line 29 of file class.ilDBUpdateNewObjectType.php.

Member Function Documentation

◆ addAdminNode()

static ilDBUpdateNewObjectType::addAdminNode ( string  $obj_type,
string  $title 
)
static

Create new admin object node.

Deprecated:
use Services/Tree/classes/Setup/class.ilTreeAdminNodeAddedObjective.php instead

Definition at line 430 of file class.ilDBUpdateNewObjectType.php.

430 : void
431 {
432 global $ilDB, $tree;
433
434 if (ilObject::_getObjectTypeIdByTitle($obj_type)) {
435 return;
436 }
437
438 $obj_type_id = self::addNewType($obj_type, $title);
439 $obj_id = $ilDB->nextId('object_data');
440 $values = [
441 'obj_id' => ['integer', $obj_id],
442 'type' => ['text', $obj_type],
443 'title' => ['text', $title],
444 'description' => ['text', $title],
445 'owner' => ['integer', -1],
446 'create_date' => ['timestamp', date("Y-m-d H:i:s")],
447 'last_update' => ['timestamp', date("Y-m-d H:i:s")]
448 ];
449 $ilDB->insert("object_data", $values);
450
451
452 $ref_id = $ilDB->nextId("object_reference");
453 $values = [
454 "obj_id" => ["integer", $obj_id],
455 "ref_id" => ["integer", $ref_id]
456 ];
457 $ilDB->insert("object_reference", $values);
458
459 // put in tree
460 require_once("components/ILIAS/Tree/classes/class.ilTree.php");
461 $tree = new ilTree(ROOT_FOLDER_ID);
462 $tree->insertNode($ref_id, SYSTEM_FOLDER_ID);
463
464 $rbac_ops = [
469 ];
470
471 self::addRBACOperations($obj_type_id, $rbac_ops);
472 }
static addRBACOperations(int $type_id, array $operations)
Add RBAC operations for type.
static addNewType(string $type_id, string $type_title)
Add new type to object data.
static _getObjectTypeIdByTitle(string $type, ?\ilDBInterface $ilDB=null)
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
const SYSTEM_FOLDER_ID
Definition: constants.php:35
const ROOT_FOLDER_ID
Definition: constants.php:32
$ref_id
Definition: ltiauth.php:66

References $ilDB, $ref_id, ilObject\_getObjectTypeIdByTitle(), addNewType(), addRBACOperations(), RBAC_OP_EDIT_PERMISSIONS, RBAC_OP_READ, RBAC_OP_VISIBLE, RBAC_OP_WRITE, ROOT_FOLDER_ID, and SYSTEM_FOLDER_ID.

+ Here is the call graph for this function:

◆ addCustomRBACOperation()

static ilDBUpdateNewObjectType::addCustomRBACOperation ( string  $id,
string  $title,
string  $class,
int  $pos 
)
static

Add custom RBAC operation.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessCustomRBACOperationAddedObjective.php instead

Definition at line 336 of file class.ilDBUpdateNewObjectType.php.

336 : int
337 {
338 global $ilDB;
339
340 // check if it already exists
342 if ($ops_id) {
343 return $ops_id;
344 }
345
346 if (!in_array($class, array('create', 'object', 'general'))) {
347 throw new InvalidArgumentException("Class type '$class' is not supportet by RBAC system.");
348 }
349 if ($class == 'create') {
350 $pos = 9999;
351 }
352
353 $ops_id = $ilDB->nextId('rbac_operations');
354
355 $fields = [
356 'ops_id' => ['integer', $ops_id],
357 'operation' => ['text', $id],
358 'description' => ['text', $title],
359 'class' => ['text', $class],
360 'op_order' => ['integer', $pos]
361 ];
362 $ilDB->insert('rbac_operations', $fields);
363
364 return $ops_id;
365 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
static _getCustomRBACOperationId(string $operation, ?\ilDBInterface $ilDB=null)

References $id, $ilDB, and ilRbacReview\_getCustomRBACOperationId().

Referenced by addRBACCreate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addNewType()

static ilDBUpdateNewObjectType::addNewType ( string  $type_id,
string  $type_title 
)
static

Add new type to object data.

Deprecated:
use Services/Object/classes/Setup/class.ilObjectNewTypeAddedObjective.php instead

Definition at line 142 of file class.ilDBUpdateNewObjectType.php.

142 : int
143 {
144 global $ilDB;
145 $db = $ilDB;
146
147 // check if it already exists
149 if ($id) {
150 return $id;
151 }
152
153 $id = $db->nextId("object_data");
154
155 $values = [
156 'obj_id' => ['integer', $id],
157 'type' => ['text', 'typ'],
158 'title' => ['text', $type_id],
159 'description' => ['text', $type_title],
160 'owner' => ['integer', -1],
161 'create_date' => ['timestamp', date("Y-m-d H:i:s")],
162 'last_update' => ['timestamp', date("Y-m-d H:i:s")]
163 ];
164
165 $db->insert("object_data", $values);
166
167 return $id;
168 }

References $id, $ilDB, and ilObject\_getObjectTypeIdByTitle().

Referenced by addAdminNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addRBACCreate()

static ilDBUpdateNewObjectType::addRBACCreate ( string  $id,
string  $title,
array  $parent_types 
)
static

Add create RBAC operations for parent object types.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessCustomRBACOperationAddedObjective.php instead use 'create' for class param

Definition at line 397 of file class.ilDBUpdateNewObjectType.php.

397 : void
398 {
399 $ops_id = self::addCustomRBACOperation($id, $title, 'create', 9999);
400
401 foreach ($parent_types as $type) {
402 $type_id = ilObject::_getObjectTypeIdByTitle($type);
403 if ($type_id) {
404 self::addRBACOperation($type_id, $ops_id);
405 }
406 }
407 }
static addRBACOperation(int $type_id, int $ops_id)
Add RBAC operation.
static addCustomRBACOperation(string $id, string $title, string $class, int $pos)
Add custom RBAC operation.

References $id, ilObject\_getObjectTypeIdByTitle(), addCustomRBACOperation(), and addRBACOperation().

+ Here is the call graph for this function:

◆ addRBACOperation()

static ilDBUpdateNewObjectType::addRBACOperation ( int  $type_id,
int  $ops_id 
)
static

Add RBAC operation.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessRBACOperationsAddedObjective.php instead

Definition at line 193 of file class.ilDBUpdateNewObjectType.php.

193 : bool
194 {
195 global $ilDB;
196
197 $sql =
198 "SELECT typ_id" . PHP_EOL
199 . "FROM rbac_ta" . PHP_EOL
200 . "WHERE typ_id = " . $ilDB->quote($type_id, "integer") . PHP_EOL
201 . "AND ops_id = " . $ilDB->quote($ops_id, "integer") . PHP_EOL
202 ;
203 $res = $ilDB->query($sql);
204
205 if ($ilDB->numRows($res)) {
206 return false;
207 }
208
209 $fields = [
210 'typ_id' => ['integer', $type_id],
211 'ops_id' => ['integer', $ops_id]
212 ];
213 $ilDB->insert('rbac_ta', $fields);
214
215 return true;
216 }
$res
Definition: ltiservices.php:69

References $ilDB, and $res.

Referenced by addRBACCreate(), and addRBACOperations().

+ Here is the caller graph for this function:

◆ addRBACOperations()

static ilDBUpdateNewObjectType::addRBACOperations ( int  $type_id,
array  $operations 
)
static

Add RBAC operations for type.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessRBACOperationsAddedObjective.php instead

Definition at line 175 of file class.ilDBUpdateNewObjectType.php.

175 : void
176 {
177 foreach ($operations as $ops_id) {
178 if (self::isValidRBACOperation($ops_id)) {
179 if ($ops_id == self::RBAC_OP_COPY) {
181 }
182
183 self::addRBACOperation($type_id, $ops_id);
184 }
185 }
186 }

References ilRbacReview\_getCustomRBACOperationId(), and addRBACOperation().

Referenced by addAdminNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ applyInitialPermissionGuideline()

static ilDBUpdateNewObjectType::applyInitialPermissionGuideline ( string  $objectType,
bool  $hasLearningProgress = false,
bool  $usedForAuthoring = false 
)
static

This method will apply the 'Initial Permissions Guideline' when introducing new object types.

This method does not apply permissions to existing obejcts in the ILIAS repository ('change existing objects').

Parameters
bool$hasLearningProgressA boolean flag whether the object type supports learning progress
bool$usedForAuthoringA boolean flag to tell whether the object type is mainly used for authoring
See also
https://www.ilias.de/docu/goto_docu_wiki_wpage_2273_1357.html
Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessInitialPermissionGuidelineAppliedObjective.php instead

Definition at line 579 of file class.ilDBUpdateNewObjectType.php.

583 : void {
584 global $DIC;
585
586 $ilDB = $DIC['ilDB'];
587
588 $objectTypeId = ilObject::_getObjectTypeIdByTitle($objectType);
589 if (!$objectTypeId) {
590 die("Something went wrong, there MUST be valid id for object_type " . $objectType);
591 }
592
593 $objectCreateOperationId = ilRbacReview::_getCustomRBACOperationId('create_' . $objectType);
594 if (!$objectCreateOperationId) {
595 die("Something went wrong, missing CREATE operation id for object type " . $objectType);
596 }
597
598 $globalRoleFolderId = 8; // Maybe there is another way to determine this id
599
600 $learningProgressPermissions = [];
601 if ($hasLearningProgress) {
602 $learningProgressPermissions = array_filter([
603 ilRbacReview::_getCustomRBACOperationId('read_learning_progress'),
604 ilRbacReview::_getCustomRBACOperationId('edit_learning_progress'),
605 ]);
606 }
607
608 foreach (self::$initialPermissionDefinition as $roleType => $roles) {
609 foreach ($roles as $roleTitle => $definition) {
610 if (
611 $usedForAuthoring &&
612 array_key_exists('ignore_for_authoring_objects', $definition) &&
613 true === $definition['ignore_for_authoring_objects']
614 ) {
615 continue;
616 }
617
618 if (array_key_exists('id', $definition) && is_numeric($definition['id'])) {
619 // According to JF (2018-07-02), some roles have to be selected by if, not by title
620 $query = "SELECT obj_id FROM object_data WHERE type = %s AND obj_id = %s";
621 $queryTypes = ['text', 'integer'];
622 $queryValues = [$roleType, $definition['id']];
623 } else {
624 $query = "SELECT obj_id FROM object_data WHERE type = %s AND title = %s";
625 $queryTypes = ['text', 'text'];
626 $queryValues = [$roleType, $roleTitle];
627 }
628
629 $res = $ilDB->queryF($query, $queryTypes, $queryValues);
630 if (1 == $ilDB->numRows($res)) {
631 $row = $ilDB->fetchAssoc($res);
632 $roleId = (int) $row['obj_id'];
633
634 $operationIds = [];
635
636 if (array_key_exists('object', $definition) && is_array($definition['object'])) {
637 $operationIds = array_merge($operationIds, $definition['object']);
638 }
639
640 if (array_key_exists('lp', $definition) && true === $definition['lp']) {
641 $operationIds = array_merge($operationIds, $learningProgressPermissions);
642 }
643
645 $roleId,
646 $objectType,
647 array_filter(array_map('intval', $operationIds)),
648 $globalRoleFolderId
649 );
650
651 if (array_key_exists('create', $definition) && is_array($definition['create'])) {
652 foreach ($definition['create'] as $containerObjectType) {
654 $roleId,
655 $containerObjectType,
656 [
657 $objectCreateOperationId
658 ],
659 $globalRoleFolderId
660 );
661 }
662 }
663 }
664 }
665 }
666 }
static setRolePermission(int $a_rol_id, string $a_type, array $a_ops, int $a_ref_id)
global $DIC
Definition: shib_login.php:26

◆ cloneOperation()

static ilDBUpdateNewObjectType::cloneOperation ( string  $obj_type,
int  $source_op_id,
int  $target_op_id 
)
static

Clone RBAC-settings between operations.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessRBACOperationClonedObjective.php instead

Definition at line 479 of file class.ilDBUpdateNewObjectType.php.

479 : void
480 {
481 global $ilDB;
482 $db = $ilDB;
483
484 $sql =
485 "SELECT rpa.rol_id, rpa.ops_id, rpa.ref_id" . PHP_EOL
486 . "FROM rbac_pa rpa" . PHP_EOL
487 . "JOIN object_reference ref ON (ref.ref_id = rpa.ref_id)" . PHP_EOL
488 . "JOIN object_data od ON (od.obj_id = ref.obj_id AND od.type = " . $db->quote($obj_type, "text") . ")" . PHP_EOL
489 . "WHERE (" . $db->like("ops_id", "text", "%i:" . $source_op_id . "%") . PHP_EOL
490 . "OR " . $db->like("ops_id", "text", "%:\"" . $source_op_id . "\";%") . ")" . PHP_EOL
491 ;
492
493 $res = $db->query($sql);
494 while ($row = $db->fetchAssoc($res)) {
495 $ops = unserialize($row["ops_id"]);
496 // the query above could match by array KEY, we need extra checks
497 if (in_array($source_op_id, $ops) && !in_array($target_op_id, $ops)) {
498 $ops[] = $target_op_id;
499
500 $sql =
501 "UPDATE rbac_pa" . PHP_EOL
502 . "SET ops_id = " . $db->quote(serialize($ops), "text") . PHP_EOL
503 . "WHERE rol_id = " . $db->quote($row["rol_id"], "integer") . PHP_EOL
504 . "AND ref_id = " . $db->quote($row["ref_id"], "integer") . PHP_EOL
505 ;
506
507 $db->manipulate($sql);
508 }
509 }
510
511 // rbac_templates
512 $tmp = [];
513 $sql =
514 "SELECT rol_id, parent, ops_id" . PHP_EOL
515 . "FROM rbac_templates" . PHP_EOL
516 . "WHERE type = " . $db->quote($obj_type, "text") . PHP_EOL
517 . "AND (ops_id = " . $db->quote($source_op_id, "integer") . PHP_EOL
518 . "OR ops_id = " . $db->quote($target_op_id, "integer") . ")" . PHP_EOL
519 ;
520
521 $res = $db->query($sql);
522 while ($row = $db->fetchAssoc($res)) {
523 $tmp[$row["rol_id"]][$row["parent"]][] = $row["ops_id"];
524 }
525
526 foreach ($tmp as $role_id => $parents) {
527 foreach ($parents as $parent_id => $ops_ids) {
528 // only if the target op is missing
529 if (count($ops_ids) < 2 && in_array($source_op_id, $ops_ids)) {
530 $values = [
531 "rol_id" => ["integer", $role_id],
532 "type" => ["text", $obj_type],
533 "ops_id" => ["integer", $target_op_id],
534 "parent" => ["integer", $parent_id]
535 ];
536
537 $db->insert("rbac_templates", $values);
538 }
539 }
540 }
541 }

References $ilDB, and $res.

◆ deleteRBACOperation()

static ilDBUpdateNewObjectType::deleteRBACOperation ( string  $type,
int  $ops_id 
)
static

Delete rbac operation.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessRBACOperationDeletedObjective.php instead

Definition at line 242 of file class.ilDBUpdateNewObjectType.php.

242 : void
243 {
244 global $ilDB;
245
246 if (!$type || !$ops_id) {
247 return;
248 }
249
250 $type_id = ilObject::_getObjectTypeIdByTitle($type);
251 if (!$type_id) {
252 return;
253 }
254
255 $sql =
256 "DELETE FROM rbac_ta" . PHP_EOL
257 . "WHERE typ_id = " . $ilDB->quote($type_id, "integer") . PHP_EOL
258 . "AND ops_id = " . $ilDB->quote($ops_id, "integer") . PHP_EOL
259 ;
260 $GLOBALS['ilLog']->write(__METHOD__ . ': ' . $sql);
261 $ilDB->manipulate($sql);
262
263 self::deleteRBACTemplateOperation($type, $ops_id);
264 }
static deleteRBACTemplateOperation(string $type, int $ops_id)
Delete operation for type in templates.
$GLOBALS["DIC"]
Definition: wac.php:54

References $GLOBALS, $ilDB, ilObject\_getObjectTypeIdByTitle(), and deleteRBACTemplateOperation().

+ Here is the call graph for this function:

◆ deleteRBACTemplateOperation()

static ilDBUpdateNewObjectType::deleteRBACTemplateOperation ( string  $type,
int  $ops_id 
)
static

Delete operation for type in templates.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessRBACOperationDeletedObjective.php instead

Definition at line 271 of file class.ilDBUpdateNewObjectType.php.

271 : void
272 {
273 global $ilDB;
274
275 if (!$type || !$ops_id) {
276 return;
277 }
278
279 $sql =
280 "DELETE FROM rbac_templates" . PHP_EOL
281 . "WHERE type = " . $ilDB->quote($type, "text") . PHP_EOL
282 . "ops_id = " . $ilDB->quote($ops_id, "integer") . PHP_EOL
283 ;
284 $GLOBALS['ilLog']->write(__METHOD__ . ': ' . $sql);
285 $ilDB->manipulate($sql);
286 }

References $GLOBALS, and $ilDB.

Referenced by deleteRBACOperation().

+ Here is the caller graph for this function:

◆ getCustomRBACOperationId()

static ilDBUpdateNewObjectType::getCustomRBACOperationId ( string  $operation)
static

Get id of RBAC operation.

Deprecated:
use ilRbacReview::_getCustomRBACOperationId instead

Definition at line 312 of file class.ilDBUpdateNewObjectType.php.

312 : ?int
313 {
314 global $ilDB;
315
316 $sql =
317 "SELECT ops_id" . PHP_EOL
318 . "FROM rbac_operations" . PHP_EOL
319 . "WHERE operation = " . $ilDB->quote($operation, "text") . PHP_EOL
320 ;
321
322 $res = $ilDB->query($sql);
323 if ($ilDB->numRows($res) == 0) {
324 return null;
325 }
326
327 $row = $ilDB->fetchAssoc($res);
328 return (int) $row["ops_id"] ?? null;
329 }

References $ilDB, and $res.

◆ getObjectTypeId()

static ilDBUpdateNewObjectType::getObjectTypeId ( string  $type)
static

Get id for object data type entry.

Deprecated:
use ilObject::_getObjectTypeIdByTitle() instead

Definition at line 372 of file class.ilDBUpdateNewObjectType.php.

372 : ?int
373 {
374 global $ilDB;
375
376 $sql =
377 "SELECT obj_id FROM object_data" . PHP_EOL
378 . "WHERE type = 'typ'" . PHP_EOL
379 . "AND title = " . $ilDB->quote($type, 'text') . PHP_EOL
380 ;
381
382 $res = $ilDB->query($sql);
383 if ($ilDB->numRows($res) == 0) {
384 return null;
385 }
386
387 $row = $ilDB->fetchAssoc($res);
388 return (int) $row['obj_id'] ?? null;
389 }

References $ilDB, and $res.

◆ isRBACOperation()

static ilDBUpdateNewObjectType::isRBACOperation ( int  $type_id,
int  $ops_id 
)
static

Check if rbac operation exists.

Deprecated:
use ilRbacReview::_isRBACOperation instead

Definition at line 223 of file class.ilDBUpdateNewObjectType.php.

223 : bool
224 {
225 global $ilDB;
226
227 $sql =
228 "SELECT typ_id" . PHP_EOL
229 . "FROM rbac_ta" . PHP_EOL
230 . "WHERE typ_id = " . $ilDB->quote($type_id, "integer") . PHP_EOL
231 . "AND ops_id = " . $ilDB->quote($ops_id, "integer") . PHP_EOL
232 ;
233
234 return (bool) $ilDB->numRows($ilDB->query($sql));
235 }

References $ilDB.

◆ isValidRBACOperation()

static ilDBUpdateNewObjectType::isValidRBACOperation ( int  $ops_id)
staticprotected

◆ setRolePermission()

static ilDBUpdateNewObjectType::setRolePermission ( int  $a_rol_id,
string  $a_type,
array  $a_ops,
int  $a_ref_id 
)
static
Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessRolePermissionSetObjective.php instead

Definition at line 546 of file class.ilDBUpdateNewObjectType.php.

546 : void
547 {
548 global $DIC;
549
550 $ilDB = $DIC['ilDB'];
551
552 foreach ($a_ops as $ops_id) {
553 if ($ops_id == self::RBAC_OP_COPY) {
555 }
556
557 $ilDB->replace(
558 'rbac_templates',
559 [
560 'rol_id' => ['integer', $a_rol_id],
561 'type' => ['text', $a_type],
562 'ops_id' => ['integer', $ops_id],
563 'parent' => ['integer', $a_ref_id]
564 ],
565 []
566 );
567 }
568 }

References $DIC, $ilDB, and ilRbacReview\_getCustomRBACOperationId().

+ Here is the call graph for this function:

◆ updateOperationOrder()

static ilDBUpdateNewObjectType::updateOperationOrder ( string  $operation,
int  $pos 
)
static

Change order of operations.

Deprecated:
use Services/AccessControl/classes/Setup/class.ilAccessRBACOperationOrderUpdatedObjective.php instead

Definition at line 414 of file class.ilDBUpdateNewObjectType.php.

414 : void
415 {
416 global $ilDB;
417
418 $ilDB->update(
419 'rbac_operations',
420 ['op_order' => ['integer', $pos]],
421 ['operation' => ['text', $operation]]
422 );
423 }

References $ilDB.

Field Documentation

◆ $initialPermissionDefinition

array ilDBUpdateNewObjectType::$initialPermissionDefinition
staticprotected

Definition at line 38 of file class.ilDBUpdateNewObjectType.php.

◆ RBAC_OP_COPY

const ilDBUpdateNewObjectType::RBAC_OP_COPY = 99

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

Referenced by isValidRBACOperation().

◆ RBAC_OP_DELETE

const ilDBUpdateNewObjectType::RBAC_OP_DELETE = 6

Definition at line 35 of file class.ilDBUpdateNewObjectType.php.

Referenced by isValidRBACOperation().

◆ RBAC_OP_EDIT_PERMISSIONS

const ilDBUpdateNewObjectType::RBAC_OP_EDIT_PERMISSIONS = 1

Definition at line 31 of file class.ilDBUpdateNewObjectType.php.

Referenced by addAdminNode(), and isValidRBACOperation().

◆ RBAC_OP_READ

const ilDBUpdateNewObjectType::RBAC_OP_READ = 3

Definition at line 33 of file class.ilDBUpdateNewObjectType.php.

Referenced by addAdminNode(), and isValidRBACOperation().

◆ RBAC_OP_VISIBLE

const ilDBUpdateNewObjectType::RBAC_OP_VISIBLE = 2

Definition at line 32 of file class.ilDBUpdateNewObjectType.php.

Referenced by addAdminNode(), and isValidRBACOperation().

◆ RBAC_OP_WRITE

const ilDBUpdateNewObjectType::RBAC_OP_WRITE = 4

Definition at line 34 of file class.ilDBUpdateNewObjectType.php.

Referenced by addAdminNode(), and isValidRBACOperation().


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