diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 6a71bed002..fa879b0b41 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -751,7 +751,8 @@ class CourseManager $status = STUDENT, $sessionId = 0, $userCourseCategoryId = 0, - $checkTeacherPermission = true + $checkTeacherPermission = true, + $displayFlashMessages = true ) { $userId = (int) $userId; $status = (int) $status; @@ -763,7 +764,9 @@ class CourseManager $courseInfo = api_get_course_info($courseCode); if (empty($courseInfo)) { - Display::addFlash(Display::return_message(get_lang('CourseDoesNotExist'), 'warning')); + if ($displayFlashMessages) { + Display::addFlash(Display::return_message(get_lang('CourseDoesNotExist'), 'warning')); + } return false; } @@ -771,7 +774,9 @@ class CourseManager $userInfo = api_get_user_info($userId); if (empty($userInfo)) { - Display::addFlash(Display::return_message(get_lang('UserDoesNotExist'), 'warning')); + if ($displayFlashMessages) { + Display::addFlash(Display::return_message(get_lang('UserDoesNotExist'), 'warning')); + } return false; } @@ -798,7 +803,9 @@ class CourseManager c_id = $courseId "; if (Database::num_rows(Database::query($sql)) > 0) { - Display::addFlash(Display::return_message(get_lang('AlreadyRegisteredToCourse'), 'warning')); + if ($displayFlashMessages) { + Display::addFlash(Display::return_message(get_lang('AlreadyRegisteredToCourse'), 'warning')); + } return false; } @@ -806,7 +813,9 @@ class CourseManager if ($checkTeacherPermission && !api_is_course_admin()) { // Check in advance whether subscription is allowed or not for this course. if ((int) $courseInfo['subscribe'] === SUBSCRIBE_NOT_ALLOWED) { - Display::addFlash(Display::return_message(get_lang('SubscriptionNotAllowed'), 'warning')); + if ($displayFlashMessages) { + Display::addFlash(Display::return_message(get_lang('SubscriptionNotAllowed'), 'warning')); + } return false; } @@ -835,7 +844,10 @@ class CourseManager ); if ($count >= $maxStudents) { - Display::addFlash(Display::return_message(get_lang('MaxNumberSubscribedStudentsReached'), 'warning')); + if ($displayFlashMessages) { + Display::addFlash(Display::return_message(get_lang('MaxNumberSubscribedStudentsReached'), + 'warning')); + } return false; } @@ -851,15 +863,17 @@ class CourseManager ['status' => $status, 'sort' => $maxSort, 'user_course_cat' => $userCourseCategoryId] ); - Display::addFlash( - Display::return_message( - sprintf( - get_lang('UserXAddedToCourseX'), - $userInfo['complete_name_with_username'], - $courseInfo['title'] + if ($displayFlashMessages) { + Display::addFlash( + Display::return_message( + sprintf( + get_lang('UserXAddedToCourseX'), + $userInfo['complete_name_with_username'], + $courseInfo['title'] + ) ) - ) - ); + ); + } $send = api_get_course_setting('email_alert_to_teacher_on_new_user_in_course', $courseInfo); diff --git a/main/inc/lib/usergroup.lib.php b/main/inc/lib/usergroup.lib.php index 38550e0973..e1235d07b1 100755 --- a/main/inc/lib/usergroup.lib.php +++ b/main/inc/lib/usergroup.lib.php @@ -1032,10 +1032,28 @@ class UserGroup extends Model if ($course_info) { if (!empty($user_list)) { foreach ($user_list as $user_id) { - CourseManager::subscribeUser( + $subscribed = CourseManager::subscribeUser( $user_id, - $course_info['code'] + $course_info['code'], + STUDENT, + 0, + 0, + true, + false ); + if (!$subscribed) { + $userInfo = api_get_user_info($user_id); + Display::addFlash( + Display::return_message( + sprintf( + get_lang('UserXNotSubscribedToCourseX'), + $userInfo['complete_name_with_username'], + $course_info['title'] + ), + 'error' + ) + ); + } } } $params = [ @@ -1210,7 +1228,28 @@ class UserGroup extends Model if (!empty($course_list)) { foreach ($course_list as $course_id) { $course_info = api_get_course_info_by_id($course_id); - CourseManager::subscribeUser($user_id, $course_info['code']); + $subscribed = CourseManager::subscribeUser( + $user_id, + $course_info['code'], + STUDENT, + 0, + 0, + true, + false + ); + if (!$subscribed) { + $userInfo = api_get_user_info($user_id); + Display::addFlash( + Display::return_message( + sprintf( + get_lang('UserXNotSubscribedToCourseX'), + $userInfo['complete_name_with_username'], + $course_info['title'] + ), + 'error' + ) + ); + } } } $params = [