3 declare(strict_types=1);
    46     public function __construct(
int $a_obj_id, ?
object $a_parent_obj, 
string $a_parent_cmd, array $a_userSelected, array $a_scosSelected, 
string $a_report)
    50         $this->
ctrl = $DIC->ctrl();
    51         $lng = $DIC->language();
    54         $this->
access = $DIC->access();
    55         $this->rbacsystem = $DIC->rbac()->system();
    57         $this->obj_id = $a_obj_id;
    58         $this->report = $a_report;
    59         $this->scosSelected = $a_scosSelected;
    60         $this->userSelected = $a_userSelected;
    61         if ($a_parent_cmd === 
"showTrackingItemsBySco") {
    64         if ($a_parent_obj !== null) {
    65             $this->lmTitle = $a_parent_obj->getObject()->getTitle();
    66             $this->
setId(
'2004' . $this->report);
    70         $this->allowExportPrivacy = $privacy->enabledExportSCORM();
    79             if (in_array($l, array(
"status", 
"time", 
"score"))) {
    84             $s = $this->
lng->txt($l);
    85             if (substr($l, 0, 14) === 
"interaction_id") {
    86                 $s = $this->
lng->txt(substr($l, 0, 14)) . 
' ' . substr($l, 14);
    88             if (substr($l, 0, 17) === 
"interaction_value") {
    89                 $s = sprintf($this->
lng->txt(substr($l, 0, 17)), substr($l, 17, (strpos($l, 
' ') - 17))) . substr($l, strpos($l, 
' '));
    91             if (substr($l, 0, 23) === 
"interaction_description") {
    92                 $s = $this->
lng->txt(substr($l, 0, 23)) . 
' ' . substr($l, 23);
    97         $this->
setRowTemplate(
'tpl.scorm2004_tracking_items.html', 
'components/ILIAS/Scorm2004');
   122         switch ($this->report) {
   123             case "exportSelectedCore":
   126             case "exportSelectedInteractions":
   129             case "exportSelectedObjectives":
   132             case "exportObjGlobalToSystem":
   135             case "tracInteractionItem":
   138             case "tracInteractionUser":
   141             case "tracInteractionUserAnswers":
   144             case "exportSelectedSuccess":
   163         switch ($this->report) {
   164             case "exportSelectedCore":
   165                 $tr_data = $ilSCORM2004TrackingItems->exportSelectedCore((array) $this->userSelected, (array) $this->scosSelected, $this->bySCO, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   167             case "exportSelectedInteractions":
   168                 $tr_data = $ilSCORM2004TrackingItems->exportSelectedInteractions((array) $this->userSelected, (array) $this->scosSelected, $this->bySCO, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   170             case "exportSelectedObjectives":
   171                 $tr_data = $ilSCORM2004TrackingItems->exportSelectedObjectives((array) $this->userSelected, (array) $this->scosSelected, $this->bySCO, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   173             case "exportObjGlobalToSystem":
   174                 $tr_data = $ilSCORM2004TrackingItems->exportObjGlobalToSystem((array) $this->userSelected, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   176             case "tracInteractionItem":
   177                 $tr_data = $ilSCORM2004TrackingItems->tracInteractionItem((array) $this->userSelected, (array) $this->scosSelected, $this->bySCO, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   179             case "tracInteractionUser":
   180                 $tr_data = $ilSCORM2004TrackingItems->tracInteractionUser((array) $this->userSelected, (array) $this->scosSelected, $this->bySCO, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   182             case "tracInteractionUserAnswers":
   183                 $tr_data = $ilSCORM2004TrackingItems->tracInteractionUserAnswers((array) $this->userSelected, (array) $this->scosSelected, $this->bySCO, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   185             case "exportSelectedSuccess":
   186                 $tr_data = $ilSCORM2004TrackingItems->exportSelectedSuccess((array) $this->userSelected, $this->allowExportPrivacy, $this->
getObjId(), $this->lmTitle);
   208     protected function parseValue(
string $id, 
float|
int|
string|null $value, 
string $type): float|
int|string|null
   210         if ($id === 
"status") {
   212             $path = $icons->getImagePathForStatus((
int) $value);
   217         elseif ($id === 
"launch_data" || $id === 
"suspend_data") {
   220         if (is_numeric($value)) {
   221             return round((
float) $value, 2);
   230     protected function fillRow(array $a_set): void
   233             $this->tpl->setCurrentBlock(
"user_field");
   234             $val = $this->
parseValue($c, $a_set[$c], 
"scormtrac");
   235             $this->tpl->setVariable(
"VAL_UF", $val);
   236             $this->tpl->parseCurrentBlock();
   245             $a_excel->
setCell($a_row, $cnt, $labels[$c][
"txt"]);
   256             if ($c !== 
'status') {
   257                 $val = $this->
parseValue($c, $a_set[$c], 
"user");
   261             $a_excel->
setCell($a_row, $cnt, $val);
   281             if ($c !== 
'status') {
   282                 $val = $this->
parseValue($c, $a_set[$c], 
"user");
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setExportFormats(array $formats)
Set available export formats. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setFormAction(string $a_form_action, bool $a_multipart=false)
 
setEnableTitle(bool $a_enabletitle)
 
static exportSelectedObjectivesColumns()
 
static exportSelectedCoreColumns(bool $b_orderBySCO, bool $b_allowExportPrivacy)
 
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
 
setShowTemplates(bool $a_value)
 
static getInstance(int $variant=ilLPStatusIcons::ICON_VARIANT_DEFAULT, ?\ILIAS\UI\Renderer $renderer=null, ?\ILIAS\UI\Factory $factory=null)
 
fillRowExcel(ilExcel $a_excel, int &$a_row, array $a_set)
 
loadLanguageModule(string $a_module)
Load language module. 
 
static exportSelectedSuccessColumns()
 
static img(string $a_src, ?string $a_alt=null, $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag. 
 
static tracInteractionItemColumns(bool $b_orderBySCO, bool $b_allowExportPrivacy)
 
__construct(int $a_obj_id, ?object $a_parent_obj, string $a_parent_cmd, array $a_userSelected, array $a_scosSelected, string $a_report)
 
setExternalSorting(bool $a_val)
 
setCell(int $a_row, int $col, $value, ?string $datatype=null, bool $disable_strip_tags_for_strings=false)
Set cell value. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setDefaultOrderField(string $a_defaultorderfield)
 
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template. 
 
setDefaultOrderDirection(string $a_defaultorderdirection)
 
static _getStatusText(int $a_status, ?ilLanguage $a_lng=null)
Get status alt text. 
 
static tracInteractionUserAnswersColumns(array $a_user, array $a_sco, bool $b_orderBySCO, bool $b_allowExportPrivacy)
 
static stableSortArray(array $array, string $a_array_sortby, string $a_array_sortorder="asc", bool $a_numeric=false)
Sort an aray using a stable sort algorithm, which preveserves the sequence of array elements which ha...
 
fillRowCSV(ilCSVWriter $a_csv, array $a_set)
 
parseValue(string $id, float|int|string|null $value, string $type)
 
fillHeaderExcel(ilExcel $a_excel, int &$a_row)
 
fillRow(array $a_set)
Fill table row. 
 
__construct(Container $dic, ilPlugin $plugin)
 
static tracInteractionUserColumns(bool $b_orderBySCO, bool $b_allowExportPrivacy)
 
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
 
fillHeaderCSV(ilCSVWriter $a_csv)
 
static exportSelectedInteractionsColumns()
 
determineOffsetAndOrder(bool $a_omit_offset=false)
 
setEnableHeader(bool $a_enableheader)
 
static exportObjGlobalToSystemColumns()