|
const | PARTS_REG = '/^(.*?xapiproxy\.php)(\/([^?]+)?\??(.*))/' |
|
const | TERMINATED_VERB = "http://adlnet.gov/expapi/verbs/terminated" |
|
Definition at line 22 of file XapiProxyPolyFill.php.
◆ __construct()
XapiProxy\XapiProxyPolyFill::__construct |
( |
string |
$client, |
|
|
string |
$token, |
|
|
?bool |
$plugin = false |
|
) |
| |
◆ getLrsType()
XapiProxy\XapiProxyPolyFill::getLrsType |
( |
| ) |
|
|
private |
- Returns
- |void|null
Definition at line 153 of file XapiProxyPolyFill.php.
References $_SERVER, Vendor\Package\$e, $objId, exit, and ilCmiXapiUser\saveProxySuccess().
163 $objId = $this->authToken->getObjId();
166 throw new \ilCmiXapiException(
167 'lrs endpoint (id=' . $this->authToken->getLrsTypeId() .
') unavailable (responded 401-unauthorized)' 171 $this->
log()->error($this->
msg($e->getMessage()));
172 header(
'Access-Control-Allow-Origin: ' .
$_SERVER[
"HTTP_ORIGIN"]);
173 header(
'Access-Control-Allow-Credentials: true');
174 header(
'HTTP/1.1 401 Unauthorized');
ilCmiXapiLrsType $lrsType
static saveProxySuccess(int $objId, int $usrId, int $privacyIdent)
getLrsTypeAndMoreByToken()
hybrid function, maybe two distinct functions would be better?
◆ getLrsTypeAndMoreByToken()
XapiProxy\XapiProxyPolyFill::getLrsTypeAndMoreByToken |
( |
| ) |
|
|
private |
hybrid function, maybe two distinct functions would be better?
- Returns
- |null
Definition at line 185 of file XapiProxyPolyFill.php.
References $GLOBALS, $query, $res, if, and ILIAS\Repository\int().
190 $query =
"SELECT {$this->table_prefix}_settings.lrs_type_id, 191 {$this->table_prefix}_settings.only_moveon, 192 {$this->table_prefix}_settings.achieved, 193 {$this->table_prefix}_settings.answered, 194 {$this->table_prefix}_settings.completed, 195 {$this->table_prefix}_settings.failed, 196 {$this->table_prefix}_settings.initialized, 197 {$this->table_prefix}_settings.passed, 198 {$this->table_prefix}_settings.progressed, 199 {$this->table_prefix}_settings.satisfied, 200 {$this->table_prefix}_settings.c_terminated, 201 {$this->table_prefix}_settings.hide_data, 202 {$this->table_prefix}_settings.c_timestamp, 203 {$this->table_prefix}_settings.duration, 204 {$this->table_prefix}_settings.no_substatements, 205 {$this->table_prefix}_settings.privacy_ident 206 FROM {$this->table_prefix}_settings, {$this->table_prefix}_token 207 WHERE {$this->table_prefix}_settings.obj_id = {$this->table_prefix}_token.obj_id AND {$this->table_prefix}_token.token = " . $db->quote($this->token,
'text');
210 while ($row = $db->fetchObject(
$res)) {
211 $type_id = (
int) $row->lrs_type_id;
214 $lrs = new \ilCmiXapiLrsType($type_id);
218 if ((
bool) $row->only_moveon) {
219 if ((
bool) $row->achieved) {
220 $sarr[] =
"https://w3id.org/xapi/dod-isd/verbs/achieved";
222 if ((
bool) $row->answered) {
223 $sarr[] =
"http://adlnet.gov/expapi/verbs/answered";
224 $sarr[] =
"https://w3id.org/xapi/dod-isd/verbs/answered";
226 if ((
bool) $row->completed) {
227 $sarr[] =
"http://adlnet.gov/expapi/verbs/completed";
228 $sarr[] =
"https://w3id.org/xapi/dod-isd/verbs/completed";
230 if ((
bool) $row->failed) {
231 $sarr[] =
"http://adlnet.gov/expapi/verbs/failed";
233 if ((
bool) $row->initialized) {
234 $sarr[] =
"http://adlnet.gov/expapi/verbs/initialized";
235 $sarr[] =
"https://w3id.org/xapi/dod-isd/verbs/initialized";
237 if ((
bool) $row->passed) {
238 $sarr[] =
"http://adlnet.gov/expapi/verbs/passed";
240 if ((
bool) $row->progressed) {
241 $sarr[] =
"http://adlnet.gov/expapi/verbs/progressed";
243 if ((
bool) $row->satisfied) {
244 $sarr[] =
"https://w3id.org/xapi/adl/verbs/satisfied";
246 if ((
bool) $row->c_terminated) {
247 $sarr[] =
"http://adlnet.gov/expapi/verbs/terminated";
249 if (count($sarr) > 0) {
250 $this->specificAllowedStatements = $sarr;
251 $this->
log()->debug($this->
msg(
'getSpecificAllowedStatements: ' . var_export($this->specificAllowedStatements,
true)));
254 if ((
bool) $row->hide_data) {
256 if ((
bool) $row->c_timestamp) {
257 $rarr[
'timestamp'] =
'1970-01-01T00:00:00.000Z';
259 if ((
bool) $row->duration) {
260 $rarr[
'result.duration'] =
'PT00.000S';
262 if (count($rarr) > 0) {
263 $this->replacedValues = $rarr;
264 $this->
log()->debug($this->
msg(
'getReplacedValues: ' . var_export($this->replacedValues,
true)));
267 if ((
bool) $row->no_substatements) {
268 $this->blockSubStatements =
true;
269 $this->
log()->debug($this->
msg(
'getBlockSubStatements: ' . $this->blockSubStatements));
271 $lrs->setPrivacyIdent((
int) $row->privacy_ident);
if(!file_exists(getcwd() . '/ilias.ini.php'))
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
◆ getLrsTypePlugin()
XapiProxy\XapiProxyPolyFill::getLrsTypePlugin |
( |
| ) |
|
|
private |
Definition at line 119 of file XapiProxyPolyFill.php.
References $_SERVER, Vendor\Package\$e, $GLOBALS, and exit.
125 $GLOBALS[
'DIC']->logger()->root()->log(
"XapiCmi5Plugin: 401 Unauthorized for token");
126 header(
'HTTP/1.1 401 Unauthorized');
127 header(
'Access-Control-Allow-Origin: ' .
$_SERVER[
"HTTP_ORIGIN"]);
128 header(
'Access-Control-Allow-Credentials: true');
142 $GLOBALS[
'DIC']->logger()->root()->log(
"XapiCmi5Plugin: " . $e->getMessage());
143 header(
'HTTP/1.1 401 Unauthorized');
144 header(
'Access-Control-Allow-Origin: ' .
$_SERVER[
"HTTP_ORIGIN"]);
145 header(
'Access-Control-Allow-Credentials: true');
ilCmiXapiLrsType $lrsType
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
getLrsTypeAndMoreByToken()
hybrid function, maybe two distinct functions would be better?
◆ initLrs()
XapiProxy\XapiProxyPolyFill::initLrs |
( |
| ) |
|
◆ log()
XapiProxy\XapiProxyPolyFill::log |
( |
| ) |
|
Definition at line 67 of file XapiProxyPolyFill.php.
References $log.
73 return \ilLoggerFactory::getLogger(
'cmix');
Component logger with individual log levels by component id.
◆ msg()
XapiProxy\XapiProxyPolyFill::msg |
( |
string |
$msg | ) |
|
◆ $authToken
◆ $blockSubStatements
bool XapiProxy\XapiProxyPolyFill::$blockSubStatements = false |
|
protected |
◆ $client
string XapiProxy\XapiProxyPolyFill::$client |
|
protected |
◆ $cmdParts
array XapiProxy\XapiProxyPolyFill::$cmdParts = [] |
|
protected |
◆ $defaultLrsEndpoint
string XapiProxy\XapiProxyPolyFill::$defaultLrsEndpoint = '' |
|
protected |
◆ $defaultLrsKey
string XapiProxy\XapiProxyPolyFill::$defaultLrsKey = '' |
|
protected |
◆ $defaultLrsSecret
string XapiProxy\XapiProxyPolyFill::$defaultLrsSecret = '' |
|
protected |
◆ $fallbackLrsEndpoint
string XapiProxy\XapiProxyPolyFill::$fallbackLrsEndpoint = '' |
|
protected |
◆ $fallbackLrsKey
string XapiProxy\XapiProxyPolyFill::$fallbackLrsKey = '' |
|
protected |
◆ $fallbackLrsSecret
string XapiProxy\XapiProxyPolyFill::$fallbackLrsSecret = '' |
|
protected |
◆ $lrsType
◆ $method
string XapiProxy\XapiProxyPolyFill::$method |
|
protected |
◆ $objId
int XapiProxy\XapiProxyPolyFill::$objId = null |
|
protected |
◆ $plugin
bool XapiProxy\XapiProxyPolyFill::$plugin = false |
|
protected |
◆ $replacedValues
array XapiProxy\XapiProxyPolyFill::$replacedValues = null |
|
protected |
◆ $sniffVerbs
array XapiProxy\XapiProxyPolyFill::$sniffVerbs |
|
protected |
Initial value:= array(
"http://adlnet.gov/expapi/verbs/completed" => "completed",
"http://adlnet.gov/expapi/verbs/passed" => "passed",
"http://adlnet.gov/expapi/verbs/failed" => "failed",
"http://adlnet.gov/expapi/verbs/satisfied" => "passed"
)
Definition at line 48 of file XapiProxyPolyFill.php.
◆ $specificAllowedStatements
array XapiProxy\XapiProxyPolyFill::$specificAllowedStatements = null |
|
protected |
◆ $table_prefix
string XapiProxy\XapiProxyPolyFill::$table_prefix |
|
protected |
◆ $token
string XapiProxy\XapiProxyPolyFill::$token |
|
protected |
◆ PARTS_REG
const XapiProxy\XapiProxyPolyFill::PARTS_REG = '/^(.*?xapiproxy\.php)(\/([^?]+)?\??(.*))/' |
◆ TERMINATED_VERB
const XapiProxy\XapiProxyPolyFill::TERMINATED_VERB = "http://adlnet.gov/expapi/verbs/terminated" |
The documentation for this class was generated from the following file: