5 include_once
'./Services/Membership/classes/class.ilMembershipGUI.php';
35 return $GLOBALS[
'DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
48 $context_options = [];
56 return $context_options;
69 $table->setParticipants($participants);
72 $this->tpl->setContent($table->getHTML());
83 $ilAccess = $DIC[
'ilAccess'];
85 $participants = (array)
$_POST[
'participants'];
87 if (!is_array($participants) or !count($participants)) {
89 $this->ctrl->redirect($this,
'participants');
95 !$ilAccess->checkAccess(
'edit_permission',
'', $this->getParentObject()->getRefId()) &&
98 foreach ($participants as $part) {
101 $this->ctrl->redirect($this,
'participants');
108 $this->ctrl->redirect($this,
'participants');
110 foreach ((array)
$_POST[
"participants"] as $usr_id) {
122 if (count((array)
$_POST[
'refs'])) {
123 foreach ($_POST[
'refs'] as $usr_id => $usr_info) {
124 foreach ((array) $usr_info as $course_ref_id => $tmp) {
126 $part->delete($usr_id);
131 ilUtil::sendSuccess($this->lng->txt($this->getParentObject()->getType() .
"_members_deleted"),
true);
132 $this->ctrl->redirect($this,
"participants");
149 $rbacsystem = $DIC[
'rbacsystem'];
153 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->FATAL);
156 if (!count($a_usr_ids)) {
164 foreach ($a_usr_ids as $user_id) {
199 ilUtil::sendSuccess($this->lng->txt(
"crs_users_added"),
true);
200 $this->ctrl->redirect($this,
'participants');
213 $ilAccess = $DIC[
'ilAccess'];
216 $rbacadmin = $DIC[
'rbacadmin'];
218 $visible_members = (array)
$_POST[
'visible_member_ids'];
219 $passed = (array)
$_POST[
'passed'];
220 $blocked = (array)
$_POST[
'blocked'];
221 $contact = (array)
$_POST[
'contact'];
222 $notification = (array)
$_POST[
'notification'];
224 foreach ($visible_members as $member_id) {
225 if ($ilAccess->checkAccess(
"grade",
"", $this->getParentObject()->getRefId())) {
226 $this->
getMembersObject()->updatePassed($member_id, in_array($member_id, $passed),
true);
233 $this->
getMembersObject()->updateNotification($member_id, in_array($member_id, $notification));
234 $this->
getMembersObject()->updateContact($member_id, in_array($member_id, $contact));
237 if ($this->
getMembersObject()->isBlocked($member_id) && !in_array($member_id, $blocked)) {
241 if (!$this->
getMembersObject()->isBlocked($member_id) && in_array($member_id, $blocked)) {
248 $this->
getMembersObject()->updateBlocked($member_id, in_array($member_id, $blocked));
253 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
254 $this->ctrl->redirect($this,
'participants');
263 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
267 if ($show_tracking) {
268 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
270 $show_tracking = $olp->isActive();
273 include_once(
'./Services/Object/classes/class.ilObjectActivation.php');
279 include_once
'./Modules/Course/classes/class.ilCourseParticipantsTableGUI.php';
296 include_once
'./Modules/Course/classes/class.ilCourseEditParticipantsTableGUI.php';
298 $table->setTitle($this->lng->txt($this->getParentObject()->getType() .
'_header_edit_members'));
309 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_edit_members.html',
'Modules/Course');
325 return $this->
getParentGUI()->updateLPFromStatus($a_member_id, $a_passed);
334 include_once
'./Modules/Course/classes/class.ilCourseWaitingList.php';
344 return $this->
getParentGUI()->object->getDefaultMemberRole();
353 return $this->
getParentGUI()->deliverCertificateObject();
364 $ilAccess = $DIC[
'ilAccess'];
367 $lng->loadLanguageModule(
'trac');
370 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
373 if ($privacy->enabledCourseAccessTimes()) {
374 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
378 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
381 if ($show_tracking) {
382 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
384 $show_tracking = $olp->isActive();
387 if ($show_tracking) {
388 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
397 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
401 foreach ($a_members as $member_id) {
405 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
407 foreach ($udf_data->getAll() as $field => $value) {
408 list(
$f, $field_id) = explode(
'_', $field);
409 $print_member[$member_id][
'udf_' . $field_id] = (string) $value;
412 foreach ((array) $cdfs[$member_id] as $cdf_field => $cdf_value) {
413 $print_member[$member_id][
'cdf_' . $cdf_field] = (string) $cdf_value;
416 foreach ((array) $profile_data[$member_id] as $field => $value) {
417 $print_member[$member_id][$field] = $value;
420 $print_member[$member_id][
'login'] = $tmp_obj->getLogin();
421 $print_member[$member_id][
'name'] = $tmp_obj->getLastname() .
', ' . $tmp_obj->getFirstname();
424 $print_member[$member_id][
'role'] = $this->lng->txt(
"il_crs_admin");
426 $print_member[$member_id][
'role'] = $this->lng->txt(
"il_crs_tutor");
428 $print_member[$member_id][
'role'] = $this->lng->txt(
"il_crs_member");
432 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_notify");
434 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_no_notify");
438 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_blocked");
440 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_unblocked");
445 $print_member[$member_id][
'passed'] = $this->
getMembersObject()->hasPassed($member_id) ?
446 $this->lng->txt(
'crs_member_passed') :
447 $this->lng->txt(
'crs_member_not_passed');
449 if ($privacy->enabledCourseAccessTimes()) {
450 if (isset($progress[$member_id][
'ts']) and $progress[$member_id][
'ts']) {
455 $print_member[$member_id][
'access'] = $this->lng->txt(
'no_date');
458 if ($show_tracking) {
459 if (in_array($member_id, $completed)) {
461 } elseif (in_array($member_id, $in_progress)) {
463 } elseif (in_array($member_id,
$failed)) {
480 if (is_array($this->member_data) && array_key_exists($a_user_id, $this->member_data)) {
481 return $this->member_data[$a_user_id];
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
readMemberData(array $usr_ids, array $columns)
Required for member table guis.
getLocalTypeRole($a_translation=false)
Base class for member tab content.
getMembersObject()
Get member object.
static hasTimings($a_ref_id)
Check if there is any active timing (in subtree)
static _getValuesByObjId($a_obj_id)
Get values by obj_id (for all users)
const LP_STATUS_NOT_ATTEMPTED
updateParticipantsStatus()
=> save button in member table
static _lookupFailedForObject($a_obj_id, $a_user_ids=null)
Get failed users for object.
static setUseRelativeDates($a_status)
set use relative dates
const STATUS_DETERMINATION_LP
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
static _readUsersProfileData($a_user_ids)
STATIC METHOD get user data of selected users.
const LP_STATUS_IN_PROGRESS
initParticipantTableGUI()
deliverCertificate()
Deliver certificate for an user on the member list.
static getInstance($a_ref_id)
Get instance by ref_id.
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
static _enabledLearningProgress()
check wether learing progress is enabled or not
updateLPFromStatus($a_member_id, $a_passed)
Update lp from status.
Class ilMailMemberCourseRoles.
static _lookupProgressByObjId($a_obj_id)
lookup progress for a specific object
Class ilCourseReferencePathInfo.
initParticipantTemplate()
Init participant view template.
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
const IL_CRS_ADMIN
Base class for course and group participants.
assignMembers(array $a_usr_ids, $a_type)
callback from repository search gui ilRbacSystem $rbacsystem
getParentGUI()
Get parent gui.
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
filterUserIdsByRbacOrPositionOfCurrentUser($a_user_ids)
Filter user ids by access.
deleteParticipantsWithLinkedCourses()
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
initEditParticipantTableGUI(array $participants)
init edit participants table gui
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _lookupInProgressForObject($a_obj_id, $a_user_ids=null)
Get in progress users for object.
getPrintMemberData($a_members)
Get print member data.
getAttendanceListUserData($a_user_id)
Callback from attendance list.
static getLogger($a_component_id)
Get component logger.
static _getInstance()
Get instance of ilPrivacySettings.
getParentObject()
Get parent object.
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
const LP_STATUS_COMPLETED
static getInstance($a_obj_id)
initWaitingList()
init waiting list
checkRbacOrPositionAccessBool($a_rbac_perm, $a_pos_perm, $a_ref_id=0)
Check if rbac or position access is granted.
showDeleteParticipantsConfirmationWithLinkedCourses($participants)
Show deletion confirmation with linked courses.