ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilTrObjectUsersPropsTableGUI Class Reference

Learning progress table: One object, rows: users, columns: properties Example: A course, rows: members, columns: name, status, mark, ... More...

+ Inheritance diagram for ilTrObjectUsersPropsTableGUI:
+ Collaboration diagram for ilTrObjectUsersPropsTableGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, $a_obj_id, $a_ref_id, $a_print_view=false)
 Constructor.
 getSelectableColumns ()
 Get selectable columns.
 getItems ()
 Get user items.
 initFilter ()
 Init filter.
- Public Member Functions inherited from ilLPTableBaseGUI
 __construct ($a_parent_obj, $a_parent_cmd="", $a_template_context="")
 Constructor.
 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)
 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)
 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)
 Set filter command.
 getFilterCommand ()
 Get filter command.
 setResetCommand ($a_val)
 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="")
 Add Command button.
 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.
- 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

 fillRow ($data)
 Fill table row.
 fillHeaderExcel ($worksheet, &$a_row)
 Excel Version of Fill Row.
 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, $as_link=true, $only_parents=false)
 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)
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated.
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value.
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value.

Protected Attributes

 $user_fields
 $filter
 $in_course
- Protected Attributes inherited from ilLPTableBaseGUI
 $filter
- 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 = 4
 $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 = false
 $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

Additional Inherited Members

- 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 EXPORT_EXCEL = 1
const EXPORT_CSV = 2

Detailed Description

Learning progress table: One object, rows: users, columns: properties Example: A course, rows: members, columns: name, status, mark, ...

PD, Personal Learning Progress -> UserObjectsProps PD, Learning Progress of Users -> UserAggObjectsProps Crs, Learnign Progress of Participants -> ObjectUsersProps Details -> UserObjectsProps

More: PropUsersObjects (Grading Overview in Course)

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

ilTrObjectUsersPropsTableGUI: ilFormPropertyDispatchGUI

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

Constructor & Destructor Documentation

ilTrObjectUsersPropsTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
  $a_obj_id,
  $a_ref_id,
  $a_print_view = false 
)

Constructor.

Definition at line 32 of file class.ilTrObjectUsersPropsTableGUI.php.

References $ilCtrl, $lng, ilObject\_lookupObjId(), ilObject\_lookupType(), ilTable2GUI\addColumn(), getItems(), ilTable2GUI\getPrintMode(), getSelectableColumns(), ilTable2GUI\getSelectedColumns(), initFilter(), ilLPTableBaseGUI\parseTitle(), ilTable2GUI\setDefaultOrderDirection(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setEnableHeader(), ilTable2GUI\setEnableTitle(), ilTable2GUI\setExportFormats(), ilTable2GUI\setExternalSegmentation(), ilTable2GUI\setExternalSorting(), ilTable2GUI\setFormAction(), ilTable2GUI\setId(), ilTable2GUI\setPrintMode(), ilTable2GUI\setRowTemplate(), and ilTable2GUI\setShowTemplates().

{
global $ilCtrl, $lng, $ilAccess, $lng, $rbacsystem, $tree;
$this->setId("troup");
$this->obj_id = $a_obj_id;
$this->ref_id = $a_ref_id;
$this->type = ilObject::_lookupType($a_obj_id);
$this->in_course = $tree->checkForParentType($this->ref_id, "crs");
if($this->in_course)
{
$this->in_course = ilObject::_lookupObjId($this->in_course);
}
parent::__construct($a_parent_obj, $a_parent_cmd);
$this->parseTitle($a_obj_id, "trac_participants");
if($a_print_view)
{
$this->setPrintMode(true);
}
$labels = $this->getSelectableColumns();
foreach ($this->getSelectedColumns() as $c)
{
$first = $c;
// list cannot be sorted by udf fields (separate query)
$sort_id = (substr($c, 0, 4) == "udf_") ? "" : $c;
$this->addColumn($labels[$c]["txt"], $sort_id);
}
if(!$this->getPrintMode())
{
$this->addColumn($this->lng->txt("actions"), "");
}
$this->setExternalSorting(true);
$this->setEnableHeader(true);
$this->setFormAction($ilCtrl->getFormActionByClass(get_class($this)));
$this->setRowTemplate("tpl.object_users_props_row.html", "Services/Tracking");
$this->setEnableTitle(true);
$this->setShowTemplates(true);
$this->setExportFormats(array(self::EXPORT_CSV, self::EXPORT_EXCEL));
if($first)
{
$this->setDefaultOrderField($first);
$this->setDefaultOrderDirection("asc");
}
$this->initFilter();
$this->getItems();
}

+ Here is the call graph for this function:

Member Function Documentation

ilTrObjectUsersPropsTableGUI::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 486 of file class.ilTrObjectUsersPropsTableGUI.php.

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

{
$labels = $this->getSelectableColumns();
foreach ($this->getSelectedColumns() as $c)
{
$a_csv->addColumn($labels[$c]["txt"]);
}
$a_csv->addRow();
}

+ Here is the call graph for this function:

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

Excel Version of Fill Row.

Likely to be overwritten by derived class.

Parameters
object$a_worksheetcurrent sheet
int$a_rowrow counter

Reimplemented from ilTable2GUI.

Definition at line 457 of file class.ilTrObjectUsersPropsTableGUI.php.

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

{
$labels = $this->getSelectableColumns();
$cnt = 0;
foreach ($this->getSelectedColumns() as $c)
{
$worksheet->write($a_row, $cnt, $labels[$c]["txt"]);
$cnt++;
}
}

+ Here is the call graph for this function:

ilTrObjectUsersPropsTableGUI::fillRow (   $data)
protected

Fill table row.

Reimplemented from ilTable2GUI.

Definition at line 396 of file class.ilTrObjectUsersPropsTableGUI.php.

References ilTableGUI\$data, $ilCtrl, $lng, ilUtil\getImagePath(), ilTable2GUI\getPrintMode(), ilTable2GUI\getSelectedColumns(), IL_CAL_UNIX, LP_STATUS_COMPLETED_NUM, ilLPTableBaseGUI\parseValue(), and ilLPTableBaseGUI\showTimingsWarning().

{
global $ilCtrl, $lng;
foreach ($this->getSelectedColumns() as $c)
{
if($c == 'status' && $data[$c] != LP_STATUS_COMPLETED_NUM)
{
$timing = $this->showTimingsWarning($this->ref_id, $data["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.gif'));
$this->tpl->setVariable('WARNING_ALT', $this->lng->txt('trac_time_passed').$timing);
$this->tpl->parseCurrentBlock();
}
}
// #7694
if($c == 'login' && !$data["active"])
{
$this->tpl->setCurrentBlock('inactive_bl');
$this->tpl->setVariable('TXT_INACTIVE', $lng->txt("inactive"));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("user_field");
$val = $this->parseValue($c, $data[$c], "user");
$this->tpl->setVariable("VAL_UF", $val);
$this->tpl->parseCurrentBlock();
}
$ilCtrl->setParameterByClass("illplistofobjectsgui", "user_id", $data["usr_id"]);
if(!$this->getPrintMode())
{
if(in_array($this->type, array("crs", "grp", "cat", "fold")))
{
$this->tpl->setCurrentBlock("item_command");
$this->tpl->setVariable("HREF_COMMAND", $ilCtrl->getLinkTargetByClass("illplistofobjectsgui", "userdetails"));
$this->tpl->setVariable("TXT_COMMAND", $lng->txt('details'));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("item_command");
$this->tpl->setVariable("HREF_COMMAND", $ilCtrl->getLinkTargetByClass("illplistofobjectsgui", "edituser"));
$this->tpl->setVariable("TXT_COMMAND", $lng->txt('edit'));
$this->tpl->parseCurrentBlock();
}
$ilCtrl->setParameterByClass("illplistofobjectsgui", 'user_id', '');
}

+ Here is the call graph for this function:

ilTrObjectUsersPropsTableGUI::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 497 of file class.ilTrObjectUsersPropsTableGUI.php.

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

{
foreach ($this->getSelectedColumns() as $c)
{
if($c != 'status')
{
$val = $this->parseValue($c, $a_set[$c], "user");
}
else
{
}
$a_csv->addColumn($val);
}
$a_csv->addRow();
}

+ Here is the call graph for this function:

ilTrObjectUsersPropsTableGUI::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 468 of file class.ilTrObjectUsersPropsTableGUI.php.

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

{
$cnt = 0;
foreach ($this->getSelectedColumns() as $c)
{
if($c != 'status')
{
$val = $this->parseValue($c, $a_set[$c], "user");
}
else
{
}
$worksheet->write($a_row, $cnt, $val);
$cnt++;
}
}

+ Here is the call graph for this function:

ilTrObjectUsersPropsTableGUI::getItems ( )

Get user items.

Definition at line 242 of file class.ilTrObjectUsersPropsTableGUI.php.

References $in_course, $lng, ilPrivacySettings\_getInstance(), ilTable2GUI\determineOffsetAndOrder(), ilLPTableBaseGUI\getCurrentFilter(), ilTable2GUI\getLimit(), ilTable2GUI\getOffset(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), ilTable2GUI\getSelectedColumns(), ilTrQuery\getUserDataForObject(), ilTable2GUI\resetOffset(), ilTable2GUI\setData(), ilTableGUI\setMaxCount(), and ilUtil\stripSlashes().

Referenced by __construct().

{
global $lng, $tree;
include_once("./Services/Tracking/classes/class.ilTrQuery.php");
$additional_fields = $this->getSelectedColumns();
// only if object is [part of] course
$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;
}
}
$this->ref_id,
$this->getCurrentFilter(),
$additional_fields,
$check_agreement,
$this->user_fields
);
if (count($tr_data["set"]) == 0 && $this->getOffset() > 0)
{
$this->resetOffset();
$this->ref_id,
$this->getCurrentFilter(),
$additional_fields,
$check_agreement,
$this->user_fields
);
}
$this->setMaxCount($tr_data["cnt"]);
$this->setData($tr_data["set"]);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTrObjectUsersPropsTableGUI::getSelectableColumns ( )

Get selectable columns.

Parameters
@return

Reimplemented from ilTable2GUI.

Definition at line 98 of file class.ilTrObjectUsersPropsTableGUI.php.

References $ilSetting, $lng, ilTable2GUI\$selectable_columns, ilUserDefinedFields\_getInstance(), ilObjTest\_lookupAnonymity(), ilLPObjSettings\_lookupMode(), ilObjUserTracking\EXTENDED_DATA_LAST_ACCESS, ilObjUserTracking\EXTENDED_DATA_READ_COUNT, ilObjUserTracking\EXTENDED_DATA_SPENT_SECONDS, ilLPTableBaseGUI\isPercentageAvailable(), LP_MODE_DEACTIVATED, and UDF_TYPE_WYSIWYG.

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

{
global $lng, $ilSetting;
if($this->selectable_columns)
{
}
$anonymized_object = false;
include_once './Modules/Test/classes/class.ilObjTest.php';
if(ilObjTest::_lookupAnonymity($this->obj_id))
{
$anonymized_object = true;
}
include_once("./Services/User/classes/class.ilUserProfile.php");
$up = new ilUserProfile();
$up->skipGroup("preferences");
$up->skipGroup("settings");
$ufs = $up->getStandardFields();
// default fields
$cols = array();
$cols["login"] = array(
"txt" => $lng->txt("login"),
"default" => true);
if(!$anonymized_object)
{
$cols["firstname"] = array(
"txt" => $lng->txt("firstname"),
"default" => true);
$cols["lastname"] = array(
"txt" => $lng->txt("lastname"),
"default" => true);
}
// show only if extended data was activated in lp settings
include_once 'Services/Tracking/classes/class.ilObjUserTracking.php';
$tracking = new ilObjUserTracking();
if($tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_LAST_ACCESS))
{
$cols["first_access"] = array(
"txt" => $lng->txt("trac_first_access"),
"default" => true);
$cols["last_access"] = array(
"txt" => $lng->txt("trac_last_access"),
"default" => true);
}
if($tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_READ_COUNT))
{
$cols["read_count"] = array(
"txt" => $lng->txt("trac_read_count"),
"default" => true);
}
if($tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_SPENT_SECONDS))
{
$cols["spent_seconds"] = array(
"txt" => $lng->txt("trac_spent_seconds"),
"default" => true);
}
if($this->isPercentageAvailable($this->obj_id))
{
$cols["percentage"] = array(
"txt" => $lng->txt("trac_percentage"),
"default" => true);
}
// do not show status if learning progress is deactivated
$mode = ilLPObjSettings::_lookupMode($this->obj_id);
if($mode != LP_MODE_DEACTIVATED && $mode != LP_MODE_LP_MODE_UNDEFINED)
{
$cols["status"] = array(
"txt" => $lng->txt("trac_status"),
"default" => true);
$cols['status_changed'] = array(
'txt' => $lng->txt('trac_status_changed'),
'default' => false);
}
if($this->type != "lm")
{
$cols["mark"] = array(
"txt" => $lng->txt("trac_mark"),
"default" => true);
}
$cols["u_comment"] = array(
"txt" => $lng->txt("trac_comment"),
"default" => false);
$cols["create_date"] = array(
"txt" => $lng->txt("create_date"),
"default" => false);
$cols["language"] = array(
"txt" => $lng->txt("language"),
"default" => false);
// add user data only if object is [part of] course
if($this->in_course && !$anonymized_object)
{
$this->user_fields = array();
// other user profile fields
foreach ($ufs as $f => $fd)
{
if (!isset($cols[$f]) && $f != "username" && !$fd["lists_hide"] && ($fd["course_export_fix_value"] || $ilSetting->get("usr_settings_course_export_".$f)))
{
$cols[$f] = array(
"txt" => $lng->txt($f),
"default" => false);
$this->user_fields[] = $f;
}
}
// additional defined user data fields
include_once './Services/User/classes/class.ilUserDefinedFields.php';
$user_defined_fields = ilUserDefinedFields::_getInstance();
foreach($user_defined_fields->getVisibleDefinitions() as $field_id => $definition)
{
if($definition["field_type"] != UDF_TYPE_WYSIWYG && $definition["course_export"])
{
$f = "udf_".$definition["field_id"];
$cols[$f] = array(
"txt" => $definition["field_name"],
"default" => false);
$this->user_fields[] = $f;
}
}
}
$this->selectable_columns = $cols;
return $cols;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTrObjectUsersPropsTableGUI::initFilter ( )

Init filter.

Reimplemented from ilTable2GUI.

Definition at line 301 of file class.ilTrObjectUsersPropsTableGUI.php.

References $lng, ilTable2GUI\addFilterItemByMetaType(), ilTable2GUI\FILTER_DATE_RANGE, ilTable2GUI\FILTER_DURATION_RANGE, ilTable2GUI\FILTER_LANGUAGE, ilTable2GUI\FILTER_NUMBER_RANGE, ilTable2GUI\FILTER_SELECT, ilTable2GUI\FILTER_TEXT, ilCountry\getCountryCodes(), getSelectableColumns(), LP_STATUS_COMPLETED, LP_STATUS_COMPLETED_NUM, LP_STATUS_FAILED, LP_STATUS_FAILED_NUM, LP_STATUS_IN_PROGRESS, LP_STATUS_IN_PROGRESS_NUM, LP_STATUS_NOT_ATTEMPTED, and LP_STATUS_NOT_ATTEMPTED_NUM.

Referenced by __construct().

{
global $lng;
foreach($this->getSelectableColumns() as $column => $meta)
{
// no udf!
switch($column)
{
case "firstname":
case "lastname":
case "mark":
case "u_comment":
case "institution":
case "department":
case "title":
case "street":
case "zipcode":
case "city":
case "country":
case "email":
case "matriculation":
case "login":
$item = $this->addFilterItemByMetaType($column, ilTable2GUI::FILTER_TEXT, true, $meta["txt"]);
$this->filter[$column] = $item->getValue();
break;
case "first_access":
case "last_access":
case "create_date":
case "birthday":
case 'status_changed':
$item = $this->addFilterItemByMetaType($column, ilTable2GUI::FILTER_DATE_RANGE, true, $meta["txt"]);
$this->filter[$column] = $item->getDate();
break;
case "read_count":
case "percentage":
$item = $this->addFilterItemByMetaType($column, ilTable2GUI::FILTER_NUMBER_RANGE, true, $meta["txt"]);
$this->filter[$column] = $item->getValue();
break;
case "gender":
$item = $this->addFilterItemByMetaType("gender", ilTable2GUI::FILTER_SELECT, true, $meta["txt"]);
$item->setOptions(array("" => $lng->txt("trac_all"), "m" => $lng->txt("gender_m"), "f" => $lng->txt("gender_f")));
$this->filter["gender"] = $item->getValue();
break;
case "sel_country":
$item = $this->addFilterItemByMetaType("sel_country", ilTable2GUI::FILTER_SELECT, true, $meta["txt"]);
$options = array();
include_once("./Services/Utilities/classes/class.ilCountry.php");
foreach (ilCountry::getCountryCodes() as $c)
{
$options[$c] = $lng->txt("meta_c_".$c);
}
asort($options);
$item->setOptions(array("" => $lng->txt("trac_all"))+$options);
$this->filter["sel_country"] = $item->getValue();
break;
case "status":
include_once "Services/Tracking/classes/class.ilLPStatus.php";
$item = $this->addFilterItemByMetaType("status", ilTable2GUI::FILTER_SELECT, true, $meta["txt"]);
$item->setOptions(array("" => $lng->txt("trac_all"),
$this->filter["status"] = $item->getValue();
if($this->filter["status"])
{
$this->filter["status"]--;
}
break;
case "language":
$item = $this->addFilterItemByMetaType("language", ilTable2GUI::FILTER_LANGUAGE, true);
$this->filter["language"] = $item->getValue();
break;
case "spent_seconds":
$item = $this->addFilterItemByMetaType("spent_seconds", ilTable2GUI::FILTER_DURATION_RANGE, true, $meta["txt"]);
$this->filter["spent_seconds"]["from"] = $item->getCombinationItem("from")->getValueInSeconds();
$this->filter["spent_seconds"]["to"] = $item->getCombinationItem("to")->getValueInSeconds();
break;
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilTrObjectUsersPropsTableGUI::$filter
protected

Definition at line 26 of file class.ilTrObjectUsersPropsTableGUI.php.

ilTrObjectUsersPropsTableGUI::$in_course
protected

Definition at line 27 of file class.ilTrObjectUsersPropsTableGUI.php.

Referenced by getItems().

ilTrObjectUsersPropsTableGUI::$user_fields
protected

Definition at line 25 of file class.ilTrObjectUsersPropsTableGUI.php.


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