LTI Integration Library 4.10.3
PHP class library for building LTI integrations
 
Loading...
Searching...
No Matches
ApiHook.php
1<?php
2
3namespace ceLTIc\LTI\ApiHook;
4
13{
14
18 public static $USER_ID_HOOK = "UserId";
19
23 public static $CONTEXT_ID_HOOK = "ContextId";
24
28 public static $GROUPS_SERVICE_HOOK = "Groups";
29
33 public static $MEMBERSHIPS_SERVICE_HOOK = "Memberships";
34
38 public static $OUTCOMES_SERVICE_HOOK = "Outcomes";
39
43 public static $TOOL_SETTINGS_SERVICE_HOOK = "ToolSettings";
44
48 public static $ACCESS_TOKEN_SERVICE_HOOK = "AccessToken";
49
53 private static $API_HOOKS = array();
54
62 public static function registerApiHook($hookName, $familyCode, $className)
63 {
64 $objectClass = get_class();
65 self::$API_HOOKS["{$objectClass}-{$hookName}-{$familyCode}"] = $className;
66 }
67
76 private static function getApiHook($hookName, $familyCode)
77 {
78 $class = self::class;
79 return self::$API_HOOKS["{$class}-{$hookName}-{$familyCode}"];
80 }
81
90 private static function hasApiHook($hookName, $familyCode)
91 {
92 $class = self::class;
93 return isset(self::$API_HOOKS["{$class}-{$hookName}-{$familyCode}"]);
94 }
95
105 private static function hasConfiguredApiHook($hookName, $familyCode, $sourceObject)
106 {
107 $ok = false;
108 $class = self::class;
109 if (isset(self::$API_HOOKS["{$class}-{$hookName}-{$familyCode}"])) {
110 $className = self::$API_HOOKS["{$class}-{$hookName}-{$familyCode}"];
111 $hook = new $className($sourceObject);
112 $ok = $hook->isConfigured();
113 }
114
115 return $ok;
116 }
117
118}
119
120?>
Trait to handle API hook registrations.
Definition ApiHook.php:13
static $USER_ID_HOOK
User Id hook name.
Definition ApiHook.php:18
static $CONTEXT_ID_HOOK
Context Id hook name.
Definition ApiHook.php:23
static $TOOL_SETTINGS_SERVICE_HOOK
Tool Settings service hook name.
Definition ApiHook.php:43
static registerApiHook($hookName, $familyCode, $className)
Register the availability of an API hook.
Definition ApiHook.php:62
static $MEMBERSHIPS_SERVICE_HOOK
Memberships service hook name.
Definition ApiHook.php:33
static $OUTCOMES_SERVICE_HOOK
Outcomes service hook name.
Definition ApiHook.php:38
static $GROUPS_SERVICE_HOOK
Course Groups service hook name.
Definition ApiHook.php:28
static $ACCESS_TOKEN_SERVICE_HOOK
Access Token service hook name.
Definition ApiHook.php:48