ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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 ()
 
 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_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 
)

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

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

42  {
43  $this->parent_gui = $parent_gui;
44  $this->rep_object = $ls_object;
45 
46  $this->obj_user_tracking = $obj_user_tracking;
47  $this->privacy_settings = $privacy_settings;
48  $this->lng = $lng;
49  $this->access = $access;
50  $this->rbac_review = $rbac_review;
51  $this->settings = $settings;
52 
53  $this->lng->loadLanguageModule('lso');
54  $this->lng->loadLanguageModule('trac');
55  $this->lng->loadLanguageModule('rbac');
56  $this->lng->loadLanguageModule('mmbr');
57  $this->lng->loadLanguageModule('user');
58  $this->lng->loadLanguageModule('ps');
59 
60  $this->participants = $ls_object->getLSParticipants();
61 
62  $this->setPrefix('participants');
63 
64  $this->setId('lso_' . $this->getRepositoryObject()->getId());
65  parent::__construct($parent_gui, 'participants');
66 
67  $this->initSettings();
68  $this->initForm();
69  }
ilLanguage $lng
setId(string $a_val)
__construct(Container $dic, ilPlugin $plugin)
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 115 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().

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

References ilParticipantTableGUI\getRepositoryObject().

Referenced by fillRow().

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

◆ getExportFieldsInfo()

ilLearningSequenceParticipantsTableGUI::getExportFieldsInfo ( )
protected

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

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

Referenced by getSelectableColumns().

418  {
420  $this->getRepositoryObject()->getType()
421  );
422  }
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 193 of file class.ilLearningSequenceParticipantsTableGUI.php.

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

Referenced by fillRow().

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

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

Referenced by fillRow().

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

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

Referenced by fillRow().

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

◆ getSelectableColumns()

ilLearningSequenceParticipantsTableGUI::getSelectableColumns ( )

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

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

Referenced by initForm().

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

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

Referenced by getLastVisitedStep().

259  : string
260  {
262  }
static _lookupObjId(int $ref_id)
$ref_id
Definition: ltiauth.php:65
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 71 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().

71  : void
72  {
73  $this->setFormName('participants');
74  $this->setDefaultOrderField('roles');
75  $this->setRowTemplate("tpl.show_participants_row.html", "components/ILIAS/LearningSequence");
76  $this->setShowRowsSelector(true);
77  $this->setSelectAllCheckbox('participants');
78 
79  $this->addColumn('', 'f', "1");
80  $this->addColumn($this->lng->txt('name'), 'lastname', '20%');
81  $this->addColumn($this->lng->txt('login'), 'login');
82 
83  $all_cols = $this->getSelectableColumns();
84  foreach ($this->getSelectedColumns() as $col) {
85  $this->addColumn($all_cols[$col]['txt'], $col);
86  }
87 
88  if (
89  $this->obj_user_tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_LAST_ACCESS) &&
91 
92  ) {
93  $this->addColumn($this->lng->txt('first_access'), "first_access");
94  $this->addColumn($this->lng->txt('last_access'), "last_access");
95  }
96  $this->addColumn($this->lng->txt('completed_steps'), "completed_steps");
97  $this->addColumn($this->lng->txt('last_visited_step'), "last_visited_step");
98  $this->addColumn($this->lng->txt('lso_notification'), 'notification');
99  $this->addColumn($this->lng->txt(''), 'optional');
100 
101  $this->enable('sort');
102  $this->enable('header');
103  $this->enable('numinfo');
104  $this->enable('select_all');
105 
106  $this->initFilter();
107 
108  $this->addMultiCommand('editParticipants', $this->lng->txt('edit'));
109  $this->addMultiCommand('confirmDeleteParticipants', $this->lng->txt('remove'));
110  $this->addMultiCommand('sendMailToSelectedUsers', $this->lng->txt('mmbr_btn_mail_selected_users'));
111  $this->addMultiCommand('addToClipboard', $this->lng->txt('clipboard_add_btn'));
112  $this->addCommandButton('updateParticipantsStatus', $this->lng->txt('save'));
113  }
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 264 of file class.ilLearningSequenceParticipantsTableGUI.php.

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

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

Referenced by __construct().

◆ $ls_object

ilObjLearningSequence ilLearningSequenceParticipantsTableGUI::$ls_object
protected

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

Referenced by __construct().

◆ $obj_user_tracking

ilObjUserTracking ilLearningSequenceParticipantsTableGUI::$obj_user_tracking
protected

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

Referenced by __construct().

◆ $parent_gui

ilLearningSequenceMembershipGUI ilLearningSequenceParticipantsTableGUI::$parent_gui
protected

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

Referenced by __construct().

◆ $privacy_settings

ilPrivacySettings ilLearningSequenceParticipantsTableGUI::$privacy_settings
protected

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

Referenced by __construct().

◆ $rbac_review

ilRbacReview ilLearningSequenceParticipantsTableGUI::$rbac_review
protected

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

Referenced by __construct().

◆ $settings

ilSetting ilLearningSequenceParticipantsTableGUI::$settings
protected

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

Referenced by __construct().


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