diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 448764ecd3..04721db310 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -8,6 +8,7 @@ use Chamilo\CoreBundle\Entity\Session; use Chamilo\CoreBundle\Entity\SequenceResource; use Chamilo\CoreBundle\Entity\SessionRelUser; use Chamilo\CoreBundle\Entity\Course; +use Chamilo\UserBundle\Entity\User; /** * Class SessionManager @@ -8659,4 +8660,29 @@ class SessionManager ]) ->getSingleScalarResult(); } + + /** + * Get course IDs where user in not subscribed in session + * @param User $user + * @param Session $session + * @return array + */ + public static function getAvoidedCoursesInSession(User $user, Session $session) + { + $courseIds = []; + + /** @var SessionRelCourse $sessionCourse */ + foreach ($session->getCourses() as $sessionCourse) { + /** @var Course $course */ + $course = $sessionCourse->getCourse(); + + if ($session->getUserInCourse($user, $course)->count()) { + continue; + } + + $courseIds[] = $course->getId(); + } + + return $courseIds; + } } diff --git a/main/session/session_course_user.php b/main/session/session_course_user.php index 727d36da78..18604d61e6 100644 --- a/main/session/session_course_user.php +++ b/main/session/session_course_user.php @@ -4,10 +4,8 @@ * @package chamilo.admin */ -use Chamilo\CoreBundle\Entity\Session, - Chamilo\CoreBundle\Entity\Course, - Chamilo\UserBundle\Entity\User, - Chamilo\CoreBundle\Entity\SessionRelCourseRelUser; +use Chamilo\CoreBundle\Entity\Session; +use Chamilo\CoreBundle\Entity\Course; // resetting the course id $cidReset = true; @@ -38,7 +36,7 @@ if (!$session->getCourses()->count()) { exit; } -$avoidedCourseIds = getAvoidedCourses($user, $session); +$avoidedCourseIds = SessionManager::getAvoidedCoursesInSession($user, $session); $form = new FormValidator( 'session_course_user', @@ -141,27 +139,3 @@ function getSessionCourseList(Session $session) return $return; }; - -/** - * @param User $user - * @param Session $session - * @return array - */ -function getAvoidedCourses(User $user, Session $session) -{ - $return = []; - - /** @var SessionRelCourseRelUser $sessionCourse */ - foreach ($session->getCourses() as $sessionCourse) { - /** @var Course $course */ - $course = $sessionCourse->getCourse(); - - if ($session->getUserInCourse($user, $course)->count()) { - continue; - } - - $return[] = $course->getId(); - } - - return $return; -}