19 declare(strict_types=1);
35 if (!isset(self::$userResultCache[$objId])) {
36 self::$userResultCache[
$objId] = array();
39 if (!isset(self::$userResultCache[$objId][$usrId])) {
41 self::$userResultCache[
$objId][$usrId] = $ltiUserResult;
43 return self::$userResultCache[
$objId][$usrId];
60 $logger = $DIC->logger()->root();
65 $ltiMasteryScore = $object->getMasteryScore();
67 $logger->info(
"Getting LTI result for user $a_usr_id: " . $ltiResult->getResult());
69 if ($ltiResult->getResult() === 0) {
70 return self::LP_STATUS_FAILED_NUM;
71 } elseif (is_null($ltiResult->getResult())) {
72 return self::LP_STATUS_NOT_ATTEMPTED_NUM;
73 } elseif ($ltiResult->getResult() >= $ltiMasteryScore) {
74 return self::LP_STATUS_COMPLETED_NUM;
76 return self::LP_STATUS_FAILED_NUM;
79 $logger->info(
"No LTI result for user $a_usr_id");
82 return self::LP_STATUS_NOT_ATTEMPTED_NUM;
93 return (
int) $ltiResult->getResult() * 100;
Class ilLPStatusLtiOutcome.
determinePercentage(int $a_obj_id, int $a_usr_id, ?object $a_obj=null)
static array $userResultCache
ensureObject(int $objId, $object)
getLtiUserResult(int $objId, int $usrId)
static getByKeys(int $a_obj_id, int $a_usr_id, ?bool $a_create=false)
Get a result by object and user key.
determineStatus(int $a_obj_id, int $a_usr_id, object $a_obj=null)
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id