51 protected static $map = array(
53 self::LP_MODE_DEACTIVATED => array(
'ilLPStatus',
54 'trac_mode_deactivated',
'trac_mode_deactivated_info_new')
56 ,self::LP_MODE_TLT => array(
'ilLPStatusTypicalLearningTime',
57 'trac_mode_tlt',
'trac_mode_tlt_info')
59 ,self::LP_MODE_VISITS => array(
'ilLPStatusVisits',
60 'trac_mode_visits',
'trac_mode_visits_info')
62 ,self::LP_MODE_MANUAL => array(
'ilLPStatusManual',
63 'trac_mode_manual',
'trac_mode_manual_info')
65 ,self::LP_MODE_OBJECTIVES => array(
'ilLPStatusObjectives',
66 'trac_mode_objectives',
'trac_mode_objectives_info')
68 ,self::LP_MODE_COLLECTION => array(
'ilLPStatusCollection',
69 'trac_mode_collection',
'trac_mode_collection_info')
71 ,self::LP_MODE_SCORM => array(
'ilLPStatusSCORM',
72 'trac_mode_scorm',
'trac_mode_scorm_info')
74 ,self::LP_MODE_TEST_FINISHED => array(
'ilLPStatusTestFinished',
75 'trac_mode_test_finished',
'trac_mode_test_finished_info')
77 ,self::LP_MODE_TEST_PASSED => array(
'ilLPStatusTestPassed',
78 'trac_mode_test_passed',
'trac_mode_test_passed_info')
80 ,self::LP_MODE_EXERCISE_RETURNED => array(
'ilLPStatusExerciseReturned',
81 'trac_mode_exercise_returned',
'trac_mode_exercise_returned_info')
83 ,self::LP_MODE_EVENT => array(
'ilLPStatusEvent',
84 'trac_mode_event',
'trac_mode_event_info')
86 ,self::LP_MODE_MANUAL_BY_TUTOR => array(
'ilLPStatusManualByTutor',
87 'trac_mode_manual_by_tutor',
'trac_mode_manual_by_tutor_info')
89 ,self::LP_MODE_SCORM_PACKAGE => array(
'ilLPStatusSCORMPackage',
90 'trac_mode_scorm_package',
'trac_mode_scorm_package_info')
92 ,self::LP_MODE_UNDEFINED => null
94 ,self::LP_MODE_PLUGIN => array(
'ilLPStatusPlugin',
95 'trac_mode_plugin',
'')
97 ,self::LP_MODE_COLLECTION_TLT => array(
'ilLPStatusCollectionTLT',
98 'trac_mode_collection_tlt',
'trac_mode_collection_tlt_info')
100 ,self::LP_MODE_COLLECTION_MANUAL => array(
'ilLPStatusCollectionManual',
101 'trac_mode_collection_manual',
'trac_mode_collection_manual_info')
103 ,self::LP_MODE_QUESTIONS => array(
'ilLPStatusQuestions',
104 'trac_mode_questions',
'trac_mode_questions_info')
106 ,self::LP_MODE_SURVEY_FINISHED => array(
'ilLPStatusSurveyFinished',
107 'trac_mode_survey_finished',
'trac_mode_survey_finished_info')
109 ,self::LP_MODE_VISITED_PAGES => array(
'ilLPStatusVisitedPages',
110 'trac_mode_visited_pages',
'trac_mode_visited_pages_info')
112 ,self::LP_MODE_DOWNLOADED => array(
'ilLPStatusDownloaded',
113 'trac_mode_downloaded',
'trac_mode_downloaded_info')
115 ,self::LP_MODE_COLLECTION_MOBS => array(
'ilLPStatusCollectionMobs',
116 'trac_mode_collection_mobs',
'trac_mode_collection_mobs_info')
118 ,self::LP_MODE_STUDY_PROGRAMME => array(
'ilLPStatusStudyProgramme',
119 'trac_mode_study_programme',
'')
124 global $ilObjDataCache,
$ilDB;
127 $this->obj_id = $a_obj_id;
131 $this->obj_type = $ilObjDataCache->lookupType($this->obj_id);
133 include_once
"Services/Object/classes/class.ilObjectLP.php";
135 $this->obj_mode = $olp->getDefaultMode();
150 $query =
"INSERT INTO ut_lp_settings (obj_id,obj_type,u_mode,visits) ".
152 $this->db->quote($a_new_obj_id ,
'integer').
", ".
153 $this->db->quote($this->
getObjType() ,
'text').
", ".
154 $this->db->quote($this->
getMode() ,
'integer').
", ".
155 $this->db->quote($this->
getVisits() ,
'integer').
163 return (
int) $this->visits ? $this->visits : self::LP_DEFAULT_VISITS;
168 $this->visits = $a_visits;
173 $this->obj_mode = $a_mode;
193 $res = $this->db->query(
"SELECT * FROM ut_lp_settings WHERE obj_id = ".
194 $this->db->quote($this->obj_id ,
'integer'));
197 $this->is_stored =
true;
198 $this->obj_type =
$row->obj_type;
199 $this->obj_mode =
$row->u_mode;
200 $this->visits =
$row->visits;
212 if(!$this->is_stored)
216 $query =
"UPDATE ut_lp_settings SET u_mode = ".$ilDB->quote($this->
getMode() ,
'integer').
", ".
217 "visits = ".$ilDB->quote($this->
getVisits() ,
'integer').
" ".
218 "WHERE obj_id = ".$ilDB->quote($this->
getObjId() ,
'integer');
236 $query =
"INSERT INTO ut_lp_settings (obj_id,obj_type,u_mode,visits) ".
238 $ilDB->quote($this->
getObjId() ,
'integer').
", ".
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');
283 return self::LP_DEFAULT_VISITS;
294 $query =
"SELECT obj_id, u_mode FROM ut_lp_settings".
295 " WHERE ".$ilDB->in(
"obj_id", $a_obj_ids,
"",
"integer");
296 $set = $ilDB->query(
$query);
311 $query =
"SELECT u_mode FROM ut_lp_settings".
312 " WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer");
313 $set = $ilDB->query(
$query);
314 $row = $ilDB->fetchAssoc($set);
317 return $row[
'u_mode'];
325 if(array_key_exists($a_mode, self::$map) &&
326 is_array(self::$map[$a_mode]))
328 return $lng->txt(self::$map[$a_mode][1]);
336 if(array_key_exists($a_mode, self::$map) &&
337 is_array(self::$map[$a_mode]))
339 $info = $lng->txt(self::$map[$a_mode][2]);
341 if($a_mode == self::LP_MODE_TLT)
344 include_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
355 foreach(self::$map as $mode => $item)
357 $res[$mode] = $item[0];
370 $ilDB->manipulate(
"DELETE FROM ut_lp_settings".
371 " WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer"));
ilLPObjSettings($a_obj_id)
const LP_MODE_MANUAL_BY_TUTOR
const LP_MODE_COLLECTION_MANUAL
const LP_MODE_COLLECTION_TLT
const LP_MODE_TEST_FINISHED
const DB_FETCHMODE_OBJECT
update($a_refresh_lp=true)
const LP_MODE_SCORM_PACKAGE
const LP_MODE_EXERCISE_RETURNED
const LP_MODE_VISITED_PAGES
static _lookupDBMode($a_obj_id)
const LP_MODE_STUDY_PROGRAMME
const LP_MODE_TEST_PASSED
const LP_MODE_SURVEY_FINISHED
static _lookupDBModeForObjects(array $a_obj_ids)
static _mode2InfoText($a_mode)
const LP_MODE_DEACTIVATED
_refreshStatus($a_obj_id, $a_users=null)
Set dirty.
const LP_MODE_COLLECTION_MOBS
static _deleteByObjId($a_obj_id)
cloneSettings($a_new_obj_id)
Clone settings.
static getInstance($a_obj_id)
static _getValidTimeSpan()
static _mode2Text($a_mode)