Bug avec la bdd group qui n'existe pas

This commit is contained in:
Fred Tempez 2023-10-02 22:09:33 +02:00
parent 73689fc880
commit 997408cf0f
3 changed files with 15 additions and 16 deletions

View File

@ -474,6 +474,7 @@ class core extends common
in_array($this->getUrl(0), array_keys($this->getData(['page']))) in_array($this->getUrl(0), array_keys($this->getData(['page'])))
) { ) {
$this->setData(['enrolment', self::$siteContent, $this->getUser('id'), 'lastPageId', $this->getUrl(0)]); $this->setData(['enrolment', self::$siteContent, $this->getUser('id'), 'lastPageId', $this->getUrl(0)]);
$this->setData(['enrolment', self::$siteContent, $this->getUser('id'), 'lastDateVisited', time()]);
} }
// Journalisation // Journalisation

View File

@ -50,7 +50,7 @@ class common
const ACCESS_TIMER = 1800; const ACCESS_TIMER = 1800;
// Numéro de version // Numéro de version
const ZWII_VERSION = '1.0.06'; const ZWII_VERSION = '1.0.07';
// URL autoupdate // URL autoupdate
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/lms/'; const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/lms/';
@ -447,6 +447,7 @@ class common
// Mise à jour des données core // Mise à jour des données core
include('core/include/update.inc.php'); include('core/include/update.inc.php');
} }

View File

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