diff --git a/core/module/course/course.php b/core/module/course/course.php index 10e5fdf..57c225d 100644 --- a/core/module/course/course.php +++ b/core/module/course/course.php @@ -306,35 +306,31 @@ class course extends common public function swap() { $courseId = $this->getUrl(2); - $userId = $this->getUser('id'); + $userId = $this->getuser('id'); $message = ''; $redirect = helper::baseUrl(); $state = true; if ( // Sortir du cours et afficher l'accueil - $courseId === 'home' || - // Un admin ou l'auteur du cours demande l'accès - ( $userId && - $this->getUser('group') === self::GROUP_ADMIN || $this->getUser('id') === $this->getData(['user', $courseId, 'author'])) + $courseId === 'home' ) { $_SESSION['ZWII_SITE_CONTENT'] = $courseId; } // l'étudiant est inscrit dans le cours ET le cours est ouvert // ou un admin est connecté ou le prof du cours elseif ( - $userId - && $this->courseIsUserEnroled($courseId) + $this->courseIsUserEnroled($courseId) && $this->courseIsAvailable($courseId) ) { $_SESSION['ZWII_SITE_CONTENT'] = $courseId; $message = sprintf(helper::translate('Bienvenue dans le cours %s'), $this->getData(['course', $courseId, 'shortTitle'])); // Récupérer la dernière page visitée par cet utilisateur si elle existe - if (empty($this->getData(['enrolment', $courseId, $userId, 'lastPageId']))) { - // Sinon la page d'accueil par défaut du module - $redirect = $redirect . $this->getData(['course', $courseId, 'homePageId']); + if ($this->getData(['enrolment', $courseId, $userId, 'lastPageId'])) { + $redirect .= $this->getData(['enrolment', $courseId, $userId, 'lastPageId']); } else { - $redirect = $redirect . $this->getData(['enrolment', $courseId, $userId, 'lastPageId']); + // Sinon la page d'accueil par défaut du module + $redirect .= $this->getData(['course', $courseId, 'homePageId']); } } // Le cours est fermé @@ -364,7 +360,7 @@ class course extends common case self::COURSE_ENROLMENT_SELF_KEY: //L'étudiant dispsoe d'un compte if ($this->getUser('id')) { - $redirect = $redirect . 'course/enrol/' . $courseId; + $redirect .= 'course/enrol/' . $courseId; $message = helper::translate('Veuillez vous inscrire'); $state = true; } else { @@ -514,6 +510,13 @@ class course extends common if ($courseId === 'home') { return true; } + // Si un utilisateur connecté est admin aou auteur, c'est autorisé + if ( + $this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD') && + $this->getUser('group') === self::GROUP_ADMIN || $this->getUser('id') === $this->getData(['user', $courseId, 'author']) + ) { + return true; + } // Retourne le statut du cours dans les autres cas $access = $this->getData(['course', $courseId, 'access']); switch ($access) {