|
| scoTitlesForExportSelected () |
|
| exportSelectedCoreColumns ($b_orderBySCO, $b_allowExportPrivacy) |
|
| exportSelectedCore ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportSelectedInteractionsColumns () |
|
| exportSelectedInteractions ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportSelectedObjectivesColumns () |
|
| exportSelectedObjectives ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportObjGlobalToSystemColumns () |
|
| exportObjGlobalToSystem ($a_user=array(), $allowExportPrivacy=false) |
|
| tracInteractionItemColumns ($b_orderBySCO, $b_allowExportPrivacy) |
|
| tracInteractionItem ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| tracInteractionUserColumns ($b_orderBySCO, $b_allowExportPrivacy) |
|
| tracInteractionUser ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| tracInteractionUserAnswersColumns ($a_user=array(), $a_sco=array(), $b_orderBySCO, $b_allowExportPrivacy) |
|
| tracInteractionUserAnswers ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportSelectedSuccess ($a_user=array(), $allowExportPrivacy=false) |
|
| scoTitlesForExportSelected () |
|
| markedLearningStatusForExportSelected ($a_scos) |
|
| userDataArrayForExport ($user, $b_allowExportPrivacy=false) |
|
| getScormTrackingValue ($a_user=array(), $a_sco=array(), $a_empty=array(), $lvalue) |
|
| getScormTrackingValueForInteractionsOrObjectives ($a_user=array(), $a_sco=array(), $lvalue, $counter, $topic) |
|
| exportSelectedRawColumns () |
|
| exportSelectedRaw ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportSelectedCoreColumns ($b_orderBySCO, $b_allowExportPrivacy) |
|
| exportSelectedCore ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportSelectedInteractionsColumns () |
|
| exportSelectedInteractions ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportSelectedObjectivesColumns () |
|
| exportSelectedObjectives ($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false) |
|
| exportSelectedSuccessColumns () |
|
| exportSelectedSuccessRows ($a_user=array(), $allowExportPrivacy=false, $dbdata=array(), $scoCounter, $u_startedSCO, $u_completedSCO, $u_passedSCO) |
|
| exportSelectedSuccess ($a_user=array(), $allowExportPrivacy=false) |
|
| userDataHeaderForExport () |
|
| SCORMTimeToSeconds ($a_time) |
|
ilSCORM2004TrackingItems::exportSelectedCore |
( |
|
$a_user = array() , |
|
|
|
$a_sco = array() , |
|
|
|
$b_orderBySCO = false , |
|
|
|
$allowExportPrivacy = false |
|
) |
| |
Definition at line 58 of file class.ilSCORM2004TrackingItems.php.
References $data, $ilDB, $lng, $query, $res, $row, and ilObjSCORM2004LearningModule\_ISODurationToCentisec().
Referenced by ilSCORM2004TrackingItemsTableGUI\getItems().
60 $lng->loadLanguageModule(
"scormtrac");
62 $returnData = array();
64 $scoTitles = self::scoTitlesForExportSelected();
66 $scoProgress = self::markedLearningStatusForExportSelected($scoTitles);
70 $query =
'SELECT user_id, cp_node_id, ' 71 .
'audio_captioning, audio_level, completion_status, completion_threshold, credit, delivery_speed, ' 72 .
'c_entry, c_exit, c_language, location as c_location, c_mode, progress_measure, c_max, c_min, c_raw, scaled, ' 73 .
'scaled_passing_score, session_time, success_status, total_time, c_timestamp, suspend_data, launch_data ' 75 .
'WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' ' 76 .
'AND '.$ilDB->in(
'user_id', $a_user,
false,
'integer') .
' ' 78 if ($b_orderBySCO)
$query.=
'cp_node_id, user_id';
79 else $query.=
'user_id, cp_node_id';
81 while(
$row = $ilDB->fetchAssoc(
$res))
85 foreach($dbdata as
$data) {
86 $data[
"lm_id"] = $this->getObjId();
87 $data[
"lm_title"] = $this->lmTitle;
88 $data=array_merge($data,self::userDataArrayForExport($data[
"user_id"], $allowExportPrivacy));
89 $data[
"sco_marked_for_learning_progress"] = $scoProgress[$data[
"cp_node_id"]];
90 $data[
"sco_title"] = $scoTitles[$data[
"cp_node_id"]];
91 $data[
"audio_captioning"] =
"".$data[
"audio_captioning"];
92 $data[
"audio_level"] =
"".$data[
"audio_level"];
93 $data[
"completion_status"] =
"".$data[
"completion_status"];
94 $data[
"completion_threshold"] =
"".$data[
"completion_threshold"];
95 $data[
"credit"] =
"".$data[
"credit"];
96 $data[
"delivery_speed"] =
"".$data[
"delivery_speed"];
97 $data[
"c_entry"] =
"".$data[
"c_entry"];
98 $data[
"c_exit"] =
"".$data[
"c_exit"];
99 $data[
"c_language"] =
"".$data[
"c_language"];
100 $data[
"c_location"] =
"".str_replace(
'"',
'',$data[
"c_location"]);
101 $data[
"c_mode"] =
"".$data[
"c_mode"];
102 $data[
"progress_measure"] =
"".$data[
"progress_measure"];
103 $data[
"c_max"] =
"".$data[
"c_max"];
104 $data[
"c_min"] =
"".$data[
"c_min"];
105 $data[
"c_raw"] =
"".$data[
"c_raw"];
106 $data[
"scaled"] =
"".$data[
"scaled"];
107 $data[
"scaled_passing_score"] =
"".$data[
"scaled_passing_score"];
108 $data[
"session_time"] =
"".$data[
"session_time"];
109 $data[
"session_time_seconds"] =
"";
111 $data[
"success_status"] =
"".$data[
"success_status"];
112 $data[
"total_time"] =
"".$data[
"total_time"];
113 $data[
"total_time_seconds"] =
"";
115 $data[
"c_timestamp"] = $data[
"c_timestamp"];
116 $data[
"suspend_data"] =
"".$data[
"suspend_data"];
117 $data[
"launch_data"] =
"".$data[
"launch_data"];
_ISODurationToCentisec($str)
convert ISO 8601 Timeperiods to centiseconds ta
ilSCORM2004TrackingItems::exportSelectedInteractions |
( |
|
$a_user = array() , |
|
|
|
$a_sco = array() , |
|
|
|
$b_orderBySCO = false , |
|
|
|
$allowExportPrivacy = false |
|
) |
| |
Definition at line 151 of file class.ilSCORM2004TrackingItems.php.
References $data, $ilDB, $lng, $query, $res, $row, and ilObjSCORM2004LearningModule\_ISODurationToCentisec().
Referenced by ilSCORM2004TrackingItemsTableGUI\getItems().
153 $lng->loadLanguageModule(
"scormtrac");
155 $returnData = array();
157 $scoTitles = self::scoTitlesForExportSelected();
159 $scoProgress = self::markedLearningStatusForExportSelected($scoTitles);
162 $query =
'SELECT cmi_node.user_id, cmi_node.cp_node_id, 163 cmi_interaction.cmi_interaction_id, 165 cmi_interaction.description, 166 cmi_interaction.weighting, 167 cmi_interaction.c_type, 168 cmi_interaction.result, 169 cmi_interaction.latency, 170 cmi_interaction.c_timestamp, 171 cmi_interaction.learner_response, 172 cmi_interaction.cmi_interaction_id, 173 cmi_interaction.cmi_node_id 174 FROM cmi_interaction, cmi_node 175 WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' 176 AND '.$ilDB->in(
'cmi_node.user_id', $a_user,
false,
'integer') .
' 177 AND cmi_node.cmi_node_id = cmi_interaction.cmi_node_id 179 if ($b_orderBySCO)
$query.=
'cmi_node.cp_node_id, cmi_node.user_id';
180 else $query.=
'cmi_node.user_id, cmi_node.cp_node_id';
181 $query.=
', cmi_interaction.cmi_interaction_id, cmi_interaction.cmi_node_id';
183 while(
$row = $ilDB->fetchAssoc(
$res))
187 foreach($dbdata as
$data) {
188 $data[
"lm_id"] = $this->getObjId();
189 $data[
"lm_title"] = $this->lmTitle;
190 $data=array_merge($data,self::userDataArrayForExport($data[
"user_id"], $allowExportPrivacy));
191 $data[
"sco_marked_for_learning_progress"] = $scoProgress[$data[
"cp_node_id"]];
192 $data[
"sco_title"] = $scoTitles[$data[
"cp_node_id"]];
193 $data[
"description"] =
"".$data[
"description"];
194 $data[
"weighting"] =
"".$data[
"weighting"];
195 $data[
"c_type"] =
"".$data[
"c_type"];
196 $data[
"result"] =
"".$data[
"result"];
197 $data[
"latency"] =
"".$data[
"latency"];
198 $data[
"latency_seconds"] =
"";
200 $data[
"c_timestamp"] =
"".$data[
"c_timestamp"];
201 $data[
"learner_response"] =
"".str_replace(
'"',
'',$data[
"learner_response"]);
_ISODurationToCentisec($str)
convert ISO 8601 Timeperiods to centiseconds ta
ilSCORM2004TrackingItems::tracInteractionItem |
( |
|
$a_user = array() , |
|
|
|
$a_sco = array() , |
|
|
|
$b_orderBySCO = false , |
|
|
|
$allowExportPrivacy = false |
|
) |
| |
Definition at line 364 of file class.ilSCORM2004TrackingItems.php.
References $data, $ilDB, $lng, $query, $res, and $row.
Referenced by ilSCORM2004TrackingItemsTableGUI\getItems().
366 $lng->loadLanguageModule(
"scormtrac");
368 $returnData = array();
370 $scoTitles = self::scoTitlesForExportSelected();
372 $scoProgress = self::markedLearningStatusForExportSelected($scoTitles);
374 $a_correct = array();
375 $a_incorrect = array();
376 $query =
'SELECT cmi_node.cp_node_id, cmi_interaction.id, count(*) as counter 377 FROM cmi_interaction, cmi_node 378 WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' 379 AND '.$ilDB->in(
'cmi_node.user_id', $a_user,
false,
'integer') .
' 380 AND cmi_node.cmi_node_id = cmi_interaction.cmi_node_id 381 AND cmi_interaction.result = %s 382 GROUP BY cmi_node.cp_node_id,cmi_interaction.id';
384 $res = $ilDB->queryF(
$query,array(
'text'),array(
'correct'));
385 while(
$row = $ilDB->fetchAssoc(
$res))
387 $a_correct[
$row[
'cp_node_id'].
':'.
$row[
'id']] =
$row[
'counter'];
390 $res = $ilDB->queryF(
$query,array(
'text'),array(
'incorrect'));
391 while(
$row = $ilDB->fetchAssoc(
$res))
393 $a_incorrect[
$row[
'cp_node_id'].
':'.
$row[
'id']] =
$row[
'counter'];
397 $query =
'SELECT cmi_node.cp_node_id, cmi_interaction.id, cmi_interaction.description, count(*) as counter_all 398 FROM cmi_interaction, cmi_node 399 WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' 400 AND '.$ilDB->in(
'cmi_node.user_id', $a_user,
false,
'integer') .
' 401 AND cmi_node.cmi_node_id = cmi_interaction.cmi_node_id 402 GROUP BY cmi_node.cp_node_id,cmi_interaction.id,cmi_interaction.description';
404 while(
$row = $ilDB->fetchAssoc(
$res))
408 foreach($dbdata as
$data) {
409 $skey = $data[
"cp_node_id"].
':'.$data[
"id"];
410 $all = $data[
"counter_all"];
412 if($a_correct[$skey] != null) $correct = $a_correct[$skey];
414 if($a_incorrect[$skey] != null) $incorrect = $a_incorrect[$skey];
415 $other = $all-($correct+$incorrect);
416 $data[
"lm_id"] = $this->getObjId();
417 $data[
"lm_title"] = $this->lmTitle;
418 $data[
"sco_marked_for_learning_progress"] = $scoProgress[$data[
"cp_node_id"]];
419 $data[
"sco_title"] = $scoTitles[$data[
"cp_node_id"]];
421 $data[
"description"] =
"".$data[
"description"];
423 $data[
"counter_correct"] = $correct;
424 $data[
"counter_correct_percent"] = $correct*100/$all;
425 $data[
"counter_incorrect"] = $incorrect;
426 $data[
"counter_incorrect_percent"] = $incorrect*100/$all;
427 $data[
"counter_other"] = $other;
428 $data[
"counter_other_percent"] = $other*100/$all;
ilSCORM2004TrackingItems::tracInteractionUser |
( |
|
$a_user = array() , |
|
|
|
$a_sco = array() , |
|
|
|
$b_orderBySCO = false , |
|
|
|
$allowExportPrivacy = false |
|
) |
| |
Definition at line 462 of file class.ilSCORM2004TrackingItems.php.
References $data, $ilDB, $lng, $query, $res, $row, and ilObjSCORM2004LearningModule\_ISODurationToCentisec().
Referenced by ilSCORM2004TrackingItemsTableGUI\getItems().
464 $lng->loadLanguageModule(
"scormtrac");
466 $returnData = array();
468 $scoTitles = self::scoTitlesForExportSelected();
470 $scoProgress = self::markedLearningStatusForExportSelected($scoTitles);
472 $a_correct = array();
473 $a_incorrect = array();
475 $query =
'SELECT cmi_node.user_id, cmi_node.cp_node_id, count(*) as counter 476 FROM cmi_interaction, cmi_node 477 WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' 478 AND '.$ilDB->in(
'cmi_node.user_id', $a_user,
false,
'integer') .
' 479 AND cmi_node.cmi_node_id = cmi_interaction.cmi_node_id 480 AND cmi_interaction.result = %s 481 GROUP BY cmi_node.user_id,cmi_node.cp_node_id';
483 $res = $ilDB->queryF(
$query,array(
'text'),array(
'correct'));
484 while(
$row = $ilDB->fetchAssoc(
$res))
486 $a_correct[
$row[
'user_id'].
':'.
$row[
'cp_node_id']] =
$row[
'counter'];
489 $res = $ilDB->queryF(
$query,array(
'text'),array(
'incorrect'));
490 while(
$row = $ilDB->fetchAssoc(
$res))
492 $a_incorrect[
$row[
'user_id'].
':'.
$row[
'cp_node_id']] =
$row[
'counter'];
495 $query =
'SELECT cmi_node.user_id, cmi_node.cp_node_id, count(*) as counter 496 FROM cmi_interaction, cmi_node 497 WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' 498 AND '.$ilDB->in(
'cmi_node.user_id', $a_user,
false,
'integer') .
' 499 AND cmi_node.cmi_node_id = cmi_interaction.cmi_node_id 500 AND cmi_interaction.result <> %s AND cmi_interaction.result <> %s 501 GROUP BY cmi_node.user_id,cmi_node.cp_node_id';
502 $res = $ilDB->queryF(
$query,array(
'text',
'text'),array(
'correct',
'incorrect'));
503 while(
$row = $ilDB->fetchAssoc(
$res))
505 $a_other[
$row[
'user_id'].
':'.
$row[
'cp_node_id']] =
$row[
'counter'];
509 $query =
'SELECT user_id, cp_node_id, ' 510 .
'audio_captioning, audio_level, completion_status, completion_threshold, credit, delivery_speed, ' 511 .
'c_entry, c_exit, c_language, location as c_location, c_mode, progress_measure, c_max, c_min, c_raw, scaled, ' 512 .
'scaled_passing_score, session_time, success_status, total_time, c_timestamp, suspend_data, launch_data ' 514 .
'WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' ' 515 .
'AND '.$ilDB->in(
'user_id', $a_user,
false,
'integer') .
' ' 517 if ($b_orderBySCO)
$query.=
'cp_node_id, user_id';
518 else $query.=
'user_id, cp_node_id';
520 while(
$row = $ilDB->fetchAssoc(
$res))
524 foreach($dbdata as
$data) {
525 $skey = $data[
"user_id"].
':'.$data[
"cp_node_id"];
527 if($a_correct[$skey] != null) $correct = $a_correct[$skey];
529 if($a_incorrect[$skey] != null) $incorrect = $a_incorrect[$skey];
531 if($a_other[$skey] != null) $other = $a_other[$skey];
532 $all = $correct+$incorrect+$other;
533 $data[
"lm_id"] = $this->getObjId();
534 $data[
"lm_title"] = $this->lmTitle;
535 $data=array_merge($data,self::userDataArrayForExport($data[
"user_id"], $allowExportPrivacy));
536 $data[
"sco_marked_for_learning_progress"] = $scoProgress[$data[
"cp_node_id"]];
537 $data[
"sco_title"] = $scoTitles[$data[
"cp_node_id"]];
538 $data[
"counter_i_correct"] = $correct;
539 if ($all > 0) $data[
"counter_i_correct_percent"] = $correct*100/$all;
540 else $data[
"counter_i_correct_percent"] = 0;
541 $data[
"counter_i_incorrect"] = $incorrect;
542 if ($all > 0) $data[
"counter_i_incorrect_percent"] = $incorrect*100/$all;
543 else $data[
"counter_i_incorrect_percent"] = 0;
544 $data[
"counter_i_other"] = $other;
545 if ($all > 0) $data[
"counter_i_other_percent"] = $other*100/$all;
546 else $data[
"counter_i_other_percent"] = 0;
547 $data[
"audio_captioning"] =
"".$data[
"audio_captioning"];
548 $data[
"audio_level"] =
"".$data[
"audio_level"];
549 $data[
"completion_status"] =
"".$data[
"completion_status"];
550 $data[
"completion_threshold"] =
"".$data[
"completion_threshold"];
551 $data[
"credit"] =
"".$data[
"credit"];
552 $data[
"delivery_speed"] =
"".$data[
"delivery_speed"];
553 $data[
"c_entry"] =
"".$data[
"c_entry"];
554 $data[
"c_exit"] =
"".$data[
"c_exit"];
555 $data[
"c_language"] =
"".$data[
"c_language"];
556 $data[
"c_location"] =
"".str_replace(
'"',
'',$data[
"c_location"]);
557 $data[
"c_mode"] =
"".$data[
"c_mode"];
558 $data[
"progress_measure"] =
"".$data[
"progress_measure"];
559 $data[
"c_max"] =
"".$data[
"c_max"];
560 $data[
"c_min"] =
"".$data[
"c_min"];
561 $data[
"c_raw"] =
"".$data[
"c_raw"];
562 $data[
"scaled"] =
"".$data[
"scaled"];
563 $data[
"scaled_passing_score"] =
"".$data[
"scaled_passing_score"];
564 $data[
"session_time"] =
"".$data[
"session_time"];
565 $data[
"session_time_seconds"] =
"";
567 $data[
"success_status"] =
"".$data[
"success_status"];
568 $data[
"total_time"] =
"".$data[
"total_time"];
569 $data[
"total_time_seconds"] =
"";
571 $data[
"c_timestamp"] = $data[
"c_timestamp"];
572 $data[
"suspend_data"] =
"".$data[
"suspend_data"];
573 $data[
"launch_data"] =
"".$data[
"launch_data"];
_ISODurationToCentisec($str)
convert ISO 8601 Timeperiods to centiseconds ta
ilSCORM2004TrackingItems::tracInteractionUserAnswers |
( |
|
$a_user = array() , |
|
|
|
$a_sco = array() , |
|
|
|
$b_orderBySCO = false , |
|
|
|
$allowExportPrivacy = false |
|
) |
| |
Definition at line 644 of file class.ilSCORM2004TrackingItems.php.
References $data, $ilDB, $lng, $query, $res, and $row.
Referenced by ilSCORM2004TrackingItemsTableGUI\getItems().
646 $lng->loadLanguageModule(
"scormtrac");
648 $returnData = array();
650 $scoTitles = self::scoTitlesForExportSelected();
652 $scoProgress = self::markedLearningStatusForExportSelected($scoTitles);
654 $a_interaction=array();
655 $a_interactionId=array();
656 $a_interactionDescription=array();
657 $a_interactionUser=array();
659 $query =
'SELECT cmi_node.user_id, cmi_node.cp_node_id, 660 cmi_interaction.cmi_interaction_id, 662 cmi_interaction.result, 663 cmi_interaction.description 664 FROM cmi_interaction, cmi_node 665 WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' 666 AND '.$ilDB->in(
'cmi_node.user_id', $a_user,
false,
'integer') .
' 667 AND cmi_node.cmi_node_id = cmi_interaction.cmi_node_id 669 if ($b_orderBySCO)
$query.=
'cmi_node.cp_node_id, cmi_node.user_id';
670 else $query.=
'cmi_node.user_id, cmi_node.cp_node_id';
671 $query.=
', cmi_interaction.cmi_interaction_id, cmi_interaction.id';
673 while(
$row = $ilDB->fetchAssoc(
$res))
677 foreach($dbdata as
$data) {
678 $key = $data[
"cp_node_id"].
':'.$data[
"id"];
680 for ($i=0;$i<count($a_interaction);$i++) {
681 if ($a_interaction[$i] == $key) $exist=
true;
687 $a_interaction[] = $key;
688 $a_interactionId[$key] =
"".$data[
"id"];
689 $a_interactionDescription[$key] =
"".$data[
"description"];
691 $key .=
':'.$data[
"user_id"];
692 $a_interactionUser[$key] =
"".$data[
"result"];
697 $query =
'SELECT user_id, cp_node_id ' 699 .
'WHERE '.$ilDB->in(
'cp_node_id', $a_sco,
false,
'integer') .
' ' 700 .
'AND '.$ilDB->in(
'user_id', $a_user,
false,
'integer') .
' ' 703 if ($b_orderBySCO)
$query.=
'cp_node_id, user_id';
704 else $query.=
'user_id, cp_node_id';
706 while(
$row = $ilDB->fetchAssoc(
$res))
710 foreach($dbdata as $data) {
711 for ($i=0;$i<count($a_interaction);$i++) {
717 $intdesc =
"interaction_value".$i.
" ".$a_interactionDescription[$a_interaction[$i]];
718 $data[$intdesc] =
"";
719 $ukey=$a_interaction[$i].
':'.$data[
"user_id"];
720 if ($a_interactionUser[$ukey] != null) $data[$intdesc] = $a_interactionUser[$ukey];
722 $data[
"lm_id"] = $this->getObjId();
723 $data[
"lm_title"] = $this->lmTitle;
724 $data=array_merge($data,self::userDataArrayForExport($data[
"user_id"], $allowExportPrivacy));
725 $data[
"sco_marked_for_learning_progress"] = $scoProgress[$data[
"cp_node_id"]];
726 $data[
"sco_title"] = $scoTitles[$data[
"cp_node_id"]];