3declare(strict_types=1);
 
   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;
 
  280            $tabs->addSubTabTarget(
 
  282                $this->ctrl->getLinkTarget($this, 
'participants'),
 
  287            $tabs->addSubTabTarget(
 
  289                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
 
  294            $tabs->addSubTabTarget(
 
  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')
 
An exception for terminatinating execution or to throw for unit testing.
This class provides processing control methods.
GUI class for learning sequence membership features.
setSubTabs(ilTabsGUI $tabs)
Set sub tabs.
getMembersObject()
Get member object.
getAttendanceListUserData(int $user_id)
getDefaultCommand()
Get default command.
__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)
updateParticipantsStatus()
save in participants table
readMemberData(array $user_ids, array $columns=null)
Required for member table guis.
printMembers()
Print members.
getLocalTypeRole($a_translation=false)
initParticipantTableGUI()
filterUserIdsByRbacOrPositionOfCurrentUser($user_ids)
Filter user ids by access.
initParticipantTemplate()
Init participant view template.
showParticipantsToolbar()
Show participants toolbar.
getPrintMemberData(array $members)
initEditParticipantTableGUI(array $participants)
assignMembers(array $user_ids, string $type)
const TYPE_ADMISSION_MEMBER
static getLogger($a_component_id)
Get component logger.
Base class for member tab content.
getParentGUI()
Get parent gui.
checkPermission($a_permission, $a_cmd="")
Check permission If not granted redirect to parent gui.
participants()
Show participant table, subscriber table, wating list table;.
checkRbacOrPositionAccessBool($a_rbac_perm, $a_pos_perm, $a_ref_id=0)
Check if rbac or position access is granted.
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show mail to member toolbar button.
getParentObject()
Get parent object.
Class ilObjectGUI Basic methods of all Output classes.
Class ilObject Basic functions for all objects.
static getInstance($a_ref_id)
Get instance by ref_id.
Singleton class that stores all privacy settings.
class ilRbacReview Contains Review functions of core Rbac.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if(!empty($this->data['faventry'])) $tabs
if(empty($password)) $table
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list