ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilCourseParticipantsGroupsGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once "./Modules/Course/classes/class.ilCourseParticipantsGroupsTableGUI.php";
5
16{
21 private $ref_id = 0;
22
23 public function __construct($a_ref_id)
24 {
25 $this->ref_id = $a_ref_id;
26 }
27
28 public function executeCommand()
29 {
30 global $DIC;
31
32 $ilCtrl = $DIC['ilCtrl'];
33 $ilErr = $DIC['ilErr'];
34 $ilAccess = $DIC['ilAccess'];
35 $lng = $DIC['lng'];
36
37 if (!$GLOBALS['DIC']->access()->checkRbacOrPositionPermissionAccess('manage_members', 'manage_members', $this->ref_id)) {
38 $ilErr->raiseError($lng->txt('permission_denied'), $ilErr->WARNING);
39 }
40
41 $cmd = $ilCtrl->getCmd();
42 if (!$cmd) {
43 $cmd = "show";
44 }
45 $this->$cmd();
46 }
47
48 public function show()
49 {
50 global $DIC;
51
52 $tpl = $DIC['tpl'];
53
54 $tbl_gui = new ilCourseParticipantsGroupsTableGUI($this, "show", $this->ref_id);
55 $tpl->setContent($tbl_gui->getHTML());
56 }
57
58 public function applyFilter()
59 {
60 $tbl_gui = new ilCourseParticipantsGroupsTableGUI($this, "show", $this->ref_id);
61 $tbl_gui->resetOffset();
62 $tbl_gui->writeFilterToSession();
63 $this->show();
64 }
65
66 public function resetFilter()
67 {
68 $tbl_gui = new ilCourseParticipantsGroupsTableGUI($this, "show", $this->ref_id);
69 $tbl_gui->resetOffset();
70 $tbl_gui->resetFilter();
71 $this->show();
72 }
73
74 public function confirmRemove()
75 {
76 global $DIC;
77
78 $ilCtrl = $DIC['ilCtrl'];
79 $lng = $DIC['lng'];
80 $tpl = $DIC['tpl'];
81
82 include_once('./Services/Utilities/classes/class.ilConfirmationGUI.php');
83 $confirm = new ilConfirmationGUI();
84 $confirm->setFormAction($ilCtrl->getFormAction($this, 'remove'));
85 $confirm->addHiddenItem("grp_id", $_GET["grp_id"]);
86 $confirm->setHeaderText($lng->txt('grp_dismiss_member'));
87 $confirm->setConfirm($lng->txt('confirm'), 'remove');
88 $confirm->setCancel($lng->txt('cancel'), 'show');
89
90 include_once './Services/User/classes/class.ilUserUtil.php';
91
92 $confirm->addItem(
93 'usr_id',
94 $_GET["usr_id"],
95 ilUserUtil::getNamePresentation($_GET["usr_id"], false, false, "", true),
96 ilUtil::getImagePath('icon_usr.svg')
97 );
98
99 $tpl->setContent($confirm->getHTML());
100 }
101
109 protected function remove()
110 {
111 global $DIC;
112
113 $ilObjDataCache = $DIC['ilObjDataCache'];
114 $lng = $DIC['lng'];
115 $ilCtrl = $DIC['ilCtrl'];
116
117 if (!$GLOBALS['DIC']->access()->checkRbacOrPositionPermissionAccess('manage_members', 'manage_members', (int) $_POST['grp_id'])) {
118 ilUtil::sendFailure($lng->txt("permission_denied"), true);
119 $this->show();
120 return;
121 }
122
123 include_once './Modules/Group/classes/class.ilGroupParticipants.php';
124 $members_obj = ilGroupParticipants::_getInstanceByObjId($ilObjDataCache->lookupObjId((int) $_POST["grp_id"]));
125 $members_obj->delete((int) $_POST["usr_id"]);
126
127 // Send notification
128 include_once './Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
129 $members_obj->sendNotification(
131 (int) $_POST["usr_id"]
132 );
133
134 ilUtil::sendSuccess($lng->txt("grp_msg_membership_annulled"), true);
135 $ilCtrl->redirect($this, "show");
136 }
137
146 protected function add()
147 {
148 global $DIC;
149
150 $ilErr = $DIC['ilErr'];
151 $ilObjDataCache = $DIC['ilObjDataCache'];
152 $lng = $DIC['lng'];
153 $ilAccess = $DIC['ilAccess'];
154
155 if (sizeof($_POST["usrs"])) {
156 if (!$GLOBALS['DIC']->access()->checkRbacOrPositionPermissionAccess('manage_members', 'manage_members', (int) $_POST['grp_id'])) {
157 ilUtil::sendFailure($lng->txt("permission_denied"), true);
158 $this->show();
159 return;
160 }
161
162 include_once './Modules/Group/classes/class.ilGroupParticipants.php';
163 $members_obj = ilGroupParticipants::_getInstanceByObjId($ilObjDataCache->lookupObjId((int) $_POST["grp_id"]));
164 foreach ($_POST["usrs"] as $new_member) {
165 if (!$members_obj->add($new_member, IL_GRP_MEMBER)) {
166 $ilErr->raiseError("An Error occured while assigning user to group !", $ilErr->MESSAGE);
167 }
168
169 include_once './Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
170 $members_obj->sendNotification(
172 $new_member
173 );
174 }
175 ilUtil::sendSuccess($lng->txt("grp_msg_member_assigned"));
176 }
177
178 $this->show();
179 }
180}
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
$_GET["client_id"]
$_POST["username"]
An exception for terminatinating execution or to throw for unit testing.
const IL_GRP_MEMBER
Confirmation screen class.
Class ilCourseParticipantsGroupsGUI.
add()
Add user to group @global type $ilErr @global type $ilObjDataCache @global type $lng @global type $il...
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
global $DIC
Definition: goto.php:24
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
Definition: latex.php:41
$ilErr
Definition: raiseError.php:18
$lng