ILIAS  release_4-4 Revision
ilLPStatusFactory Class Reference

Class ilLPStatusFactory Creates status class instances for learning progress modes of an object. More...

+ Collaboration diagram for ilLPStatusFactory:

Public Member Functions

 _getClassById ($a_obj_id, $a_mode=NULL)
 
 _getClassByIdAndType ($a_obj_id, $a_type)
 
 _getInstance ($a_obj_id, $a_mode=NULL)
 

Data Fields

const PATH = 'Services/Tracking/classes/status/'
 

Static Private Attributes

static $class_by_obj_id = array()
 

Detailed Description

Class ilLPStatusFactory Creates status class instances for learning progress modes of an object.

E.g obj_id of course returns an instance of ilLPStatusManual, ilLPStatusObjectives ...

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 19 of file class.ilLPStatusFactory.php.

Member Function Documentation

◆ _getClassById()

ilLPStatusFactory::_getClassById (   $a_obj_id,
  $a_mode = NULL 
)

Definition at line 25 of file class.ilLPStatusFactory.php.

References exit, ilObjectLP\getInstance(), ilLPObjSettings\LP_MODE_COLLECTION, ilLPObjSettings\LP_MODE_COLLECTION_MANUAL, ilLPObjSettings\LP_MODE_COLLECTION_TLT, ilLPObjSettings\LP_MODE_DEACTIVATED, ilLPObjSettings\LP_MODE_EVENT, ilLPObjSettings\LP_MODE_EXERCISE_RETURNED, ilLPObjSettings\LP_MODE_MANUAL, ilLPObjSettings\LP_MODE_MANUAL_BY_TUTOR, ilLPObjSettings\LP_MODE_OBJECTIVES, ilLPObjSettings\LP_MODE_PLUGIN, ilLPObjSettings\LP_MODE_SCORM, ilLPObjSettings\LP_MODE_SCORM_PACKAGE, ilLPObjSettings\LP_MODE_TEST_FINISHED, ilLPObjSettings\LP_MODE_TEST_PASSED, ilLPObjSettings\LP_MODE_TLT, ilLPObjSettings\LP_MODE_UNDEFINED, and ilLPObjSettings\LP_MODE_VISITS.

Referenced by ilLPStatusWrapper\_getCompleted(), ilLPStatusWrapper\_getFailed(), ilLPStatusWrapper\_getInProgress(), ilLPStatusWrapper\_getNotAttempted(), ilLPStatusWrapper\_getStatusInfo(), ilLPStatusWrapper\_getTypicalLearningTime(), ilLPStatusWrapper\_lookupCompletedForObject(), ilLPStatusWrapper\_lookupFailedForObject(), ilLPStatusWrapper\_lookupInProgressForObject(), ilLMExplorer\checkLPIcon(), ilLMExplorerGUI\checkLPIcon(), ilTrQuery\getParticipantsForObject(), ilLearningProgressGUI\initCollectionManualForm(), ilLearningProgressGUI\showtlt(), ilTrackingTest\testLPMarks(), and ilLearningProgressGUI\updateManual().

26  {
27  if($a_mode === NULL)
28  {
29  include_once 'Services/Object/classes/class.ilObjectLP.php';
30  $olp = ilObjectLP::getInstance($a_obj_id);
31  $a_mode = $olp->getCurrentMode();
32 
33  // please keep the cache in this if-block, otherwise default values
34  // will not trigger the include_once calls
35  if (isset(self::$class_by_obj_id[$a_obj_id]))
36  {
37  return self::$class_by_obj_id[$a_obj_id];
38  }
39  }
40 
41  switch($a_mode)
42  {
44  include_once self::PATH.'class.ilLPStatusVisits.php';
45  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusVisits';
46 
48  include_once self::PATH.'class.ilLPStatusCollection.php';
49  return self::$class_by_obj_id[$a_obj_id] ='ilLPStatusCollection';
50 
52  include_once self::PATH.'class.ilLPStatusTypicalLearningTime.php';
53  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusTypicalLearningTime';
54 
56  include_once self::PATH.'class.ilLPStatusSCORM.php';
57  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusSCORM';
58 
60  include_once self::PATH.'class.ilLPStatusTestFinished.php';
61  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusTestFinished';
62 
64  include_once self::PATH.'class.ilLPStatusTestPassed.php';
65  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusTestPassed';
66 
68  include_once self::PATH.'class.ilLPStatusManual.php';
69  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusManual';
70 
72  include_once self::PATH.'class.ilLPStatusManualByTutor.php';
73  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusManualByTutor';
74 
76  include_once self::PATH.'class.ilLPStatusExerciseReturned.php';
77  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusExerciseReturned';
78 
80  include_once self::PATH.'class.ilLPStatusObjectives.php';
81  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusObjectives';
82 
84  include_once self::PATH.'class.ilLPStatusSCORMPackage.php';
85  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusSCORMPackage';
86 
88  include_once self::PATH.'class.ilLPStatusEvent.php';
89  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusEvent';
90 
92  include_once self::PATH.'class.ilLPStatusPlugin.php';
93  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusPlugin';
94 
96  include_once self::PATH.'class.ilLPStatusCollectionTLT.php';
97  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusCollectionTLT';
98 
100  include_once self::PATH.'class.ilLPStatusCollectionManual.php';
101  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusCollectionManual';
102 
104  include_once 'Services/Tracking/classes/class.ilLPStatus.php';
105  return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatus';
106 
108  include_once 'Services/Object/classes/class.ilObjectLP.php';
109  $olp = ilObjectLP::getInstance($a_obj_id);
110  $mode = $olp->getCurrentMode();
112  {
113  return self::$class_by_obj_id[$a_obj_id] = self::_getClassById($a_obj_id, $mode);
114  }
115  // fallthrough
116 
117  default:
118  echo "ilLPStatusFactory: unknown type ".$a_mode;
119  exit;
120  }
121  }
exit
Definition: login.php:54
static getInstance($a_obj_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getClassByIdAndType()

ilLPStatusFactory::_getClassByIdAndType (   $a_obj_id,
  $a_type 
)

Definition at line 123 of file class.ilLPStatusFactory.php.

References exit.

Referenced by ilLPStatusWrapper\_getCompletedByType(), ilLPStatusWrapper\_getFailedByType(), ilLPStatusWrapper\_getInProgressByType(), ilLPStatusWrapper\_getNotAttemptedByType(), and ilLPStatusWrapper\_getStatusInfoByType().

124  {
125  // id is ignored in the moment
126  switch($a_type)
127  {
128  case 'event':
129  include_once self::PATH.'class.ilLPStatusEvent.php';
130  return 'ilLPStatusEvent';
131 
132  default:
133  echo "ilLPStatusFactory: unknown type: ".$a_type;
134  exit;
135  }
136  }
exit
Definition: login.php:54
+ Here is the caller graph for this function:

◆ _getInstance()

ilLPStatusFactory::_getInstance (   $a_obj_id,
  $a_mode = NULL 
)

Definition at line 138 of file class.ilLPStatusFactory.php.

References exit, ilObjectLP\getInstance(), ilLPObjSettings\LP_MODE_COLLECTION, ilLPObjSettings\LP_MODE_COLLECTION_MANUAL, ilLPObjSettings\LP_MODE_COLLECTION_TLT, ilLPObjSettings\LP_MODE_DEACTIVATED, ilLPObjSettings\LP_MODE_EVENT, ilLPObjSettings\LP_MODE_EXERCISE_RETURNED, ilLPObjSettings\LP_MODE_MANUAL, ilLPObjSettings\LP_MODE_MANUAL_BY_TUTOR, ilLPObjSettings\LP_MODE_OBJECTIVES, ilLPObjSettings\LP_MODE_PLUGIN, ilLPObjSettings\LP_MODE_SCORM, ilLPObjSettings\LP_MODE_SCORM_PACKAGE, ilLPObjSettings\LP_MODE_TEST_FINISHED, ilLPObjSettings\LP_MODE_TEST_PASSED, ilLPObjSettings\LP_MODE_TLT, ilLPObjSettings\LP_MODE_UNDEFINED, and ilLPObjSettings\LP_MODE_VISITS.

Referenced by ilLPStatusWrapper\_determineStatus(), ilLPStatusWrapper\_refreshStatus(), ilLPStatusWrapper\_setDirty(), ilLPStatusWrapper\_updateStatus(), ilLPStatus\checkStatusForObject(), and ilTrQuery\getObjectIds().

139  {
140  if($a_mode === NULL)
141  {
142  include_once 'Services/Object/classes/class.ilObjectLP.php';
143  $olp = ilObjectLP::getInstance($a_obj_id);
144  $a_mode = $olp->getCurrentMode();
145  }
146 
147  switch($a_mode)
148  {
150  include_once self::PATH.'class.ilLPStatusVisits.php';
151  return new ilLPStatusVisits($a_obj_id);
152 
154  include_once self::PATH.'class.ilLPStatusCollection.php';
155  return new ilLPStatusCollection($a_obj_id);
156 
158  include_once self::PATH.'class.ilLPStatusTypicalLearningTime.php';
159  return new ilLPStatusTypicalLearningTime($a_obj_id);
160 
162  include_once self::PATH.'class.ilLPStatusSCORM.php';
163  return new ilLPStatusSCORM($a_obj_id);
164 
166  include_once self::PATH.'class.ilLPStatusTestFinished.php';
167  return new ilLPStatusTestFinished($a_obj_id);
168 
170  include_once self::PATH.'class.ilLPStatusTestPassed.php';
171  return new ilLPStatusTestPassed($a_obj_id);
172 
174  include_once self::PATH.'class.ilLPStatusManual.php';
175  return new ilLPStatusManual($a_obj_id);
176 
178  include_once self::PATH.'class.ilLPStatusManualByTutor.php';
179  return new ilLPStatusManualByTutor($a_obj_id);
180 
182  include_once self::PATH.'class.ilLPStatusExerciseReturned.php';
183  return new ilLPStatusExerciseReturned($a_obj_id);
184 
186  include_once self::PATH.'class.ilLPStatusObjectives.php';
187  return new ilLPStatusObjectives($a_obj_id);
188 
190  include_once self::PATH.'class.ilLPStatusSCORMPackage.php';
191  return new ilLPStatusSCORMPackage($a_obj_id);
192 
194  include_once self::PATH.'class.ilLPStatusEvent.php';
195  return new ilLPStatusEvent($a_obj_id);
196 
198  include_once self::PATH.'class.ilLPStatusPlugin.php';
199  return new ilLPStatusPlugin($a_obj_id);
200 
202  include_once self::PATH.'class.ilLPStatusCollectionTLT.php';
203  return new ilLPStatusCollectionTLT($a_obj_id);
204 
206  include_once self::PATH.'class.ilLPStatusCollectionManual.php';
207  return new ilLPStatusCollectionManual($a_obj_id);
208 
210  include_once 'Services/Tracking/classes/class.ilLPStatus.php';
211  return new ilLPStatus($a_obj_id);
212 
214  include_once 'Services/Object/classes/class.ilObjectLP.php';
215  $olp = ilObjectLP::getInstance($a_obj_id);
216  $mode = $olp->getCurrentMode();
218  {
219  return self::_getInstance($a_obj_id, $mode);
220  }
221  // fallthrough
222 
223  default:
224  echo "ilLPStatusFactory: unknown type ".$a_mode;
225  exit;
226  }
227  }
exit
Definition: login.php:54
Abstract class ilLPStatus for all learning progress modes E.g ilLPStatusManual, ilLPStatusObjectives ...
static getInstance($a_obj_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $class_by_obj_id

ilLPStatusFactory::$class_by_obj_id = array()
staticprivate

Definition at line 21 of file class.ilLPStatusFactory.php.

◆ PATH

const ilLPStatusFactory::PATH = 'Services/Tracking/classes/status/'

Definition at line 23 of file class.ilLPStatusFactory.php.


The documentation for this class was generated from the following file: