52 protected static $map = array(
54 self::LP_MODE_DEACTIVATED => array(
'ilLPStatus',
55 'trac_mode_deactivated',
'trac_mode_deactivated_info_new')
57 ,self::LP_MODE_TLT => array(
'ilLPStatusTypicalLearningTime',
58 'trac_mode_tlt',
'trac_mode_tlt_info')
60 ,self::LP_MODE_VISITS => array(
'ilLPStatusVisits',
61 'trac_mode_visits',
'trac_mode_visits_info')
63 ,self::LP_MODE_MANUAL => array(
'ilLPStatusManual',
64 'trac_mode_manual',
'trac_mode_manual_info')
66 ,self::LP_MODE_OBJECTIVES => array(
'ilLPStatusObjectives',
67 'trac_mode_objectives',
'trac_mode_objectives_info')
69 ,self::LP_MODE_COLLECTION => array(
'ilLPStatusCollection',
70 'trac_mode_collection',
'trac_mode_collection_info')
72 ,self::LP_MODE_SCORM => array(
'ilLPStatusSCORM',
73 'trac_mode_scorm',
'trac_mode_scorm_info')
75 ,self::LP_MODE_TEST_FINISHED => array(
'ilLPStatusTestFinished',
76 'trac_mode_test_finished',
'trac_mode_test_finished_info')
78 ,self::LP_MODE_TEST_PASSED => array(
'ilLPStatusTestPassed',
79 'trac_mode_test_passed',
'trac_mode_test_passed_info')
81 ,self::LP_MODE_EXERCISE_RETURNED => array(
'ilLPStatusExerciseReturned',
82 'trac_mode_exercise_returned',
'trac_mode_exercise_returned_info')
84 ,self::LP_MODE_EVENT => array(
'ilLPStatusEvent',
85 'trac_mode_event',
'trac_mode_event_info')
87 ,self::LP_MODE_MANUAL_BY_TUTOR => array(
'ilLPStatusManualByTutor',
88 'trac_mode_manual_by_tutor',
'trac_mode_manual_by_tutor_info')
90 ,self::LP_MODE_SCORM_PACKAGE => array(
'ilLPStatusSCORMPackage',
91 'trac_mode_scorm_package',
'trac_mode_scorm_package_info')
93 ,self::LP_MODE_UNDEFINED =>
null
95 ,self::LP_MODE_PLUGIN => array(
'ilLPStatusPlugin',
96 'trac_mode_plugin',
'')
98 ,self::LP_MODE_COLLECTION_TLT => array(
'ilLPStatusCollectionTLT',
99 'trac_mode_collection_tlt',
'trac_mode_collection_tlt_info')
101 ,self::LP_MODE_COLLECTION_MANUAL => array(
'ilLPStatusCollectionManual',
102 'trac_mode_collection_manual',
'trac_mode_collection_manual_info')
104 ,self::LP_MODE_QUESTIONS => array(
'ilLPStatusQuestions',
105 'trac_mode_questions',
'trac_mode_questions_info')
107 ,self::LP_MODE_SURVEY_FINISHED => array(
'ilLPStatusSurveyFinished',
108 'trac_mode_survey_finished',
'trac_mode_survey_finished_info')
110 ,self::LP_MODE_VISITED_PAGES => array(
'ilLPStatusVisitedPages',
111 'trac_mode_visited_pages',
'trac_mode_visited_pages_info')
113 ,self::LP_MODE_DOWNLOADED => array(
'ilLPStatusDownloaded',
114 'trac_mode_downloaded',
'trac_mode_downloaded_info')
116 ,self::LP_MODE_COLLECTION_MOBS => array(
'ilLPStatusCollectionMobs',
117 'trac_mode_collection_mobs',
'trac_mode_collection_mobs_info')
119 ,self::LP_MODE_STUDY_PROGRAMME => array(
'ilLPStatusStudyProgramme',
120 'trac_mode_study_programme',
'')
122 ,self::LP_MODE_INDIVIDUAL_ASSESSMENT => array(
'ilLPStatusIndividualAssessment',
123 'trac_mode_individual_assessment',
'trac_mode_individual_assessment_info')
128 global $ilObjDataCache,
$ilDB;
131 $this->obj_id = $a_obj_id;
134 $this->obj_type = $ilObjDataCache->lookupType($this->obj_id);
136 include_once
"Services/Object/classes/class.ilObjectLP.php";
138 $this->obj_mode = $olp->getDefaultMode();
153 $query =
"INSERT INTO ut_lp_settings (obj_id,obj_type,u_mode,visits) " .
155 $this->db->quote($a_new_obj_id,
'integer') .
", " .
156 $this->db->quote($this->
getObjType(),
'text') .
", " .
157 $this->db->quote($this->
getMode(),
'integer') .
", " .
158 $this->db->quote($this->
getVisits(),
'integer') .
171 $this->visits = $a_visits;
176 $this->obj_mode = $a_mode;
196 $res = $this->db->query(
"SELECT * FROM ut_lp_settings WHERE obj_id = " .
197 $this->db->quote($this->obj_id,
'integer'));
199 $this->is_stored =
true;
200 $this->obj_type =
$row->obj_type;
201 $this->obj_mode =
$row->u_mode;
202 $this->visits =
$row->visits;
210 public function update($a_refresh_lp =
true)
214 if (!$this->is_stored) {
217 $query =
"UPDATE ut_lp_settings SET u_mode = " . $ilDB->quote($this->
getMode(),
'integer') .
", " .
218 "visits = " . $ilDB->quote($this->
getVisits(),
'integer') .
" " .
219 "WHERE obj_id = " . $ilDB->quote($this->
getObjId(),
'integer');
236 $query =
"INSERT INTO ut_lp_settings (obj_id,obj_type,u_mode,visits) " .
239 $ilDB->quote($this->
getObjType(),
'text') .
", " .
240 $ilDB->quote($this->
getMode(),
'integer') .
", " .
241 $ilDB->quote($this->
getVisits(),
'integer') .
254 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
262 $query =
"DELETE FROM ut_lp_settings WHERE obj_id = " .
$ilDB->quote($a_obj_id,
'integer');
275 $query =
"SELECT visits FROM ut_lp_settings " .
276 "WHERE obj_id = " .
$ilDB->quote($a_obj_id,
'integer');
293 $query =
"SELECT obj_id, u_mode FROM ut_lp_settings" .
294 " WHERE " .
$ilDB->in(
"obj_id", $a_obj_ids,
"",
"integer");
309 $query =
"SELECT u_mode FROM ut_lp_settings" .
310 " WHERE obj_id = " .
$ilDB->quote($a_obj_id,
"integer");
313 if (is_array(
$row)) {
314 return $row[
'u_mode'];
322 if (array_key_exists($a_mode, self::$map) &&
323 is_array(self::$map[$a_mode])) {
324 return $lng->txt(self::$map[$a_mode][1]);
332 if (array_key_exists($a_mode, self::$map) &&
333 is_array(self::$map[$a_mode])) {
334 $info =
$lng->txt(self::$map[$a_mode][2]);
336 if ($a_mode == self::LP_MODE_TLT) {
338 include_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
349 foreach (self::$map as $mode => $item) {
350 $res[$mode] = $item[0];
363 $ilDB->manipulate(
"DELETE FROM ut_lp_settings" .
364 " WHERE obj_id = " .
$ilDB->quote($a_obj_id,
"integer"));
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
const LP_MODE_COLLECTION_TLT
const LP_MODE_INDIVIDUAL_ASSESSMENT
update($a_refresh_lp=true)
cloneSettings($a_new_obj_id)
Clone settings.
static _lookupVisits($a_obj_id)
const LP_MODE_SURVEY_FINISHED
static _deleteByObjId($a_obj_id)
const LP_MODE_STUDY_PROGRAMME
const LP_MODE_DEACTIVATED
const LP_MODE_SCORM_PACKAGE
static _mode2Text($a_mode)
const LP_MODE_TEST_PASSED
const LP_MODE_VISITED_PAGES
const LP_MODE_TEST_FINISHED
const LP_MODE_COLLECTION_MANUAL
static _lookupDBMode($a_obj_id)
static _delete($a_obj_id)
static _lookupDBModeForObjects(array $a_obj_ids)
const LP_MODE_MANUAL_BY_TUTOR
static _mode2InfoText($a_mode)
const LP_MODE_EXERCISE_RETURNED
const LP_MODE_COLLECTION_MOBS
static _refreshStatus($a_obj_id, $a_users=null)
Set dirty.
static _getValidTimeSpan()
static getInstance($a_obj_id)
foreach($_POST as $key=> $value) $res