ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
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.

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 self::PATH.'class.ilLPStatusQuestions.php';
105 return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatusQuestions';
106
108 include_once 'Services/Tracking/classes/class.ilLPStatus.php';
109 return self::$class_by_obj_id[$a_obj_id] = 'ilLPStatus';
110
112 include_once 'Services/Object/classes/class.ilObjectLP.php';
113 $olp = ilObjectLP::getInstance($a_obj_id);
114 $mode = $olp->getCurrentMode();
116 {
117 return self::$class_by_obj_id[$a_obj_id] = self::_getClassById($a_obj_id, $mode);
118 }
119 // fallthrough
120
121 default:
122 echo "ilLPStatusFactory: unknown type ".$a_mode;
123 exit;
124 }
125 }
_getClassById($a_obj_id, $a_mode=NULL)
static getInstance($a_obj_id)
exit
Definition: login.php:54

References _getClassById(), 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_QUESTIONS, 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 _getClassById(), ilLPStatusWrapper\_getCompleted(), ilLPStatusWrapper\_getFailed(), ilLPStatusWrapper\_getInProgress(), ilLPStatusWrapper\_getNotAttempted(), ilLPStatusWrapper\_getStatusInfo(), ilLPStatusWrapper\_getTypicalLearningTime(), ilLPStatusWrapper\_lookupCompletedForObject(), ilLPStatusWrapper\_lookupFailedForObject(), ilLPStatusWrapper\_lookupInProgressForObject(), ilLMExplorerGUI\checkLPIcon(), ilTrQuery\getParticipantsForObject(), ilLearningProgressGUI\initCollectionManualForm(), ilLearningProgressGUI\showtlt(), ilTrackingTest\testLPMarks(), and ilLearningProgressGUI\updateManual().

+ 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 127 of file class.ilLPStatusFactory.php.

128 {
129 // id is ignored in the moment
130 switch($a_type)
131 {
132 case 'event':
133 include_once self::PATH.'class.ilLPStatusEvent.php';
134 return 'ilLPStatusEvent';
135
136 default:
137 echo "ilLPStatusFactory: unknown type: ".$a_type;
138 exit;
139 }
140 }

References exit.

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

+ Here is the caller graph for this function:

◆ _getInstance()

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

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

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

References _getInstance(), 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_QUESTIONS, 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(), _getInstance(), ilLPStatusWrapper\_refreshStatus(), ilLPStatusWrapper\_setDirty(), ilLPStatusWrapper\_updateStatus(), ilLPStatus\checkStatusForObject(), ilTrQuery\getObjectIds(), and ilTestLP\resetCustomLPDataForUserIds().

+ 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: