ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilLPStatusStudyProgramme.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
13 include_once './Services/Tracking/classes/class.ilLPStatus.php';
14 
16 {
17  public static function _getCountInProgress($a_obj_id)
18  {
19  return count(self::_getInProgress($a_obj_id));
20  }
21 
22  public static function _getInProgress($a_obj_id)
23  {
24  require_once("Modules/StudyProgramme/classes/class.ilObjStudyProgramme.php");
25  $prg = new ilObjStudyProgramme($a_obj_id, false);
26  return $prg->getIdsOfUsersWithNotCompletedAndRelevantProgress();
27  }
28 
29  public static function _getCountCompleted($a_obj_id)
30  {
31  return count(self::_getCompleted($a_obj_id));
32  }
33 
34  public static function _getCompleted($a_obj_id)
35  {
36  require_once("Modules/StudyProgramme/classes/class.ilObjStudyProgramme.php");
37  $prg = new ilObjStudyProgramme($a_obj_id, false);
38  return $prg->getIdsOfUsersWithCompletedProgress();
39  }
40 
41  public static function _getFailed($a_obj_id)
42  {
43  require_once("Modules/StudyProgramme/classes/class.ilObjStudyProgramme.php");
44  $prg = new ilObjStudyProgramme($a_obj_id, false);
45  return $prg->getIdsOfUsersWithFailedProgress();
46  }
47 
48  public function determineStatus($a_obj_id, $a_user_id, $a_obj = null)
49  {
50  require_once("Modules/StudyProgramme/classes/class.ilObjStudyProgramme.php");
51  $prg = new ilObjStudyProgramme($a_obj_id, false);
52  $progresses = $prg->getProgressesOf($a_user_id);
53 
54  $relevant = false;
55  $failed = false;
56 
57  foreach ($progresses as $progress) {
58  if ($progress->isSuccessful()) {
59  if (!$progress->isSuccessfulExpired()) {
61  } else {
62  $failed = true;
63  }
64  }
65  if ($progress->isRelevant()) {
66  $relevant = true;
67  }
68 
69  //Careful, there is a writing function involved in the getter!
70  //see $progress->recalculateFailedToDeadline();
71  if ($progress->isFailed()) {
72  $failed = true;
73  }
74  }
75  if ($failed) {
77  }
78  if ($relevant) {
80  }
81 
83  }
84 }
const LP_STATUS_COMPLETED_NUM
const LP_STATUS_IN_PROGRESS_NUM
determineStatus($a_obj_id, $a_user_id, $a_obj=null)
$failed
Definition: Utf8Test.php:85
const LP_STATUS_NOT_ATTEMPTED_NUM
const LP_STATUS_FAILED_NUM