ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilTrMatrixTableGUI Class Reference

name table More...

+ Inheritance diagram for ilTrMatrixTableGUI:
+ Collaboration diagram for ilTrMatrixTableGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, $ref_id)
 Constructor.
 initFilter ()
 Init filter.
 getSelectableColumns ()
 Get selectable columns.
 getItems (array $a_user_fields, array $a_privary_fields=null)
 fillRow (array $a_set)
- Public Member Functions inherited from ilLPTableBaseGUI
 executeCommand ()
 Execute command.
 searchFilterListener ($a_ref_id, $a_data)
 Listener for SearchResultFilter Checks wheather the object is hidden and mode is not LP_MODE_DEACTIVATED public.
 initFilter ($a_split_learning_resources=false, $a_include_no_status_filter=true)
 Init filter.
 getCurrentFilter ($as_query=false)
- Public Member Functions inherited from ilTable2GUI
 setOpenFormTag ($a_val)
 Set open form tag.
 getOpenFormTag ()
 Get open form tag.
 setCloseFormTag ($a_val)
 Set close form tag.
 getCloseFormTag ()
 Get close form tag.
 determineLimit ()
 Determine the limit.
 determineSelectedColumns ()
 Determine selected columns.
 isColumnSelected ($a_col)
 Is given column selected?
 getSelectedColumns ()
 Get selected columns.
 resetOffset ($a_in_determination=false)
 Reset offset.
 getParentObject ()
 Get parent object.
 getParentCmd ()
 Get parent command.
 setTopAnchor ($a_val)
 Set top anchor.
 getTopAnchor ()
 Get top anchor.
 setNoEntriesText ($a_text)
 Set text for an empty table.
 getNoEntriesText ()
 Get text for an empty table.
 setIsDataTable ($a_val)
 Set is data table.
 getIsDataTable ()
 Get is data table.
 setEnableTitle ($a_enabletitle)
 Set Enable Title.
 getEnableTitle ()
 Get Enable Title.
 setEnableHeader ($a_enableheader)
 Set Enable Header.
 getEnableHeader ()
 Get Enable Header.
 setEnableNumInfo ($a_val)
 Set enable num info.
 getEnableNumInfo ()
 Get enable num info.
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 Set title and title icon.
 setDescription ($a_val)
 Set description.
 getDescription ()
 Get description.
 setOrderField ($a_order_field)
 set order column
 getOrderField ()
 setData ($a_data)
 set table data public
 getData ()
 dataExists ()
 setPrefix ($a_prefix)
 set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort separately) public
 getPrefix ()
 addFilterItem ($a_input_item, $a_optional=false)
 Add filter item.
 addFilterItemByMetaType ($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=NULL)
 Add filter by standard type.
 getFilterItems ($a_optionals=false)
 Get filter items.
 getFilterItemByPostVar ($a_post_var)
 setFilterCols ($a_val)
 Set filter columns.
 getFilterCols ()
 Get filter columns.
 setDisableFilterHiding ($a_val=true)
 Set disable filter hiding.
 getDisableFilterHiding ()
 Get disable filter hiding.
 isFilterSelected ($a_col)
 Is given filter selected?
 getSelectedFilters ()
 Get selected filters.
 determineSelectedFilters ()
 Determine selected filters.
 setCustomPreviousNext ($a_prev_link, $a_next_link)
 Set custom previous/next links.
 setFormAction ($a_form_action, $a_multipart=false)
 Set Form action parameter.
 getFormAction ()
 Get Form action parameter.
 setFormName ($a_formname)
 Set Form name.
 getFormName ()
 Get Form name.
 setId ($a_val)
 Set id.
 getId ()
 Get element id.
 setDisplayAsBlock ($a_val)
 Set display as block.
 getDisplayAsBlock ()
 Get display as block.
 getSelectAllCheckbox ()
 Get the name of the checkbox that should be toggled with a select all button.
 setSelectAllCheckbox ($a_select_all_checkbox)
 Set the name of the checkbox that should be toggled with a select all button.
 setExternalSorting ($a_val)
 Set external sorting.
 getExternalSorting ()
 Get external sorting.
 setFilterCommand ($a_val, $a_caption=null)
 Set filter command.
 getFilterCommand ()
 Get filter command.
 setResetCommand ($a_val, $a_caption=null)
 Set reset filter command.
 getResetCommand ()
 Get reset filter command.
 setExternalSegmentation ($a_val)
 Set external segmentation.
 getExternalSegmentation ()
 Get external segmentation.
 setRowTemplate ($a_template, $a_template_dir="")
 Set row template.
 setDefaultOrderField ($a_defaultorderfield)
 Set Default order field.
 getDefaultOrderField ()
 Get Default order field.
 setDefaultOrderDirection ($a_defaultorderdirection)
 Set Default order direction.
 getDefaultOrderDirection ()
 Get Default order direction.
 clearCommandButtons ()
 addCommandButton ($a_cmd, $a_text, $a_onclick= '', $a_id="", $a_class=null)
 Add Command button.
 addCommandButtonInstance (ilButton $a_button)
 Add Command button instance.
 addSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button.
 addMultiItemSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button for selected items.
 setCloseCommand ($a_link)
 Add command for closing table.
 addMultiCommand ($a_cmd, $a_text)
 Add Command button.
 addHiddenInput ($a_name, $a_value)
 Add Hidden Input field.
 addHeaderCommand ($a_href, $a_text, $a_target="", $a_img="")
 Add Header Command (Link) (Image needed for now)
 setTopCommands ($a_val)
 Set top commands (display command buttons on top of table, too)
 getTopCommands ()
 Get top commands (display command buttons on top of table, too)
 addColumn ($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="")
 Add a column to the header.
 getNavParameter ()
 setOrderLink ($sort_field, $order_dir)
 fillHeader ()
 determineOffsetAndOrder ($a_omit_offset=false)
 Determine offset and order.
 storeNavParameter ()
 getHTML ()
 Get HTML.
 numericOrdering ($a_field)
 Should this field be sorted numeric?
 render ()
 render table public
 writeFilterToSession ()
 Write filter values to session.
 resetFilter ()
 Reset filter.
 fillFooter ()
 Fill footer row.
 getLinkbar ($a_num)
 Get previous/next linkbar.
 fillHiddenRow ()
 fillActionRow ()
 Fill Action Row.
 setHeaderHTML ($html)
 set header html
 storeProperty ($type, $value)
 Store table property.
 loadProperty ($type)
 Load table property.
 getCurrentState ()
 get current settings for order, limit, columns and filter
 setContext ($id)
 Set context.
 getContext ()
 Get context.
 setShowRowsSelector ($a_value)
 Toggle rows-per-page selector.
 getShowRowsSelector ()
 Get rows-per-page selector state.
 setShowTemplates ($a_value)
 Toggle templates.
 getShowTemplates ()
 Get template state.
 restoreTemplate ($a_name)
 Restore state from template.
 saveTemplate ($a_name)
 Save current state as template.
 deleteTemplate ($a_name)
 Delete template.
 getLimit ()
 Get limit.
 getOffset ()
 Get offset.
 setExportFormats (array $formats)
 Set available export formats.
 setPrintMode ($a_value=false)
 Toogle print mode.
 getPrintMode ()
 Get print mode.
 getExportMode ()
 Was export activated?
 exportData ($format, $send=false)
 Export and optionally send current table data.
 setEnableAllCommand ($a_value)
 Enable actions for all entries in current result.
 setRowSelectorLabel ($row_selector_label)
 getRowSelectorLabel ()
 setPreventDoubleSubmission ($a_val)
 Set prevent double submission.
 getPreventDoubleSubmission ()
 Get prevent double submission.
- Public Member Functions inherited from ilTableGUI
 ilTableGUI ($a_data=0, $a_global_tpl=true)
 Constructor.
 setTemplate (&$a_tpl)
 set template public
getTemplateObject ()
 setHelp ($a_help_page, $a_help_icon, $a_help_icon_alt=0)
 set table help page public
 setHeaderNames ($a_header_names)
 set table header names public
 getColumnCount ()
 Returns the column count based on the number of the header row columns public.
 setHeaderVars ($a_header_vars, $a_header_params=0)
 set table header vars public
 setColumnWidth ($a_column_width)
 set table column widths public
 setOneColumnWidth ($a_column_width, $a_column_number)
 set one table column width public
 setMaxCount ($a_max_count)
 set max.
 setLimit ($a_limit=0, $a_default_limit=0)
 set max.
 setOffset ($a_offset)
 set dataset offset public
 setOrderColumn ($a_order_column=0, $a_default_column=0)
 set order column public
 getOrderColumn ()
 Get order column.
 setOrderDirection ($a_order_direction)
 set order direction public
 getOrderDirection ()
 Get order direction.
 setFooter ($a_style, $a_previous=0, $a_next=0)
 set order direction public
 enable ($a_module_name)
 enables particular modules of table
 disable ($a_module_name)
 diesables particular modules of table
 sortData ()
 renderHeader ()
 setStyle ($a_element, $a_style)
 getStyle ($a_element)
 setBase ($a_base)
 Set Base script name (deprecated, only use this for workarounds).
 getBase ()
 Get Base script name (deprecated, only use this for workarounds).
 clearActionButtons ()
 addActionButton ($btn_name, $btn_value)

Protected Member Functions

 fillHeaderExcel ($worksheet, &$a_row)
 Excel Version of Fill Header.
 fillRowExcel ($worksheet, &$a_row, $a_set)
 Excel Version of Fill Row.
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header.
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row.
- Protected Member Functions inherited from ilLPTableBaseGUI
 searchObjects (array $filter, $permission, array $preset_obj_ids=null)
 Search objects that match current filters.
 buildPath ($ref_ids)
 Build path with deep-link.
 getPossibleTypes ($a_split_learning_resources=false, $a_include_digilib=false, $a_allow_undefined_lp=false)
 Get possible subtypes.
 parseValue ($id, $value, $type)
 isPercentageAvailable ($a_obj_id)
 parseTitle ($a_obj_id, $action, $a_user_id=false)
 getExportMeta ()
 Build export meta data.
 fillMetaExcel ($worksheet, &$a_row)
 Add meta information to excel export.
 fillMetaCSV ($a_csv)
 Add meta information to csv export.
 showTimingsWarning ($a_ref_id, $a_user_id)
 formatSeconds ($seconds, $a_shorten_zero=false)
 anonymizeValue ($a_value, $a_force_number=false)
 buildValueScale ($a_max_value, $a_anonymize=false, $a_format_seconds=false)
 getMonthsFilter ($a_short=false)
 getMonthsYear ($a_year=null, $a_short=false)
 getSelectableUserColumns ($a_in_course=false, $a_in_group=false)
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated.
 fillRow ($a_set)
 Standard Version of Fill Row.
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value.
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value.

Protected Attributes

 $obj_ids = NULL
 $objective_ids = NULL
 $sco_ids = NULL
 $subitem_ids = NULL
 $in_course
 $in_group
 $privacy_fields
 $privacy_cols = array()
- Protected Attributes inherited from ilLPTableBaseGUI
 $filter
 $anonymized
- Protected Attributes inherited from ilTable2GUI
 $close_command = ""
 $top_anchor = "il_table_top"
 $filters = array()
 $optional_filters = array()
 $filter_cmd = 'applyFilter'
 $reset_cmd = 'resetFilter'
 $filter_cols = 5
 $ext_sort = false
 $ext_seg = false
 $context = ""
 $mi_sel_buttons = null
 $disable_filter_hiding = false
 $selected_filter = false
 $top_commands = true
 $selectable_columns = array()
 $selected_column = array()
 $show_templates = false
 $show_rows_selector = true
 $nav_determined = false
 $limit_determined = false
 $filters_determined = false
 $columns_determined = false
 $open_form_tag = true
 $close_form_tag = true
 $export_formats
 $export_mode
 $print_mode
 $enable_command_for_all
 $restore_filter
 $restore_filter_values
 $sortable_fields = array()
 $prevent_double_submission = true
 $row_selector_label

Additional Inherited Members

- Static Public Member Functions inherited from ilTable2GUI
static getAllCommandLimit ()
 Get maximum number of entries to enable actions for all.
- Data Fields inherited from ilTable2GUI
const FILTER_TEXT = 1
const FILTER_SELECT = 2
const FILTER_DATE = 3
const FILTER_LANGUAGE = 4
const FILTER_NUMBER_RANGE = 5
const FILTER_DATE_RANGE = 6
const FILTER_DURATION_RANGE = 7
const FILTER_DATETIME_RANGE = 8
const EXPORT_EXCEL = 1
const EXPORT_CSV = 2
const ACTION_ALL_LIMIT = 1000

Detailed Description

name table

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 14 of file class.ilTrMatrixTableGUI.php.

Constructor & Destructor Documentation

ilTrMatrixTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
  $ref_id 
)

Constructor.

Reimplemented from ilLPTableBaseGUI.

Definition at line 28 of file class.ilTrMatrixTableGUI.php.

References ilTableGUI\$icon, $ilCtrl, $lng, $ref_id, ilTableGUI\$title, ilObject\_lookupObjId(), ilTable2GUI\addColumn(), getSelectableColumns(), ilTable2GUI\getSelectedColumns(), initFilter(), ilLPTableBaseGUI\parseTitle(), ilTable2GUI\setDefaultOrderDirection(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setEnableHeader(), ilTable2GUI\setExportFormats(), ilTable2GUI\setFormAction(), ilTable2GUI\setId(), ilTableGUI\setLimit(), ilTable2GUI\setRowTemplate(), and ilTable2GUI\setShowTemplates().

{
global $ilCtrl, $lng, $tree;
$this->setId("trsmtx_".$ref_id);
$this->ref_id = $ref_id;
$this->obj_id = ilObject::_lookupObjId($ref_id);
$this->in_group = $tree->checkForParentType($this->ref_id, "grp");
if($this->in_group)
{
$this->in_group = ilObject::_lookupObjId($this->in_group);
}
else
{
$this->in_course = $tree->checkForParentType($this->ref_id, "crs");
if($this->in_course)
{
$this->in_course = ilObject::_lookupObjId($this->in_course);
}
}
// has to be before constructor to work
$this->initFilter();
parent::__construct($a_parent_obj, $a_parent_cmd);
$this->setLimit(9999);
$this->parseTitle($this->obj_id, "trac_matrix");
$this->setEnableHeader(true);
$this->setFormAction($ilCtrl->getFormActionByClass(get_class($this)));
$this->setRowTemplate("tpl.user_object_matrix_row.html", "Services/Tracking");
$this->setDefaultOrderField("login");
$this->setDefaultOrderDirection("asc");
$this->setShowTemplates(true);
$this->addColumn($this->lng->txt("login"), "login");
$labels = $this->getSelectableColumns();
$selected = $this->getSelectedColumns();
foreach ($selected as $c)
{
$title = $labels[$c]["txt"];
if(isset($labels[$c]["no_permission"]) && (bool)$labels[$c]["no_permission"])
{
$title .= " (".$lng->txt("status_no_permission").")";
}
$tooltip = "";
if(isset($labels[$c]["icon"]))
{
$alt = $lng->txt($labels[$c]["type"]);
$icon = '<img src="'.$labels[$c]["icon"].'" alt="'.$alt.'" />';
if(sizeof($selected) > 5)
{
$tooltip = $title;
}
else
{
}
}
if(isset($labels[$c]["id"]))
{
$sort_id = $labels[$c]["id"];
}
else
{
// list cannot be sorted by udf fields (separate query)
$sort_id = (substr($c, 0, 4) == "udf_") ? "" : $c;
}
$this->addColumn($title, $sort_id, "", false, "", $tooltip);
}
$this->setExportFormats(array(self::EXPORT_CSV, self::EXPORT_EXCEL));
}

+ Here is the call graph for this function:

Member Function Documentation

ilTrMatrixTableGUI::fillHeaderCSV (   $a_csv)
protected

CSV Version of Fill Header.

Likely to be overwritten by derived class.

Parameters
object$a_csvcurrent file

Reimplemented from ilTable2GUI.

Definition at line 568 of file class.ilTrMatrixTableGUI.php.

References getSelectableColumns(), and ilTable2GUI\getSelectedColumns().

{
global $ilObjDataCache;
$a_csv->addColumn($this->lng->txt("login"));
$labels = $this->getSelectableColumns();
foreach ($this->getSelectedColumns() as $c)
{
if(substr($c, 0, 4) == "obj_")
{
$obj_id = substr($c, 4);
$type = $ilObjDataCache->lookupType($obj_id);
$a_csv->addColumn("(".$this->lng->txt($type).") ".$labels[$c]["txt"]);
if(is_array($this->perc_map) && $this->perc_map[$obj_id])
{
$a_csv->addColumn($this->lng->txt("trac_percentage")." (%)");
}
}
else
{
$a_csv->addColumn($labels[$c]["txt"]);
}
}
$a_csv->addRow();
}

+ Here is the call graph for this function:

ilTrMatrixTableGUI::fillHeaderExcel (   $worksheet,
$a_row 
)
protected

Excel Version of Fill Header.

Likely to be overwritten by derived class.

Parameters
object$a_worksheetcurrent sheet
int$a_rowrow counter

Reimplemented from ilTable2GUI.

Definition at line 490 of file class.ilTrMatrixTableGUI.php.

References getSelectableColumns(), and ilTable2GUI\getSelectedColumns().

{
global $ilObjDataCache;
$worksheet->write($a_row, 0, $this->lng->txt("login"));
$labels = $this->getSelectableColumns();
$cnt = 1;
foreach ($this->getSelectedColumns() as $c)
{
if(substr($c, 0, 4) == "obj_")
{
$obj_id = substr($c, 4);
$type = $ilObjDataCache->lookupType($obj_id);
$worksheet->write($a_row, $cnt, "(".$this->lng->txt($type).") ".$labels[$c]["txt"]);
if(is_array($this->perc_map) && $this->perc_map[$obj_id])
{
$cnt++;
$worksheet->write($a_row, $cnt, $this->lng->txt("trac_percentage")." (%)");
}
}
else
{
$worksheet->write($a_row, $cnt, $labels[$c]["txt"]);
}
$cnt++;
}
}

+ Here is the call graph for this function:

ilTrMatrixTableGUI::fillRow ( array  $a_set)

Definition at line 378 of file class.ilTrMatrixTableGUI.php.

References $lng, ilUtil\getImagePath(), ilTable2GUI\getSelectedColumns(), IL_CAL_UNIX, ilLPStatus\LP_STATUS_COMPLETED_NUM, ilLPStatus\LP_STATUS_NOT_ATTEMPTED_NUM, ilLPTableBaseGUI\parseValue(), and ilLPTableBaseGUI\showTimingsWarning().

{
global $lng;
foreach ($this->getSelectedColumns() as $c)
{
switch($c)
{
case (substr($c, 0, 4) == "obj_"):
$obj_id = substr($c, 4);
// object without read-lp-permission
if(in_array($obj_id, $this->privacy_cols) ||
$a_set["privacy_conflict"])
{
$this->tpl->setCurrentBlock("objects");
$this->tpl->setVariable("VAL_STATUS", "&nbsp;");
$this->tpl->parseCurrentBlock();
continue;
}
$status = isset($a_set[$c])
? (int)$a_set[$c]
$percentage = isset($a_set[$c."_perc"])
? (int)$a_set[$c."_perc"]
: null;
{
$timing = $this->showTimingsWarning($this->ref_ids[$obj_id], $a_set["usr_id"]);
if($timing)
{
if($timing !== true)
{
$timing = ": ".ilDatePresentation::formatDate(new ilDate($timing, IL_CAL_UNIX));
}
else
{
$timing = "";
}
$this->tpl->setCurrentBlock('warning_img');
$this->tpl->setVariable('WARNING_IMG', ilUtil::getImagePath('time_warn.svg'));
$this->tpl->setVariable('WARNING_ALT', $this->lng->txt('trac_time_passed').$timing);
$this->tpl->parseCurrentBlock();
}
}
$this->tpl->setCurrentBlock("objects");
$this->tpl->setVariable("VAL_STATUS", $this->parseValue("status", $status, ""));
$this->tpl->setVariable("VAL_PERCENTAGE", $this->parseValue("percentage", $percentage, ""));
$this->tpl->parseCurrentBlock();
break;
case (substr($c, 0, 6) == "objtv_"):
case (substr($c, 0, 7) == "objsco_"):
case (substr($c, 0, 7) == "objsub_"):
$status = isset($a_set[$c])
? (int)$a_set[$c]
$this->tpl->setCurrentBlock("objects");
if(!$a_set["privacy_conflict"])
{
$this->tpl->setVariable("VAL_STATUS", $this->parseValue("status", $status, ""));
}
else
{
$this->tpl->setVariable("VAL_STATUS", "&nbsp;");
}
$this->tpl->parseCurrentBlock();
break;
default:
$this->tpl->setCurrentBlock("user_field");
if(!$a_set["privacy_conflict"])
{
$this->tpl->setVariable("VAL_UF", $this->parseValue($c, $a_set[$c], ""));
}
else
{
$this->tpl->setVariable("VAL_UF", "&nbsp;");
}
$this->tpl->parseCurrentBlock();
break;
}
}
// #7694
if(!$a_set["active"] || $a_set["privacy_conflict"])
{
$mess = array();
if($a_set["privacy_conflict"])
{
$mess[] = $lng->txt("status_no_permission");
}
else if(!$a_set["active"])
{
$mess[] = $lng->txt("inactive");
}
$this->tpl->setCurrentBlock('inactive_bl');
$this->tpl->setVariable('TXT_INACTIVE', implode(", ", $mess));
$this->tpl->parseCurrentBlock();
}
$login = !$a_set["privacy_conflict"]
? $a_set["login"]
: "&nbsp;";
$this->tpl->setVariable("VAL_LOGIN", $login);
}

+ Here is the call graph for this function:

ilTrMatrixTableGUI::fillRowCSV (   $a_csv,
  $a_set 
)
protected

CSV Version of Fill Row.

Most likely to be overwritten by derived class.

Parameters
object$a_csvcurrent file
array$a_setdata array

Reimplemented from ilTable2GUI.

Definition at line 597 of file class.ilTrMatrixTableGUI.php.

References ilLearningProgressBaseGUI\_getStatusText(), ilTable2GUI\getSelectedColumns(), and ilLPTableBaseGUI\parseValue().

{
$a_csv->addColumn($a_set["login"]);
foreach ($this->getSelectedColumns() as $c)
{
switch($c)
{
case (substr($c, 0, 4) == "obj_"):
$obj_id = substr($c, 4);
$a_csv->addColumn($val);
if(is_array($this->perc_map) && $this->perc_map[$obj_id])
{
$perc = (int)$a_set[$c."_perc"];
if(!$perc)
{
$perc = null;
}
$a_csv->addColumn($perc);
}
break;
case (substr($c, 0, 6) == "objtv_"):
case (substr($c, 0, 7) == "objsco_"):
case (substr($c, 0, 7) == "objsub_"):
$a_csv->addColumn($val);
break;
/* #14142
case "last_access":
case "spent_seconds":
case "status_changed":
*/
default:
$val = $this->parseValue($c, $a_set[$c], "user");
$a_csv->addColumn($val);
break;
}
}
$a_csv->addRow();
}

+ Here is the call graph for this function:

ilTrMatrixTableGUI::fillRowExcel (   $a_worksheet,
$a_row,
  $a_set 
)
protected

Excel Version of Fill Row.

Most likely to be overwritten by derived class.

Parameters
object$a_worksheetcurrent sheet
int$a_rowrow counter
array$a_setdata array

Reimplemented from ilTable2GUI.

Definition at line 520 of file class.ilTrMatrixTableGUI.php.

References ilLearningProgressBaseGUI\_getStatusText(), ilTable2GUI\getSelectedColumns(), and ilLPTableBaseGUI\parseValue().

{
$worksheet->write($a_row, 0, $a_set["login"]);
$cnt = 1;
foreach ($this->getSelectedColumns() as $c)
{
switch($c)
{
case (substr($c, 0, 4) == "obj_"):
$obj_id = substr($c, 4);
$worksheet->write($a_row, $cnt, $val);
if(is_array($this->perc_map) && $this->perc_map[$obj_id])
{
$cnt++;
$perc = (int)$a_set[$c."_perc"];
if(!$perc)
{
$perc = null;
}
$worksheet->write($a_row, $cnt, $perc);
}
break;
case (substr($c, 0, 6) == "objtv_"):
case (substr($c, 0, 7) == "objsco_"):
case (substr($c, 0, 7) == "objsub_"):
$worksheet->write($a_row, $cnt, $val);
break;
/* #14142
case "last_access":
case "spent_seconds":
case "status_changed":
*/
default:
$val = $this->parseValue($c, $a_set[$c], "user");
$worksheet->write($a_row, $cnt, $val);
break;
}
$cnt++;
}
}

+ Here is the call graph for this function:

ilTrMatrixTableGUI::getItems ( array  $a_user_fields,
array  $a_privary_fields = null 
)

Definition at line 228 of file class.ilTrMatrixTableGUI.php.

References ilTableGUI\$data, $in_course, $in_group, $row, ilPrivacySettings\_getInstance(), ilTrQuery\getObjectIds(), ilTrQuery\getUserObjectiveMatrix(), ilTrQuery\getUserObjectMatrix(), ilCourseObjective\lookupObjectiveTitle(), ilLPStatus\LP_STATUS_COMPLETED_NUM, ilLPStatus\LP_STATUS_FAILED_NUM, ilLPStatus\LP_STATUS_IN_PROGRESS_NUM, ilLPStatus\LP_STATUS_NOT_ATTEMPTED_NUM, ilTable2GUI\setData(), and ilTableGUI\setMaxCount().

Referenced by getSelectableColumns().

{
include_once("./Services/Tracking/classes/class.ilTrQuery.php");
$collection = ilTrQuery::getObjectIds($this->obj_id, $this->ref_id, true);
if($collection["object_ids"])
{
// we need these for the timing warnings
$this->ref_ids = $collection["ref_ids"];
// only if object is [part of] course/group
$check_agreement = false;
if($this->in_course)
{
// privacy (if course agreement is activated)
include_once "Services/PrivacySecurity/classes/class.ilPrivacySettings.php";
if($privacy->courseConfirmationRequired())
{
$check_agreement = $this->in_course;
}
}
else if($this->in_group)
{
// privacy (if group agreement is activated)
include_once "Services/PrivacySecurity/classes/class.ilPrivacySettings.php";
if($privacy->groupConfirmationRequired())
{
$check_agreement = $this->in_group;
}
}
$data = ilTrQuery::getUserObjectMatrix($this->ref_id, $collection["object_ids"], $this->filter["name"], $a_user_fields, $a_privary_fields, $check_agreement);
if($collection["objectives_parent_id"] && $data["users"])
{
// sub-items: learning objectives
$objectives = ilTrQuery::getUserObjectiveMatrix($collection["objectives_parent_id"], $data["users"]);
$this->objective_ids = array();
foreach($objectives as $user_id => $objectives)
{
if(isset($data["set"][$user_id]))
{
foreach($objectives as $objective_id => $status)
{
$obj_id = "objtv_".$objective_id;
$data["set"][$user_id][$obj_id] = $status;
if(!in_array($obj_id, $this->objective_ids))
{
$this->objective_ids[$objective_id] = ilCourseObjective::lookupObjectiveTitle($objective_id);
}
}
}
}
}
// sub-items: SCOs
if($collection["scorm"] && $data["set"])
{
$this->sco_ids = array();
foreach(array_keys($data["set"]) as $user_id)
{
foreach($collection["scorm"]["scos"] as $sco)
{
if(!in_array($sco, $this->sco_ids))
{
$this->sco_ids[$sco] = $collection["scorm"]["scos_title"][$sco];
}
// alex, 5 Nov 2011: we got users being in failed and in
// completed status, I changed the setting in: first check failed
// then check completed since failed should superseed completed
// (before completed has been checked before failed)
if(in_array($user_id, $collection["scorm"]["failed"][$sco]))
{
}
else if(in_array($user_id, $collection["scorm"]["completed"][$sco]))
{
}
else if(in_array($user_id, $collection["scorm"]["in_progress"][$sco]))
{
}
$obj_id = "objsco_".$sco;
$data["set"][$user_id][$obj_id] = $status;
}
}
}
// sub-items: generic, e.g. lm chapter
if($collection["subitems"] && $data["set"])
{
foreach(array_keys($data["set"]) as $user_id)
{
foreach($collection["subitems"]["items"] as $item_id)
{
$this->subitem_ids[$item_id] = $collection["subitems"]["item_titles"][$item_id];
if(in_array($user_id, $collection["subitems"]["completed"][$item_id]))
{
}
else if(is_array($collection["subitems"]["in_progress"]) &&
in_array($user_id, $collection["subitems"]["in_progress"][$item_id]))
{
}
$obj_id = "objsub_".$item_id;
$data["set"][$user_id][$obj_id] = $status;
}
}
}
// percentage export
if($data["set"])
{
$this->perc_map = array();
foreach($data["set"] as $row)
{
foreach($row as $column => $value)
{
if(substr($column, -5) == "_perc")
{
if((int)$value > 0)
{
$obj_id = explode("_", $column);
$obj_id = (int)$obj_id[1];
$this->perc_map[$obj_id] = true;
}
}
}
}
}
$this->setMaxCount($data["cnt"]);
$this->setData($data["set"]);
return $collection["object_ids"];
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTrMatrixTableGUI::getSelectableColumns ( )

Get selectable columns.

Returns
array key: column id, val: true/false -> default on/off

Reimplemented from ilTable2GUI.

Definition at line 125 of file class.ilTrMatrixTableGUI.php.

References $columns, ilTableGUI\$icon, $ref_id, $sess, ilTableGUI\$title, ilObject\_getIcon(), getItems(), ilLPTableBaseGUI\getSelectableUserColumns(), and ilUtil\getTypeIconPath().

Referenced by __construct(), fillHeaderCSV(), and fillHeaderExcel().

{
global $ilObjDataCache, $rbacsystem;
$user_cols = $this->getSelectableUserColumns($this->in_course, $this->in_group);
if($this->obj_ids === NULL)
{
// we cannot use the selected columns because they are not ready yet
// so we use all available columns, should be ok anyways
$this->obj_ids = $this->getItems(array_keys($user_cols[0]), $user_cols[1]);
}
if($this->obj_ids)
{
$tmp_cols = array();
foreach($this->obj_ids as $obj_id)
{
if($obj_id == $this->obj_id)
{
$parent = array("txt" => $this->lng->txt("status"),
"default" => true);
}
else
{
$no_perm = false;
$ref_id = $this->ref_ids[$obj_id];
if($ref_id &&
!$rbacsystem->checkAccess('read_learning_progress', $ref_id))
{
$no_perm = true;
$this->privacy_cols[] = $obj_id;
}
$title = $ilObjDataCache->lookupTitle($obj_id);
$type = $ilObjDataCache->lookupType($obj_id);
$icon = ilObject::_getIcon("", "tiny", $type);
if($type == "sess")
{
include_once "Modules/Session/classes/class.ilObjSession.php";
$sess = new ilObjSession($obj_id, false);
$title = $sess->getPresentationTitle();
}
$tmp_cols[strtolower($title)."#~#obj_".$obj_id] = array("txt" => $title, "icon" => $icon, "type" => $type, "default" => true, "no_permission" => $no_perm);
}
}
if(sizeof($this->objective_ids))
{
foreach($this->objective_ids as $obj_id => $title)
{
$tmp_cols[strtolower($title)."#~#objtv_".$obj_id] = array("txt" => $title, "default" => true);
}
}
if(sizeof($this->sco_ids))
{
foreach($this->sco_ids as $obj_id => $title)
{
$icon = ilUtil::getTypeIconPath("sco", $obj_id, "tiny");
$tmp_cols[strtolower($title)."#~#objsco_".$obj_id] = array("txt" => $title, "icon"=>$icon, "default" => true);
}
}
if(sizeof($this->subitem_ids))
{
foreach($this->subitem_ids as $obj_id => $title)
{
$icon = ilUtil::getTypeIconPath("st", $obj_id, "tiny");
$tmp_cols[strtolower($title)."#~#objsub_".$obj_id] = array("txt" => $title, "icon"=>$icon, "default" => true);
}
}
// alex, 5 Nov 2011: Do not sort SCORM items or "chapters"
if(!sizeof($this->sco_ids) && !sizeof($this->subitem_ids))
{
ksort($tmp_cols);
}
foreach($tmp_cols as $id => $def)
{
$id = explode('#~#', $id);
$columns[$id[1]] = $def;
}
unset($tmp_cols);
if($parent)
{
$columns["obj_".$this->obj_id] = $parent;
}
}
unset($user_cols[0]["status"]);
unset($user_cols[0]["login"]);
foreach($user_cols[0] as $col_id => $col_def)
{
if(!isset($columns[$col_id]))
{
// these are all additional fields, no default
$col_def["default"] = false;
$columns[$col_id] = $col_def;
}
}
return $columns;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTrMatrixTableGUI::initFilter ( )

Init filter.

Overwrite this to initialize all filter input property objects.

Reimplemented from ilTable2GUI.

Definition at line 110 of file class.ilTrMatrixTableGUI.php.

References $_GET, $lng, ilTable2GUI\addFilterItemByMetaType(), and ilTable2GUI\FILTER_TEXT.

Referenced by __construct().

{
global $lng;
$this->filter["name"] = $item->getValue();
// #14949 - is called before constructor, so we have to do it ourselves
if(isset($_GET[$this->prefix."_tpl"]))
{
$this->filter["name"] = null;
$item->setValue(null);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilTrMatrixTableGUI::$in_course
protected

Definition at line 20 of file class.ilTrMatrixTableGUI.php.

Referenced by getItems().

ilTrMatrixTableGUI::$in_group
protected

Definition at line 21 of file class.ilTrMatrixTableGUI.php.

Referenced by getItems().

ilTrMatrixTableGUI::$obj_ids = NULL
protected

Definition at line 16 of file class.ilTrMatrixTableGUI.php.

ilTrMatrixTableGUI::$objective_ids = NULL
protected

Definition at line 17 of file class.ilTrMatrixTableGUI.php.

ilTrMatrixTableGUI::$privacy_cols = array()
protected

Definition at line 23 of file class.ilTrMatrixTableGUI.php.

ilTrMatrixTableGUI::$privacy_fields
protected

Definition at line 22 of file class.ilTrMatrixTableGUI.php.

ilTrMatrixTableGUI::$sco_ids = NULL
protected

Definition at line 18 of file class.ilTrMatrixTableGUI.php.

ilTrMatrixTableGUI::$subitem_ids = NULL
protected

Definition at line 19 of file class.ilTrMatrixTableGUI.php.


The documentation for this class was generated from the following file: