ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
class.ilCourseObjectiveResultCache.php
Go to the documentation of this file.
1 <?php
2 
19 declare(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 }
static isSuggested(int $a_usr_id, int $a_crs_id, int $a_objective_id)
Caches results for a specific user and course.
static readSuggested(int $a_usr_id, int $a_crs_id)
static _getSuggested(int $a_user_id, int $a_crs_id, string $a_status=self::IL_OBJECTIVE_STATUS_FINAL)
static getStatus(int $a_usr_id, int $a_crs_id)