diff --git a/public/main/admin/course_edit.php b/public/main/admin/course_edit.php index 01b9685565..05ea79157c 100644 --- a/public/main/admin/course_edit.php +++ b/public/main/admin/course_edit.php @@ -169,8 +169,7 @@ $courseInfo['course_categories'] = $courseCategoryIds; $courseTeacherNames = []; foreach ($course_teachers as $courseTeacherId) { - /** @var User $courseTeacher */ - $courseTeacher = UserManager::getRepository()->find($courseTeacherId); + $courseTeacher = api_get_user_entity($courseTeacherId); $courseTeacherNames[$courseTeacher->getId()] = UserManager::formatUserFullName($courseTeacher, true); } diff --git a/public/main/cron/user_import/resend_email_with_new_password.php b/public/main/cron/user_import/resend_email_with_new_password.php index 04ba205e75..901aa13747 100644 --- a/public/main/cron/user_import/resend_email_with_new_password.php +++ b/public/main/cron/user_import/resend_email_with_new_password.php @@ -42,8 +42,7 @@ foreach ($list as $mail) { $pass = api_substr($row['username'], 0, 4).rand(0, 9).rand(0, 9); if ($user) { - /** @var User $user */ - $user = $repository->find($row['user_id']); + $user = api_get_user_entity($row['user_id']); $user->setPlainPassword($pass); $userManager->updateUser($user, true); } else { diff --git a/public/main/inc/lib/api.lib.php b/public/main/inc/lib/api.lib.php index 65b3c23201..213626d7f7 100644 --- a/public/main/inc/lib/api.lib.php +++ b/public/main/inc/lib/api.lib.php @@ -8,6 +8,7 @@ use Chamilo\CoreBundle\Entity\Language; use Chamilo\CoreBundle\Entity\Session as SessionEntity; use Chamilo\CoreBundle\Entity\SettingsCurrent; use Chamilo\CoreBundle\Entity\User; +use Chamilo\CoreBundle\Entity\UserCourseCategory; use Chamilo\CoreBundle\Framework\Container; use Chamilo\CourseBundle\Entity\CGroup; use Chamilo\CourseBundle\Entity\CLp; @@ -1842,7 +1843,7 @@ function api_get_user_info_from_entity( return $result; } -function api_get_lp_entity(int $id): ? CLp +function api_get_lp_entity(int $id): ?CLp { return Database::getManager()->getRepository(CLp::class)->find($id); } @@ -1858,10 +1859,7 @@ function api_get_user_entity(int $userId = 0): ?User return $user; } -/** - * @return User|null - */ -function api_get_current_user() +function api_get_current_user(): ?User { $isLoggedIn = Container::$container->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_REMEMBERED'); if (false === $isLoggedIn) { @@ -2302,10 +2300,8 @@ function api_get_group_entity($id = 0): ?CGroup /** * @param int $id - * - * @return AccessUrl */ -function api_get_url_entity($id = 0) +function api_get_url_entity($id = 0): ?AccessUrl { if (empty($id)) { $id = api_get_current_access_url_id(); @@ -4576,29 +4572,17 @@ function api_get_themes($getOnlyThemeFromVirtualInstance = false) * This function is used when we are moving a course to a different category * and also when a user subscribes to courses (the new course is added at the end of the main category. * - * @author Patrick Cool , Ghent University - * - * @param int $user_course_category the id of the user_course_category - * @param int $user_id + * @param int $courseCategoryId the id of the user_course_category + * @param int $userId * * @return int the value of the highest sort of the user_course_category */ -function api_max_sort_value($user_course_category, $user_id) +function api_max_sort_value($courseCategoryId, $userId) { - $tbl_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); - $sql = "SELECT max(sort) as max_sort FROM $tbl_course_user - WHERE - user_id='".intval($user_id)."' AND - relation_type<>".COURSE_RELATION_TYPE_RRHH." AND - user_course_cat='".intval($user_course_category)."'"; - $result_max = Database::query($sql); - if (1 == Database::num_rows($result_max)) { - $row_max = Database::fetch_array($result_max); + $user = api_get_user_entity($userId); + $userCourseCategory = Database::getManager()->getRepository(UserCourseCategory::class)->find($courseCategoryId); - return $row_max['max_sort']; - } - - return 0; + return null === $user ? 0 : $user->getMaxSortValue($userCourseCategory); } /** diff --git a/public/main/inc/lib/course.lib.php b/public/main/inc/lib/course.lib.php index 47bcab8e21..07c35c6407 100644 --- a/public/main/inc/lib/course.lib.php +++ b/public/main/inc/lib/course.lib.php @@ -652,8 +652,7 @@ class CourseManager $userId = api_get_user_id(); if (api_get_configuration_value('catalog_course_subscription_in_user_s_session')) { - /** @var \Chamilo\CoreBundle\Entity\User $user */ - $user = UserManager::getRepository()->find($userId); + $user = api_get_user_entity($userId); $sessions = $user->getCurrentlyAccessibleSessions(); if (empty($sessions)) { // user has no accessible session diff --git a/public/main/inc/lib/sessionmanager.lib.php b/public/main/inc/lib/sessionmanager.lib.php index 5641fcd572..e33a056fc8 100644 --- a/public/main/inc/lib/sessionmanager.lib.php +++ b/public/main/inc/lib/sessionmanager.lib.php @@ -4370,24 +4370,6 @@ class SessionManager return Database::store_result($result, 'ASSOC'); } - /** - * @param int $user_id - * - * @return array - * - * @deprecated use get_sessions_by_general_coach() - */ - public static function get_sessions_by_coach($user_id) - { - $session_table = Database::get_main_table(TABLE_MAIN_SESSION); - - return Database::select( - '*', - $session_table, - ['where' => ['id_coach = ?' => $user_id]] - ); - } - /** * @param int $user_id * @param int $courseId diff --git a/public/main/inc/lib/usermanager.lib.php b/public/main/inc/lib/usermanager.lib.php index 1ccfe9dba4..b12e15fe90 100644 --- a/public/main/inc/lib/usermanager.lib.php +++ b/public/main/inc/lib/usermanager.lib.php @@ -111,9 +111,7 @@ class UserManager */ public static function updatePassword($userId, $password) { - $repository = self::getRepository(); - /** @var User $user */ - $user = $repository->find($userId); + $user = api_get_user_entity($userId); $userManager = self::getManager(); $user->setPlainPassword($password); $userManager->updateUser($user, true); diff --git a/public/main/session/add_users_to_session.php b/public/main/session/add_users_to_session.php index babcba3d1f..1792fb3e3a 100644 --- a/public/main/session/add_users_to_session.php +++ b/public/main/session/add_users_to_session.php @@ -174,11 +174,11 @@ function search_users($needle, $type) WHERE access_url_id = '$access_url_id' AND ( - username LIKE '$needle%' OR - lastname LIKE '$needle%' OR + username LIKE '$needle%' OR + lastname LIKE '$needle%' OR firstname LIKE '$needle%' - ) AND - user.status <> 6 AND + ) AND + user.status <> 6 AND user.status <> ".DRH." $order_clause LIMIT 11 "; @@ -275,7 +275,7 @@ function add_user_to_session (code, content) { } destination.options[destination.length] = new Option(content,code); destination.selectedIndex = -1; - + $("#remove_user").show(); sortOptions(destination.options); } @@ -371,8 +371,6 @@ if ($ajax_search) { continue; } } - - unset($users); //clean to free memory } else { // Filter by Extra Fields $extra_field_result = []; diff --git a/public/main/session/index.php b/public/main/session/index.php index 4c346a3633..cbcabacd15 100644 --- a/public/main/session/index.php +++ b/public/main/session/index.php @@ -42,7 +42,7 @@ Session::erase('duration_time'); $userId = api_get_user_id(); $session_info = SessionManager::fetch($session_id); -$session_list = SessionManager::get_sessions_by_coach(api_get_user_id()); +$session_list = SessionManager::get_sessions_by_general_coach(api_get_user_id()); $courseList = SessionManager::get_course_list_by_session_id($session_id); $userIsGeneralCoach = SessionManager::user_is_general_coach($userId, $session_id); @@ -70,7 +70,8 @@ foreach ($courseList as $course) { if (!empty($exerciseList)) { // Exercises foreach ($exerciseList as $exerciseInfo) { - $exerciseId = $exerciseInfo['id']; + // @todo check visibility + /*$exerciseId = $exerciseInfo['id']; $visibility = api_get_item_visibility( $course, TOOL_QUIZ, @@ -79,7 +80,7 @@ foreach ($courseList as $course) { ); if (0 == $visibility) { continue; - } + }*/ $exerciseListNew[] = $exerciseInfo; } } diff --git a/public/main/session/resume_session.php b/public/main/session/resume_session.php index a28990ace3..6265362612 100644 --- a/public/main/session/resume_session.php +++ b/public/main/session/resume_session.php @@ -3,6 +3,7 @@ use Chamilo\CoreBundle\Entity\SequenceResource; use Chamilo\CoreBundle\Entity\Session; +use Chamilo\CoreBundle\Entity\Promotion; use Chamilo\CoreBundle\Entity\SessionRelCourse; use Chamilo\CoreBundle\Entity\SessionRelCourseRelUser; use Chamilo\CoreBundle\Repository\SequenceRepository; @@ -47,10 +48,7 @@ $table_access_url_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER $em = Database::getManager(); $sessionInfo = api_get_session_info($sessionId); -/** @var SessionRepository $sessionRepository */ -$sessionRepository = $em->getRepository('ChamiloCoreBundle:Session'); -/** @var Session $session */ -$session = $sessionRepository->find($sessionId); +$session = api_get_session_entity($sessionId); $sessionCategory = $session->getCategory(); $action = isset($_GET['action']) ? $_GET['action'] : null; @@ -376,7 +374,7 @@ if (!empty($userList)) { } /** @var SequenceRepository $repo */ -$repo = $em->getRepository('ChamiloCoreBundle:SequenceResource'); +$repo = $em->getRepository(SequenceResource::class); $requirementAndDependencies = $repo->getRequirementAndDependencies( $sessionId, SequenceResource::SESSION_TYPE @@ -395,7 +393,7 @@ if (!empty($requirementAndDependencies['dependencies'])) { $promotion = null; if (!empty($sessionInfo['promotion_id'])) { - $promotion = $em->getRepository('ChamiloCoreBundle:Promotion'); + $promotion = $em->getRepository(Promotion::class); $promotion = $promotion->find($sessionInfo['promotion_id']); }