ILIAS  release_8 Revision v8.24
class.ilOrgUnitOperationQueries.php
Go to the documentation of this file.
1<?php
24{
35 public static function registerNewOperation(
36 string $operation_name,
37 string $description,
39 ): void {
40 $contextList = ilOrgUnitOperationContext::where(array('context' => $context));
41 if (!$contextList->hasSets()) {
42 throw new ilException('Context does not exist! register context first using ilOrgUnitOperationContext::registerNewContext()');
43 }
47 $ilOrgUnitOperationContext = $contextList->first();
48
50 'context_id' => $ilOrgUnitOperationContext->getId(),
51 'operation_string' => $operation_name,
52 ))->hasSets()
53 ) {
54 throw new ilException('This operation in this context has already been registered.');
55 }
56 $operation = new ilOrgUnitOperation();
57 $operation->setOperationString($operation_name);
58 $operation->setContextId($ilOrgUnitOperationContext->getId());
59 $operation->setDescription($description);
60 $operation->create();
61 }
62
69 string $operation_name,
70 string $description,
71 array $contexts
72 ): void {
73 foreach ($contexts as $context) {
74 self::registerNewOperation($operation_name, $description, $context);
75 }
76 }
77
81 public static function getOperationsForContextName(string $context_name): array
82 {
84 return ilOrgUnitOperation::where(array('context_id' => $context->getPopulatedContextIds()))
85 ->get();
86 }
87
91 public static function getOperationsForContextId(string $context_id): array
92 {
94 return ilOrgUnitOperation::where(array('context_id' => $context->getPopulatedContextIds()))
95 ->get();
96 }
97
101 public static function findById(int $operation_id): ActiveRecord /* ilOrgUnitOperation|ActiveRecord */
102 {
103 return ilOrgUnitOperation::findOrFail($operation_id);
104 }
105
106 public static function findByOperationString(
107 string $operation_string,
108 string $context_name
109 ): ?ActiveRecord /*ilOrgUnitOperation|ActiveRecord*/ {
111
112 return ilOrgUnitOperation::where(['operation_string' => $operation_string,
113 'context_id' => $context->getId()
114 ])->first();
115 }
116}
Class ActiveRecord.
static where($where, $operator=null)
static findOrFail($primary_key, array $add_constructor_args=array())
Tries to find the object and throws an Exception if object is not found, instead of returning null.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static registerNewOperationForMultipleContexts(string $operation_name, string $description, array $contexts)
static findByOperationString(string $operation_string, string $context_name)
static getOperationsForContextId(string $context_id)
static getOperationsForContextName(string $context_name)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$context
Definition: webdav.php:29