ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilIndividualAssessmentLPInterface.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
22 {
24 
25  public static function updateLPStatusOfMember(ilIndividualAssessmentMember $member): void
26  {
27  ilLPStatusWrapper::_updateStatus($member->assessmentId(), $member->id());
28  }
29 
30  public static function updateLPStatusByIds(int $iass_id, array $usr_ids): void
31  {
32  foreach ($usr_ids as $usr_id) {
33  ilLPStatusWrapper::_updateStatus($iass_id, $usr_id);
34  }
35  }
36 
37  public static function determineStatusOfMember(int $iass_id, int $usr_id): int
38  {
39  if (self::$members_storage === null) {
40  self::$members_storage = self::getMembersStorage();
41  }
42 
43  $iass = new ilObjIndividualAssessment($iass_id, false);
44  $members = $iass->loadMembers();
45  $usr = new ilObjUser($usr_id);
46 
47  if ($members->userAllreadyMember($usr)) {
48  $member = self::$members_storage->loadMember($iass, $usr);
49 
50  if ($member->finalized()) {
51  return $member->LPStatus();
52  } elseif (
53  in_array($member->LPStatus(), [
56  ])
57  ) {
59  }
60  }
61 
63  }
64 
66  {
67  global $DIC;
68  return new ilIndividualAssessmentMembersStorageDB($DIC['ilDB']);
69  }
70 
71  public static function getMembersHavingStatusIn(int $iass_id, int $status): array
72  {
73  if (self::$members_storage === null) {
74  self::$members_storage = self::getMembersStorage();
75  }
76  $members = self::$members_storage->loadMembers(new ilObjIndividualAssessment($iass_id, false));
77  $return = array();
78  foreach ($members as $usr_id => $record) {
79  if (self::determineStatusOfMember($iass_id, $usr_id) === $status) {
80  $return[] = $usr_id;
81  }
82  }
83  return $return;
84  }
85 
86  public static function isActiveLP(int $object_id): bool
87  {
88  return ilIndividualAssessmentLP::getInstance($object_id)->isActive();
89  }
90 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const LP_STATUS_IN_PROGRESS_NUM
static updateLPStatusOfMember(ilIndividualAssessmentMember $member)
static determineStatusOfMember(int $iass_id, int $usr_id)
static updateLPStatusByIds(int $iass_id, array $usr_ids)
global $DIC
Definition: feed.php:28
static getMembersHavingStatusIn(int $iass_id, int $status)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const LP_STATUS_NOT_ATTEMPTED_NUM
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static ilIndividualAssessmentMembersStorageDB $members_storage
static getInstance(int $obj_id)
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)