ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilCourseParticipantsTableGUI Class Reference
+ Inheritance diagram for ilCourseParticipantsTableGUI:
+ Collaboration diagram for ilCourseParticipantsTableGUI:

Public Member Functions

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

Protected Attributes

 $show_learning_progress = false
 
 $show_timings = false
 
 $show_lp_status_sync = false
 
- Protected Attributes inherited from ilParticipantTableGUI
 $participants = null
 
 $current_filter = array()
 
 $rep_object
 
- 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
 
 $rows_selector_off = 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
 
 $enable_command_for_all
 
 $restore_filter
 
 $restore_filter_values
 
 $default_filter_visibility = false
 
 $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. More...
 
- 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
 
- Data Fields inherited from ilTableGUI
 $title
 
 $icon
 
 $icon_alt
 
 $help_page
 
 $help_icon
 
 $help_icon_alt
 
 $header_names
 
 $header_vars
 
 $linkbar_vars
 
 $data
 
 $column_count
 
 $column_width
 
 $max_count
 
 $limit
 
 $max_limit = false
 
 $offset
 
 $order_column
 
 $order_direction
 
 $footer_style
 
 $footer_previous
 
 $footer_next
 
 $lang_support = true
 
 $global_tpl
 
 $form_name
 
 $select_all_checkbox
 
 $action_buttons
 
 $prefix
 
 $base = ""
 
 $enabled
 
 $styles
 
- Protected Member Functions inherited from ilParticipantTableGUI
 getRepositoryObject ()
 
 getParticipants ()
 Get participants. More...
 
 initSettings ()
 Init acceptance. More...
 
 showActionLinks ($a_set)
 show edit links More...
 
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated. More...
 
 isFilterVisible ()
 Check if filter is visible: manually shown (session, db) or default value set. More...
 
 isAdvMDFilter (ilAdvancedMDRecordGUI $a_gui, $a_element)
 Check if filter element is based on adv md. More...
 
 fillRow ($a_set)
 Standard Version of Fill Row. More...
 
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value. More...
 
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value. More...
 
 fillMetaExcel (ilExcel $a_excel, &$a_row)
 Add meta information to excel export. More...
 
 fillHeaderExcel (ilExcel $a_excel, &$a_row)
 Excel Version of Fill Header. More...
 
 fillRowExcel (ilExcel $a_excel, &$a_row, $a_set)
 Excel Version of Fill Row. More...
 
 fillMetaCSV ($a_csv)
 Add meta information to csv export. More...
 
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header. More...
 
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row. More...
 
- Static Protected Attributes inherited from ilParticipantTableGUI
static $export_allowed = false
 
static $confirmation_required = true
 
static $accepted_ids = null
 
static $all_columns = null
 
static $has_odf_definitions = false
 

Detailed Description

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 13 of file class.ilCourseParticipantsTableGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilCourseParticipantsTableGUI::__construct (   $a_parent_obj,
ilObject  $rep_object,
  $a_show_learning_progress = false,
  $a_show_timings = false,
  $a_show_lp_status_sync = false 
)

Constructor.

@access public

Parameters

return

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

33 {
34 global $lng, $ilCtrl;
35
36 $this->show_learning_progress = $a_show_learning_progress;
37 if($this->show_learning_progress)
38 {
39 include_once './Services/Tracking/classes/class.ilLPStatus.php';
40 }
41
42 $this->show_timings = $a_show_timings;
43 $this->show_lp_status_sync = $a_show_lp_status_sync;
44
45 $this->rep_object = $rep_object;
46
47 // #13208
48 include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
50 {
51 $this->show_lp_status_sync = false;
52 }
53
54 $this->lng = $lng;
55 $this->lng->loadLanguageModule('crs');
56 $this->lng->loadLanguageModule('trac');
57 $this->lng->loadLanguageModule('rbac');
58 $this->lng->loadLanguageModule('mmbr');
59
60 $this->ctrl = $ilCtrl;
61
62 include_once('./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
63 $this->privacy = ilPrivacySettings::_getInstance();
64
65 include_once './Services/Membership/classes/class.ilParticipants.php';
66 $this->participants = ilParticipants::getInstanceByObjId($this->getRepositoryObject()->getId());
67
68
69 // required before constructor for columns
70 $this->setId('crs_'. $this->getRepositoryObject()->getId());
71 parent::__construct($a_parent_obj, 'participants');
72
73 $this->initSettings();
74
75 $this->setFormName('participants');
76
77 $this->addColumn('', 'f', "1");
78 $this->addColumn($this->lng->txt('name'), 'name', '20%');
79
80 $all_cols = $this->getSelectableColumns();
81 foreach($this->getSelectedColumns() as $col)
82 {
83 $this->addColumn($all_cols[$col]['txt'], $col);
84 }
85
86 if($this->show_learning_progress)
87 {
88 $this->addColumn($this->lng->txt('learning_progress'), 'progress');
89 }
90
91 if($this->privacy->enabledCourseAccessTimes())
92 {
93 $this->addColumn($this->lng->txt('last_access'), 'access_ut', '16em');
94 }
95
96 $this->addColumn($this->lng->txt('crs_member_passed'), 'passed');
97 if($this->show_lp_status_sync)
98 {
99 $this->addColumn($this->lng->txt('crs_member_passed_status_changed'), 'passed_info');
100 }
101
102
103 $this->setSelectAllCheckbox('participants');
104 $this->addColumn($this->lng->txt('crs_mem_contact'),'contact');
105 $this->addColumn($this->lng->txt('crs_blocked'), 'blocked');
106 $this->addColumn($this->lng->txt('crs_notification_list_title'), 'notification');
107
108 $this->addColumn($this->lng->txt(''), 'optional');
109
110 $this->setRowTemplate("tpl.show_participants_row.html", "Modules/Course");
111
112 $this->setDefaultOrderField('roles');
113 $this->enable('sort');
114 $this->enable('header');
115 $this->enable('numinfo');
116 $this->enable('select_all');
117
118 $this->setEnableNumInfo(true);
119 $this->setExternalSegmentation(false);
120
121 $this->getItems();
122 $this->setTopCommands(true);
123 $this->setEnableHeader(true);
124 $this->setEnableTitle(true);
125 $this->initFilter();
126
127 $this->setShowRowsSelector(true);
128
129 include_once "Services/Certificate/classes/class.ilCertificate.php";
130 $this->enable_certificates = ilCertificate::isActive();
131 if($this->enable_certificates)
132 {
133 $this->enable_certificates = ilCertificate::isObjectActive($this->getRepositoryObject()->getId());
134 }
135 if($this->enable_certificates)
136 {
137 $lng->loadLanguageModule('certificate');
138 }
139
140 $this->addMultiCommand('editParticipants', $this->lng->txt('edit'));
141 $this->addMultiCommand('confirmDeleteParticipants', $this->lng->txt('remove'));
142 $this->addMultiCommand('sendMailToSelectedUsers', $this->lng->txt('mmbr_btn_mail_selected_users'));
143 $this->lng->loadLanguageModule('user');
144 $this->addMultiCommand('addToClipboard', $this->lng->txt('clipboard_add_btn'));
145
146 $this->addCommandButton('updateParticipantsStatus', $this->lng->txt('save'));
147
148 }
static isObjectActive($a_obj_id)
static _enabledLearningProgress()
check wether learing progress is enabled or not
getSelectableColumns()
Get selectable columns.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
static _getInstance()
Get instance of ilPrivacySettings.
getSelectedColumns()
Get selected columns.
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
setEnableHeader($a_enableheader)
Set Enable Header.
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
getId()
Get element id.
setEnableTitle($a_enabletitle)
Set Enable Title.
setEnableNumInfo($a_val)
Set enable num info.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
setExternalSegmentation($a_val)
Set external segmentation.
setId($a_val)
Set id.
setFormName($a_formname="")
Set Form name.
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
enable($a_module_name)
enables particular modules of table
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:17

References $ilCtrl, $lng, ilParticipantTableGUI\$rep_object, ilObjUserTracking\_enabledLearningProgress(), ilPrivacySettings\_getInstance(), ilTable2GUI\addColumn(), ilTable2GUI\addCommandButton(), ilTable2GUI\addMultiCommand(), ilTableGUI\enable(), ilTable2GUI\getId(), ilParticipants\getInstanceByObjId(), getItems(), ilParticipantTableGUI\getRepositoryObject(), ilParticipantTableGUI\getSelectableColumns(), ilTable2GUI\getSelectedColumns(), ilParticipantTableGUI\initFilter(), ilParticipantTableGUI\initSettings(), ilCertificate\isActive(), ilCertificate\isObjectActive(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setEnableHeader(), ilTable2GUI\setEnableNumInfo(), ilTable2GUI\setEnableTitle(), ilTable2GUI\setExternalSegmentation(), ilTable2GUI\setFormName(), ilTable2GUI\setId(), ilTable2GUI\setRowTemplate(), ilTable2GUI\setSelectAllCheckbox(), ilTable2GUI\setShowRowsSelector(), and ilTable2GUI\setTopCommands().

+ Here is the call graph for this function:

Member Function Documentation

◆ fillRow()

ilCourseParticipantsTableGUI::fillRow (   $a_set)

fill row

@access public

Parameters

return

Reimplemented from ilTable2GUI.

Definition at line 165 of file class.ilCourseParticipantsTableGUI.php.

166 {
167 global $ilAccess;
168
169 $this->tpl->setVariable('VAL_ID', $a_set['usr_id']);
170 $this->tpl->setVariable('VAL_NAME', $a_set['lastname'] . ', ' . $a_set['firstname']);
171
172 if(!$ilAccess->checkAccessOfUser($a_set['usr_id'], 'read', '', $this->getRepositoryObject()->getRefId()) and
173 is_array($info = $ilAccess->getInfo()))
174 {
175 $this->tpl->setCurrentBlock('access_warning');
176 $this->tpl->setVariable('PARENT_ACCESS', $info[0]['text']);
177 $this->tpl->parseCurrentBlock();
178 }
179
180 if(!ilObjUser::_lookupActive($a_set['usr_id']))
181 {
182 $this->tpl->setCurrentBlock('access_warning');
183 $this->tpl->setVariable('PARENT_ACCESS', $this->lng->txt('usr_account_inactive'));
184 $this->tpl->parseCurrentBlock();
185 }
186
187 foreach($this->getSelectedColumns() as $field)
188 {
189 switch($field)
190 {
191 case 'gender':
192 $a_set['gender'] = $a_set['gender'] ? $this->lng->txt('gender_' . $a_set['gender']) : '';
193 $this->tpl->setCurrentBlock('custom_fields');
194 $this->tpl->setVariable('VAL_CUST', $a_set[$field]);
195 $this->tpl->parseCurrentBlock();
196 break;
197
198 case 'birthday':
199 $a_set['birthday'] = $a_set['birthday'] ? ilDatePresentation::formatDate(new ilDate($a_set['birthday'], IL_CAL_DATE)) : $this->lng->txt('no_date');
200 $this->tpl->setCurrentBlock('custom_fields');
201 $this->tpl->setVariable('VAL_CUST', $a_set[$field]);
202 $this->tpl->parseCurrentBlock();
203 break;
204
205 case 'consultation_hour':
206 $this->tpl->setCurrentBlock('custom_fields');
207 $dts = array();
208 foreach((array) $a_set['consultation_hours'] as $ch)
209 {
211 new ilDateTime($ch['dt'],IL_CAL_UNIX),
212 new ilDateTime($ch['dtend'],IL_CAL_UNIX)
213 );
214 if($ch['explanation'])
215 {
216 $tmp .= ' ' . $ch['explanation'];
217 }
218 $dts[] = $tmp;
219 }
220 $dt_string = implode('<br />', $dts);
221 $this->tpl->setVariable('VAL_CUST',$dt_string);
222 $this->tpl->parseCurrentBlock();
223 break;
224
225 case 'prtf':
226 $tmp = array();
227 if(is_array($a_set['prtf']))
228 {
229 foreach($a_set['prtf'] as $prtf_url => $prtf_txt)
230 {
231 $tmp[] = '<a href="'.$prtf_url.'">'.$prtf_txt.'</a>';
232 }
233 }
234 $this->tpl->setCurrentBlock('custom_fields');
235 $this->tpl->setVariable('VAL_CUST', (string) implode('<br />', $tmp)) ;
236 $this->tpl->parseCurrentBlock();
237 break;
238
239
240 case 'odf_last_update':
241 $this->tpl->setCurrentBlock('custom_fields');
242 $this->tpl->setVariable('VAL_CUST',(string) $a_set['odf_info_txt']);
243 $this->tpl->parseCurrentBlock();
244 break;
245
246 case 'roles':
247 $this->tpl->setCurrentBlock('custom_fields');
248 $this->tpl->setVariable('VAL_CUST', (string) $a_set['roles_label']);
249 $this->tpl->parseCurrentBlock();
250 break;
251
252 case 'org_units':
253 $this->tpl->setCurrentBlock('custom_fields');
254 include_once './Modules/OrgUnit/classes/PathStorage/class.ilOrgUnitPathStorage.php';
255 $this->tpl->setVariable('VAL_CUST', (string) ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits($a_set['usr_id']));
256 $this->tpl->parseCurrentBlock();
257 break;
258
259 default:
260 $this->tpl->setCurrentBlock('custom_fields');
261 $this->tpl->setVariable('VAL_CUST', isset($a_set[$field]) ? (string) $a_set[$field] : '');
262 $this->tpl->parseCurrentBlock();
263 break;
264 }
265 }
266
267 if($this->privacy->enabledCourseAccessTimes())
268 {
269 $this->tpl->setVariable('VAL_ACCESS', $a_set['access_time']);
270 }
271 if($this->show_learning_progress)
272 {
273
274 $this->tpl->setCurrentBlock('lp');
275 switch($a_set['progress'])
276 {
278 $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
279 $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/complete.svg'));
280 break;
281
283 $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
284 $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/incomplete.svg'));
285 break;
286
288 $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
289 $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/not_attempted.svg'));
290 break;
291
293 $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
294 $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/failed.svg'));
295 break;
296 }
297 $this->tpl->parseCurrentBlock();
298 }
299
300 $this->tpl->setVariable('VAL_POSTNAME', 'participants');
301 $this->tpl->setVariable('VAL_PASSED_ID',$a_set['usr_id']);
302 $this->tpl->setVariable('VAL_PASSED_CHECKED',($a_set['passed'] ? 'checked="checked"' : ''));
303
304 if(
305 $this->getParticipants()->isAdmin($a_set['usr_id']) ||
306 $this->getParticipants()->isTutor($a_set['usr_id'])
307 )
308 {
309 // cognos-blu-patch: begin
310 $this->tpl->setCurrentBlock('with_contact');
311 $this->tpl->setVariable('VAL_CONTACT_ID',$a_set['usr_id']);
312 $this->tpl->setVariable('VAL_CONTACT_CHECKED',$a_set['contact'] ? 'checked="checked"' : '');
313 $this->tpl->parseCurrentBlock();
314 // cognos-blu-patch: end
315
316 $this->tpl->setCurrentBlock('with_notification');
317 $this->tpl->setVariable('VAL_NOTIFICATION_ID', $a_set['usr_id']);
318 $this->tpl->setVariable('VAL_NOTIFICATION_CHECKED', ($a_set['notification'] ? 'checked="checked"' : ''));
319 $this->tpl->parseCurrentBlock();
320
321 }
322
323 // blocked only for real members
324 if(
325 !$this->getParticipants()->isAdmin($a_set['usr_id']) &&
326 !$this->getParticipants()->isTutor($a_set['usr_id'])
327 )
328 {
329 $this->tpl->setCurrentBlock('with_blocked');
330 $this->tpl->setVariable('VAL_BLOCKED_ID', $a_set['usr_id']);
331 $this->tpl->setVariable('VAL_BLOCKED_CHECKED', ($a_set['blocked'] ? 'checked="checked"' : ''));
332 $this->tpl->parseCurrentBlock();
333 }
334
335
336 if($this->show_lp_status_sync)
337 {
338 $this->tpl->setVariable('PASSED_INFO', $a_set["passed_info"]);
339 }
340
341 $this->showActionLinks($a_set);
342
343 if($a_set['passed'] && $this->enable_certificates)
344 {
345 $this->tpl->setCurrentBlock('link');
346 $this->tpl->setVariable('LINK_NAME', $this->ctrl->getLinkTarget($this->parent_obj, 'deliverCertificate'));
347 $this->tpl->setVariable('LINK_TXT', $this->lng->txt('download_certificate'));
348 $this->tpl->parseCurrentBlock();
349 }
350 $this->ctrl->clearParameters($this->parent_obj);
351
352 if($this->show_timings)
353 {
354 $this->ctrl->setParameterByClass('ilcoursecontentgui', 'member_id', $a_set['usr_id']);
355 $this->tpl->setCurrentBlock('link');
356 $this->tpl->setVariable('LINK_NAME', $this->ctrl->getLinkTargetByClass('ilcoursecontentgui', 'showUserTimings'));
357 $this->tpl->setVariable('LINK_TXT', $this->lng->txt('timings_timings'));
358 $this->tpl->parseCurrentBlock();
359 }
360 }
const IL_CAL_DATE
const IL_CAL_UNIX
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
Class for single dates.
const LP_STATUS_COMPLETED
const LP_STATUS_FAILED
const LP_STATUS_NOT_ATTEMPTED
const LP_STATUS_IN_PROGRESS
static _lookupActive($a_usr_id)
Check user account active.
showActionLinks($a_set)
show edit links
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$info
Definition: example_052.php:80

References $info, ilObjUser\_lookupActive(), ilDatePresentation\formatDate(), ilDatePresentation\formatPeriod(), ilUtil\getImagePath(), ilParticipantTableGUI\getParticipants(), ilTable2GUI\getSelectedColumns(), IL_CAL_DATE, IL_CAL_UNIX, ilLPStatus\LP_STATUS_COMPLETED, ilLPStatus\LP_STATUS_FAILED, ilLPStatus\LP_STATUS_IN_PROGRESS, ilLPStatus\LP_STATUS_NOT_ATTEMPTED, and ilParticipantTableGUI\showActionLinks().

+ Here is the call graph for this function:

◆ getItems()

ilCourseParticipantsTableGUI::getItems ( )

Definition at line 152 of file class.ilCourseParticipantsTableGUI.php.

153 {
154
155 }

Referenced by __construct().

+ Here is the caller graph for this function:

◆ parse()

ilCourseParticipantsTableGUI::parse ( )

Parse data.

Returns

@global ilRbacReview $rbacreview

Definition at line 368 of file class.ilCourseParticipantsTableGUI.php.

369 {
370 global $rbacreview;
371
372 $this->determineOffsetAndOrder(true);
373
374 include_once './Services/User/classes/class.ilUserQuery.php';
375
376 $additional_fields = $this->getSelectedColumns();
377 unset($additional_fields["firstname"]);
378 unset($additional_fields["lastname"]);
379 unset($additional_fields["last_login"]);
380 unset($additional_fields["access_until"]);
381 unset($additional_fields['consultation_hour']);
382 unset($additional_fields['prtf']);
383 unset($additional_fields['roles']);
384 unset($additional_fields['org_units']);
385
386 $part = $this->participants->getParticipants();
387 if(!$part)
388 {
389 $this->setData(array());
390 return;
391 }
392
393 $udf_ids = $usr_data_fields = $odf_ids = array();
394 foreach($additional_fields as $field)
395 {
396 if(substr($field, 0, 3) == 'udf')
397 {
398 $udf_ids[] = substr($field, 4);
399 continue;
400 }
401 if(substr($field, 0, 3) == 'odf')
402 {
403 $odf_ids[] = substr($field, 4);
404 continue;
405 }
406
407 $usr_data_fields[] = $field;
408 }
409
411 $this->getOrderField(),
412 $this->getOrderDirection(),
413 0,
414 9999,
415 $this->current_filter['login'],
416 '',
417 null,
418 false,
419 false,
420 0,
421 0,
422 null,
423 $usr_data_fields,
424 $part
425 );
426 // filter by array
427 $usr_ids = array();
428 $local_roles = $this->getParentObject()->getLocalRoles();
429 foreach((array) $usr_data['set'] as $user)
430 {
431 if($this->current_filter['roles'])
432 {
433 if(!$GLOBALS['rbacreview']->isAssigned($user['usr_id'], $this->current_filter['roles']))
434 {
435 continue;
436 }
437 }
438 if($this->current_filter['org_units'])
439 {
440 $org_unit = $this->current_filter['org_units'];
441
442 include_once './Modules/OrgUnit/classes/class.ilObjOrgUnitTree.php';
443 $assigned = ilObjOrgUnitTree::_getInstance()->getOrgUnitOfUser($user['usr_id']);
444 if(!in_array($org_unit, $assigned))
445 {
446 continue;
447 }
448 }
449
450
451 $usr_ids[] = $user['usr_id'];
452 }
453
454 // merge course data
455 $course_user_data = $this->getParentObject()->readMemberData(
456 $usr_ids,
457 $this->getSelectedColumns()
458 );
459 $a_user_data = array();
460 foreach((array) $usr_data['set'] as $ud)
461 {
462 $user_id = $ud['usr_id'];
463
464 if(!in_array($user_id, $usr_ids))
465 {
466 continue;
467 }
468 // #15434
469 if(!$this->checkAcceptance($user_id))
470 {
471 $ud = array();
472 }
473
474 $a_user_data[$user_id] = array_merge($ud,$course_user_data[$user_id]);
475
476
477 $roles = array();
478 foreach($local_roles as $role_id => $role_name)
479 {
480 // @todo fix performance
481 if($GLOBALS['rbacreview']->isAssigned($user_id, $role_id))
482 {
483 $roles[] = $role_name;
484 }
485 }
486
487 $a_user_data[$user_id]['name'] = ($a_user_data[$user_id]['lastname'].', '.$a_user_data[$user_id]['firstname']);
488 $a_user_data[$user_id]['roles_label'] = implode('<br />', $roles);
489 $a_user_data[$user_id]['roles'] = $this->participants->setRoleOrderPosition($user_id);
490
491
492 if($this->show_lp_status_sync)
493 {
494 // #9912 / #13208
495 $passed_info = "";
496 if($a_user_data[$user_id]["passed_info"])
497 {
498 $pinfo = $a_user_data[$user_id]["passed_info"];
499 if($pinfo["user_id"])
500 {
501 if($pinfo["user_id"] < 0)
502 {
503 $passed_info = $this->lng->txt("crs_passed_status_system");
504 }
505 else if($pinfo["user_id"] > 0)
506 {
507 $name = ilObjUser::_lookupName($pinfo["user_id"]);
508 $passed_info = $this->lng->txt("crs_passed_status_manual_by").": ".$name["login"];
509 }
510 }
511 if($pinfo["timestamp"])
512 {
513 $passed_info .= "<br />".ilDatePresentation::formatDate($pinfo["timestamp"]);
514 }
515 }
516 $a_user_data[$user_id]["passed_info"] = $passed_info;
517 }
518 }
519
520 // Custom user data fields
521 if($udf_ids)
522 {
523 include_once './Services/User/classes/class.ilUserDefinedData.php';
524 $data = ilUserDefinedData::lookupData($usr_ids, $udf_ids);
525 foreach($data as $usr_id => $fields)
526 {
527 if(!$this->checkAcceptance($usr_id))
528 {
529 continue;
530 }
531
532 foreach($fields as $field_id => $value)
533 {
534 $a_user_data[$usr_id]['udf_' . $field_id] = $value;
535 }
536 }
537 }
538 // Object specific user data fields
539 if($odf_ids)
540 {
541 include_once './Modules/Course/classes/Export/class.ilCourseUserData.php';
543 foreach($data as $usr_id => $fields)
544 {
545 // #7264: as we get data for all course members filter against user data
546 if(!$this->checkAcceptance($usr_id) || !in_array($usr_id, $usr_ids))
547 {
548 continue;
549 }
550
551 foreach($fields as $field_id => $value)
552 {
553 $a_user_data[$usr_id]['odf_' . $field_id] = $value;
554 }
555 }
556
557
558 // add last edit date
559 include_once './Services/Membership/classes/class.ilObjectCustomUserFieldHistory.php';
560 foreach(ilObjectCustomUserFieldHistory::lookupEntriesByObjectId($this->getRepositoryObject()->getId()) as $usr_id => $edit_info)
561 {
562 if(!isset($a_user_data[$usr_id]))
563 {
564 continue;
565 }
566
567 include_once './Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
568 if($usr_id == $edit_info['update_user'])
569 {
570 $a_user_data[$usr_id]['odf_last_update'] = '';
571 $a_user_data[$usr_id]['odf_info_txt'] = $GLOBALS['lng']->txt('cdf_edited_by_self');
572 if(ilPrivacySettings::_getInstance()->enabledAccessTimesByType($this->getRepositoryObject()->getType()))
573 {
574 $a_user_data[$usr_id]['odf_last_update'] .= ('_'.$edit_info['editing_time']->get(IL_CAL_UNIX));
575 $a_user_data[$usr_id]['odf_info_txt'] .= (', '.ilDatePresentation::formatDate($edit_info['editing_time']));
576 }
577 }
578 else
579 {
580 $a_user_data[$usr_id]['odf_last_update'] = $edit_info['update_user'];
581 $a_user_data[$usr_id]['odf_last_update'] .= ('_'.$edit_info['editing_time']->get(IL_CAL_UNIX));
582
583 $name = ilObjUser::_lookupName($edit_info['update_user']);
584 $a_user_data[$usr_id]['odf_info_txt'] = ($name['firstname'].' '.$name['lastname'].', '.ilDatePresentation::formatDate($edit_info['editing_time']));
585 }
586 }
587 }
588
589 // consultation hours
590 if($this->isColumnSelected('consultation_hour'))
591 {
592 include_once './Services/Booking/classes/class.ilBookingEntry.php';
593 foreach(ilBookingEntry::lookupManagedBookingsForObject($this->getRepositoryObject()->getId(), $GLOBALS['ilUser']->getId()) as $buser => $booking)
594 {
595 if(isset($a_user_data[$buser]))
596 {
597 $a_user_data[$buser]['consultation_hour'] = $booking[0]['dt'];
598 $a_user_data[$buser]['consultation_hour_end'] = $booking[0]['dtend'];
599 $a_user_data[$buser]['consultation_hours'] = $booking;
600 }
601 }
602 }
603
604 // always sort by name first
605 $a_user_data = ilUtil::sortArray(
606 $a_user_data,
607 'name',
608 $this->getOrderDirection()
609 );
610
611 return $this->setData($a_user_data);
612 }
static lookupManagedBookingsForObject($a_obj_id, $a_usr_id)
Lookup bookings for own and managed consultation hours of an object.
static _getValuesByObjId($a_obj_id)
Get values by obj_id (for all users)
static _lookupName($a_user_id)
lookup user name
static lookupEntriesByObjectId($a_obj_id)
Get entries by obj_id @global type $ilDB.
checkAcceptance($a_usr_id)
Check acceptance.
getParentObject()
Get parent object.
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
setData($a_data)
set table data @access public
isColumnSelected($a_col)
Is given column selected?
getOrderDirection()
Get order direction.
static lookupData($a_user_ids, $a_field_ids)
Lookup data.
static getUserListData($a_order_field, $a_order_dir, $a_offset, $a_limit, $a_string_filter="", $a_activation_filter="", $a_last_login_filter=null, $a_limited_access_filter=false, $a_no_courses_filter=false, $a_course_group_filter=0, $a_role_filter=0, $a_user_folder_filter=null, $a_additional_fields='', $a_user_filter=null, $a_first_letter="")
Get data for user administration list.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
$GLOBALS['loaded']
Global hash that tracks already loaded includes.

References ilTableGUI\$data, $GLOBALS, ilObjOrgUnitTree\_getInstance(), ilPrivacySettings\_getInstance(), ilCourseUserData\_getValuesByObjId(), ilObjUser\_lookupName(), ilParticipantTableGUI\checkAcceptance(), ilTable2GUI\determineOffsetAndOrder(), ilDatePresentation\formatDate(), ilTable2GUI\getId(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), ilTable2GUI\getParentObject(), ilParticipantTableGUI\getRepositoryObject(), ilTable2GUI\getSelectedColumns(), ilUserQuery\getUserListData(), IL_CAL_UNIX, ilTable2GUI\isColumnSelected(), ilUserDefinedData\lookupData(), ilObjectCustomUserFieldHistory\lookupEntriesByObjectId(), ilBookingEntry\lookupManagedBookingsForObject(), ilTable2GUI\setData(), and ilUtil\sortArray().

+ Here is the call graph for this function:

Field Documentation

◆ $show_learning_progress

ilCourseParticipantsTableGUI::$show_learning_progress = false
protected

Definition at line 15 of file class.ilCourseParticipantsTableGUI.php.

◆ $show_lp_status_sync

ilCourseParticipantsTableGUI::$show_lp_status_sync = false
protected

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

◆ $show_timings

ilCourseParticipantsTableGUI::$show_timings = false
protected

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


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