4include_once 
'./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php';
 
   20                $query = 
'SELECT obj_id, title  
   22                                WHERE slm_id = %s AND c_type = %s';
 
   25                        array(
'integer', 
'text'),
 
   26                        array($this->getObjId(),
'sit')
 
   30                        $scoTitles[
$row[
'obj_id']] = 
$row[
'title'];
 
   38                include_once 
'Services/Object/classes/class.ilObjectLP.php';
 
   40                $collection = $olp->getCollectionInstance();
 
   42                foreach($a_scos as $sco_id=>$value) {
 
   43                        if ($collection && $collection->isAssignedEntry($sco_id)) $a_scos[$sco_id] = 
$lng->txt(
'yes');
 
   44                        else $a_scos[$sco_id]=
$lng->txt(
'no');
 
   51                if ($b_allowExportPrivacy == 
false) {
 
   52                        $userArray[
"user"]=$user;
 
   55                        $userArray[
"login"] = 
"";
 
   56                        $userArray[
"user"] = 
"";
 
   57                        $userArray[
"email"] = 
"";
 
   58                        $userArray[
"department"] = 
"";
 
   61                                $userArray[
"login"] = $e_user->getLogin();
 
   62                                $userArray[
"user"] = $e_user->getLastname() . 
', ' . $e_user->getFirstname();
 
   63                                $userArray[
"email"] = 
"".$e_user->getEmail();
 
   64                                $userArray[
"department"] = 
"".$e_user->getDepartment();
 
   74                $query = 
'SELECT user_id, sco_id, rvalue ' 
   75                        . 
'FROM scorm_tracking '  
   76                        . 
'WHERE obj_id = %s ' 
   77                        . 
'AND '.$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
   78                        . 
'AND '.$ilDB->in(
'sco_id', $a_sco, 
false, 
'integer') .
' ' 
   82                        array(
'integer',
'text'),
 
   83                        array($this->getObjId(),$lvalue)
 
   94                $query = 
'SELECT user_id, sco_id, rvalue ' 
   95                        . 
'FROM scorm_tracking '  
   96                        . 
'WHERE obj_id = %s ' 
   97                        . 
'AND '.$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
   98                        . 
'AND '.$ilDB->in(
'sco_id', $a_sco, 
false, 
'integer') .
' ' 
  102                        array(
'integer',
'text'),
 
  103                        array($this->getObjId(),
'cmi.'.$topic.
'.'.$counter.
'.'.$lvalue)
 
  106                        if(!is_null(
$data[
'rvalue'])) $a_return[
''.$data[
'user_id'].
'-'.
$data[
'sco_id'].
'-'.$counter] = 
$data[
'rvalue'];
 
  113                $lng->loadLanguageModule(
"scormtrac");
 
  118                        'lm_id,lm_title,identifierref,sco_id,sco_marked_for_learning_progress,sco_title,'.$udh[
"cols"]
 
  119                        .
',c_timestamp,lvalue,rvalue');
 
  120                $a_true=explode(
',',$udh[
"default"].
",identifierref,c_timestamp,lvalue,rvalue");
 
  121                for ($i=0;$i<count($a_cols);$i++) {
 
  122                        $cols[$a_cols[$i]] = array(
"txt" => 
$lng->txt($a_cols[$i]),
"default" => 
false);
 
  124                for ($i=0;$i<count($a_true);$i++) {
 
  125                        $cols[$a_true[$i]][
"default"] = 
true;
 
  130        function exportSelectedRaw($a_user = array(), $a_sco = array(), $b_orderBySCO=
false, $allowExportPrivacy=
false) {
 
  132                $lng->loadLanguageModule(
"scormtrac");
 
  134                $returnData = array();
 
  140                $query = 
'SELECT user_id, st.obj_id, sco_id, identifierref, c_timestamp, lvalue, rvalue ' 
  141                        . 
'FROM scorm_tracking st ' 
  142                        . 
'JOIN sc_item si ON st.sco_id = si.obj_id ' 
  143                        . 
'WHERE '.$ilDB->in(
'sco_id', $a_sco, 
false, 
'integer') .
' ' 
  144                        . 
'AND '.$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
  147                        if ($b_orderBySCO) 
$query.=
'sco_id, user_id';
 
  148                        else $query.=
'user_id, sco_id';
 
  152                        $data[
"lm_id"] = $this->getObjId();
 
  153                        $data[
"lm_title"] = $this->lmTitle;
 
  154                        $data=array_merge(
$data,self::userDataArrayForExport(
$data[
"user_id"], $allowExportPrivacy));
 
  155                        $data[
"sco_marked_for_learning_progress"] = $scoProgress[
$data[
"sco_id"]];
 
  156                        $data[
"sco_title"] = $scoTitles[
$data[
"sco_id"]];
 
  157                        $data[
"rvalue"] = 
"".$data[
"rvalue"];
 
  167                $lng->loadLanguageModule(
"scormtrac");
 
  172                        'lm_id,lm_title,sco_id,sco_marked_for_learning_progress,sco_title,'.$udh[
"cols"]
 
  173                        .
',lesson_status,credit,c_entry,c_exit,c_max,c_min,c_raw,session_time,total_time,c_timestamp,suspend_data,launch_data');
 
  174                $a_true=explode(
',',$udh[
"default"].
",sco_title,lesson_status");
 
  175                for ($i=0;$i<count($a_cols);$i++) {
 
  176                        $cols[$a_cols[$i]] = array(
"txt" => 
$lng->txt($a_cols[$i]),
"default" => 
false);
 
  178                for ($i=0;$i<count($a_true);$i++) {
 
  179                        $cols[$a_true[$i]][
"default"] = 
true;
 
  184        function exportSelectedCore($a_user = array(), $a_sco = array(), $b_orderBySCO=
false, $allowExportPrivacy=
false) {
 
  186                $lng->loadLanguageModule(
"scormtrac");
 
  188                $returnData = array();
 
  196                for($i=0; $i<count($a_user); $i++) {
 
  197                        $a_empty[$a_user[$i]] = array();
 
  201                $query = 
'SELECT user_id, sco_id, max(c_timestamp) as c_timestamp ' 
  202                        . 
'FROM scorm_tracking ' 
  203                        . 
'WHERE '.$ilDB->in(
'sco_id', $a_sco, 
false, 
'integer') .
' ' 
  204                        . 
'AND '.$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
  205                        . 
'GROUP BY user_id, sco_id ' 
  207                        if ($b_orderBySCO) 
$query.=
'sco_id, user_id';
 
  208                        else $query.=
'user_id, sco_id';
 
  213                        $a_empty[
$row[
"user_id"]][
$row[
"sco_id"]]=
"";
 
  228                foreach($dbdata as 
$data) {
 
  229                        $data[
"lm_id"] = $this->getObjId();
 
  230                        $data[
"lm_title"] = $this->lmTitle;
 
  232                        $data=array_merge(
$data,self::userDataArrayForExport(
$data[
"user_id"], $allowExportPrivacy));
 
  234                        $data[
"sco_marked_for_learning_progress"] = $scoProgress[
$data[
"sco_id"]];
 
  235                        $data[
"sco_title"] = $scoTitles[
$data[
"sco_id"]];
 
  239                        $data[
"lesson_status"] = $a_lesson_status[
$data[
'user_id']][
$data[
'sco_id']];
 
  250                        $data[
"session_time"] = $a_session_time[
$data[
'user_id']][
$data[
'sco_id']];
 
  253                        $data[
"total_time"] = $a_total_time[
$data[
'user_id']][
$data[
'sco_id']];
 
  257                        $data[
"suspend_data"] = $a_suspend_data[
$data[
'user_id']][
$data[
'sco_id']];
 
  258                        $data[
"launch_data"] = $a_launch_data[
$data[
'user_id']][
$data[
'sco_id']];
 
  267                $lng->loadLanguageModule(
"scormtrac");
 
  271                        'lm_id,lm_title,sco_id,sco_marked_for_learning_progress,sco_title,'.$udh[
"cols"]
 
  272                        .
',counter,id,weighting,type,result,student_response,latency,time,c_timestamp');
 
  273                $a_true=explode(
',',$udh[
"default"].
",sco_title,id,result,student_response");
 
  274                for ($i=0;$i<count($a_cols);$i++) {
 
  275                        $cols[$a_cols[$i]] = array(
"txt" => 
$lng->txt($a_cols[$i]),
"default" => 
false);
 
  277                for ($i=0;$i<count($a_true);$i++) {
 
  278                        $cols[$a_true[$i]][
"default"] = 
true;
 
  286                $returnData = array();
 
  294                $interactionsCounter = array();
 
  297                $query = 
'SELECT user_id, sco_id, lvalue, c_timestamp ' 
  298                        . 
'FROM scorm_tracking ' 
  299                        . 
'WHERE obj_id = %s AND '.$ilDB->in(
'sco_id', $a_sco, 
false, 
'integer') .
' ' 
  300                        . 
'AND '.$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
  301                        . 
'AND left(lvalue,17) = %s ' 
  303                        if ($b_orderBySCO) 
$query.=
'sco_id, user_id, lvalue';
 
  304                        else $query.=
'user_id, sco_id, lvalue';
 
  307                        array(
'integer',
'text'),
 
  308                        array($this->getObjId(),
'cmi.interactions.'));
 
  312                        $tmpar = explode(
'.',
$row[
"lvalue"]);
 
  313                        $tmpcounter = $tmpar[2];
 
  314                        if (in_array($tmpcounter,$interactionsCounter) == 
false) $interactionsCounter[] = $tmpcounter;
 
  315                        if ($tmpcounter != $prevcounter) {
 
  317                                $tmpar[
"user_id"] = 
$row[
"user_id"];
 
  318                                $tmpar[
"sco_id"] = 
$row[
"sco_id"];
 
  319                                $tmpar[
"counter"] = $tmpcounter;
 
  321                                $tmpar[
"weighting"] = 
"";
 
  323                                $tmpar[
"result"] = 
"";
 
  324                                $tmpar[
"student_response"] = 
"";
 
  325                                $tmpar[
"latency"] = 
"";
 
  327                                $tmpar[
"c_timestamp"] = 
$row[
"c_timestamp"];
 
  329                                $prevcounter = $tmpcounter;
 
  335                $a_weighting = array();
 
  338                $a_student_response = array();
 
  339                $a_latency = array();
 
  341                for($i=0;$i<count($interactionsCounter);$i++) {
 
  342                        $a_id=array_merge($a_id,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'id', $interactionsCounter[$i],
'interactions'));
 
  343                        $a_weighting=array_merge($a_weighting,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'weighting', $interactionsCounter[$i],
'interactions'));
 
  344                        $a_type=array_merge($a_type,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'type', $interactionsCounter[$i],
'interactions'));
 
  345                        $a_result=array_merge($a_result,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'result', $interactionsCounter[$i],
'interactions'));
 
  346                        $a_student_response=array_merge($a_student_response,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'student_response', $interactionsCounter[$i],
'interactions'));
 
  347                        $a_latency=array_merge($a_latency,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'latency', $interactionsCounter[$i],
'interactions'));
 
  348                        $a_time=array_merge($a_time,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'time', $interactionsCounter[$i],
'interactions'));
 
  350                foreach($dbdata as 
$data) {
 
  351                        $data[
"lm_id"] = $this->getObjId();
 
  352                        $data[
"lm_title"] = $this->lmTitle;
 
  354                        $data=array_merge(
$data,self::userDataArrayForExport(
$data[
"user_id"], $allowExportPrivacy));
 
  356                        $data[
"sco_marked_for_learning_progress"] = $scoProgress[
$data[
"sco_id"]];
 
  357                        $data[
"sco_title"] = $scoTitles[
$data[
"sco_id"]];
 
  359                        $combinedId = 
''.$data[
"user_id"].
'-'.
$data[
"sco_id"].
'-'.
$data[
"counter"];
 
  360                        if (array_key_exists($combinedId,$a_id)) 
$data[
"id"] = $a_id[$combinedId];
 
  361                        if (array_key_exists($combinedId,$a_weighting)) 
$data[
"weighting"] = $a_weighting[$combinedId];
 
  362                        if (array_key_exists($combinedId,$a_type)) 
$data[
"type"] = $a_type[$combinedId];
 
  363                        if (array_key_exists($combinedId,$a_result)) 
$data[
"result"] = $a_result[$combinedId];
 
  364                        if (array_key_exists($combinedId,$a_student_response)) 
$data[
"student_response"] = $a_student_response[$combinedId];
 
  365                        if (array_key_exists($combinedId,$a_latency)) 
$data[
"latency"] = $a_latency[$combinedId];
 
  366                        if (array_key_exists($combinedId,$a_time)) 
$data[
"time"] = $a_time[$combinedId];
 
  379                $lng->loadLanguageModule(
"scormtrac");
 
  383                        'lm_id,lm_title,sco_id,sco_marked_for_learning_progress,sco_title,'.$udh[
"cols"]
 
  384                        .
',counter,id,c_max,c_min,c_raw,ostatus,c_timestamp');
 
  385                $a_true=explode(
',',$udh[
"default"].
",sco_title,id,c_raw,ostatus");
 
  386                for ($i=0;$i<count($a_cols);$i++) {
 
  387                        $cols[$a_cols[$i]] = array(
"txt" => 
$lng->txt($a_cols[$i]),
"default" => 
false);
 
  389                for ($i=0;$i<count($a_true);$i++) {
 
  390                        $cols[$a_true[$i]][
"default"] = 
true;
 
  398                $returnData = array();
 
  406                $objectivesCounter = array();
 
  409                $query = 
'SELECT user_id, sco_id, lvalue, c_timestamp ' 
  410                        . 
'FROM scorm_tracking ' 
  411                        . 
'WHERE obj_id = %s AND '.$ilDB->in(
'sco_id', $a_sco, 
false, 
'integer') .
' ' 
  412                        . 
'AND '.$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
  413                        . 
'AND left(lvalue,15) = %s ' 
  415                        if ($b_orderBySCO) 
$query.=
'sco_id, user_id, lvalue';
 
  416                        else $query.=
'user_id, sco_id, lvalue';
 
  419                        array(
'integer',
'text'),
 
  420                        array($this->getObjId(),
'cmi.objectives.'));
 
  424                        $tmpar = explode(
'.',
$row[
"lvalue"]);
 
  425                        $tmpcounter = $tmpar[2];
 
  426                        if (in_array($tmpcounter,$objectivesCounter) == 
false) $objectivesCounter[] = $tmpcounter;
 
  427                        if ($tmpcounter != $prevcounter) {
 
  429                                $tmpar[
"user_id"] = 
$row[
"user_id"];
 
  430                                $tmpar[
"sco_id"] = 
$row[
"sco_id"];
 
  431                                $tmpar[
"counter"] = $tmpcounter;
 
  433                                $tmpar[
"c_max"] = 
"";
 
  434                                $tmpar[
"c_min"] = 
"";
 
  435                                $tmpar[
"c_raw"] = 
"";
 
  436                                $tmpar[
"ostatus"] = 
"";
 
  437                                $tmpar[
"c_timestamp"] = 
$row[
"c_timestamp"];
 
  439                                $prevcounter = $tmpcounter;
 
  447                for($i=0;$i<count($objectivesCounter);$i++) {
 
  448                        $a_id=array_merge($a_id,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'id', $objectivesCounter[$i],
'objectives'));
 
  449                        $a_c_max=array_merge($a_c_max,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'score.max', $objectivesCounter[$i],
'objectives'));
 
  450                        $a_c_min=array_merge($a_c_min,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'score.min', $objectivesCounter[$i],
'objectives'));
 
  451                        $a_c_raw=array_merge($a_c_raw,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'score.raw', $objectivesCounter[$i],
'objectives'));
 
  452                        $a_status=array_merge($a_status,self::getScormTrackingValueForInteractionsOrObjectives($a_user, $a_sco, 
'status', $objectivesCounter[$i],
'objectives'));
 
  454                foreach($dbdata as 
$data) {
 
  455                        $data[
"lm_id"] = $this->getObjId();
 
  456                        $data[
"lm_title"] = $this->lmTitle;
 
  458                        $data=array_merge(
$data,self::userDataArrayForExport(
$data[
"user_id"], $allowExportPrivacy));
 
  460                        $data[
"sco_marked_for_learning_progress"] = $scoProgress[
$data[
"sco_id"]];
 
  461                        $data[
"sco_title"] = $scoTitles[
$data[
"sco_id"]];
 
  463                        $combinedId = 
''.$data[
"user_id"].
'-'.
$data[
"sco_id"].
'-'.
$data[
"counter"];
 
  464                        if (array_key_exists($combinedId,$a_id)) 
$data[
"id"] = $a_id[$combinedId];
 
  465                        if (array_key_exists($combinedId,$a_c_max)) 
$data[
"c_max"] = $a_c_max[$combinedId];
 
  466                        if (array_key_exists($combinedId,$a_c_min)) 
$data[
"c_min"] = $a_c_min[$combinedId];
 
  467                        if (array_key_exists($combinedId,$a_c_raw)) 
$data[
"c_raw"] = $a_c_raw[$combinedId];
 
  468                        if (array_key_exists($combinedId,$a_status)) 
$data[
"ostatus"] = $a_status[$combinedId];
 
  480                $lng->loadLanguageModule(
"scormtrac");
 
  485                $a_cols=explode(
',',
'LearningModuleId,LearningModuleTitle,LearningModuleVersion,'.$udh[
"cols"]
 
  486                        .
',status,Percentage,Attempts,existingSCOs,startedSCOs,completedSCOs,passedSCOs,roundedTotal_timeSeconds,offline_mode,last_access');
 
  487                $a_true=explode(
',',$udh[
"default"].
",LearningModuleTitle,status,Percentage,Attempts");
 
  489                for ($i=0;$i<count($a_cols);$i++) {
 
  490                        $cols[$a_cols[$i]] = array(
"txt" => 
$lng->txt($a_cols[$i]),
"default" => 
false);
 
  492                for ($i=0;$i<count($a_true);$i++) {
 
  493                        $cols[$a_true[$i]][
"default"] = 
true;
 
  498        function exportSelectedSuccessRows($a_user = array(), $allowExportPrivacy=
false, $dbdata = array(), $scoCounter, $u_startedSCO, $u_completedSCO, $u_passedSCO) {
 
  500                foreach($dbdata as 
$data) {
 
  502                        $dat[
"LearningModuleId"] = $this->getObjId();
 
  503                        $dat[
"LearningModuleTitle"] = 
"".$this->lmTitle;
 
  504                        $dat[
"LearningModuleVersion"]=
"".$data[
"module_version"];
 
  506                        $dat=array_merge($dat,self::userDataArrayForExport(
$data[
"user_id"], $allowExportPrivacy));
 
  508                        $dat[
"status"]=
"".$data[
"status"];
 
  509                        $dat[
"Percentage"]=
"".$data[
"percentage_completed"];
 
  510                        $dat[
"Attempts"]=
"".$data[
"package_attempts"];
 
  511                        $dat[
"existingSCOs"]=
"".$scoCounter;
 
  512                        $dat[
"startedSCOs"]=
"".$u_startedSCO[
$data[
"user_id"]];
 
  513                        $dat[
"completedSCOs"]=
"".$u_completedSCO[
$data[
"user_id"]];
 
  514                        $dat[
"passedSCOs"]=
"".$u_passedSCO[
$data[
"user_id"]];
 
  515                        $dat[
"roundedTotal_timeSeconds"]=
"".$data[
"sco_total_time_sec"];
 
  516                        if (is_null(
$data[
"offline_mode"])) $dat[
"offline_mode"]=
"";
 
  517                        else $dat[
"offline_mode"]=
$data[
"offline_mode"];
 
  518                        $dat[
"last_access"]=
"".$data[
"last_access"];
 
  528                $query = 
'SELECT count(distinct(scorm_object.obj_id)) counter ' 
  529                                .
'FROM scorm_object, sc_item, sc_resource ' 
  530                                .
'WHERE scorm_object.slm_id = %s ' 
  531                                .
'AND scorm_object.obj_id = sc_item.obj_id ' 
  532                                .
'AND sc_item.identifierref = sc_resource.import_id ' 
  533                                .
'AND (sc_resource.scormtype = %s OR sc_resource.scormtype is null)';
 
  536                        array(
'integer', 
'text'),
 
  537                        array($this->getObjId(),
'sco')
 
  541                        $scoCounter = 
$row[
'counter'];
 
  545                $u_startedSCO = array();
 
  546                $u_completedSCO = array();
 
  547                $u_passedSCO = array();
 
  548                for($i=0; $i<count($a_user); $i++) {
 
  549                        $u_startedSCO[$a_user[$i]] = 0;
 
  550                        $u_completedSCO[$a_user[$i]] = 0;
 
  551                        $u_passedSCO[$a_user[$i]] = 0;
 
  554                $query = 
'SELECT user_id, count(distinct(SCO_ID)) counter ' 
  555                        . 
'FROM scorm_tracking '  
  556                        . 
'WHERE obj_id = %s ' 
  558                        . 
'AND '.$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
  559                        . 
'GROUP BY user_id';
 
  563                        array($this->getObjId())
 
  566                        $u_startedSCO[
$data[
'user_id']] = 
$data[
'counter'];
 
  569                $query = 
'SELECT user_id, count(*) counter ' 
  570                                .
'FROM scorm_tracking '  
  571                                .
'WHERE obj_id = %s AND lvalue = %s AND rvalue like %s ' 
  572                                .
'AND '.
$ilDB->in(
'user_id', $a_user, 
false, 
'integer') .
' ' 
  576                        array(
'integer',
'text',
'text'),
 
  577                        array($this->getObjId(),
'cmi.core.lesson_status',
'completed')
 
  580                        $u_completedSCO[
$data[
'user_id']] = 
$data[
'counter'];
 
  585                        array(
'integer',
'text',
'text'),
 
  586                        array($this->getObjId(),
'cmi.core.lesson_status',
'passed')
 
  589                        $u_passedSCO[
$data[
'user_id']] = 
$data[
'counter'];
 
  594                $query = 
'SELECT * FROM sahs_user WHERE obj_id = '.$ilDB->quote($this->getObjId(), 
'integer')
 
  595                        .
' AND '.
$ilDB->in(
'user_id', $a_user, 
false, 
'integer')
 
  596                        .
' ORDER BY user_id';
 
  606                include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
  608                $allowExportPrivacy = $privacy->enabledExportSCORM();
 
  609                $returnData = array();
 
  610                if ($allowExportPrivacy == 
true) {
 
  611                        $returnData[
"cols"] = 
'login,user,email,department';
 
  613                        $returnData[
"cols"] = 
'user';
 
  615                $returnData[
"default"] = 
'user';
 
  621                if ($a_time == 
"") 
return "";
 
  622                $tarr = explode(
":", $a_time);
 
  624                if (count($tarr) != 3 || is_nan($tarr[0]) || is_nan($tarr[1]) || is_nan($tarr[2])) 
return "";
 
  625                $csec = (int) $tarr[0] * 360000 + (
int) $tarr[1] * 6000 + $tarr[2] * 100;
 
  626                return round($csec/100);
 
static getInstance($a_obj_id)
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static _getInstance()
Get instance of ilPrivacySettings.
Class ilSCORMTrackingItems.
exportSelectedSuccess($a_user=array(), $allowExportPrivacy=false)
userDataArrayForExport($user, $b_allowExportPrivacy=false)
exportSelectedSuccessRows($a_user=array(), $allowExportPrivacy=false, $dbdata=array(), $scoCounter, $u_startedSCO, $u_completedSCO, $u_passedSCO)
scoTitlesForExportSelected()
exportSelectedRawColumns()
exportSelectedCore($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false)
SCORMTimeToSeconds($a_time)
markedLearningStatusForExportSelected($a_scos)
userDataHeaderForExport()
exportSelectedCoreColumns($b_orderBySCO, $b_allowExportPrivacy)
exportSelectedSuccessColumns()
getScormTrackingValue($a_user=array(), $a_sco=array(), $a_empty=array(), $lvalue)
getScormTrackingValueForInteractionsOrObjectives($a_user=array(), $a_sco=array(), $lvalue, $counter, $topic)
exportSelectedInteractions($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false)
exportSelectedObjectivesColumns()
exportSelectedInteractionsColumns()
exportSelectedRaw($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false)
exportSelectedObjectives($a_user=array(), $a_sco=array(), $b_orderBySCO=false, $allowExportPrivacy=false)