ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilLearningSequenceParticipantsTableGUI Class Reference
+ Inheritance diagram for ilLearningSequenceParticipantsTableGUI:
+ Collaboration diagram for ilLearningSequenceParticipantsTableGUI:

Public Member Functions

 __construct (ilLearningSequenceMembershipGUI $parent_gui, ilObjLearningSequence $ls_object, ilObjUserTracking $obj_user_tracking, ilPrivacySettings $privacy_settings, ilLanguage $lng, ilAccess $access, ilRbacReview $rbac_review, ilSetting $settings, Profile $profile)
 
 parse ()
 
 getSelectableColumns ()
 Get selectable columns. More...
 
- Public Member Functions inherited from ilParticipantTableGUI
 __construct (mixed $a_parent_obj, $a_parent_cmd="", $a_template_context="")
 
 initFilter ()
 Init table filter. More...
 
 getSelectableColumns ()
 Get selectable columns. More...
 
 checkAcceptance (int $a_usr_id)
 
- Public Member Functions inherited from ilTable2GUI
 __construct (?object $a_parent_obj, string $a_parent_cmd="", string $a_template_context="")
 
 setOpenFormTag (bool $a_val)
 
 getOpenFormTag ()
 
 setCloseFormTag (bool $a_val)
 
 getCloseFormTag ()
 
 determineLimit ()
 
 getSelectableColumns ()
 Get selectable columns. More...
 
 determineSelectedColumns ()
 
 isColumnSelected (string $col)
 
 getSelectedColumns ()
 
 resetOffset (bool $a_in_determination=false)
 
 initFilter ()
 
 getParentObject ()
 
 getParentCmd ()
 
 setTopAnchor (string $a_val)
 
 getTopAnchor ()
 
 setNoEntriesText (string $a_text)
 
 getNoEntriesText ()
 
 setIsDataTable (bool $a_val)
 
 getIsDataTable ()
 
 setEnableTitle (bool $a_enabletitle)
 
 getEnableTitle ()
 
 setEnableHeader (bool $a_enableheader)
 
 getEnableHeader ()
 
 setEnableNumInfo (bool $a_val)
 
 getEnableNumInfo ()
 
 setTitle (string $a_title, string $a_icon="", string $a_icon_alt="")
 
 setDescription (string $a_val)
 
 getDescription ()
 
 setOrderField (string $a_order_field)
 
 getOrderField ()
 
 setData (array $a_data)
 Set table data. More...
 
 getData ()
 
 dataExists ()
 
 setPrefix (string $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) More...
 
 getPrefix ()
 
 addFilterItem (ilTableFilterItem $a_input_item, bool $a_optional=false)
 
 addFilterItemByMetaType (string $id, int $type=self::FILTER_TEXT, bool $a_optional=false, string $caption="")
 Add filter by standard type. More...
 
 getFilterItems (bool $a_optionals=false)
 
 getFilterItemByPostVar (string $a_post_var)
 
 setFilterCols (int $a_val)
 
 getFilterCols ()
 
 setDisableFilterHiding (bool $a_val=true)
 
 getDisableFilterHiding ()
 
 isFilterSelected (string $a_col)
 Is given filter selected? More...
 
 getSelectedFilters ()
 
 determineSelectedFilters ()
 
 setCustomPreviousNext (string $a_prev_link, string $a_next_link)
 
 setFormAction (string $a_form_action, bool $a_multipart=false)
 
 getFormAction ()
 
 setFormName (string $a_name="")
 
 getFormName ()
 get the name of the parent form More...
 
 setId (string $a_val)
 
 getId ()
 
 setDisplayAsBlock (bool $a_val)
 
 getDisplayAsBlock ()
 
 setSelectAllCheckbox (string $a_select_all_checkbox, bool $a_select_all_on_top=false)
 
 setExternalSorting (bool $a_val)
 
 getExternalSorting ()
 
 setFilterCommand (string $a_val, string $a_caption="")
 
 getFilterCommand ()
 
 setResetCommand (string $a_val, string $a_caption="")
 
 getResetCommand ()
 
 setExternalSegmentation (bool $a_val)
 
 getExternalSegmentation ()
 
 setRowTemplate (string $a_template, string $a_template_dir="")
 Set row template. More...
 
 setDefaultOrderField (string $a_defaultorderfield)
 
 getDefaultOrderField ()
 
 setDefaultOrderDirection (string $a_defaultorderdirection)
 
 getDefaultOrderDirection ()
 
 setDefaultFilterVisiblity (bool $a_status)
 
 getDefaultFilterVisibility ()
 
 clearCommandButtons ()
 
 addCommandButton (string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
 
 addCommandButtonInstance (ilButtonBase $a_button)
 
 addMultiItemSelectionButton (string $a_sel_var, array $a_options, string $a_cmd, string $a_text, string $a_default_selection='')
 
 setCloseCommand (string $a_link)
 
 addMultiCommand (string $a_cmd, string $a_text)
 
 addHiddenInput (string $a_name, string $a_value)
 
 addHeaderCommand (string $a_href, string $a_text, string $a_target="", string $a_img="")
 
 setTopCommands (bool $a_val)
 
 getTopCommands ()
 
 addColumn (string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
 
 getNavParameter ()
 
 setOrderLink (string $key, string $order_dir)
 
 fillHeader ()
 
 determineOffsetAndOrder (bool $a_omit_offset=false)
 
 storeNavParameter ()
 
 getHTML ()
 Get HTML. More...
 
 numericOrdering (string $a_field)
 Should this field be sorted numeric? More...
 
 render ()
 
 writeFilterToSession ()
 
 resetFilter ()
 
 fillFooter ()
 
 getLinkbar (string $a_num)
 
 fillHiddenRow ()
 
 fillActionRow ()
 
 setHeaderHTML (string $html)
 
 storeProperty (string $type, string $value)
 
 loadProperty (string $type)
 
 getCurrentState ()
 get current settings for order, limit, columns and filter More...
 
 setContext (string $id)
 
 getContext ()
 
 setShowRowsSelector (bool $a_value)
 Toggle rows-per-page selector. More...
 
 getShowRowsSelector ()
 
 getLimit ()
 
 getOffset ()
 
 setExportFormats (array $formats)
 Set available export formats. More...
 
 setPrintMode (bool $a_value=false)
 
 getPrintMode ()
 
 getExportMode ()
 
 exportData (int $format, bool $send=false)
 Export and optionally send current table data. More...
 
 setEnableAllCommand (bool $a_value)
 
 setRowSelectorLabel (string $row_selector_label)
 
 getRowSelectorLabel ()
 
 setPreventDoubleSubmission (bool $a_val)
 
 getPreventDoubleSubmission ()
 
 setLimit (int $a_limit=0, int $a_default_limit=0)
 set max. More...
 
- Public Member Functions inherited from ilTableGUI
 __construct (array $a_data=[], bool $a_global_tpl=true)
 
 setTemplate (ilTemplate $a_tpl)
 
 getTemplateObject ()
 
 setData (array $a_data)
 Set table data. More...
 
 getData ()
 
 setTitle (string $a_title, string $a_icon="", string $a_icon_alt="")
 
 setHelp (string $a_help_page, string $a_help_icon, string $a_help_icon_alt="")
 
 setHeaderNames (array $a_header_names)
 
 getColumnCount ()
 
 setHeaderVars (array $a_header_vars, array $a_header_params=[])
 
 setColumnWidth (array $a_column_width)
 set table column widths More...
 
 setOneColumnWidth (string $a_column_width, int $a_column_number)
 
 setMaxCount (int $a_max_count)
 set max. More...
 
 setLimit (int $a_limit=0, int $a_default_limit=0)
 set max. More...
 
 getLimit ()
 
 setPrefix (string $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) More...
 
 setOffset (int $a_offset)
 set dataset offset More...
 
 getOffset ()
 
 setOrderColumn (string $a_order_column="", string $a_default_column="")
 
 getOrderColumn ()
 
 setOrderDirection (string $a_order_direction)
 
 getOrderDirection ()
 
 setFooter (string $a_style, string $a_previous="", string $a_next="")
 
 enable (string $a_module_name)
 
 disable (string $a_module_name)
 
 sortData ()
 
 render ()
 
 renderHeader ()
 
 setOrderLink (string $key, string $order_dir)
 
 setStyle (string $a_element, string $a_style)
 
 getStyle (string $a_element)
 
 setBase (string $a_base)
 
 getBase ()
 
 getFormName ()
 get the name of the parent form More...
 
 setFormName (string $a_name="cmd")
 
 getSelectAllCheckbox ()
 get the name of the checkbox that should be toggled with a select all button More...
 
 setSelectAllCheckbox (string $a_select_all_checkbox)
 
 clearActionButtons ()
 
 addActionButton (string $btn_name, string $btn_value)
 

Protected Member Functions

 initForm ()
 
 fillRow (array $a_set)
 Standard Version of Fill Row. More...
 
 getFirstAccess (int $user_id)
 
 getLastAccess (int $user_id)
 
 getCompletedSteps (int $user_id)
 
 getLastVisitedStep (int $user_id)
 Different to the concept we decide to use the title of the object instead of its actually number in the ls items list. More...
 
 getTitleFor (int $ref_id)
 
 getExportFieldsInfo ()
 
- Protected Member Functions inherited from ilParticipantTableGUI
 getRepositoryObject ()
 
 getParticipants ()
 
 initSettings ()
 
 showActionLinks ($a_set)
 
- Protected Member Functions inherited from ilTable2GUI
 getRequestedValues ()
 
 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, ilTableFilterItem $a_element)
 Check if filter element is based on adv md. More...
 
 fillRow (array $a_set)
 Standard Version of Fill Row. More...
 
 getFilterValue (ilTableFilterItem $a_item)
 Get current filter value. More...
 
 setFilterValue (ilTableFilterItem $a_item, $a_value)
 
 fillMetaExcel (ilExcel $a_excel, int &$a_row)
 Add meta information to excel export. More...
 
 fillHeaderExcel (ilExcel $a_excel, int &$a_row)
 Excel Version of Fill Header. More...
 
 fillRowExcel (ilExcel $a_excel, int &$a_row, array $a_set)
 Excel Version of Fill Row. More...
 
 fillMetaCSV (ilCSVWriter $a_csv)
 Add meta information to csv export. More...
 
 fillHeaderCSV (ilCSVWriter $a_csv)
 CSV Version of Fill Header. More...
 
 fillRowCSV (ilCSVWriter $a_csv, array $a_set)
 CSV Version of Fill Row. More...
 

Protected Attributes

ilLearningSequenceMembershipGUI $parent_gui
 
ilObjLearningSequence $ls_object
 
ilObjUserTracking $obj_user_tracking
 
ilPrivacySettings $privacy_settings
 
ilAccess $access
 
ilRbacReview $rbac_review
 
ilSetting $settings
 
Profile $profile
 
- Protected Attributes inherited from ilParticipantTableGUI
ilParticipants $participants = null
 
array $current_filter = []
 
ilObject $rep_object
 
- Protected Attributes inherited from ilTable2GUI
string $requested_nav_par2 = ""
 
string $requested_nav_par = ""
 
string $requested_nav_par1 = ""
 
ILIAS Table TableGUIRequest $table_request = null
 
array $selected_columns = []
 
ilCtrl $ctrl
 
object $parent_obj = null
 
string $parent_cmd = ""
 
string $close_command = ""
 
string $top_anchor = "il_table_top"
 
array $filters = array()
 
array $optional_filters = array()
 
string $filter_cmd = 'applyFilter'
 
string $reset_cmd = 'resetFilter'
 
int $filter_cols = 5
 
bool $ext_sort = false
 
bool $ext_seg = false
 
string $context = ""
 
array $mi_sel_buttons = []
 
bool $disable_filter_hiding = false
 
bool $top_commands = true
 
array $selectable_columns = array()
 
array $selected_column = array()
 
bool $show_rows_selector = true
 
bool $rows_selector_off = false
 
bool $nav_determined = false
 
bool $limit_determined = false
 
bool $filters_determined = false
 
bool $columns_determined = false
 
bool $open_form_tag = true
 
bool $close_form_tag = true
 
array $export_formats = []
 
int $export_mode = 0
 
bool $print_mode = false
 
bool $enable_command_for_all = false
 
bool $restore_filter = false
 
array $restore_filter_values = []
 
bool $default_filter_visibility = false
 
array $sortable_fields = array()
 
bool $prevent_double_submission = true
 
string $row_selector_label = ""
 
bool $select_all_on_top = false
 
array $sel_buttons = []
 
string $nav_value = ''
 
string $noentriestext = ''
 
string $css_row = ''
 
bool $display_as_block = false
 
string $description = ''
 
string $id = ""
 
bool $custom_prev_next = false
 
string $reset_cmd_txt = ""
 
string $defaultorderfield = ""
 
string $defaultorderdirection = ""
 
array $column = []
 
bool $datatable = false
 
bool $num_info = false
 
bool $form_multipart = false
 
array $row_data = []
 
string $order_field = ""
 
array $selected_filter = []
 
string $form_action = ""
 
string $formname = ""
 
string $sort_order = ""
 
array $buttons = []
 
array $multi = []
 
array $hidden_inputs = []
 
array $header_commands = []
 
string $row_template = ""
 
string $row_template_dir = ""
 
string $filter_cmd_txt = ""
 
string $custom_prev = ""
 
string $custom_next = ""
 
array $raw_post_data = null
 
ilGlobalTemplateInterface $main_tpl
 
- Protected Attributes inherited from ilTableGUI
string $sort_order
 
string $link_params
 
array $header_params
 
 $tpl
 
ilLanguage $lng
 

Additional Inherited Members

- Static Public Member Functions inherited from ilTable2GUI
static getAllCommandLimit ()
 
- Static Public Member Functions inherited from ilTableGUI
static linkbar (string $AScript, int $AHits, int $ALimit, int $AOffset, array $AParams=array(), array $ALayout=array(), string $prefix='')
 
- 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 FILTER_CHECKBOX = 9
 
const EXPORT_EXCEL = 1
 
const EXPORT_CSV = 2
 
const ACTION_ALL_LIMIT = 1000
 
- Data Fields inherited from ilTableGUI
string $title = ""
 
string $icon = ""
 
string $icon_alt = ""
 
string $help_page = ""
 
string $help_icon = ""
 
string $help_icon_alt = ""
 
array $header_names = []
 
array $header_vars = []
 
array $linkbar_vars = []
 
array $data = []
 
int $column_count = 0
 
array $column_width = []
 
int $max_count = 0
 
int $limit = 0
 
bool $max_limit = false
 
int $offset = 0
 
string $order_column = ""
 
string $order_direction = ""
 
string $footer_style = ""
 
string $footer_previous = ""
 
string $footer_next = ""
 
bool $lang_support = true
 
bool $global_tpl = false
 
string $form_name = ""
 
string $select_all_checkbox = ""
 
array $action_buttons = []
 
string $prefix = ""
 
string $base = ""
 
array $enabled
 
array $styles
 
- Static Protected Attributes inherited from ilParticipantTableGUI
static bool $export_allowed = false
 
static bool $confirmation_required = true
 
static array $accepted_ids = null
 
static array $all_columns = null
 
static bool $has_odf_definitions = false
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilLearningSequenceParticipantsTableGUI::__construct ( ilLearningSequenceMembershipGUI  $parent_gui,
ilObjLearningSequence  $ls_object,
ilObjUserTracking  $obj_user_tracking,
ilPrivacySettings  $privacy_settings,
ilLanguage  $lng,
ilAccess  $access,
ilRbacReview  $rbac_review,
ilSetting  $settings,
Profile  $profile 
)

Definition at line 35 of file class.ilLearningSequenceParticipantsTableGUI.php.

45 {
46 $this->parent_gui = $parent_gui;
47 $this->rep_object = $ls_object;
48
49 $this->obj_user_tracking = $obj_user_tracking;
50 $this->privacy_settings = $privacy_settings;
51 $this->lng = $lng;
52 $this->access = $access;
53 $this->rbac_review = $rbac_review;
54 $this->settings = $settings;
55 $this->profile = $profile;
56
57 $this->lng->loadLanguageModule('lso');
58 $this->lng->loadLanguageModule('trac');
59 $this->lng->loadLanguageModule('rbac');
60 $this->lng->loadLanguageModule('mmbr');
61 $this->lng->loadLanguageModule('user');
62 $this->lng->loadLanguageModule('ps');
63
64 $this->participants = $ls_object->getLSParticipants();
65
66 $this->setPrefix('participants');
67
68 $this->setId('lso_' . $this->getRepositoryObject()->getId());
69 parent::__construct($parent_gui, 'participants');
70
71 $this->initSettings();
72 $this->initForm();
73 }
setPrefix(string $a_prefix)
set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort...
setId(string $a_val)
ilLanguage $lng
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References $access, ilTableGUI\$lng, $ls_object, $obj_user_tracking, $parent_gui, $privacy_settings, $profile, $rbac_review, $settings, ILIAS\GlobalScreen\Provider\__construct(), ILIAS\Repository\access(), ilTable2GUI\getId(), ilObjLearningSequence\getLSParticipants(), ilParticipantTableGUI\getRepositoryObject(), initForm(), ilParticipantTableGUI\initSettings(), ILIAS\Repository\lng(), ILIAS\Repository\profile(), ilTable2GUI\setId(), ilTable2GUI\setPrefix(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

Member Function Documentation

◆ fillRow()

ilLearningSequenceParticipantsTableGUI::fillRow ( array  $a_set)
protected

Standard Version of Fill Row.

Most likely to be overwritten by derived class.

Parameters
array<string,mixed>$a_set data array

Reimplemented from ilTable2GUI.

Definition at line 119 of file class.ilLearningSequenceParticipantsTableGUI.php.

119 : void
120 {
121 $this->tpl->setVariable('VAL_ID', $a_set['usr_id']);
122 $this->tpl->setVariable('VAL_NAME', $a_set['lastname'] . ', ' . $a_set['firstname']);
123 $this->tpl->setVariable('VAL_LOGIN', $a_set['login']);
124
125 if (
126 !$this->access->checkAccessOfUser((int) $a_set['usr_id'], 'read', '', $this->getRepositoryObject()->getRefId()) &&
127 is_array($info = $this->access->getInfo())
128 ) {
129 $this->tpl->setCurrentBlock('access_warning');
130 $this->tpl->setVariable('PARENT_ACCESS', $info[0]['text']);
131 $this->tpl->parseCurrentBlock();
132 }
133
134 if (!ilObjUser::_lookupActive((int) $a_set['usr_id'])) {
135 $this->tpl->setCurrentBlock('access_warning');
136 $this->tpl->setVariable('PARENT_ACCESS', $this->lng->txt('usr_account_inactive'));
137 $this->tpl->parseCurrentBlock();
138 }
139
140 foreach ($this->getSelectedColumns() as $field) {
141 switch ($field) {
142 case 'prtf':
143 $tmp = array();
144 if (array_key_exists('prtf', $a_set) && is_array($a_set['prtf'])) {
145 foreach ($a_set['prtf'] as $prtf_url => $prtf_txt) {
146 $tmp[] = '<a href="' . $prtf_url . '">' . $prtf_txt . '</a>';
147 }
148 }
149 $this->tpl->setCurrentBlock('custom_fields');
150 $this->tpl->setVariable('VAL_CUST', implode('<br />', $tmp));
151 $this->tpl->parseCurrentBlock();
152 break;
153 case 'roles':
154 $this->tpl->setCurrentBlock('custom_fields');
155 $this->tpl->setVariable('VAL_CUST', (string) $a_set['roles_label']);
156 $this->tpl->parseCurrentBlock();
157 break;
158 case 'org_units':
159 $this->tpl->setCurrentBlock('custom_fields');
160 $this->tpl->setVariable('VAL_CUST', ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits((int) $a_set['usr_id']));
161 $this->tpl->parseCurrentBlock();
162 break;
163 default:
164 $this->tpl->setCurrentBlock('custom_fields');
165 $this->tpl->setVariable('VAL_CUST', isset($a_set[$field]) ? (string) $a_set[$field] : '');
166 $this->tpl->parseCurrentBlock();
167 break;
168 }
169 }
170
171 $this->tpl->setVariable('VAL_POSTNAME', 'participants');
172
173 if (
174 $this->obj_user_tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_LAST_ACCESS) &&
176
177 ) {
178 $this->tpl->setVariable('FIRST_ACCESS', $this->getFirstAccess((int) $a_set['usr_id']));
179 $this->tpl->setVariable('LAST_ACCESS', $this->getLastAccess((int) $a_set['usr_id']));
180 }
181
182 $this->tpl->setVariable('COMPLETED_STEPS', $this->getCompletedSteps((int) $a_set['usr_id']));
183 $this->tpl->setVariable('LAST_VISITED_STEP', $this->getLastVisitedStep((int) $a_set['usr_id']));
184
185 if ($this->getParticipants()->isAdmin((int) $a_set['usr_id'])) {
186 $this->tpl->setVariable('VAL_NOTIFICATION_ID', (int) $a_set['usr_id']);
187 $this->tpl->setVariable(
188 'VAL_NOTIFICATION_CHECKED',
189 $a_set['notification'] ? 'checked="checked"' : ''
190 );
191 }
192
193 $this->showActionLinks($a_set);
194 $this->tpl->setVariable('VAL_LOGIN', $a_set['login']);
195 }
getLastVisitedStep(int $user_id)
Different to the concept we decide to use the title of the object instead of its actually number in t...
static _lookupActive(int $a_usr_id)
$info
Definition: entry_point.php:21

References $info, ilObjUserTracking\_enabledLearningProgress(), ilObjUser\_lookupActive(), ILIAS\Repository\access(), ilObjUserTracking\EXTENDED_DATA_LAST_ACCESS, getCompletedSteps(), getFirstAccess(), getLastAccess(), getLastVisitedStep(), ilParticipantTableGUI\getParticipants(), ilTable2GUI\getSelectedColumns(), ILIAS\Repository\lng(), and ilParticipantTableGUI\showActionLinks().

+ Here is the call graph for this function:

◆ getCompletedSteps()

ilLearningSequenceParticipantsTableGUI::getCompletedSteps ( int  $user_id)
protected

Definition at line 225 of file class.ilLearningSequenceParticipantsTableGUI.php.

225 : string
226 {
227 $passed = 0;
228
229 $learner_items = $this->getRepositoryObject()->getLSLearnerItems(
231 );
232
233 $completion_states = $this->rep_object->getLPCompletionStates();
234
235 foreach ($learner_items as $learner_item) {
236 if (in_array($learner_item->getLearningProgressStatus(), $completion_states)) {
237 $passed++;
238 }
239 }
240
241 return $passed . " / " . count($learner_items);
242 }

References ilParticipantTableGUI\getRepositoryObject().

Referenced by fillRow().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getExportFieldsInfo()

ilLearningSequenceParticipantsTableGUI::getExportFieldsInfo ( )
protected

Definition at line 424 of file class.ilLearningSequenceParticipantsTableGUI.php.

425 {
427 $this->getRepositoryObject()->getType()
428 );
429 }
static _getInstanceByType(string $a_type)
Get Singleton Instance.

References ilExportFieldsInfo\_getInstanceByType(), and ilParticipantTableGUI\getRepositoryObject().

Referenced by getSelectableColumns().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFirstAccess()

ilLearningSequenceParticipantsTableGUI::getFirstAccess ( int  $user_id)
protected

Definition at line 197 of file class.ilLearningSequenceParticipantsTableGUI.php.

197 : string
198 {
199 $data = $this->getRepositoryObject()->getStateDB()->getFirstAccessFor(
200 $this->getRepositoryObject()->getRefId(),
201 [$user_id]
202 );
203
204 if ($data[$user_id] === '-1') {
205 return "-";
206 }
207
208 return $data[$user_id];
209 }

References ilTableGUI\$data, $user_id, and ilParticipantTableGUI\getRepositoryObject().

Referenced by fillRow().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLastAccess()

ilLearningSequenceParticipantsTableGUI::getLastAccess ( int  $user_id)
protected

Definition at line 211 of file class.ilLearningSequenceParticipantsTableGUI.php.

211 : string
212 {
213 $data = $this->getRepositoryObject()->getStateDB()->getLastAccessFor(
214 $this->getRepositoryObject()->getRefId(),
215 [$user_id]
216 );
217
218 if ($data[$user_id] === '-1') {
219 return "-";
220 }
221
222 return $data[$user_id];
223 }

References ilTableGUI\$data, $user_id, and ilParticipantTableGUI\getRepositoryObject().

Referenced by fillRow().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLastVisitedStep()

ilLearningSequenceParticipantsTableGUI::getLastVisitedStep ( int  $user_id)
protected

Different to the concept we decide to use the title of the object instead of its actually number in the ls items list.

The ls item list could change and the number isn't very revealing.

Definition at line 249 of file class.ilLearningSequenceParticipantsTableGUI.php.

249 : string
250 {
251 $data = $this->getRepositoryObject()->getStateDB()->getCurrentItemsFor(
252 $this->getRepositoryObject()->getRefId(),
253 [$user_id]
254 );
255
256 if ($data[$user_id] === -1) {
257 return "-";
258 }
259
260 return $this->getTitleFor((int) $data[$user_id]);
261 }

References ilTableGUI\$data, $user_id, ilParticipantTableGUI\getRepositoryObject(), and getTitleFor().

Referenced by fillRow().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSelectableColumns()

ilLearningSequenceParticipantsTableGUI::getSelectableColumns ( )

Get selectable columns.

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

Reimplemented from ilParticipantTableGUI.

Definition at line 393 of file class.ilLearningSequenceParticipantsTableGUI.php.

393 : array
394 {
395 $ef = $this->getExportFieldsInfo();
396 $columns = $ef->getSelectableFieldsInfo(
397 $this->getRepositoryObject()->getId()
398 );
399
400 if ($this->settings->get('user_portfolios')) {
401 $columns['prtf'] = array(
402 'txt' => $this->lng->txt('obj_prtf'),
403 'default' => false
404 );
405 }
406
407 return array_merge(
408 [
409 'roles' => [
410 'txt' => $this->lng->txt('objs_role'),
411 'default' => true
412 ]
413 ],
414 [
415 'org_units' => [
416 'txt' => $this->lng->txt("org_units"),
417 'default' => false
418 ]
419 ],
420 $columns
421 );
422 }

References getExportFieldsInfo(), ilTable2GUI\getId(), ilParticipantTableGUI\getRepositoryObject(), ILIAS\Repository\lng(), and ILIAS\Repository\settings().

Referenced by initForm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTitleFor()

ilLearningSequenceParticipantsTableGUI::getTitleFor ( int  $ref_id)
protected

Definition at line 263 of file class.ilLearningSequenceParticipantsTableGUI.php.

263 : string
264 {
266 }
static _lookupObjId(int $ref_id)
static _lookupTitle(int $obj_id)
$ref_id
Definition: ltiauth.php:66

References $ref_id, ilObject\_lookupObjId(), and ilObject\_lookupTitle().

Referenced by getLastVisitedStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initForm()

ilLearningSequenceParticipantsTableGUI::initForm ( )
protected

Definition at line 75 of file class.ilLearningSequenceParticipantsTableGUI.php.

75 : void
76 {
77 $this->setFormName('participants');
78 $this->setDefaultOrderField('roles');
79 $this->setRowTemplate("tpl.show_participants_row.html", "components/ILIAS/LearningSequence");
80 $this->setShowRowsSelector(true);
81 $this->setSelectAllCheckbox('participants');
82
83 $this->addColumn('', 'f', "1");
84 $this->addColumn($this->lng->txt('name'), 'lastname', '20%');
85 $this->addColumn($this->lng->txt('login'), 'login');
86
87 $all_cols = $this->getSelectableColumns();
88 foreach ($this->getSelectedColumns() as $col) {
89 $this->addColumn($all_cols[$col]['txt'], $col);
90 }
91
92 if (
93 $this->obj_user_tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_LAST_ACCESS) &&
95
96 ) {
97 $this->addColumn($this->lng->txt('first_access'), "first_access");
98 $this->addColumn($this->lng->txt('last_access'), "last_access");
99 }
100 $this->addColumn($this->lng->txt('completed_steps'), "completed_steps");
101 $this->addColumn($this->lng->txt('last_visited_step'), "last_visited_step");
102 $this->addColumn($this->lng->txt('lso_notification'), 'notification');
103 $this->addColumn($this->lng->txt(''), 'optional');
104
105 $this->enable('sort');
106 $this->enable('header');
107 $this->enable('numinfo');
108 $this->enable('select_all');
109
110 $this->initFilter();
111
112 $this->addMultiCommand('editParticipants', $this->lng->txt('edit'));
113 $this->addMultiCommand('confirmDeleteParticipants', $this->lng->txt('remove'));
114 $this->addMultiCommand('sendMailToSelectedUsers', $this->lng->txt('mmbr_btn_mail_selected_users'));
115 $this->addMultiCommand('addToClipboard', $this->lng->txt('clipboard_add_btn'));
116 $this->addCommandButton('updateParticipantsStatus', $this->lng->txt('save'));
117 }
setShowRowsSelector(bool $a_value)
Toggle rows-per-page selector.
addCommandButton(string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
setFormName(string $a_name="")
addMultiCommand(string $a_cmd, string $a_text)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
setDefaultOrderField(string $a_defaultorderfield)
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
enable(string $a_module_name)

References ilObjUserTracking\_enabledLearningProgress(), ilTable2GUI\addColumn(), ilTable2GUI\addCommandButton(), ilTable2GUI\addMultiCommand(), ilTableGUI\enable(), ilObjUserTracking\EXTENDED_DATA_LAST_ACCESS, getSelectableColumns(), ilTable2GUI\getSelectedColumns(), ilParticipantTableGUI\initFilter(), ILIAS\Repository\lng(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setFormName(), ilTable2GUI\setRowTemplate(), ilTable2GUI\setSelectAllCheckbox(), and ilTable2GUI\setShowRowsSelector().

Referenced by __construct().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parse()

ilLearningSequenceParticipantsTableGUI::parse ( )

Definition at line 268 of file class.ilLearningSequenceParticipantsTableGUI.php.

268 : void
269 {
270 $this->determineOffsetAndOrder(true);
271
272 $ls_participants = $this->participants->getParticipants();
273
274 $ls_participants = $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
275 'manage_members',
276 'manage_members',
277 $this->getRepositoryObject()->getRefId(),
278 $ls_participants
279 );
280
281 if (!$ls_participants) {
282 $this->setData(array());
283 return;
284 }
285
286 $lso_user_data = $this->parent_gui->readMemberData(
287 $ls_participants,
288 $this->getSelectedColumns()
289 );
290
291 $additional_fields = $this->getSelectedColumns();
292 unset($additional_fields['prtf']);
293 unset($additional_fields['roles']);
294 unset($additional_fields['org_units']);
295
296 $udf_ids = $usr_data_fields = $odf_ids = array();
297 foreach ($additional_fields as $field) {
298 if (substr($field, 0, 3) == 'udf') {
299 $udf_ids[] = substr($field, 4);
300 continue;
301 }
302
303 if (substr($field, 0, 3) == 'odf') {
304 $odf_ids[] = substr($field, 4);
305 continue;
306 }
307
308 $usr_data_fields[] = $field;
309 }
310
312 $this->getOrderField(),
313 $this->getOrderDirection(),
314 0,
315 9999,
316 $this->current_filter['login'],
317 '',
318 null,
319 false,
320 false,
321 0,
322 0,
323 null,
324 $usr_data_fields,
325 $ls_participants
326 );
327
328 $user_data = array();
329 $filtered_user_ids = array();
330 $local_roles = $this->parent_gui->getLocalRoles();
331
332 foreach ($usr_data['set'] as $ud) {
333 $user_id = $ud['usr_id'];
334
335 if ($this->current_filter['roles']) {
336 if (!$this->rbac_review->isAssigned($user_id, $this->current_filter['roles'])) {
337 continue;
338 }
339 }
340
341 if (array_key_exists('org_units', $this->current_filter)
342 && $this->current_filter['org_units'] !== ''
343 ) {
344 $org_unit = $this->current_filter['org_units'];
345 $title = ilObjectFactory::getInstanceByRefId($org_unit)->getTitle();
346 $user_units = ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits((int) $user_id);
347 if (strpos($user_units, $title) === false) {
348 continue;
349 }
350 }
351
352 $filtered_user_ids[] = $user_id;
353 $user_data[$user_id] = array_merge($ud, $lso_user_data[$user_id]);
354
355 $roles = array();
356 foreach ($local_roles as $role_id => $role_name) {
357 if ($this->rbac_review->isAssigned((int) $user_id, $role_id)) {
358 $roles[] = $role_name;
359 }
360 }
361
362 $user_data[$user_id]['name'] = $user_data[$user_id]['lastname'] . ', ' . $user_data[$user_id]['firstname'];
363 $user_data[$user_id]['roles_label'] = implode('<br />', $roles);
364 $user_data[$user_id]['roles'] = $this->participants->setRoleOrderPosition((int) $user_id);
365 }
366
367 // Custom user data fields
368 if ($udf_ids !== []) {
369 $user_data = array_reduce(
370 $this->profile->getDataForMultiple($filtered_user_ids),
371 function (array $c, ProfileData $v) use ($udf_ids): array {
372 if (!$this->checkAcceptance($v->getId())) {
373 return $c;
374 }
375
376 foreach ($udf_ids as $field_id) {
377 $c[$v->getId()]['udf_' . $field_id] = $v->getAdditionalFieldByIdentifier($field_id);
378 }
379 },
380 $user_data
381 );
382 }
383
384 $user_data = ilArrayUtil::sortArray(
385 $user_data,
386 'name',
387 $this->getOrderDirection()
388 );
389
390 $this->setData($user_data);
391 }
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id
determineOffsetAndOrder(bool $a_omit_offset=false)
setData(array $a_data)
Set table data.
static getUserListData(string $a_order_field, string $a_order_dir, int $a_offset, int $a_limit, string $a_string_filter="", string $a_activation_filter="", ?ilDateTime $a_last_login_filter=null, bool $a_limited_access_filter=false, bool $a_no_courses_filter=false, int $a_course_group_filter=0, int $a_role_filter=0, ?array $a_user_folder_filter=null, ?array $a_additional_fields=null, ?array $a_user_filter=null, string $a_first_letter="", string $a_authentication_filter="")
Get data for user administration list.
$c
Definition: deliver.php:25

References $c, ilTableGUI\$title, $user_id, ILIAS\Repository\access(), ilParticipantTableGUI\checkAcceptance(), ilTable2GUI\determineOffsetAndOrder(), ilObjectFactory\getInstanceByRefId(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), ilParticipantTableGUI\getRepositoryObject(), ilTable2GUI\getSelectedColumns(), ilUserQuery\getUserListData(), ILIAS\Repository\profile(), ilTable2GUI\setData(), and ilArrayUtil\sortArray().

+ Here is the call graph for this function:

Field Documentation

◆ $access

ilAccess ilLearningSequenceParticipantsTableGUI::$access
protected

Definition at line 30 of file class.ilLearningSequenceParticipantsTableGUI.php.

Referenced by __construct().

◆ $ls_object

ilObjLearningSequence ilLearningSequenceParticipantsTableGUI::$ls_object
protected

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

Referenced by __construct().

◆ $obj_user_tracking

ilObjUserTracking ilLearningSequenceParticipantsTableGUI::$obj_user_tracking
protected

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

Referenced by __construct().

◆ $parent_gui

ilLearningSequenceMembershipGUI ilLearningSequenceParticipantsTableGUI::$parent_gui
protected

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

Referenced by __construct().

◆ $privacy_settings

ilPrivacySettings ilLearningSequenceParticipantsTableGUI::$privacy_settings
protected

Definition at line 29 of file class.ilLearningSequenceParticipantsTableGUI.php.

Referenced by __construct().

◆ $profile

Profile ilLearningSequenceParticipantsTableGUI::$profile
protected

Definition at line 33 of file class.ilLearningSequenceParticipantsTableGUI.php.

Referenced by __construct().

◆ $rbac_review

ilRbacReview ilLearningSequenceParticipantsTableGUI::$rbac_review
protected

Definition at line 31 of file class.ilLearningSequenceParticipantsTableGUI.php.

Referenced by __construct().

◆ $settings

ilSetting ilLearningSequenceParticipantsTableGUI::$settings
protected

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

Referenced by __construct().


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