24 include_once(
'./Services/Table/classes/class.ilTable2GUI.php');
64 $this->lng->loadLanguageModule(
'grp');
65 $this->lng->loadLanguageModule(
'crs');
73 parent::__construct($a_parent_obj,
'participants');
76 $this->
setFormAction($this->ctrl->getFormAction($a_parent_obj,
'participants'));
79 $this->
addColumn($this->lng->txt(
'name'),
'lastname',
'20%');
84 $all_cols[$col][
'txt'],
86 array_key_exists(
'width', $all_cols[$col]) ? $all_cols[$col][
'width'] : null
92 $this->
addColumn($this->lng->txt(
'application_date'),
'sub_time',
"20%");
93 $this->
addColumn($this->lng->txt(
'subject'),
'subject',
'60%');
95 $this->
addColumn($this->lng->txt(
'application_date'),
'sub_time',
"60%");
101 $this->
addMultiCommand(
'confirmAssignSubscribers', $this->lng->txt(
'sess_accept_request'));
103 $this->
addMultiCommand(
'confirmAssignSubscribers', $this->lng->txt(
'assign'));
106 $this->
addMultiCommand(
'confirmRefuseSubscribers', $this->lng->txt(
'refuse'));
107 $this->
addMultiCommand(
'sendMailToSelectedUsers', $this->lng->txt(
'crs_mem_send_mail'));
112 $this->
setRowTemplate(
"tpl.show_subscribers_row.html",
"Services/Membership");
118 $this->
enable(
'select_all');
129 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
147 if (self::$all_columns) {
148 return self::$all_columns;
152 self::$all_columns[
'login'] = [
153 'txt' => $this->lng->txt(
'login'),
157 return self::$all_columns;
161 include_once
'./Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php';
167 is_array(self::$all_columns) &&
168 array_key_exists(
'consultation_hour', self::$all_columns)
170 unset(self::$all_columns[
'consultation_hour']);
172 return self::$all_columns;
190 include_once
'./Modules/Course/classes/class.ilObjCourseGrouping.php';
194 $this->tpl->setVariable(
197 $this->lng->txt(
$prefix .
'_lim_assigned'),
203 $this->tpl->setVariable(
'VAL_ID', $a_set[
'usr_id']);
204 $this->tpl->setVariable(
'VAL_NAME', $a_set[
'lastname'] .
', ' . $a_set[
'firstname']);
209 $a_set[
'gender'] = $a_set[
'gender'] ? $this->lng->txt(
'gender_' . $a_set[
'gender']) :
'';
210 $this->tpl->setCurrentBlock(
'custom_fields');
211 $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
212 $this->tpl->parseCurrentBlock();
217 $this->tpl->setCurrentBlock(
'custom_fields');
218 $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
219 $this->tpl->parseCurrentBlock();
222 case 'odf_last_update':
223 $this->tpl->setVariable(
'VAL_CUST', (
string) $a_set[
'odf_info_txt']);
227 $this->tpl->setCurrentBlock(
'custom_fields');
228 include_once
'./Modules/OrgUnit/classes/PathStorage/class.ilOrgUnitPathStorage.php';
229 $this->tpl->setVariable(
'VAL_CUST', (
string) ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits($a_set[
'usr_id']));
230 $this->tpl->parseCurrentBlock();
234 $this->tpl->setCurrentBlock(
'custom_fields');
235 $this->tpl->setVariable(
'VAL_CUST', isset($a_set[$field]) ? (
string) $a_set[$field] :
'');
236 $this->tpl->parseCurrentBlock();
249 if (strlen($a_set[
'subject'])) {
250 $this->tpl->setCurrentBlock(
'subject');
251 $this->tpl->setVariable(
'VAL_SUBJECT',
'"' . $a_set[
'subject'] .
'"');
252 $this->tpl->parseCurrentBlock();
254 $this->tpl->touchBlock(
'subject');
265 if (!self::$has_odf_definitions) {
266 $this->ctrl->setParameterByClass(get_class($this->
getParentObject()),
'member_id', $a_set[
'usr_id']);
267 $link = $this->ctrl->getLinkTargetByClass(get_class($this->
getParentObject()),
'sendMailToSelectedUsers');
268 $this->tpl->setVariable(
'MAIL_LINK', $link);
269 $this->tpl->setVariable(
'MAIL_TITLE', $this->lng->txt(
'crs_mem_send_mail'));
274 include_once
'./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
276 $list->setSelectionHeaderClass(
'small');
277 $list->setItemLinkClass(
'small');
278 $list->setId(
'actl_' . $a_set[
'usr_id'] .
'_' . $this->
getId());
279 $list->setListTitle($this->lng->txt(
'actions'));
281 $this->ctrl->setParameterByClass(get_class($this->
getParentObject()),
'member_id', $a_set[
'usr_id']);
282 $this->ctrl->setParameter($this->parent_obj,
'member_id', $a_set[
'usr_id']);
284 $link = $this->ctrl->getLinkTargetByClass(get_class($this->
getParentObject()),
'sendMailToSelectedUsers');
285 $list->addItem($trans,
'', $link,
'sendMailToSelectedUsers');
287 $this->ctrl->setParameterByClass(
'ilobjectcustomuserfieldsgui',
'member_id', $a_set[
'usr_id']);
289 $list->addItem($trans,
'', $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui',
'editMember'));
291 $this->tpl->setVariable(
'ACTION_USER',
$list->getHTML());
306 foreach ($a_subscriber_ids as $usr_id) {
307 $sub_ids[] = $usr_id;
308 $sub_data[$usr_id] = $subscriber_data[$usr_id];
313 include_once
'./Services/User/classes/class.ilUserQuery.php';
316 unset($additional_fields[
"firstname"]);
317 unset($additional_fields[
"lastname"]);
318 unset($additional_fields[
"last_login"]);
319 unset($additional_fields[
"access_until"]);
320 unset($additional_fields[
'org_units']);
322 $udf_ids = $usr_data_fields = $odf_ids = array();
323 foreach ($additional_fields as $field) {
324 if (substr($field, 0, 3) ==
'udf') {
325 $udf_ids[] = substr($field, 4);
328 if (substr($field, 0, 3) ==
'odf') {
329 $odf_ids[] = substr($field, 4);
333 $usr_data_fields[] = $field;
353 foreach ((array) $usr_data[
'set'] as
$user) {
354 $usr_ids[] = $user[
'usr_id'];
358 $course_user_data = $this->
getParentObject()->readMemberData($usr_ids, array());
359 $a_user_data = array();
360 foreach ((array) $usr_data[
'set'] as $ud) {
361 $a_user_data[$ud[
'usr_id']] = array_merge($ud, (array) $course_user_data[$ud[
'usr_id']]);
366 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
368 foreach (
$data as $usr_id => $fields) {
373 foreach ($fields as $field_id => $value) {
374 $a_user_data[$usr_id][
'udf_' . $field_id] = $value;
380 include_once
'./Modules/Course/classes/Export/class.ilCourseUserData.php';
382 foreach (
$data as $usr_id => $fields) {
384 if (!$this->
checkAcceptance($usr_id) || !in_array($usr_id, $usr_ids)) {
388 foreach ($fields as $field_id => $value) {
389 $a_user_data[$usr_id][
'odf_' . $field_id] = $value;
394 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldHistory.php';
396 if (!isset($a_user_data[$usr_id])) {
400 include_once
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
401 if ($usr_id == $edit_info[
'update_user']) {
402 $a_user_data[$usr_id][
'odf_last_update'] =
'';
403 $a_user_data[$usr_id][
'odf_info_txt'] =
$GLOBALS[
'DIC'][
'lng']->txt(
'cdf_edited_by_self');
405 $a_user_data[$usr_id][
'odf_last_update'] .= (
'_' . $edit_info[
'editing_time']->get(
IL_CAL_UNIX));
409 $a_user_data[$usr_id][
'odf_last_update'] = $edit_info[
'update_user'];
410 $a_user_data[$usr_id][
'odf_last_update'] .= (
'_' . $edit_info[
'editing_time']->get(
IL_CAL_UNIX));
418 foreach ($usr_data[
'set'] as $user) {
424 foreach ($usr_data_fields as $field) {
425 $a_user_data[$user[
'usr_id']][$field] = $user[$field] ? $user[$field] :
'';
430 foreach ($sub_data as $usr_id => $usr_data) {
431 if (!in_array($usr_id, $usr_ids)) {
434 $a_user_data[$usr_id][
'sub_time'] = $usr_data[
'time'];
435 $a_user_data[$usr_id][
'subject'] = $usr_data[
'subject'];
439 return $this->
setData($a_user_data);
449 $this->show_subject = (bool) $a_value;
static _lookupName($a_user_id)
lookup user name
if(isset($_REQUEST['delete'])) $list
static _getValuesByObjId($a_obj_id)
Get values by obj_id (for all users)
setExternalSegmentation($a_val)
Set external segmentation.
static getAssignedObjects()
Alway call checkGroupingDependencies before.
static _lookupTitle($a_id)
lookup object title
getOrderDirection()
Get order direction.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
getParentObject()
Get parent object.
static lookupData($a_user_ids, $a_field_ids)
Lookup data.
readSubscriberData(array $a_subscriber_ids)
read data
showActionLinks($a_set)
Show action links (mail ; edit crs|grp data)
setSelectAllCheckbox($a_select_all_checkbox, $a_select_all_on_top=false)
Set the name of the checkbox that should be toggled with a select all button.
static _getInstanceByType($a_type)
Get Singleton Instance.
addMultiCommand($a_cmd, $a_text)
Add Command button.
enable($a_module_name)
enables particular modules of table
GUI class for course/group subscriptions.
getSelectedColumns()
Get selected columns.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
static _hasFields($a_container_id)
Check if there are any define fields.
static _checkGroupingDependencies(&$container_obj, $a_user_id=null)
static lookupSubscribersData($a_obj_id)
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
User interface class for advanced drop-down selection lists.
getSelectableColumns()
Get selectable columns.
static $has_odf_definitions
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
disable($a_module_name)
diesables particular modules of table
setFormName($a_formname="")
Set Form name.
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
static _getInstance()
Get instance of ilPrivacySettings.
setMaxCount($a_max_count)
set max.
__construct($a_parent_obj, $rep_object, $show_content=true, $show_subject=true)
Constructor.
static lookupEntriesByObjectId($a_obj_id)
Get entries by obj_id type $ilDB.
static getUserListData( $a_order_field, $a_order_dir, $a_offset, $a_limit, $a_string_filter="", $a_activation_filter="", $a_last_login_filter=null, $a_limited_access_filter=false, $a_no_courses_filter=false, $a_course_group_filter=0, $a_role_filter=0, $a_user_folder_filter=null, $a_additional_fields='', $a_user_filter=null, $a_first_letter="", $a_authentication_filter=null)
Get data for user administration list.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.