ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilCourseObjectiveResultCache.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=0);
20
27{
28 private static array $suggested = [];
29 private static array $status = [];
30
31 public static function isSuggested(int $a_usr_id, int $a_crs_id, int $a_objective_id): bool
32 {
33 if (!isset(self::$suggested[$a_usr_id][$a_crs_id])) {
34 self::$suggested[$a_usr_id][$a_crs_id] = self::readSuggested($a_usr_id, $a_crs_id);
35 }
36 return in_array($a_objective_id, self::$suggested[$a_usr_id][$a_crs_id]);
37 }
38
39 public static function getStatus(int $a_usr_id, int $a_crs_id): string
40 {
41 if (isset(self::$status[$a_usr_id][$a_crs_id])) {
42 return self::$status[$a_usr_id][$a_crs_id];
43 }
44 $tmp_res = new ilCourseObjectiveResult($a_usr_id);
45 return self::$status[$a_usr_id][$a_crs_id] = $tmp_res->getStatus($a_crs_id);
46 }
47
48 protected static function readSuggested(int $a_usr_id, int $a_crs_id): array
49 {
50 return ilCourseObjectiveResult::_getSuggested($a_usr_id, $a_crs_id, self::getStatus($a_usr_id, $a_crs_id));
51 }
52}
Caches results for a specific user and course.
static readSuggested(int $a_usr_id, int $a_crs_id)
static getStatus(int $a_usr_id, int $a_crs_id)
static isSuggested(int $a_usr_id, int $a_crs_id, int $a_objective_id)
static _getSuggested(int $a_user_id, int $a_crs_id, string $a_status=self::IL_OBJECTIVE_STATUS_FINAL)