diff --git a/public/main/inc/lib/add_course.lib.inc.php b/public/main/inc/lib/add_course.lib.inc.php index d8c8880eea..82041424c5 100644 --- a/public/main/inc/lib/add_course.lib.inc.php +++ b/public/main/inc/lib/add_course.lib.inc.php @@ -340,6 +340,7 @@ class AddCourse //['path' => '/video/flv', 'title' => 'flv', 'filetype' => 'folder', 'size' => 0], ]; $paths = []; + $courseInfo = ['real_id' => $course->getId()]; foreach ($files as $file) { $doc = self::insertDocument($courseInfo, $counter, $file, $authorId); $paths[$file['path']] = $doc->getIid(); @@ -636,7 +637,7 @@ class AddCourse * @param array $params Course details (see code for details). * @param int $accessUrlId Optional. * - * @return int Created course ID + * @return Course|null * * @todo use an array called $params instead of lots of params * @assert (null) === false @@ -739,8 +740,9 @@ class AddCourse if (null === $user) { error_log(sprintf('user_id "%s" is invalid', $userId)); - return 0; + return null; } + $course = null; if ($valid) { $repo = Container::getCourseRepository(); diff --git a/public/main/inc/lib/document.lib.php b/public/main/inc/lib/document.lib.php index d535f9dfbb..c42c1f49d5 100644 --- a/public/main/inc/lib/document.lib.php +++ b/public/main/inc/lib/document.lib.php @@ -6246,14 +6246,14 @@ This folder contains all sessions that have been opened in the chat. Although th if ($document) { $allowNotification = api_get_configuration_value('send_notification_when_document_added'); if ($sendNotification && $allowNotification) { - $courseTitle = $courseInfo['title']; + $courseTitle = $courseEntity->getTitle(); if (!empty($sessionId)) { $sessionInfo = api_get_session_info($sessionId); $courseTitle .= ' ( '.$sessionInfo['name'].') '; } $url = api_get_path(WEB_CODE_PATH). - 'document/showinframes.php?cid='.$courseInfo['code'].'&sid='.$sessionId.'&id='.$document->getIid(); + 'document/showinframes.php?cid='.$courseEntity->getId().'&sid='.$sessionId.'&id='.$document->getIid(); $link = Display::url(basename($title), $url, ['target' => '_blank']); $userInfo = api_get_user_info($userId); $message = sprintf( @@ -6263,7 +6263,7 @@ This folder contains all sessions that have been opened in the chat. Although th $userInfo['complete_name'] ); $subject = sprintf(get_lang('New document added to course %s'), $courseTitle); - MessageManager::sendMessageToAllUsersInCourse($subject, $message, $courseInfo, $sessionId); + MessageManager::sendMessageToAllUsersInCourse($subject, $message, $courseEntity, $sessionId); } return $document; diff --git a/public/main/inc/lib/message.lib.php b/public/main/inc/lib/message.lib.php index 20b372b5b9..ff00d3ac14 100644 --- a/public/main/inc/lib/message.lib.php +++ b/public/main/inc/lib/message.lib.php @@ -2,6 +2,7 @@ /* For licensing terms, see /license.txt */ +use Chamilo\CoreBundle\Entity\Course; use Chamilo\CoreBundle\Entity\Message; use Chamilo\CoreBundle\Entity\MessageAttachment; use Chamilo\CoreBundle\Entity\MessageFeedback; @@ -2872,27 +2873,23 @@ class MessageManager /** * @param string $subject * @param string $message - * @param array $courseInfo + * @param Course $course * @param int $sessionId * * @return bool */ - public static function sendMessageToAllUsersInCourse($subject, $message, $courseInfo, $sessionId = 0) + public static function sendMessageToAllUsersInCourse($subject, $message, Course $course, $sessionId = 0) { - if (empty($courseInfo)) { - return false; - } - $senderId = api_get_user_id(); if (empty($senderId)) { return false; } if (empty($sessionId)) { // Course students and teachers - $users = CourseManager::get_user_list_from_course_code($courseInfo['code']); + $users = CourseManager::get_user_list_from_course_code($course->getCode()); } else { // Course-session students and course session coaches - $users = CourseManager::get_user_list_from_course_code($courseInfo['code'], $sessionId); + $users = CourseManager::get_user_list_from_course_code($course->getCode(), $sessionId); } if (empty($users)) { diff --git a/src/CoreBundle/Framework/Container.php b/src/CoreBundle/Framework/Container.php index 200829ba83..056980c16c 100644 --- a/src/CoreBundle/Framework/Container.php +++ b/src/CoreBundle/Framework/Container.php @@ -523,6 +523,8 @@ class Container { $doctrine = $container->get('doctrine'); Database::setConnection($doctrine->getConnection()); - Database::setManager($doctrine->getManager()); + /** @var EntityManager $em */ + $em = $doctrine->getManager(); + Database::setManager($em); } }