forked from ZwiiCMS-Team/ZwiiCampus
Cours devient Contenu
This commit is contained in:
parent
8f312172f6
commit
893676b1e6
@ -1,6 +1,6 @@
|
||||
# ZwiiLMS 1.0.61
|
||||
|
||||
ZwiiLMS (Learning Management System) est logiciel auteur destiné à mettre en ligne des tutoriels. Il dispose de plusieurs modalités d'ouverture et d'accès des cours. Basé sur la version 13 du CMS Zwii, la structure logicielle est solide, le framework de Zwii est éprouvé.
|
||||
ZwiiLMS (Learning Management System) est logiciel auteur destiné à mettre en ligne des tutoriels. Il dispose de plusieurs modalités d'ouverture et d'accès des contenus. Basé sur la version 13 du CMS Zwii, la structure logicielle est solide, le framework de Zwii est éprouvé.
|
||||
|
||||
|
||||
## Configuration recommandée
|
||||
|
@ -302,7 +302,7 @@ class layout extends common
|
||||
// Affichage du sitemap
|
||||
$items .= '<span id="footerDisplaySiteMap"';
|
||||
$items .= $this->getData(['theme', 'footer', 'displaySiteMap']) === false ? ' class="displayNone"' : '';
|
||||
$label = ($this->getData(['config', 'sitemapPageLabel']) === 'none') ? 'Plan du cours' : $this->getData(['config', 'sitemapPageLabel']);
|
||||
$label = ($this->getData(['config', 'sitemapPageLabel']) === 'none') ? 'Plan du contenu' : $this->getData(['config', 'sitemapPageLabel']);
|
||||
$items .= '><wbr> | <a href="' . helper::baseUrl() . 'sitemap" >' . $label . '</a>';
|
||||
$items .= '</span>';
|
||||
// Affichage du module de recherche
|
||||
@ -893,11 +893,11 @@ class layout extends common
|
||||
if ($this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')) {
|
||||
// Items de gauche
|
||||
$leftItems = '';
|
||||
// Sélecteur de cours
|
||||
// Sélecteur de contenu
|
||||
/**
|
||||
* Les admins voient tous les cours
|
||||
* Les enseignants les cours dont ils sont auteurs
|
||||
* Les étudiants les cours dans lesquels ils sont inscrits
|
||||
* Les admins voient tousles contenus
|
||||
* Les enseignantsles contenus dont ils sont auteurs
|
||||
* Les étudiantsles contenus dans lesquels ils sont inscrits
|
||||
*/
|
||||
if ($this->getUser('group') >= self::GROUP_EDITOR) {
|
||||
if ($this->getCoursesByUser($this->getUser('id'), $this->getUser('group'))) {
|
||||
@ -909,11 +909,11 @@ class layout extends common
|
||||
$leftItems .= '</select></li>';
|
||||
}
|
||||
}
|
||||
// Bouton Gérer les cours
|
||||
// Bouton Gérerles contenus
|
||||
if ($this->getUser('group') >= self::GROUP_ADMIN) {
|
||||
$leftItems .= '<li>' . template::ico('cubes', [
|
||||
'href' => helper::baseUrl() . 'course',
|
||||
'help' => 'Cours'
|
||||
'help' => 'Contenu'
|
||||
]) . '</li>';
|
||||
$leftItems .= '<li>' . template::ico('brush', [
|
||||
'help' => 'Thème',
|
||||
|
@ -493,7 +493,7 @@ class core extends common
|
||||
$this->getUser('id')
|
||||
&& self::$siteContent !== 'home'
|
||||
&& in_array($this->getUrl(0), array_keys($this->getData(['page'])))
|
||||
// Le userId n'est pas celui d'un admis ni le prof du cours
|
||||
// Le userId n'est pas celui d'un admis ni le prof du contenu
|
||||
&& (
|
||||
$this->getUser('group') < self::GROUP_ADMIN
|
||||
|| $this->getUser('id') !== $this->getData(['course', self::$siteContent, 'author'])
|
||||
|
@ -59,7 +59,7 @@ class common
|
||||
// Valeurs possibles multiple de 10, 10 autorise 9 profils, 100 autorise 99 profils
|
||||
const MAX_PROFILS = 10;
|
||||
|
||||
// Constantes pour les cours
|
||||
// Constantes pourles contenus
|
||||
|
||||
// Modalités d'ouverture
|
||||
const COURSE_ACCESS_OPEN = 0;
|
||||
@ -340,7 +340,7 @@ class common
|
||||
foreach ($this->configFiles as $module => $value) {
|
||||
$this->initDB($module);
|
||||
}
|
||||
// Les fichiers des cours
|
||||
// Les fichiers des contenus
|
||||
foreach ($this->contentFiles as $module => $value) {
|
||||
$this->initDB($module, self::$siteContent);
|
||||
}
|
||||
@ -389,7 +389,7 @@ class common
|
||||
}
|
||||
$_SESSION['ZWII_UI'] = self::$i18nUI;
|
||||
}
|
||||
// Stocker le cookie de langue pour l'éditeur de texte ainsi que l'url du cours pour le theme
|
||||
// Stocker le cookie de langue pour l'éditeur de texte ainsi que l'url du contenu pour le theme
|
||||
setcookie('ZWII_UI', self::$i18nUI, time() + 3600, helper::baseUrl(false, false), '', false, false);
|
||||
setcookie('ZWII_SITE_CONTENT', self::$siteContent, time() + 3600, helper::baseUrl(false, false), '', false, false);
|
||||
setlocale(LC_ALL, self::$i18nUI);
|
||||
@ -626,7 +626,7 @@ class common
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation des données sur un cours ou la page d'accueil
|
||||
* Initialisation des données sur un contenu ou la page d'accueil
|
||||
* @param string $course : id du module à générer
|
||||
* @param string $path : le dossier à créer
|
||||
* Données valides : page ou module
|
||||
@ -817,7 +817,7 @@ class common
|
||||
'value' => $rewrite . 'search'
|
||||
];
|
||||
$children[] = [
|
||||
'title' => 'Plan du cours',
|
||||
'title' => 'Plan du contenu',
|
||||
'value' => $rewrite . 'sitemap'
|
||||
];
|
||||
$parents[] = [
|
||||
@ -1413,10 +1413,10 @@ class common
|
||||
}
|
||||
}
|
||||
|
||||
// Fonctions pour la gestion des cours
|
||||
// Fonctions pour la gestion des contenus
|
||||
|
||||
/**
|
||||
* Retourne les cours d'un utilisateur
|
||||
* Retourneles contenus d'un utilisateur
|
||||
* @param string $userId identifiant
|
||||
* @param string $serStatus teacher ou student ou admin
|
||||
*/
|
||||
|
@ -468,7 +468,7 @@ class config extends common
|
||||
'poweredPageLabel' => empty($this->getInput('configLocalePoweredPageLabel', helper::FILTER_STRING_SHORT)) ? 'Motorisé par' : $this->getInput('configLocalePoweredPageLabel', helper::FILTER_STRING_SHORT),
|
||||
'searchPageLabel' => empty($this->getInput('configLocaleSearchPageLabel', helper::FILTER_STRING_SHORT)) ? 'Rechercher' : $this->getInput('configLocaleSearchPageLabel', helper::FILTER_STRING_SHORT),
|
||||
'legalPageLabel' => empty($this->getInput('configLocaleLegalPageLabel', helper::FILTER_STRING_SHORT)) ? 'Mentions légales' : $this->getInput('configLocaleLegalPageLabel', helper::FILTER_STRING_SHORT),
|
||||
'sitemapPageLabel' => empty($this->getInput('configLocaleSitemapPageLabel', helper::FILTER_STRING_SHORT)) ? 'Plan du cours' : $this->getInput('configLocaleSitemapPageLabel', helper::FILTER_STRING_SHORT),
|
||||
'sitemapPageLabel' => empty($this->getInput('configLocaleSitemapPageLabel', helper::FILTER_STRING_SHORT)) ? 'Plan du contenu' : $this->getInput('configLocaleSitemapPageLabel', helper::FILTER_STRING_SHORT),
|
||||
'metaDescription' => $this->getInput('configLocaleMetaDescription', helper::FILTER_STRING_LONG, true),
|
||||
'title' => $this->getInput('configLocaleTitle', helper::FILTER_STRING_SHORT, true),
|
||||
'cookies' => [
|
||||
|
@ -47,7 +47,7 @@
|
||||
<?php echo template::select('configLocaleHomePageId', helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC'), [
|
||||
'label' => 'Page d\'accueil de la plate-forme',
|
||||
'selected' => $this->homePageId(),
|
||||
'help' => 'Ce n\'est pas la page d\'accueil d\'un cours.'
|
||||
'help' => 'Ce n\'est pas la page d\'accueil d\'un contenu.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
@ -129,8 +129,8 @@
|
||||
<div class="row">
|
||||
<div class="col4 offset2">
|
||||
<?php echo template::text('configLocaleSitemapPageLabel', [
|
||||
'label' => 'Plan du cours',
|
||||
'placeholder' => 'Plan du cours',
|
||||
'label' => 'Plan du contenu',
|
||||
'placeholder' => 'Plan du contenu',
|
||||
'value' => $this->getData(['config', 'sitemapPageLabel']),
|
||||
]); ?>
|
||||
</div>
|
||||
|
@ -110,7 +110,7 @@ class course extends common
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => helper::translate('Cours'),
|
||||
'title' => helper::translate('Contenu'),
|
||||
'view' => 'index',
|
||||
'vendor' => [
|
||||
'datatables'
|
||||
@ -119,7 +119,7 @@ class course extends common
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un nouveau cours
|
||||
* Ajoute un nouveau contenu
|
||||
*/
|
||||
public function add()
|
||||
{
|
||||
@ -173,7 +173,7 @@ class course extends common
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . 'course',
|
||||
'notification' => helper::translate('Cours créé'),
|
||||
'notification' => helper::translate('Contenu créé'),
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -186,23 +186,23 @@ class course extends common
|
||||
}
|
||||
}
|
||||
|
||||
// Liste des catégories de cours
|
||||
// Liste des catégories de contenu
|
||||
self::$courseCategories = $this->getData(['category']);
|
||||
|
||||
// Liste des cours disponibles pour la copie du thème
|
||||
// Liste des contenus disponibles pour la copie du thème
|
||||
self::$courses = $this->getData(['course']);
|
||||
self::$courses = helper::arrayColumn(self::$courses, 'title', 'SORT_ASC');
|
||||
self::$courses = array_merge(['home' => 'Accueil de la plate-forme'], self::$courses);
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => helper::translate('Ajouter un cours'),
|
||||
'title' => helper::translate('Ajouter un contenu'),
|
||||
'view' => 'add'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Edite un cours
|
||||
* Edite un contenu
|
||||
*/
|
||||
public function edit()
|
||||
{
|
||||
@ -233,7 +233,7 @@ class course extends common
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . 'course',
|
||||
'notification' => helper::translate('Cours édité'),
|
||||
'notification' => helper::translate('Contenu édité'),
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -246,7 +246,7 @@ class course extends common
|
||||
}
|
||||
}
|
||||
|
||||
// Liste des catégories de cours
|
||||
// Liste des catégories de contenu
|
||||
self::$courseCategories = $this->getData(['category']);
|
||||
|
||||
// Liste des pages disponibles
|
||||
@ -263,7 +263,7 @@ class course extends common
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => helper::translate('Editer un cours'),
|
||||
'title' => helper::translate('Editer un contenu'),
|
||||
'view' => 'edit'
|
||||
]);
|
||||
}
|
||||
@ -273,7 +273,7 @@ class course extends common
|
||||
$courseId = $this->getUrl(2);
|
||||
if (
|
||||
$this->getUser('permission', __CLASS__, __FUNCTION__) !== true ||
|
||||
// Le cours n'existe pas
|
||||
// Le contenu n'existe pas
|
||||
$this->getData(['course', $courseId]) === null
|
||||
// Groupe insuffisant
|
||||
and ($this->getUrl('group') < self::GROUP_EDITOR)
|
||||
@ -297,7 +297,7 @@ class course extends common
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . 'course',
|
||||
'notification' => $success ? helper::translate('Cours supprimé') : helper::translate('Erreur de suppression'),
|
||||
'notification' => $success ? helper::translate('Contenu supprimé') : helper::translate('Erreur de suppression'),
|
||||
'state' => $success
|
||||
]);
|
||||
}
|
||||
@ -305,7 +305,7 @@ class course extends common
|
||||
}
|
||||
|
||||
/**
|
||||
* Liste les catégories d'un cours
|
||||
* Liste les catégories d'un contenu
|
||||
*/
|
||||
public function category()
|
||||
{
|
||||
@ -330,7 +330,7 @@ class course extends common
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => helper::translate('Catégorie de cours'),
|
||||
'title' => helper::translate('Catégorie de contenu'),
|
||||
'view' => 'category'
|
||||
]);
|
||||
}
|
||||
@ -429,7 +429,7 @@ class course extends common
|
||||
public function user()
|
||||
{
|
||||
|
||||
// Cours sélectionné
|
||||
// Contenu sélectionné
|
||||
$courseId = $this->getUrl(2);
|
||||
|
||||
// Liste des groupes et des profils
|
||||
@ -460,7 +460,7 @@ class course extends common
|
||||
self::$alphabet = array_combine($alphabet, self::$alphabet);
|
||||
self::$alphabet = array_merge(['all' => 'Tout'], self::$alphabet);
|
||||
|
||||
// Statistiques du cours sélectionné calcul du nombre de pages
|
||||
// Statistiques du contenu sélectionné calcul du nombre de pages
|
||||
$sumPages = 0;
|
||||
$data = json_decode(file_get_contents(self::DATA_DIR . $courseId . '/page.json'), true);
|
||||
// Exclure les barres et les pages masquées
|
||||
@ -471,7 +471,7 @@ class course extends common
|
||||
}
|
||||
}
|
||||
|
||||
// Liste des inscrits dans le cours sélectionné.
|
||||
// Liste des inscrits dans le contenu sélectionné.
|
||||
$users = $this->getData(['enrolment', $courseId]);
|
||||
|
||||
// Tri du tableau par défaut par $userId
|
||||
@ -546,7 +546,7 @@ class course extends common
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => sprintf(helper::translate('Inscriptions dans le cours %s'), $this->getData(['course', $courseId, 'title'])),
|
||||
'title' => sprintf(helper::translate('Inscriptions dans le contenu %s'), $this->getData(['course', $courseId, 'title'])),
|
||||
'view' => 'user',
|
||||
'vendor' => [
|
||||
'datatables'
|
||||
@ -605,7 +605,7 @@ class course extends common
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . 'course/user/' . $this->getUrl(2),
|
||||
'notification' => helper::translate('Cours réinitialisé'),
|
||||
'notification' => helper::translate('Contenu réinitialisé'),
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -623,13 +623,13 @@ class course extends common
|
||||
$state = true;
|
||||
|
||||
if (
|
||||
// Sortir du cours et afficher l'accueil
|
||||
// Sortir du contenu et afficher l'accueil
|
||||
$courseId === 'home'
|
||||
) {
|
||||
$_SESSION['ZWII_SITE_CONTENT'] = $courseId;
|
||||
}
|
||||
// l'étudiant est inscrit dans le cours ET le cours est ouvert
|
||||
// ou un admin ou le prof du cours sont connectés
|
||||
// l'étudiant est inscrit dans le contenu ET le contenu est ouvert
|
||||
// ou un admin ou le prof du contenu sont connectés
|
||||
elseif (
|
||||
$this->courseIsUserEnroled($courseId)
|
||||
&& $this->courseIsAvailable($courseId)
|
||||
@ -644,24 +644,24 @@ class course extends common
|
||||
}
|
||||
if ($this->getData(['course', $courseId, 'access']) === self::COURSE_ACCESS_DATE) {
|
||||
$to = helper::dateUTF8('%d %B %Y', $this->getData(['course', $courseId, 'closingDate']), self::$i18nUI) . helper::translate(' à ') . helper::dateUTF8('%H:%M', $this->getData(['course', $courseId, 'closingDate']), self::$i18nUI);
|
||||
$message = sprintf(helper::translate('Ce cours ferme le %s'), $to);
|
||||
$message = sprintf(helper::translate('Ce contenu ferme le %s'), $to);
|
||||
} else {
|
||||
$message = sprintf(helper::translate('Bienvenue dans le cours %s'), $this->getData(['course', $courseId, 'title']));
|
||||
$message = sprintf(helper::translate('Bienvenue dans le contenu %s'), $this->getData(['course', $courseId, 'title']));
|
||||
}
|
||||
$_SESSION['ZWII_SITE_CONTENT'] = $courseId;
|
||||
}
|
||||
// Le cours est fermé
|
||||
// Le contenu est fermé
|
||||
elseif ($this->courseIsAvailable($courseId) === false) {
|
||||
// Génération du message
|
||||
$message = helper::translate('Ce cours est fermé');
|
||||
$message = helper::translate('Ce contenu est fermé');
|
||||
$state = false;
|
||||
if ($this->getData(['course', $courseId, 'access']) === self::COURSE_ACCESS_DATE) {
|
||||
$from = helper::dateUTF8('%d %B %Y', $this->getData(['course', $courseId, 'openingDate']), self::$i18nUI) . helper::translate(' à ') . helper::dateUTF8('%H:%M', $this->getData(['course', $courseId, 'openingDate']), self::$i18nUI);
|
||||
$to = helper::dateUTF8('%d %B %Y', $this->getData(['course', $courseId, 'closingDate']), self::$i18nUI) . helper::translate(' à ') . helper::dateUTF8('%H:%M', $this->getData(['course', $courseId, 'closingDate']), self::$i18nUI);
|
||||
$message = sprintf(helper::translate('Ce cours ouvre le <br>%s <br> et ferme le %s'), $from, $to);
|
||||
$message = sprintf(helper::translate('Ce contenu ouvre le <br>%s <br> et ferme le %s'), $from, $to);
|
||||
}
|
||||
}
|
||||
// le cours est ouvert, l'étudiant n'est pas inscrit, l'accès au cours est anonyme
|
||||
// le contenu est ouvert, l'étudiant n'est pas inscrit, l'accès au contenu est anonyme
|
||||
elseif (
|
||||
$this->courseIsAvailable($courseId) &&
|
||||
$this->courseIsUserEnroled($courseId) === false
|
||||
@ -678,7 +678,7 @@ class course extends common
|
||||
if ($this->getUser('id')) {
|
||||
$redirect = helper::baseUrl() . 'course/suscribe/' . $courseId;
|
||||
} else {
|
||||
$message = helper::translate('Vous devez disposer d\'un compte pour accéder à ce cours ');
|
||||
$message = helper::translate('Vous devez disposer d\'un compte pour accéder à ce contenu ');
|
||||
$state = false;
|
||||
}
|
||||
break;
|
||||
@ -687,14 +687,14 @@ class course extends common
|
||||
if ($this->getUser('id')) {
|
||||
$redirect = helper::baseUrl() . 'course/suscribe/' . $courseId;
|
||||
} else {
|
||||
$message = helper::translate('Vous devez disposer d\'un compte et d\'une clé pour accéder à ce cours ');
|
||||
$message = helper::translate('Vous devez disposer d\'un compte et d\'une clé pour accéder à ce contenu ');
|
||||
$state = false;
|
||||
}
|
||||
break;
|
||||
// Par le prof
|
||||
/*
|
||||
case self::COURSE_ENROLMENT_MANUAL:
|
||||
$message = helper::translate('L\'enseignant ne vous a pas inscrit dans ce cours !');
|
||||
$message = helper::translate('L\'enseignant ne vous a pas inscrit dans ce contenu !');
|
||||
$state = false;
|
||||
break;
|
||||
default:
|
||||
@ -758,7 +758,7 @@ class course extends common
|
||||
|
||||
$courseId = $this->getUrl(2);
|
||||
|
||||
// Statistiques du cours sélectionné calcul du nombre de pages
|
||||
// Statistiques du contenu sélectionné calcul du nombre de pages
|
||||
$sumPages = 0;
|
||||
$data = json_decode(file_get_contents(self::DATA_DIR . $courseId . '/page.json'), true);
|
||||
// Exclure les barres et les pages masquées
|
||||
@ -769,7 +769,7 @@ class course extends common
|
||||
}
|
||||
}
|
||||
|
||||
// Liste des inscrits dans le cours sélectionné.
|
||||
// Liste des inscrits dans le contenu sélectionné.
|
||||
$users = $this->getData(['enrolment', $courseId]);
|
||||
|
||||
// Tri du tableau par défaut par $userId
|
||||
@ -939,13 +939,13 @@ class course extends common
|
||||
switch ($this->getData(['course', $courseId, 'enrolment'])) {
|
||||
case self::COURSE_ENROLMENT_SELF:
|
||||
if ($userId == '') {
|
||||
self::$swapMessage['enrolmentMessage'] = helper::translate('Connectez-vous pour accéder à ce cours.');
|
||||
self::$swapMessage['enrolmentMessage'] = helper::translate('Connectez-vous pour accéder à ce contenu.');
|
||||
self::$swapMessage['submitLabel'] = helper::translate('Connexion');
|
||||
}
|
||||
break;
|
||||
case self::COURSE_ENROLMENT_SELF_KEY:
|
||||
if ($userId == '') {
|
||||
self::$swapMessage['enrolmentMessage'] = helper::translate('Connectez-vous pour accéder à ce cours.');
|
||||
self::$swapMessage['enrolmentMessage'] = helper::translate('Connectez-vous pour accéder à ce contenu.');
|
||||
self::$swapMessage['submitLabel'] = helper::translate('Connexion');
|
||||
} else {
|
||||
self::$swapMessage['enrolmentKey'] = template::text('courseSwapEnrolmentKey', [
|
||||
@ -954,12 +954,12 @@ class course extends common
|
||||
}
|
||||
break;
|
||||
case self::COURSE_ENROLMENT_MANUAL:
|
||||
self::$swapMessage['enrolmentMessage'] = helper::translate('L\'enseignant inscrit les étudiants dans le cours, vous ne pouvez pas vous inscrire vous-même.');
|
||||
self::$swapMessage['enrolmentMessage'] = helper::translate('L\'enseignant inscrit les étudiants dans le contenu, vous ne pouvez pas vous inscrire vous-même.');
|
||||
break;
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => sprintf(helper::translate('Accéder au cours %s'), $this->getData(['course', $this->getUrl(2), 'title'])),
|
||||
'title' => sprintf(helper::translate('Accéder au contenu %s'), $this->getData(['course', $this->getUrl(2), 'title'])),
|
||||
'view' => 'suscribe',
|
||||
'display' => self::DISPLAY_LAYOUT_LIGHT,
|
||||
]);
|
||||
@ -968,9 +968,9 @@ class course extends common
|
||||
|
||||
public function unsuscribe()
|
||||
{
|
||||
// Désincription du cours ouvert ou du cours sélectionné
|
||||
// Désincription du contenu ouvert ou du contenu sélectionné
|
||||
$courseId = $this->getUrl(2) ? $this->getUrl(2) : self::$siteContent;
|
||||
// home n'est pas un cours dans lequel on peut se désincrire
|
||||
// home n'est pas un contenu dans lequel on peut se désincrire
|
||||
if (
|
||||
$courseId !== 'home'
|
||||
&& array_key_exists($courseId, $this->getData(['course']))
|
||||
@ -990,10 +990,10 @@ class course extends common
|
||||
|
||||
|
||||
/**
|
||||
* Autorise l'accès à un cours
|
||||
* @param @return bool le user a le droit d'entrée dans le cours
|
||||
* Autorise l'accès à un contenu
|
||||
* @param @return bool le user a le droit d'entrée dans le contenu
|
||||
* @param string $userId identifiant de l'utilisateur
|
||||
* @param string $courseId identifiant du cours sollicité
|
||||
* @param string $courseId identifiant du contenu sollicité
|
||||
*/
|
||||
private function courseIsUserEnroled($courseId)
|
||||
{
|
||||
@ -1021,9 +1021,9 @@ class course extends common
|
||||
}
|
||||
|
||||
/**
|
||||
* Autorise l'accès à un cours
|
||||
* @param @return bool le user a le droit d'entrée dans le cours
|
||||
* @param string $courseId identifiant du cours sollicité
|
||||
* Autorise l'accès à un contenu
|
||||
* @param @return bool le user a le droit d'entrée dans le contenu
|
||||
* @param string $courseId identifiant du contenu sollicité
|
||||
*/
|
||||
public function courseIsAvailable($courseId)
|
||||
{
|
||||
@ -1038,7 +1038,7 @@ class course extends common
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
// Retourne le statut du cours dans les autres cas
|
||||
// Retourne le statut du contenu dans les autres cas
|
||||
$access = $this->getData(['course', $courseId, 'access']);
|
||||
switch ($access) {
|
||||
case self::COURSE_ACCESS_OPEN:
|
||||
|
@ -34,7 +34,7 @@
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::select('courseEditHomePageId', helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC'), [
|
||||
'label' => 'Accueil du cours',
|
||||
'label' => 'Accueil du contenu',
|
||||
'selected' => $this->getdata(['course', $this->getUrl(2), 'homePageId']),
|
||||
]); ?>
|
||||
</div>
|
||||
|
@ -17,7 +17,7 @@ $(document).ready(function () {
|
||||
*/
|
||||
$(".courseDelete").on("click", function () {
|
||||
var _this = $(this);
|
||||
var message = "<?php echo helper::translate('Supprimer ce cours ?'); ?>";
|
||||
var message = "<?php echo helper::translate('Supprimer ce contenu ?'); ?>";
|
||||
return core.confirm(message, function () {
|
||||
$(location).attr("href", _this.attr("href"));
|
||||
});
|
||||
|
@ -10,7 +10,7 @@
|
||||
<?php echo template::button('courseCategory', [
|
||||
'href' => helper::baseUrl() . 'course/category',
|
||||
'value' => template::ico('table'),
|
||||
'help' => 'Catégories de cours'
|
||||
'help' => 'Catégories de contenu'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col1 ">
|
||||
@ -24,5 +24,5 @@
|
||||
<?php if($module::$courses): ?>
|
||||
<?php echo template::table([2, 2, 2, 3, 1, 1, 1], $module::$courses, ['Titre court', 'Auteur', 'Description', 'Lien direct', '', '', ''], ['id' => 'dataTables']); ?>
|
||||
<?php else: ?>
|
||||
<?php echo template::speech('Aucun Cours'); ?>
|
||||
<?php echo template::speech('Aucun Contenu'); ?>
|
||||
<?php endif; ?>
|
||||
|
@ -122,7 +122,7 @@ class install extends common
|
||||
self::$i18nUI = $_SESSION['ZWII_UI'];
|
||||
self::$i18nUI = array_key_exists(self::$i18nUI, self::$languages) ? self::$i18nUI : 'fr_FR';
|
||||
|
||||
// Création du dossier de cours avec le marqueur de langue par défaut
|
||||
// Création du dossier de contenu avec le marqueur de langue par défaut
|
||||
if (!is_dir(self::DATA_DIR . $_SESSION['ZWII_SITE_CONTENT'])) {
|
||||
mkdir(self::DATA_DIR . $_SESSION['ZWII_SITE_CONTENT']);
|
||||
touch(self::DATA_DIR . $_SESSION['ZWII_SITE_CONTENT'] . '/.default');
|
||||
|
@ -18,7 +18,7 @@ class init extends common
|
||||
'legalPageId' => 'none',
|
||||
'searchPageId' => 'none',
|
||||
'searchPageLabel' => 'Rechercher',
|
||||
'sitemapPageLabel' => 'Plan du cours',
|
||||
'sitemapPageLabel' => 'Plan du contenu',
|
||||
'legalPageLabel' => 'Mentions légales',
|
||||
'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.',
|
||||
'title' => 'Votre site en quelques clics !',
|
||||
@ -908,15 +908,15 @@ class init extends common
|
||||
'accueil' => [
|
||||
'content' => '<h2>Bienvenue sur cette nouvelle installation de Zwii Campus.</h2>
|
||||
<p>Zwii Campus est un outil auteur destiné à mettre en ligne des contenus d\'enseignement pour des apprenants.</p>
|
||||
<p>Les contenus d\'enseignement se présentent comme des mini site Web. Le contenu des cours est librement personnalisable, dans la plupart des cas on utilisera un menu latéral et les pages disposeront de boutons de navigation.</p>
|
||||
<p>Chaque cours disposent de modalités d\'ouverture : ouvert, fermé et ouvert entre deux dates.</p>
|
||||
<p>Les contenus d\'enseignement se présentent comme des mini site Web. Le contenu des contenus est librement personnalisable, dans la plupart des cas on utilisera un menu latéral et les pages disposeront de boutons de navigation.</p>
|
||||
<p>Chaque contenu disposent de modalités d\'ouverture : ouvert, fermé et ouvert entre deux dates.</p>
|
||||
<p>Les modalités d\'accès sont variées:</p>
|
||||
<ul>
|
||||
<li>anonyme (ouvert à tous sans avoir à disposer de compte d\'accès),</li>
|
||||
<li>avec inscription libre pour les détenteurs d\'un compte d\'accès,</li>
|
||||
<li>et avec une clé d\'inscription pour les détenteurs d\'un compte d\'accès.</li>
|
||||
</ul>
|
||||
<p>Le parcours des apprenants est suivi : le pourcentage de progression et le détail de la consultation des pages est visible dans la gestion des cours.</p>'
|
||||
<p>Le parcours des apprenants est suivi : le pourcentage de progression et le détail de la consultation des pages est visible dans la gestion des contenus.</p>'
|
||||
],
|
||||
'contact' => [
|
||||
'content' => '<p>Cette page contient un exemple de formulaire conçu à partir du module de génération de formulaires. Il est configuré pour envoyer les données saisies par mail aux administrateurs du site.</p>'
|
||||
@ -1260,7 +1260,7 @@ class init extends common
|
||||
|
||||
public static $courseContent = [
|
||||
'accueil' => [
|
||||
'content' => '<h2>Bienvenue sur votre nouveau Cours !</h2>'
|
||||
'content' => '<h2>Bienvenue sur votre nouveau contenu !</h2>'
|
||||
],
|
||||
'page1' => [
|
||||
'content' => '<h2>Ceci est la première page.</h2>'
|
||||
|
@ -422,7 +422,7 @@ class plugin extends common
|
||||
|
||||
$siteContent = ['home' => 'Accueil de la plate-forme'];
|
||||
/**
|
||||
* Tableau des cours, cette partie est spécifique au LMS
|
||||
* Tableau des contenus, cette partie est spécifique au LMS
|
||||
*/
|
||||
foreach ($this->getData(['course']) as $key => $value) {
|
||||
// tableau des langues installées
|
||||
|
@ -109,7 +109,7 @@ class sitemap extends common
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => helper::translate('Plan du cours'),
|
||||
'title' => helper::translate('Plan du contenu'),
|
||||
'view' => 'index'
|
||||
]);
|
||||
}
|
||||
|
@ -103,7 +103,7 @@
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themefooterDisplaySiteMap', true, 'Plan du cours', [
|
||||
<?php echo template::checkbox('themefooterDisplaySiteMap', true, 'Plan du contenu', [
|
||||
'checked' => $this->getData(['theme', 'footer', 'displaySiteMap'])
|
||||
]); ?>
|
||||
</div>
|
||||
|
@ -77,7 +77,7 @@
|
||||
<?php echo template::select('coursesConfigLayout', $module::$coursesLayout, [
|
||||
'label' => 'Présentation en colonnes',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'layout']),
|
||||
'help' => 'Chaque cours est présenté dans une colonne'
|
||||
'help' => 'Chaque contenu est présenté dans une colonne'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
@ -96,7 +96,7 @@
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4>
|
||||
<?php echo helper::translate('Étiquettes : disponibilité du cours'); ?>
|
||||
<?php echo helper::translate('Étiquettes : disponibilité du contenu'); ?>
|
||||
</h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
@ -152,7 +152,7 @@
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('coursesCaptionUrl', [
|
||||
'label' => 'Lien vers le cours',
|
||||
'label' => 'Lien vers le contenu',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'caption', 'url']),
|
||||
'help' => 'Classe CSS de la division : workshopSuscribe'
|
||||
]); ?>
|
||||
|
@ -64,7 +64,7 @@
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Lien accès au cours-->
|
||||
<!-- Lien accès au contenu-->
|
||||
<div class="row">
|
||||
<div class="col6 workshopLinkContainer">
|
||||
<?php if (
|
||||
|
@ -16,7 +16,7 @@
|
||||
class workshop extends common
|
||||
{
|
||||
const VERSION = '1.0';
|
||||
const REALNAME = 'Liste des cours';
|
||||
const REALNAME = 'Liste des contenus';
|
||||
const DATADIRECTORY = ''; // Contenu localisé inclus par défaut (page.json et module.json)
|
||||
|
||||
public static $actions = [
|
||||
@ -29,11 +29,11 @@ class workshop extends common
|
||||
];
|
||||
|
||||
public static $coursesLayout = [
|
||||
12 => 'Un cours par ligne',
|
||||
6 => 'Deux cours par ligne',
|
||||
4 => 'Trois cours par ligne',
|
||||
3 => 'Quatre cours par ligne',
|
||||
2 => 'Six cours par ligne',
|
||||
12 => 'Un contenu par ligne',
|
||||
6 => 'Deux contenu par ligne',
|
||||
4 => 'Trois contenu par ligne',
|
||||
3 => 'Quatre contenu par ligne',
|
||||
2 => 'Six contenu par ligne',
|
||||
];
|
||||
|
||||
public static $coursesAccess = [];
|
||||
@ -58,7 +58,7 @@ class workshop extends common
|
||||
"enrolguest" => "Anonyme",
|
||||
"enrolself" => "Membres",
|
||||
"enrolselfkey" => "Membres avec clé",
|
||||
"url" => "Accéder au cours",
|
||||
"url" => "Accéder au contenu",
|
||||
"unsuscribe" => "Me désinscrire"
|
||||
)
|
||||
];
|
||||
@ -117,7 +117,7 @@ class workshop extends common
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
// Liste des catégories de cours
|
||||
// Liste des catégories de contenu
|
||||
self::$courseCategories = array_merge(self::$courseCategories, $this->getData(['category']));
|
||||
|
||||
// Valeurs en sortie
|
||||
|
Loading…
Reference in New Issue
Block a user