5include_once
"Services/Cron/classes/class.ilCronJob.php";
19 return "lp_object_statistics";
26 $lng->loadLanguageModule(
"trac");
27 return $lng->txt(
"trac_object_statistics");
34 $lng->loadLanguageModule(
"trac");
35 return $lng->txt(
"trac_object_statistics_info");
62 $this->
date = strtotime(
"yesterday");
92 $logger =
$GLOBALS[
'DIC']->logger()->trac();
100 $trashed_objects = $tree->getSavedNodeObjIds($all_courses);
102 include_once
'Services/Object/classes/class.ilObjectLP.php';
103 include_once
"Modules/Course/classes/class.ilCourseParticipants.php";
104 include_once
"Services/Tracking/classes/class.ilLPStatusWrapper.php";
105 foreach ($all_courses as $crs_id) {
107 if (!in_array($crs_id, $trashed_objects)) {
110 $logger->warning(
'Found course without reference: obj_id = ' . $crs_id);
116 if (!$olp->isActive()) {
121 $ilDB->manipulate(
"DELETE FROM obj_lp_stat WHERE" .
122 " obj_id = " .
$ilDB->quote($crs_id,
"integer") .
123 " AND fulldate = " .
$ilDB->quote(
date(
"Ymd", $this->
date),
"integer"));
126 $members = $members->getMembers();
133 $not_attempted = count($members) - $in_progress - $completed -
$failed;
136 "type" => array(
"text",
"crs"),
137 "obj_id" => array(
"integer", $crs_id),
138 "yyyy" => array(
"integer",
date(
"Y", $this->
date)),
139 "mm" => array(
"integer",
date(
"m", $this->
date)),
140 "dd" => array(
"integer",
date(
"d", $this->
date)),
141 "fulldate" => array(
"integer",
date(
"Ymd", $this->
date)),
142 "mem_cnt" => array(
"integer", count($members)),
143 "in_progress" => array(
"integer", $in_progress),
144 "completed" => array(
"integer", $completed),
145 "failed" => array(
"integer",
$failed),
146 "not_attempted" => array(
"integer", $not_attempted)
149 $ilDB->insert(
"obj_lp_stat", $set);
168 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
172 $ilDB->manipulate(
"DELETE FROM obj_type_stat WHERE" .
174 " AND fulldate = " .
$ilDB->quote(
date(
"Ymd", $this->
date),
"integer"));
177 "type" => array(
"text",
$type),
178 "yyyy" => array(
"integer",
date(
"Y", $this->
date)),
179 "mm" => array(
"integer",
date(
"m", $this->
date)),
180 "dd" => array(
"integer",
date(
"d", $this->
date)),
181 "fulldate" => array(
"integer",
date(
"Ymd", $this->
date)),
182 "cnt_references" => array(
"integer", (
int) $item[
"references"]),
183 "cnt_objects" => array(
"integer", (
int) $item[
"objects"]),
184 "cnt_deleted" => array(
"integer", (
int) $item[
"deleted"])
187 $ilDB->insert(
"obj_type_stat", $set);
206 $sql =
"SELECT COUNT(DISTINCT(usr_id)) counter,obj_id FROM read_event" .
207 " WHERE last_access >= " .
$ilDB->quote($this->
date,
"integer") .
208 " AND last_access <= " . $ilDB->quote($to,
"integer") .
210 $set =
$ilDB->query($sql);
213 $ilDB->manipulate(
"DELETE FROM obj_user_stat" .
214 " WHERE fulldate = " .
$ilDB->quote(
date(
"Ymd", $this->
date),
"integer") .
215 " AND obj_id = " . $ilDB->quote(
$row[
"obj_id"],
"integer"));
218 "obj_id" => array(
"integer",
$row[
"obj_id"]),
219 "yyyy" => array(
"integer",
date(
"Y", $this->
date)),
220 "mm" => array(
"integer",
date(
"m", $this->
date)),
221 "dd" => array(
"integer",
date(
"d", $this->
date)),
222 "fulldate" => array(
"integer",
date(
"Ymd", $this->
date)),
223 "counter" => array(
"integer",
$row[
"counter"])
226 $ilDB->insert(
"obj_user_stat", $iset);
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
An exception for terminatinating execution or to throw for unit testing.
Cron job result data container.
Cron job application base class.
const SCHEDULE_TYPE_DAILY
static ping($a_job_id)
Keep cron job alive.
Cron for lp object statistics.
gatherCourseLPData()
gather course data @global type $tree @global type $ilDB
getDefaultScheduleType()
Get schedule type.
getDescription()
Get description.
hasFlexibleSchedule()
Can the schedule be configured?
hasAutoActivation()
Is to be activated on "installation".
getDefaultScheduleValue()
Get schedule value.
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
static _lookupFailedForObject($a_obj_id, $a_user_ids=null)
Get failed users for object.
static _lookupInProgressForObject($a_obj_id, $a_user_ids=null)
Get in progress users for object.
static getInstance($a_obj_id)
static _getObjectsByType($a_obj_type="", $a_owner="")
Get objects by type.
static _getAllReferences($a_id)
get all reference ids of object
static getObjectTypeStatistics()
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
catch(Exception $e) $message