ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
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)
 
 parse ()
 
 getSelectableColumns ()
 
- Public Member Functions inherited from ilParticipantTableGUI
 __construct (mixed $a_parent_obj, $a_parent_cmd="", $a_template_context="")
 
 initFilter ()
 Init table filter. More...
 
 getSelectableColumns ()
 
 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)
 
 getData ()
 
 dataExists ()
 
 setPrefix (string $a_prefix)
 
 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 ()
 
 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 ()
 
 setShowTemplates (bool $a_value)
 
 getShowTemplates ()
 
 restoreTemplate (string $a_name)
 Restore state from template. More...
 
 saveTemplate (string $a_name)
 Save current state as template. More...
 
 deleteTemplate (string $a_name)
 
 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)
 
- 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)
 
 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
 
- Protected Attributes inherited from ilParticipantTableGUI
ilParticipants $participants = null
 
array $current_filter = []
 
ilObject $rep_object
 
- Protected Attributes inherited from ilTable2GUI
string $requested_tmpl_delete
 
string $requested_tmpl_create
 
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_templates = false
 
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 
)

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

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

41  {
42  $this->parent_gui = $parent_gui;
43  $this->rep_object = $ls_object;
44 
45  $this->obj_user_tracking = $obj_user_tracking;
46  $this->privacy_settings = $privacy_settings;
47  $this->lng = $lng;
48  $this->access = $access;
49  $this->rbac_review = $rbac_review;
50  $this->settings = $settings;
51 
52  $this->lng->loadLanguageModule('lso');
53  $this->lng->loadLanguageModule('trac');
54  $this->lng->loadLanguageModule('rbac');
55  $this->lng->loadLanguageModule('mmbr');
56  $this->lng->loadLanguageModule('user');
57  $this->lng->loadLanguageModule('ps');
58 
59  $this->participants = $ls_object->getLSParticipants();
60 
61  $this->setPrefix('participants');
62 
63  $this->setId('lso_' . $this->getRepositoryObject()->getId());
64  parent::__construct($parent_gui, 'participants');
65 
66  $this->initSettings();
67  $this->initForm();
68  }
ilLanguage $lng
setId(string $a_val)
__construct(VocabulariesInterface $vocabularies)
setPrefix(string $a_prefix)
+ Here is the call graph for this function:

Member Function Documentation

◆ fillRow()

ilLearningSequenceParticipantsTableGUI::fillRow ( array  $a_set)
protected

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

References 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().

114  : void
115  {
116  $this->tpl->setVariable('VAL_ID', $a_set['usr_id']);
117  $this->tpl->setVariable('VAL_NAME', $a_set['lastname'] . ', ' . $a_set['firstname']);
118  $this->tpl->setVariable('VAL_LOGIN', $a_set['login']);
119 
120  if (
121  !$this->access->checkAccessOfUser((int) $a_set['usr_id'], 'read', '', $this->getRepositoryObject()->getRefId()) &&
122  is_array($info = $this->access->getInfo())
123  ) {
124  $this->tpl->setCurrentBlock('access_warning');
125  $this->tpl->setVariable('PARENT_ACCESS', $info[0]['text']);
126  $this->tpl->parseCurrentBlock();
127  }
128 
129  if (!ilObjUser::_lookupActive((int) $a_set['usr_id'])) {
130  $this->tpl->setCurrentBlock('access_warning');
131  $this->tpl->setVariable('PARENT_ACCESS', $this->lng->txt('usr_account_inactive'));
132  $this->tpl->parseCurrentBlock();
133  }
134 
135  foreach ($this->getSelectedColumns() as $field) {
136  switch ($field) {
137  case 'prtf':
138  $tmp = array();
139  if (array_key_exists('prtf', $a_set) && is_array($a_set['prtf'])) {
140  foreach ($a_set['prtf'] as $prtf_url => $prtf_txt) {
141  $tmp[] = '<a href="' . $prtf_url . '">' . $prtf_txt . '</a>';
142  }
143  }
144  $this->tpl->setCurrentBlock('custom_fields');
145  $this->tpl->setVariable('VAL_CUST', implode('<br />', $tmp));
146  $this->tpl->parseCurrentBlock();
147  break;
148  case 'roles':
149  $this->tpl->setCurrentBlock('custom_fields');
150  $this->tpl->setVariable('VAL_CUST', (string) $a_set['roles_label']);
151  $this->tpl->parseCurrentBlock();
152  break;
153  case 'org_units':
154  $this->tpl->setCurrentBlock('custom_fields');
155  $this->tpl->setVariable('VAL_CUST', ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits((int) $a_set['usr_id']));
156  $this->tpl->parseCurrentBlock();
157  break;
158  default:
159  $this->tpl->setCurrentBlock('custom_fields');
160  $this->tpl->setVariable('VAL_CUST', isset($a_set[$field]) ? (string) $a_set[$field] : '');
161  $this->tpl->parseCurrentBlock();
162  break;
163  }
164  }
165 
166  $this->tpl->setVariable('VAL_POSTNAME', 'participants');
167 
168  if (
169  $this->obj_user_tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_LAST_ACCESS) &&
171 
172  ) {
173  $this->tpl->setVariable('FIRST_ACCESS', $this->getFirstAccess((int) $a_set['usr_id']));
174  $this->tpl->setVariable('LAST_ACCESS', $this->getLastAccess((int) $a_set['usr_id']));
175  }
176 
177  $this->tpl->setVariable('COMPLETED_STEPS', $this->getCompletedSteps((int) $a_set['usr_id']));
178  $this->tpl->setVariable('LAST_VISITED_STEP', $this->getLastVisitedStep((int) $a_set['usr_id']));
179 
180  if ($this->getParticipants()->isAdmin((int) $a_set['usr_id'])) {
181  $this->tpl->setVariable('VAL_NOTIFICATION_ID', (int) $a_set['usr_id']);
182  $this->tpl->setVariable(
183  'VAL_NOTIFICATION_CHECKED',
184  $a_set['notification'] ? 'checked="checked"' : ''
185  );
186  }
187 
188  $this->showActionLinks($a_set);
189  $this->tpl->setVariable('VAL_LOGIN', $a_set['login']);
190  }
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)
+ Here is the call graph for this function:

◆ getCompletedSteps()

ilLearningSequenceParticipantsTableGUI::getCompletedSteps ( int  $user_id)
protected

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

References ilParticipantTableGUI\getRepositoryObject().

Referenced by fillRow().

220  : string
221  {
222  $passed = 0;
223 
224  $learner_items = $this->getRepositoryObject()->getLSLearnerItems(
225  $user_id
226  );
227 
228  $completion_states = $this->rep_object->getLPCompletionStates();
229 
230  foreach ($learner_items as $learner_item) {
231  if (in_array($learner_item->getLearningProgressStatus(), $completion_states)) {
232  $passed++;
233  }
234  }
235 
236  return $passed . " / " . count($learner_items);
237  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getExportFieldsInfo()

ilLearningSequenceParticipantsTableGUI::getExportFieldsInfo ( )
protected

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

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

Referenced by getSelectableColumns().

417  {
419  $this->getRepositoryObject()->getType()
420  );
421  }
static _getInstanceByType(string $a_type)
Get Singleton Instance.
+ 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 192 of file class.ilLearningSequenceParticipantsTableGUI.php.

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

Referenced by fillRow().

192  : string
193  {
194  $data = $this->getRepositoryObject()->getStateDB()->getFirstAccessFor(
195  $this->getRepositoryObject()->getRefId(),
196  [$user_id]
197  );
198 
199  if ($data[$user_id] === '-1') {
200  return "-";
201  }
202 
203  return $data[$user_id];
204  }
+ 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 206 of file class.ilLearningSequenceParticipantsTableGUI.php.

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

Referenced by fillRow().

206  : string
207  {
208  $data = $this->getRepositoryObject()->getStateDB()->getLastAccessFor(
209  $this->getRepositoryObject()->getRefId(),
210  [$user_id]
211  );
212 
213  if ($data[$user_id] === '-1') {
214  return "-";
215  }
216 
217  return $data[$user_id];
218  }
+ 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 244 of file class.ilLearningSequenceParticipantsTableGUI.php.

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

Referenced by fillRow().

244  : string
245  {
246  $data = $this->getRepositoryObject()->getStateDB()->getCurrentItemsFor(
247  $this->getRepositoryObject()->getRefId(),
248  [$user_id]
249  );
250 
251  if ($data[$user_id] === -1) {
252  return "-";
253  }
254 
255  return $this->getTitleFor((int) $data[$user_id]);
256  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSelectableColumns()

ilLearningSequenceParticipantsTableGUI::getSelectableColumns ( )

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

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

Referenced by initForm().

385  : array
386  {
387  $ef = $this->getExportFieldsInfo();
388  $columns = $ef->getSelectableFieldsInfo(
389  $this->getRepositoryObject()->getId()
390  );
391 
392  if ($this->settings->get('user_portfolios')) {
393  $columns['prtf'] = array(
394  'txt' => $this->lng->txt('obj_prtf'),
395  'default' => false
396  );
397  }
398 
399  return array_merge(
400  [
401  'roles' => [
402  'txt' => $this->lng->txt('objs_role'),
403  'default' => true
404  ]
405  ],
406  [
407  'org_units' => [
408  'txt' => $this->lng->txt("org_units"),
409  'default' => false
410  ]
411  ],
412  $columns
413  );
414  }
+ 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 258 of file class.ilLearningSequenceParticipantsTableGUI.php.

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

Referenced by getLastVisitedStep().

258  : string
259  {
261  }
static _lookupObjId(int $ref_id)
$ref_id
Definition: ltiauth.php:67
static _lookupTitle(int $obj_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initForm()

ilLearningSequenceParticipantsTableGUI::initForm ( )
protected

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

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().

70  : void
71  {
72  $this->setFormName('participants');
73  $this->setDefaultOrderField('roles');
74  $this->setRowTemplate("tpl.show_participants_row.html", "Modules/LearningSequence");
75  $this->setShowRowsSelector(true);
76  $this->setSelectAllCheckbox('participants');
77 
78  $this->addColumn('', 'f', "1");
79  $this->addColumn($this->lng->txt('name'), 'lastname', '20%');
80  $this->addColumn($this->lng->txt('login'), 'login');
81 
82  $all_cols = $this->getSelectableColumns();
83  foreach ($this->getSelectedColumns() as $col) {
84  $this->addColumn($all_cols[$col]['txt'], $col);
85  }
86 
87  if (
88  $this->obj_user_tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_LAST_ACCESS) &&
90 
91  ) {
92  $this->addColumn($this->lng->txt('first_access'), "first_access");
93  $this->addColumn($this->lng->txt('last_access'), "last_access");
94  }
95  $this->addColumn($this->lng->txt('completed_steps'), "completed_steps");
96  $this->addColumn($this->lng->txt('last_visited_step'), "last_visited_step");
97  $this->addColumn($this->lng->txt('lso_notification'), 'notification');
98  $this->addColumn($this->lng->txt(''), 'optional');
99 
100  $this->enable('sort');
101  $this->enable('header');
102  $this->enable('numinfo');
103  $this->enable('select_all');
104 
105  $this->initFilter();
106 
107  $this->addMultiCommand('editParticipants', $this->lng->txt('edit'));
108  $this->addMultiCommand('confirmDeleteParticipants', $this->lng->txt('remove'));
109  $this->addMultiCommand('sendMailToSelectedUsers', $this->lng->txt('mmbr_btn_mail_selected_users'));
110  $this->addMultiCommand('addToClipboard', $this->lng->txt('clipboard_add_btn'));
111  $this->addCommandButton('updateParticipantsStatus', $this->lng->txt('save'));
112  }
enable(string $a_module_name)
addCommandButton(string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
setFormName(string $a_name="")
setShowRowsSelector(bool $a_value)
Toggle rows-per-page selector.
setDefaultOrderField(string $a_defaultorderfield)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
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)
addMultiCommand(string $a_cmd, string $a_text)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parse()

ilLearningSequenceParticipantsTableGUI::parse ( )

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

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

263  : void
264  {
265  $this->determineOffsetAndOrder(true);
266 
267  $ls_participants = $this->participants->getParticipants();
268 
269  $ls_participants = $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
270  'manage_members',
271  'manage_members',
272  $this->getRepositoryObject()->getRefId(),
273  $ls_participants
274  );
275 
276  if (!$ls_participants) {
277  $this->setData(array());
278  return;
279  }
280 
281  $lso_user_data = $this->parent_gui->readMemberData(
282  $ls_participants,
283  $this->getSelectedColumns()
284  );
285 
286  $additional_fields = $this->getSelectedColumns();
287  unset($additional_fields['prtf']);
288  unset($additional_fields['roles']);
289  unset($additional_fields['org_units']);
290 
291  $udf_ids = $usr_data_fields = $odf_ids = array();
292  foreach ($additional_fields as $field) {
293  if (substr($field, 0, 3) == 'udf') {
294  $udf_ids[] = substr($field, 4);
295  continue;
296  }
297 
298  if (substr($field, 0, 3) == 'odf') {
299  $odf_ids[] = substr($field, 4);
300  continue;
301  }
302 
303  $usr_data_fields[] = $field;
304  }
305 
306  $usr_data = ilUserQuery::getUserListData(
307  $this->getOrderField(),
308  $this->getOrderDirection(),
309  0,
310  9999,
311  $this->current_filter['login'],
312  '',
313  null,
314  false,
315  false,
316  0,
317  0,
318  null,
319  $usr_data_fields,
320  $ls_participants
321  );
322 
323  $user_data = array();
324  $filtered_user_ids = array();
325  $local_roles = $this->parent_gui->getLocalRoles();
326 
327  foreach ($usr_data['set'] as $ud) {
328  $user_id = $ud['usr_id'];
329 
330  if ($this->current_filter['roles']) {
331  if (!$this->rbac_review->isAssigned($user_id, $this->current_filter['roles'])) {
332  continue;
333  }
334  }
335 
336  if (array_key_exists('org_units', $this->current_filter)
337  && $this->current_filter['org_units'] !== ''
338  ) {
339  $org_unit = $this->current_filter['org_units'];
340  $title = ilObjectFactory::getInstanceByRefId($org_unit)->getTitle();
341  $user_units = ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits((int) $user_id);
342  if (strpos($user_units, $title) === false) {
343  continue;
344  }
345  }
346 
347  $filtered_user_ids[] = $user_id;
348  $user_data[$user_id] = array_merge($ud, $lso_user_data[$user_id]);
349 
350  $roles = array();
351  foreach ($local_roles as $role_id => $role_name) {
352  if ($this->rbac_review->isAssigned((int) $user_id, $role_id)) {
353  $roles[] = $role_name;
354  }
355  }
356 
357  $user_data[$user_id]['name'] = $user_data[$user_id]['lastname'] . ', ' . $user_data[$user_id]['firstname'];
358  $user_data[$user_id]['roles_label'] = implode('<br />', $roles);
359  $user_data[$user_id]['roles'] = $this->participants->setRoleOrderPosition((int) $user_id);
360  }
361 
362  // Custom user data fields
363  if ($udf_ids !== []) {
364  $data = ilUserDefinedData::lookupData($ls_participants, $udf_ids);
365  foreach ($data as $usr_id => $fields) {
366  if (!$this->checkAcceptance((int) $usr_id)) {
367  continue;
368  }
369 
370  foreach ($fields as $field_id => $value) {
371  $user_data[$usr_id]['udf_' . $field_id] = $value;
372  }
373  }
374  }
375 
376  $user_data = ilArrayUtil::sortArray(
377  $user_data,
378  'name',
379  $this->getOrderDirection()
380  );
381 
382  $this->setData($user_data);
383  }
static lookupData(array $a_user_ids, array $a_field_ids)
Lookup data.
setData(array $a_data)
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id
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.
determineOffsetAndOrder(bool $a_omit_offset=false)
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
+ Here is the call graph for this function:

Field Documentation

◆ $access

ilAccess ilLearningSequenceParticipantsTableGUI::$access
protected

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

Referenced by __construct().

◆ $ls_object

ilObjLearningSequence ilLearningSequenceParticipantsTableGUI::$ls_object
protected

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

Referenced by __construct().

◆ $obj_user_tracking

ilObjUserTracking ilLearningSequenceParticipantsTableGUI::$obj_user_tracking
protected

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

Referenced by __construct().

◆ $parent_gui

ilLearningSequenceMembershipGUI ilLearningSequenceParticipantsTableGUI::$parent_gui
protected

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

Referenced by __construct().

◆ $privacy_settings

ilPrivacySettings ilLearningSequenceParticipantsTableGUI::$privacy_settings
protected

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

Referenced by __construct().

◆ $rbac_review

ilRbacReview ilLearningSequenceParticipantsTableGUI::$rbac_review
protected

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

Referenced by __construct().

◆ $settings

ilSetting ilLearningSequenceParticipantsTableGUI::$settings
protected

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

Referenced by __construct().


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