18 public static $USER_ID_HOOK =
"UserId";
23 public static $CONTEXT_ID_HOOK =
"ContextId";
28 public static $GROUPS_SERVICE_HOOK =
"Groups";
33 public static $MEMBERSHIPS_SERVICE_HOOK =
"Memberships";
38 public static $OUTCOMES_SERVICE_HOOK =
"Outcomes";
43 public static $TOOL_SETTINGS_SERVICE_HOOK =
"ToolSettings";
48 public static $ACCESS_TOKEN_SERVICE_HOOK =
"AccessToken";
53 private static $API_HOOKS = array();
64 $objectClass = get_class();
65 self::$API_HOOKS[
"{$objectClass}-{$hookName}-{$familyCode}"] = $className;
76 private static function getApiHook($hookName, $familyCode)
79 return self::$API_HOOKS[
"{$class}-{$hookName}-{$familyCode}"];
90 private static function hasApiHook($hookName, $familyCode)
93 return isset(self::$API_HOOKS[
"{$class}-{$hookName}-{$familyCode}"]);
105 private static function hasConfiguredApiHook($hookName, $familyCode, $sourceObject)
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();
Trait to handle API hook registrations.
static $USER_ID_HOOK
User Id hook name.
static $CONTEXT_ID_HOOK
Context Id hook name.
static $TOOL_SETTINGS_SERVICE_HOOK
Tool Settings service hook name.
static registerApiHook($hookName, $familyCode, $className)
Register the availability of an API hook.
static $MEMBERSHIPS_SERVICE_HOOK
Memberships service hook name.
static $OUTCOMES_SERVICE_HOOK
Outcomes service hook name.
static $GROUPS_SERVICE_HOOK
Course Groups service hook name.
static $ACCESS_TOKEN_SERVICE_HOOK
Access Token service hook name.