ILIAS  release_8 Revision v8.23
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 
49  if (ilOrgUnitOperation::where(array(
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 }
static findByOperationString(string $operation_string, string $context_name)
$context
Definition: webdav.php:29
static getOperationsForContextName(string $context_name)
static registerNewOperationForMultipleContexts(string $operation_name, string $description, array $contexts)
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...
static getOperationsForContextId(string $context_id)