5 include_once
'./Services/Membership/classes/class.ilMembershipGUI.php';
35 return $GLOBALS[
'DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
59 return $context_options;
72 $table->setParticipants($participants);
75 $this->tpl->setContent($table->getHTML());
86 $ilAccess = $DIC[
'ilAccess'];
88 $participants = (array)
$_POST[
'participants'];
90 if (!is_array($participants) or !count($participants)) {
92 $this->ctrl->redirect($this,
'participants');
98 !$ilAccess->checkAccess(
'edit_permission',
'', $this->getParentObject()->getRefId()) &&
101 foreach ($participants as $part) {
104 $this->ctrl->redirect($this,
'participants');
111 $this->ctrl->redirect($this,
'participants');
113 foreach ((array)
$_POST[
"participants"] as $usr_id) {
125 if (count((array)
$_POST[
'refs'])) {
126 foreach ($_POST[
'refs'] as $usr_id => $usr_info) {
127 foreach ((array) $usr_info as $course_ref_id => $tmp) {
129 $part->delete($usr_id);
134 ilUtil::sendSuccess($this->lng->txt($this->getParentObject()->getType() .
"_members_deleted"),
true);
135 $this->ctrl->redirect($this,
"participants");
152 $rbacsystem = $DIC[
'rbacsystem'];
156 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->FATAL);
159 if (!count($a_usr_ids)) {
167 foreach ($a_usr_ids as $user_id) {
185 if (in_array($a_type, $this->
getParentObject()->getLocalCourseRoles(
true))) {
187 $this->
getMembersObject()->updateRoleAssignments($user_id, (array) $a_type);
202 ilUtil::sendSuccess($this->lng->txt(
"crs_users_added"),
true);
203 $this->ctrl->redirect($this,
'participants');
216 $ilAccess = $DIC[
'ilAccess'];
219 $rbacadmin = $DIC[
'rbacadmin'];
221 $visible_members = (array)
$_POST[
'visible_member_ids'];
222 $passed = (array)
$_POST[
'passed'];
223 $blocked = (array)
$_POST[
'blocked'];
224 $contact = (array)
$_POST[
'contact'];
225 $notification = (array)
$_POST[
'notification'];
227 foreach ($visible_members as $member_id) {
228 if ($ilAccess->checkAccess(
"grade",
"", $this->getParentObject()->getRefId())) {
229 $this->
getMembersObject()->updatePassed($member_id, in_array($member_id, $passed),
true);
236 $this->
getMembersObject()->updateNotification($member_id, in_array($member_id, $notification));
237 $this->
getMembersObject()->updateContact($member_id, in_array($member_id, $contact));
240 if ($this->
getMembersObject()->isBlocked($member_id) && !in_array($member_id, $blocked)) {
244 if (!$this->
getMembersObject()->isBlocked($member_id) && in_array($member_id, $blocked)) {
251 $this->
getMembersObject()->updateBlocked($member_id, in_array($member_id, $blocked));
256 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
257 $this->ctrl->redirect($this,
'participants');
266 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
270 if ($show_tracking) {
271 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
273 $show_tracking = $olp->isActive();
276 include_once(
'./Services/Object/classes/class.ilObjectActivation.php');
282 include_once
'./Modules/Course/classes/class.ilCourseParticipantsTableGUI.php';
299 include_once
'./Modules/Course/classes/class.ilCourseEditParticipantsTableGUI.php';
301 $table->setTitle($this->lng->txt($this->getParentObject()->getType() .
'_header_edit_members'));
312 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_edit_members.html',
'Modules/Course');
325 return $this->
getParentGUI()->readMemberData($usr_ids, $columns, $skip_names);
333 return $this->
getParentGUI()->updateLPFromStatus($a_member_id, $a_passed);
342 include_once
'./Modules/Course/classes/class.ilCourseWaitingList.php';
352 return $this->
getParentGUI()->object->getDefaultMemberRole();
361 return $this->
getParentGUI()->deliverCertificateObject();
372 $ilAccess = $DIC[
'ilAccess'];
375 $lng->loadLanguageModule(
'trac');
378 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
381 if ($privacy->enabledCourseAccessTimes()) {
382 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
386 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
389 if ($show_tracking) {
390 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
392 $show_tracking = $olp->isActive();
395 if ($show_tracking) {
396 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
405 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
409 foreach ($a_members as $member_id) {
413 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
415 foreach ($udf_data->getAll() as $field => $value) {
416 list(
$f, $field_id) = explode(
'_', $field);
417 $print_member[$member_id][
'udf_' . $field_id] = (string) $value;
420 foreach ((array) $cdfs[$member_id] as $cdf_field => $cdf_value) {
421 $print_member[$member_id][
'cdf_' . $cdf_field] = (string) $cdf_value;
424 foreach ((array) $profile_data[$member_id] as $field => $value) {
425 $print_member[$member_id][$field] = $value;
428 $print_member[$member_id][
'login'] = $tmp_obj->getLogin();
429 $print_member[$member_id][
'name'] = $tmp_obj->getLastname() .
', ' . $tmp_obj->getFirstname();
432 $print_member[$member_id][
'role'] = $this->lng->txt(
"il_crs_admin");
434 $print_member[$member_id][
'role'] = $this->lng->txt(
"il_crs_tutor");
436 $print_member[$member_id][
'role'] = $this->lng->txt(
"il_crs_member");
440 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_notify");
442 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_no_notify");
446 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_blocked");
448 $print_member[$member_id][
'status'] = $this->lng->txt(
"crs_unblocked");
453 $print_member[$member_id][
'passed'] = $this->
getMembersObject()->hasPassed($member_id) ?
454 $this->lng->txt(
'crs_member_passed') :
455 $this->lng->txt(
'crs_member_not_passed');
457 if ($privacy->enabledCourseAccessTimes()) {
458 if (isset($progress[$member_id][
'ts']) and $progress[$member_id][
'ts']) {
463 $print_member[$member_id][
'access'] = $this->lng->txt(
'no_date');
466 if ($show_tracking) {
467 if (in_array($member_id, $completed)) {
469 } elseif (in_array($member_id, $in_progress)) {
471 } elseif (in_array($member_id,
$failed)) {
488 if (is_array($this->member_data) && array_key_exists($a_user_id, $this->member_data)) {
489 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
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
const PROP_CONTEXT_SUBJECT_PREFIX
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()
readMemberData(array $usr_ids, array $columns, bool $skip_names=false)
deliverCertificate()
Deliver certificate for an user on the member list.
static getInstance($a_ref_id)
Get instance by ref_id.
const EXTERNAL_MAIL_PREFIX
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.
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
showDeleteParticipantsConfirmationWithLinkedCourses($participants)
Show deletion confirmation with linked courses.