19 declare(strict_types=1);
    21 require_once __DIR__ . 
'/../vendor/composer/vendor/autoload.php';
    37     $error = array(
'error-code' => 3,
'error-text' => 
'invalid request: missing or empty param request parameter');
    44     $param = json_decode(openssl_decrypt(
    61     $error = array(
'error-code' => 
'3',
'error-text' => 
'internal server error');
    69         $tokenCmi5Session = 
$token->getCmi5Session();
    70         $alreadyReturnedCmi5Session = 
$token->getReturnedForCmi5Session();
    71         if ($tokenCmi5Session == $alreadyReturnedCmi5Session) {
    76                 $error = array(
'error-code' => 
'1',
'error-text' => 
'The authorization token has already been returned.');
    80         $token->setReturnedForCmi5Session($tokenCmi5Session);
    83     if ($object->isBypassProxyEnabled()) {
    84         $authToken = $object->getLrsType()->getBasicAuthWithoutBasic();
    93     $error = array(
'error-code' => 
'2',
'error-text' => 
'could not create valid session from token.');
   100         header(
'Access-Control-Allow-Origin: ' . 
$_SERVER[
"HTTP_ORIGIN"]);
   102     header(
'Access-Control-Allow-Credentials: true');
   103     header(
'Content-type:application/json;charset=utf-8');
 $tokenRestriction
see: https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md#fetch_url response should al...
 
const OPENSSL_ENCRYPTION_METHOD
 
static initILIAS()
ilias initialisation 
 
static getInstanceByObjIdAndRefIdAndUsrId(int $objId, int $refId, int $usrId, bool $checkValid=true)
 
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id 
 
catch(ilCmiXapiException $e) send($response)