19 declare(strict_types=1);
    48         $this->renderer = $DIC->ui()->renderer();
    49         $this->uiFactory = $DIC->ui()->factory();
    52         $this->
user = $DIC->user();
    59         $this->
lng->loadLanguageModule(
'grp');
    60         $this->
lng->loadLanguageModule(
'crs');
    61         $this->
lng->loadLanguageModule(
'sess');
    62         $this->
lng->loadLanguageModule(
'ps');
    70         $this->
addColumn($this->
lng->txt(
'name'), 
'lastname', 
'20%');
    74             $this->
addColumn($all_cols[$col][
'txt'], $col);
    77         $this->
addColumn($this->
lng->txt(
'application_date'), 
'sub_time', 
"10%");
    82         $this->
addMultiCommand(
'sendMailToSelectedUsers', $this->
lng->txt(
'crs_mem_send_mail'));
    87         $this->
lng->loadLanguageModule(
'user');
    94         $this->
setRowTemplate(
"tpl.show_waiting_list_row.html", 
"Services/Membership");
    99         $this->
enable(
'select_all');
   122         $this->wait_user_ids = $this->wait = [];
   123         foreach ($a_user_ids as $usr_id) {
   124             $this->wait_user_ids[] = $usr_id;
   135         return parent::numericOrdering($a_field);
   140         if (self::$all_columns) {
   141             return self::$all_columns;
   149             is_array(self::$all_columns) &&
   150             array_key_exists(
'consultation_hour', self::$all_columns)
   152             unset(self::$all_columns[
'consultation_hour']);
   156             !is_array(self::$all_columns) ||
   157             !array_key_exists(
'login', self::$all_columns)
   159             self::$all_columns[
'login'] = [
   161                 'txt' => $this->
lng->txt(
'login')
   164         return self::$all_columns;
   167     protected function fillRow(array $a_set): void
   174             $this->tpl->setVariable(
   183         $this->tpl->setVariable(
'VAL_ID', $a_set[
'usr_id']);
   184         $this->tpl->setVariable(
'VAL_NAME', $a_set[
'lastname'] . 
', ' . $a_set[
'firstname']);
   189                     $a_set[
'gender'] = $a_set[
'gender'] ? $this->
lng->txt(
'gender_' . $a_set[
'gender']) : 
'';
   190                     $this->tpl->setCurrentBlock(
'custom_fields');
   191                     $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
   192                     $this->tpl->parseCurrentBlock();
   199                     )) : $this->
lng->txt(
'no_date');
   200                     $this->tpl->setCurrentBlock(
'custom_fields');
   201                     $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
   202                     $this->tpl->parseCurrentBlock();
   205                 case 'odf_last_update':
   206                     $this->tpl->setVariable(
'VAL_CUST', (
string) ($a_set[
'odf_info_txt'] ?? 
''));
   210                     $this->tpl->setCurrentBlock(
'custom_fields');
   211                     $this->tpl->setVariable(
   213                         ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits((
int) $a_set[
'usr_id'])
   215                     $this->tpl->parseCurrentBlock();
   219                     $this->tpl->setCurrentBlock(
'custom_fields');
   220                     $this->tpl->setVariable(
'VAL_CUST', isset($a_set[$field]) ? (
string) $a_set[$field] : 
'');
   221                     $this->tpl->parseCurrentBlock();
   225         $this->tpl->setVariable(
   238             $additional_fields[
"firstname"],
   239             $additional_fields[
"lastname"],
   240             $additional_fields[
"last_login"],
   241             $additional_fields[
"access_until"],
   242             $additional_fields[
'org_units']
   245         $udf_ids = $usr_data_fields = $odf_ids = array();
   246         foreach ($additional_fields as $field) {
   247             if (strpos($field, 
'udf') === 0) {
   248                 $udf_ids[] = substr($field, 4);
   251             if (strpos($field, 
'odf') === 0) {
   252                 $odf_ids[] = substr($field, 4);
   256             $usr_data_fields[] = $field;
   296         foreach ((array) $usr_data[
'set'] as $user) {
   297             $usr_ids[] = (
int) $user[
'usr_id'];
   301         $course_user_data = $this->
getParentObject()->readMemberData($usr_ids, array());
   302         $a_user_data = array();
   303         foreach ((array) $usr_data[
'set'] as $ud) {
   304             $a_user_data[(
int) $ud[
'usr_id']] = array_merge($ud, $course_user_data[(
int) $ud[
'usr_id']]);
   310             foreach (
$data as $usr_id => $fields) {
   315                 foreach ($fields as $field_id => $value) {
   316                     $a_user_data[$usr_id][
'udf_' . $field_id] = $value;
   323             foreach (
$data as $usr_id => $fields) {
   325                 if (!$this->
checkAcceptance($usr_id) || !in_array($usr_id, $usr_ids)) {
   329                 foreach ($fields as $field_id => $value) {
   330                     $a_user_data[$usr_id][
'odf_' . $field_id] = $value;
   336                 if (!isset($a_user_data[$usr_id])) {
   340                 if ($usr_id == $edit_info[
'update_user']) {
   341                     $a_user_data[$usr_id][
'odf_last_update'] = 
'';
   342                     $a_user_data[$usr_id][
'odf_info_txt'] = 
$GLOBALS[
'DIC'][
'lng']->txt(
'cdf_edited_by_self');
   344                         $a_user_data[$usr_id][
'odf_last_update'] .= (
'_' . $edit_info[
'editing_time']->get(
IL_CAL_UNIX));
   348                     $a_user_data[$usr_id][
'odf_last_update'] = $edit_info[
'update_user'];
   349                     $a_user_data[$usr_id][
'odf_last_update'] .= (
'_' . $edit_info[
'editing_time']->get(
IL_CAL_UNIX));
   352                     $a_user_data[$usr_id][
'odf_info_txt'] = ($name[
'firstname'] . 
' ' . $name[
'lastname'] . 
', ' . 
ilDatePresentation::formatDate($edit_info[
'editing_time']));
   357         foreach ($usr_data[
'set'] as $user) {
   363             foreach ($usr_data_fields as $field) {
   364                 $a_user_data[(
int) $user[
'usr_id']][$field] = $user[$field] ?: 
'';
   369         foreach ($this->wait as $usr_id => $wait_usr_data) {
   370             if (isset($a_user_data[$usr_id])) {
   371                 $a_user_data[$usr_id][
'sub_time'] = $wait_usr_data[
'time'];
   383         $this->
ctrl->setParameterByClass(get_class($this->
getParentObject()), 
'member_id', $a_set[
'usr_id']);
   385         $dropDownItems = array();
   386         $dropDownItems[] = $this->uiFactory->button()->shy(
   387             $this->
lng->txt($this->getRepositoryObject()->getType() . 
'_mem_send_mail'),
   388             $this->
ctrl->getLinkTargetByClass(get_class($this->
getParentObject()), 
'sendMailToSelectedUsers')
   391         if (self::$has_odf_definitions) {
   392             $dropDownItems[] = $this->uiFactory->button()->shy(
   393                 $this->
lng->txt($this->getRepositoryObject()->getType() . 
'_cdf_edit_member'),
   394                 $this->
ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui', 
'editMember')
   398         $dropDown = $this->uiFactory->dropdown()->standard($dropDownItems)
   399                 ->withLabel($this->
lng->txt(
'actions'));
   401         $this->tpl->setVariable(
'ACTION_USER', $this->renderer->render($dropDown));
 static lookupData(array $a_user_ids, array $a_field_ids)
Lookup data. 
 
enable(string $a_module_name)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setFormAction(string $a_form_action, bool $a_multipart=false)
 
ilWaitingList $waiting_list
 
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
 
setUserIds(array $a_user_ids)
Set user ids. 
 
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
 
static getAssignedObjects()
 
static _getValuesByObjId(int $a_obj_id)
 
static _checkGroupingDependencies(ilObject $container_obj, ?int $a_user_id=null)
 
static _lookupName(int $a_user_id)
lookup user name 
 
setFormName(string $a_name="")
 
static array $all_columns
 
UIImplementationFactory $uiFactory
 
resetOffset(bool $a_in_determination=false)
 
setExternalSorting(bool $a_val)
 
static _lookupTitle(int $obj_id)
 
setDefaultOrderField(string $a_defaultorderfield)
 
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template. 
 
getExternalSegmentation()
 
static bool $has_odf_definitions
 
__construct(object $a_parent_obj, ilObject $rep_object, ilWaitingList $waiting_list)
 
showActionLinks(array $a_set)
 
static _getInstanceByType(string $a_type)
Get Singleton Instance. 
 
GUI class for course/group waiting list. 
 
checkAcceptance(int $a_usr_id)
 
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)
 
static lookupEntriesByObjectId(int $a_obj_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. 
 
addMultiCommand(string $a_cmd, string $a_text)
 
static _hasFields(int $a_container_id)
Check if there are any define fields. 
 
determineOffsetAndOrder(bool $a_omit_offset=false)
 
numericOrdering(string $a_field)
 
setMaxCount(int $a_max_count)
set max. 
 
setExternalSegmentation(bool $a_val)
 
setPrefix(string $a_prefix)