From d23148bd6c3239b973ec852164007d5261e13ffe Mon Sep 17 00:00:00 2001 From: fredtempez Date: Sun, 19 Nov 2023 21:07:22 +0100 Subject: [PATCH] =?UTF-8?q?Droit=20aux=20=C3=A9diteurs=20sur=20les=20cours?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/class/layout.class.php | 6 +-- core/core.php | 4 +- core/module/course/course.php | 82 ++++++++++++++++++----------------- 3 files changed, 45 insertions(+), 47 deletions(-) diff --git a/core/class/layout.class.php b/core/class/layout.class.php index 169652a..b40ed45 100644 --- a/core/class/layout.class.php +++ b/core/class/layout.class.php @@ -896,8 +896,7 @@ class layout extends common // Sélecteur de contenu /** * Les admins voient tousles contenus - * Les enseignantsles contenus dont ils sont auteurs - * Les étudiantsles contenus dans lesquels ils sont inscrits + * Les enseignants les contenus dont ils sont auteurs */ if ($this->getUser('group') >= self::GROUP_EDITOR) { if ($this->getCoursesByUser($this->getUser('id'), $this->getUser('group'))) { @@ -908,9 +907,6 @@ class layout extends common } $leftItems .= ''; } - } - // Bouton Gérerles contenus - if ($this->getUser('group') >= self::GROUP_ADMIN) { $leftItems .= '
  • ' . template::ico('cubes', [ 'href' => helper::baseUrl() . 'course', 'help' => 'Contenu' diff --git a/core/core.php b/core/core.php index 62f4407..686201b 100644 --- a/core/core.php +++ b/core/core.php @@ -1416,7 +1416,7 @@ class common // Fonctions pour la gestion des contenus /** - * Retourneles contenus d'un utilisateur + * Retourne les contenus d'un utilisateur * @param string $userId identifiant * @param string $serStatus teacher ou student ou admin */ @@ -1428,7 +1428,7 @@ class common return $c; case self::GROUP_EDITOR: foreach ($c as $courseId => $value) { - if ($this->getData(['enrolment', $courseId]) !== $userId) { + if ($this->getData(['course', $courseId, 'author']) !== $userId) { unset($c[$courseId]); } } diff --git a/core/module/course/course.php b/core/module/course/course.php index d05ce78..0e25629 100644 --- a/core/module/course/course.php +++ b/core/module/course/course.php @@ -20,21 +20,21 @@ class course extends common 'swap' => self::GROUP_VISITOR, 'suscribe' => self::GROUP_VISITOR, 'unsuscribe' => self::GROUP_MEMBER, - 'index' => self::GROUP_ADMIN, - 'edit' => self::GROUP_ADMIN, + 'index' => self::GROUP_EDITOR, + 'edit' => self::GROUP_EDITOR, 'add' => self::GROUP_ADMIN, 'delete' => self::GROUP_ADMIN, 'category' => self::GROUP_ADMIN, 'categoryAdd' => self::GROUP_ADMIN, 'categoryEdit' => self::GROUP_ADMIN, 'categoryDelete' => self::GROUP_ADMIN, - 'user' => self::GROUP_ADMIN, - 'userAdd' => self::GROUP_ADMIN, - 'userDelete' => self::GROUP_ADMIN, - 'userDeleteAll' => self::GROUP_ADMIN, - 'userHistory' => self::GROUP_ADMIN, - 'usersHistoryExport' => self::GROUP_ADMIN, - 'userHistoryExport' => self::GROUP_ADMIN, + 'user' => self::GROUP_EDITOR, + 'userAdd' => self::GROUP_EDITOR, + 'userDelete' => self::GROUP_EDITOR, + 'userDeleteAll' => self::GROUP_EDITOR, + 'userHistory' => self::GROUP_EDITOR, + 'usersHistoryExport' => self::GROUP_EDITOR, + 'userHistoryExport' => self::GROUP_EDITOR, ]; public static $courseAccess = [ @@ -74,38 +74,40 @@ class course extends common public function index() { - $courseIdShortTitle = helper::arrayColumn($this->getData(['course']), 'title'); - ksort($courseIdShortTitle); - foreach ($courseIdShortTitle as $courseId => $courseTitle) { - $categorieUrl = helper::baseUrl() . 'course/suscribe/' . $courseId; - $authorId = $this->getData(['course', $courseId, 'author']); - $author = sprintf('%s %s', $this->getData(['user', $authorId, 'firstname']), $this->getData(['user', $authorId, 'lastname'])); - $access = self::$courseAccess[$this->getData(['course', $courseId, 'access'])]; - $enrolment = self::$courseEnrolment[$this->getData(['course', $courseId, 'enrolment'])]; - $description = sprintf('%s
    %s
    %s
    ', $this->getData(['course', $courseId, 'description']), $access, $enrolment); - self::$courses[] = [ - $courseTitle, - $author, - $description, - '' . $categorieUrl . '', - template::button('categoryUser' . $courseId, [ - 'href' => helper::baseUrl() . 'course/user/' . $courseId, - 'value' => template::ico('users'), - 'help' => 'Inscrits' - ]), - template::button('courseEdit' . $courseId, [ - 'href' => helper::baseUrl() . 'course/edit/' . $courseId, - 'value' => template::ico('pencil'), - 'help' => 'Éditer' - ]), - template::button('courseDelete' . $courseId, [ - 'class' => 'courseDelete buttonRed', - 'href' => helper::baseUrl() . 'course/delete/' . $courseId, - 'value' => template::ico('trash'), - 'help' => 'Supprimer' - ]) + if ($this->getCoursesByUser($this->getUser('id'), $this->getUser('group'))) { + foreach ($this->getCoursesByUser($this->getUser('id'), $this->getUser('group')) as $courseId => $courseValue) { + $categorieUrl = helper::baseUrl() . 'course/suscribe/' . $courseId; + $authorId = $this->getData(['course', $courseId, 'author']); + $author = isset($authorId) + ? sprintf('%s %s', $this->getData(['user', $authorId, 'firstname']), $this->getData(['user', $authorId, 'lastname'])) + : ''; + $access = self::$courseAccess[$courseValue ['access']]; + $enrolment = self::$courseEnrolment[$courseValue ['enrolment']]; + $description = sprintf('%s
    %s
    %s
    ', $courseValue ['description'], $access, $enrolment); + self::$courses[] = [ + $courseValue['title'], + $author, + $description, + '' . $categorieUrl . '', + template::button('categoryUser' . $courseId, [ + 'href' => helper::baseUrl() . 'course/user/' . $courseId, + 'value' => template::ico('users'), + 'help' => 'Inscrits' + ]), + template::button('courseEdit' . $courseId, [ + 'href' => helper::baseUrl() . 'course/edit/' . $courseId, + 'value' => template::ico('pencil'), + 'help' => 'Éditer' + ]), + template::button('courseDelete' . $courseId, [ + 'class' => 'courseDelete buttonRed', + 'href' => helper::baseUrl() . 'course/delete/' . $courseId, + 'value' => template::ico('trash'), + 'help' => 'Supprimer' + ]) - ]; + ]; + } } // Valeurs en sortie