Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00033 include_once './Services/Tracking/classes/class.ilLPStatus.php';
00034
00035 class ilLPStatusTypicalLearningTime extends ilLPStatus
00036 {
00037
00038 function ilLPStatusTypicalLearningTime($a_obj_id)
00039 {
00040 global $ilDB;
00041
00042 parent::ilLPStatus($a_obj_id);
00043 $this->db =& $ilDB;
00044 }
00045
00046 function _getInProgress($a_obj_id)
00047 {
00048 global $ilDB;
00049
00050 include_once './Services/MetaData/classes/class.ilMDEducational.php';
00051
00052 $status_info = ilLPStatusWrapper::_getStatusInfo($a_obj_id);
00053 $tlt = $status_info['tlt'];
00054
00055 $query = "SELECT DISTINCT(user_id) FROM ut_learning_progress ".
00056 "WHERE spent_time < '".$tlt."' ".
00057 "AND obj_id = '".$a_obj_id."'";
00058
00059 $res = $ilDB->query($query);
00060 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00061 {
00062 $user_ids[] = $row->user_id;
00063 }
00064 return $user_ids ? $user_ids : array();
00065 }
00066
00067 function _getCompleted($a_obj_id)
00068 {
00069 global $ilDB;
00070
00071 include_once './Services/MetaData/classes/class.ilMDEducational.php';
00072
00073 $status_info = ilLPStatusWrapper::_getStatusInfo($a_obj_id);
00074 $tlt = $status_info['tlt'];
00075 #$tlt = ilMDEducational::_getTypicalLearningTimeSeconds($a_obj_id);
00076 $query = "SELECT DISTINCT(user_id) FROM ut_learning_progress ".
00077 "WHERE spent_time >= '".$tlt."' ".
00078 "AND obj_id = '".$a_obj_id."'";
00079
00080 $res = $ilDB->query($query);
00081 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00082 {
00083 $user_ids[] = $row->user_id;
00084 }
00085 return $user_ids ? $user_ids : array();
00086 }
00087
00088 function _getStatusInfo($a_obj_id)
00089 {
00090 include_once './Services/MetaData/classes/class.ilMDEducational.php';
00091 $status_info['tlt'] = ilMDEducational::_getTypicalLearningTimeSeconds($a_obj_id);
00092
00093 return $status_info;
00094 }
00095 }
00096 ?>