ソースを参照

Move function get avoid courses in sessionmanager #2087

Angel Fernando Quiroz Campos 7 年 前
コミット
0319454987
2 ファイル変更29 行追加29 行削除
  1. 26 0
      main/inc/lib/sessionmanager.lib.php
  2. 3 29
      main/session/session_course_user.php

+ 26 - 0
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;
+    }
 }

+ 3 - 29
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;
-}