19 declare(strict_types=1);
45 $this->
http = $DIC->http();
64 return $this->
access->filterUserIdsByRbacOrPositionOfCurrentUser(
74 $a_type = (
int) $a_type;
75 if (!count($user_ids)) {
76 $this->
lng->loadLanguageModule(
'search');
77 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
'search_err_user_not_exist'),
true);
82 foreach ($user_ids as $new_member) {
83 $new_member = (
int) $new_member;
107 if (in_array($a_type, $this->
getParentObject()->getLocalGroupRoles(
true))) {
109 $this->
getMembersObject()->updateRoleAssignments($new_member, (array) $a_type);
112 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"crs_cannot_find_role"),
true);
125 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"grp_msg_member_assigned"),
true);
127 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'grp_users_already_assigned'),
true);
129 $this->
ctrl->redirect($this,
'participants');
139 if ($this->
http->wrapper()->post()->has(
'visible_member_ids')) {
141 'visible_member_ids',
142 $this->
refinery->kindlyTo()->listOf(
148 if ($this->
http->wrapper()->post()->has(
'notification')) {
149 $notification = $this->
http->wrapper()->post()->retrieve(
151 $this->
refinery->kindlyTo()->listOf(
157 if ($this->
http->wrapper()->post()->has(
'contact')) {
158 $contact = $this->
http->wrapper()->post()->retrieve(
160 $this->
refinery->kindlyTo()->listOf(
167 $this->
getMembersObject()->updateContact($mem_id, in_array($mem_id, $contact));
168 $this->
getMembersObject()->updateNotification($mem_id, in_array($mem_id, $notification));
174 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'settings_saved'),
true);
175 $this->
ctrl->redirect($this,
'participants');
184 if ($show_tracking) {
186 $show_tracking = $olp->isActive();
199 $table->setTitle($this->
lng->txt($this->getParentObject()->getType() .
'_header_edit_members'));
212 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.grp_edit_members.html',
'components/ILIAS/Group');
231 return $this->
getParentGUI()->getObject()->getDefaultMemberRole();
246 if (is_array($this->member_data) && array_key_exists($user_id, $this->member_data)) {
247 $user_data = $this->member_data[
$user_id];
248 if (isset($user_data[
'access_time_unix'])) {
255 if (isset($this->member_data[
'progress'])) {
256 $user_data[
'progress'] = $this->
lng->txt($this->member_data[
'progress']);
276 return $context_options;
initParticipantTableGUI()
readMemberData(array $usr_ids, array $columns)
Required for member table guis.
static array static setUseRelativeDates(bool $a_status)
set use relative dates
Base class for member tab content.
static getLogger(string $a_component_id)
Get component logger.
getAttendanceListUserData(int $user_id, array $filters=[])
Callback from attendance list.
const PROP_CONTEXT_SUBJECT_PREFIX
initParticipantTemplate()
Init participant view template.
ilObjectGUI $repository_gui
Class ilMailMemberCourseRoles.
const EXTERNAL_MAIL_PREFIX
static _enabledUserRelatedData()
static _enabledLearningProgress()
static http()
Fetches the global http state from ILIAS.
getPrintMemberData(array $a_members)
Class ilObjectGUI Basic methods of all Output classes.
updateParticipantsStatus()
save in participants table
ilParticipants $participants
initEditParticipantTableGUI(array $participants)
GUI class for membership features.
filterUserIdsByRbacOrPositionOfCurrentUser(array $a_user_ids)
Filter user ids by access.
__construct(ilObjectGUI $repository_gui, ilObject $repository_obj)
__construct(Container $dic, ilPlugin $plugin)
getLocalTypeRole(bool $a_translation=false)
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
assignMembers(array $user_ids, string $a_type)
static _lookupContainerSetting(int $a_id, string $a_keyword, ?string $a_default_value=null)
const TYPE_ADMISSION_MEMBER
static getInstance(int $obj_id)
Class ilAbstractMailMemberRoles.