5 include_once
'Services/Tracking/classes/class.ilLPObjSettings.php';
23 const PATH =
'Services/Tracking/classes/status/';
29 include_once
'Services/Object/classes/class.ilObjectLP.php';
31 $a_mode = $olp->getCurrentMode();
35 if (isset(self::$class_by_obj_id[$a_obj_id]))
37 return self::$class_by_obj_id[$a_obj_id];
44 include_once self::PATH.
'class.ilLPStatusVisits.php';
45 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusVisits';
48 include_once self::PATH.
'class.ilLPStatusCollection.php';
49 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusCollection';
52 include_once self::PATH.
'class.ilLPStatusTypicalLearningTime.php';
53 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusTypicalLearningTime';
56 include_once self::PATH.
'class.ilLPStatusSCORM.php';
57 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusSCORM';
60 include_once self::PATH.
'class.ilLPStatusTestFinished.php';
61 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusTestFinished';
64 include_once self::PATH.
'class.ilLPStatusTestPassed.php';
65 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusTestPassed';
68 include_once self::PATH.
'class.ilLPStatusManual.php';
69 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusManual';
72 include_once self::PATH.
'class.ilLPStatusManualByTutor.php';
73 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusManualByTutor';
76 include_once self::PATH.
'class.ilLPStatusExerciseReturned.php';
77 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusExerciseReturned';
80 include_once self::PATH.
'class.ilLPStatusObjectives.php';
81 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusObjectives';
84 include_once self::PATH.
'class.ilLPStatusSCORMPackage.php';
85 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusSCORMPackage';
88 include_once self::PATH.
'class.ilLPStatusEvent.php';
89 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusEvent';
92 include_once self::PATH.
'class.ilLPStatusPlugin.php';
93 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusPlugin';
96 include_once self::PATH.
'class.ilLPStatusCollectionTLT.php';
97 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusCollectionTLT';
100 include_once self::PATH.
'class.ilLPStatusCollectionManual.php';
101 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusCollectionManual';
104 include_once self::PATH.
'class.ilLPStatusQuestions.php';
105 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatusQuestions';
108 include_once
'Services/Tracking/classes/class.ilLPStatus.php';
109 return self::$class_by_obj_id[$a_obj_id] =
'ilLPStatus';
112 include_once
'Services/Object/classes/class.ilObjectLP.php';
114 $mode = $olp->getCurrentMode();
117 return self::$class_by_obj_id[$a_obj_id] = self::_getClassById($a_obj_id, $mode);
122 echo
"ilLPStatusFactory: unknown type ".$a_mode;
133 include_once self::PATH.
'class.ilLPStatusEvent.php';
134 return 'ilLPStatusEvent';
137 echo
"ilLPStatusFactory: unknown type: ".$a_type;
146 include_once
'Services/Object/classes/class.ilObjectLP.php';
148 $a_mode = $olp->getCurrentMode();
154 include_once self::PATH.
'class.ilLPStatusVisits.php';
158 include_once self::PATH.
'class.ilLPStatusCollection.php';
162 include_once self::PATH.
'class.ilLPStatusTypicalLearningTime.php';
166 include_once self::PATH.
'class.ilLPStatusSCORM.php';
170 include_once self::PATH.
'class.ilLPStatusTestFinished.php';
174 include_once self::PATH.
'class.ilLPStatusTestPassed.php';
178 include_once self::PATH.
'class.ilLPStatusManual.php';
182 include_once self::PATH.
'class.ilLPStatusManualByTutor.php';
186 include_once self::PATH.
'class.ilLPStatusExerciseReturned.php';
190 include_once self::PATH.
'class.ilLPStatusObjectives.php';
194 include_once self::PATH.
'class.ilLPStatusSCORMPackage.php';
198 include_once self::PATH.
'class.ilLPStatusEvent.php';
202 include_once self::PATH.
'class.ilLPStatusPlugin.php';
206 include_once self::PATH.
'class.ilLPStatusCollectionTLT.php';
210 include_once self::PATH.
'class.ilLPStatusCollectionManual.php';
214 include_once self::PATH.
'class.ilLPStatusQuestions.php';
218 include_once
'Services/Tracking/classes/class.ilLPStatus.php';
222 include_once
'Services/Object/classes/class.ilObjectLP.php';
224 $mode = $olp->getCurrentMode();
227 return self::_getInstance($a_obj_id, $mode);
232 echo
"ilLPStatusFactory: unknown type ".$a_mode;
const LP_MODE_MANUAL_BY_TUTOR
const LP_MODE_COLLECTION_MANUAL
const LP_MODE_COLLECTION_TLT
const LP_MODE_TEST_FINISHED
const LP_MODE_SCORM_PACKAGE
const LP_MODE_EXERCISE_RETURNED
Class ilLPStatusFactory Creates status class instances for learning progress modes of an object...
const LP_MODE_TEST_PASSED
_getInstance($a_obj_id, $a_mode=NULL)
const LP_MODE_DEACTIVATED
Abstract class ilLPStatus for all learning progress modes E.g ilLPStatusManual, ilLPStatusObjectives ...
_getClassByIdAndType($a_obj_id, $a_type)
static getInstance($a_obj_id)
_getClassById($a_obj_id, $a_mode=NULL)