ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilDidacticTemplateActionFactory.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
25{
26 public static function factoryByType(int $a_action_type): ilDidacticTemplateAction
27 {
28 switch ($a_action_type) {
31
34
37
38 default:
39 throw new InvalidArgumentException('Unknown action type given: ' . $a_action_type);
40 }
41 }
42
43 public static function factoryByTypeAndId(int $a_action_id, int $a_action_type): ilDidacticTemplateAction
44 {
45 switch ($a_action_type) {
47 return new ilDidacticTemplateLocalPolicyAction($a_action_id);
48
50 return new ilDidacticTemplateLocalRoleAction($a_action_id);
51
53 return new ilDidacticTemplateBlockRoleAction($a_action_id);
54
55 default:
56 throw new InvalidArgumentException('Unknown action type given: ' . $a_action_type);
57 }
58 }
59
65 public static function getActionsByTemplateId(int $a_tpl_id): array
66 {
67 global $DIC;
68
69 $ilDB = $DIC->database();
70
71 $query = 'SELECT id, type_id FROM didactic_tpl_a ' .
72 'WHERE tpl_id = ' . $ilDB->quote($a_tpl_id, \ilDBConstants::T_INTEGER);
73 $res = $ilDB->query($query);
74
75 $actions = [];
76 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
77 $actions[] = self::factoryByTypeAndId((int) $row->id, (int) $row->type_id);
78 }
79 return $actions;
80 }
81}
Factory for didactic template actions.
static factoryByTypeAndId(int $a_action_id, int $a_action_type)
static getActionsByTemplateId(int $a_tpl_id)
Get actions of one template.
Abstract class for template actions.
Description of ilDidacticTemplateBlockRoleAction.
represents a creation of local roles action
$res
Definition: ltiservices.php:69
global $DIC
Definition: shib_login.php:26