3 declare(strict_types=1);
30 parent::__construct($repository_gui, $repository_obj);
32 $this->obj_user_tracking = $obj_user_tracking;
33 $this->privacy_settings = $privacy_settings;
37 $this->rbac_review = $rbac_review;
39 $this->obj = $repository_obj;
40 $this->toolbar = $toolbar;
47 $back_cmd =
'participants';
49 $back_cmd =
'jump2UsersGallery';
53 $ilTabs = $DIC[
'ilTabs'];
54 $ilTabs->clearTargets();
55 $ilTabs->setBackTarget(
56 $this->lng->txt(
'back'),
57 $this->ctrl->getLinkTarget($this, $back_cmd)
60 $list = $this->initAttendanceList();
62 $this->tpl->setContent(
$form->getHTML());
67 $back_cmd =
$_GET[
'back_cmd'];
78 return $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
91 if (count($user_ids) == 0) {
92 $this->lng->loadLanguageModule(
'search');
98 foreach ($user_ids as $new_member) {
99 if ($members->isAssigned($new_member)) {
104 case $object->getDefaultAdminRole():
106 $members->sendNotification(
112 case $object->getDefaultMemberRole():
114 $members->sendNotification(
121 if (in_array($type, $object->getLocalLearningSequenceRoles(
true))) {
123 $members->updateRoleAssignments($new_member, array($type));
130 $members->sendNotification(
140 ilUtil::sendSuccess($this->lng->txt(
"lso_msg_member_assigned"),
true);
142 ilUtil::sendSuccess($this->lng->txt(
'lso_users_already_assigned'),
true);
145 $this->ctrl->redirect($this,
'participants');
155 $participants = (array)
$_POST[
'visible_member_ids'];
156 $notification = (array)
$_POST[
'notification'];
158 foreach ($participants as $participant) {
159 if ($members->isAdmin($participant)) {
160 $members->updateNotification($participant, in_array($participant, $notification));
163 $members->updateNotification($participant,
false);
166 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
167 $this->ctrl->redirect($this,
'participants');
175 $this->obj_user_tracking,
176 $this->privacy_settings,
190 $this->privacy_settings,
195 $table->setTitle($this->lng->txt($this->getParentObject()->getType() .
'_header_edit_members'));
206 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lso_edit_members.html',
'Modules/LearningSequence');
211 return $this->
getParentObject()->getLocalLearningSequenceRoles($a_translation);
237 $member_data = $this->
getParentGUI()->addCustomData($member_data);
247 $data = $this->member_data[$user_id];
249 $data[
'progress'] = $this->lng->txt(
$data[
'progress']);
258 return $this->participants;
282 $this->ctrl->getLinkTarget($this,
'participants'),
289 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
296 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
306 'auto_complete_name' => $this->lng->txt(
'user'),
309 'submit_name' => $this->lng->txt(
'add'),
310 'add_search' =>
true,
313 $search_params = [
'crs',
'grp'];
314 $parent_container = $this->obj->getParentObjectInfo(
315 (
int) $this->obj->getRefId(),
318 if (!is_null($parent_container)) {
319 $container_id = $parent_container[
'ref_id'];
320 $toolbar_entries[
'add_from_container'] = $container_id;
329 $this->toolbar->addSeparator();
331 $this->toolbar->addButton(
332 $this->lng->txt($this->getParentObject()->getType() .
"_print_list"),
333 $this->ctrl->getLinkTarget($this,
'printMembers')
if(isset($_REQUEST['delete'])) $list
This class provides processing control methods.
getPrintMemberData(array $members)
Base class for member tab content.
addSubTabTarget( $a_text, $a_link, $a_cmd="", $a_cmdClass="", $a_frame="", $a_activate=false, $a_dir_text=false)
DEPRECATED.
__construct(ilObjectGUI $repository_gui, ilObject $repository_obj, ilObjUserTracking $obj_user_tracking, ilPrivacySettings $privacy_settings, ilLanguage $lng, ilCtrl $ctrl, ilAccess $access, ilRbacReview $rbac_review, ilSetting $settings, ilToolbarGUI $toolbar)
getAttendanceListUserData(int $user_id)
checkPermission($a_permission, $a_cmd="")
Check permission If not granted redirect to parent gui.
initEditParticipantTableGUI(array $participants)
readMemberData(array $user_ids, array $columns=null)
static getInstance($a_ref_id)
Get instance by ref_id.
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show mail to member toolbar button.
const TYPE_ADMISSION_MEMBER
if(isset($_POST['submit'])) $form
Singleton class that stores all privacy settings.
Class ilObjectGUI Basic methods of all Output classes.
updateParticipantsStatus()
save in participants table
initParticipantTemplate()
Init participant view template.
getParentGUI()
Get parent gui.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if(!empty($this->data['faventry'])) $tabs
filterUserIdsByRbacOrPositionOfCurrentUser($user_ids)
Filter user ids by access.
showParticipantsToolbar()
participants()
Show participant table, subscriber table, wating list table;.
assignMembers(array $user_ids, string $type)
static getLogger($a_component_id)
Get component logger.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
getParentObject()
Get parent object.
if(empty($password)) $table
getLocalTypeRole($a_translation=false)
setSubTabs(ilTabsGUI $tabs)
checkRbacOrPositionAccessBool($a_rbac_perm, $a_pos_perm, $a_ref_id=0)
Check if rbac or position access is granted.
GUI class for learning sequence membership features.
initParticipantTableGUI()
class ilRbacReview Contains Review functions of core Rbac.