From d2e2de164ff14798159ac3add13333fdf37266f9 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 11 Sep 2023 21:45:31 +0200 Subject: [PATCH] Activation des cours depuis bar --- core/class/layout.class.php | 37 +++++-------------------------- core/class/router.class.php | 2 +- core/core.js.php | 4 ++-- core/module/course/course.php | 25 +++++++++++++++++++++ core/module/language/language.php | 29 ------------------------ 5 files changed, 33 insertions(+), 64 deletions(-) diff --git a/core/class/layout.class.php b/core/class/layout.class.php index ec19c67..278df8a 100644 --- a/core/class/layout.class.php +++ b/core/class/layout.class.php @@ -895,19 +895,12 @@ class layout extends common $leftItems = ''; // Sélecteur de cours if ($this->getUser('group') >= self::GROUP_TEACHER) { - $c = 0; - foreach (self::$languages as $key => $value) { - if (is_dir(self::DATA_DIR . $key)) { - $c++; - $location = helper::baseUrl() . 'language/content/' . $key; - $leftItem .= ''; - } - } - if ($c > 1) { - $leftItems .= '
  • '; + $leftItems .= '
  • '; } // Bouton Gérer les cours $leftItems .= '
  • ' . template::ico('cubes', [ @@ -1217,26 +1210,6 @@ class layout extends common } } } - /** - * Affiche le cadre avec les drapeaux sélectionnés - */ - public function showi18n($lang) - { - if ( - (isset($_SESSION['ZWII_COURSE']) - and $_SESSION['ZWII_COURSE'] === $lang - ) - ) { - $select = ' class="i18nFlagSelected" '; - } else { - $select = ' class="i18nFlag" '; - } - - $items = '
  • '; - $items .= '' . self::$languages[$lang] . ''; - $items .= '
  • '; - return $items; - } // Affiche une icône de navigation // @param $position string 'top' or 'bottom diff --git a/core/class/router.class.php b/core/class/router.class.php index d40b182..2aaac2e 100644 --- a/core/class/router.class.php +++ b/core/class/router.class.php @@ -420,7 +420,7 @@ class core extends common $css .= '.button.buttonGreen, button[type=submit] {background-color: ' . $colors['normal'] . ';color: ' . $colors['text'] . ';}.button.buttonGreen:hover, button[type=submit]:hover {background-color: ' . $colors['darken'] . ';color: ' . $colors['text'] . ';}.button.buttonGreen:active, button[type=submit]:active {background-color: ' . $colors['darken'] . ';color: ' . $colors['text'] . ';}'; $colors = helper::colorVariants($this->getData(['admin', 'backgroundBlockColor'])); $css .= '.buttonTab, .block {border: 1px solid ' . $this->getData(['admin', 'borderBlockColor']) . ';}.buttonTab, .block h4 {background-color: ' . $colors['normal'] . ';color:' . $colors['text'] . ';}'; - $css .= 'table tr,input[type=email],input[type=date],input[type=time],input[type=month],input[type=week],input[type=datetime-local],input[type=text],input[type=password],select:not(#barSelectLanguage),select:not(#barSelectPage),textarea:not(.editorWysiwyg), textarea:not(.editorWysiwygComment),.inputFile{background-color: ' . $colors['normal'] . ';color:' . $colors['text'] . ';border: 1px solid ' . $this->getData(['admin', 'borderBlockColor']) . ';}'; + $css .= 'table tr,input[type=email],input[type=date],input[type=time],input[type=month],input[type=week],input[type=datetime-local],input[type=text],input[type=password],select:not(#barSelectCourse),select:not(#barSelectPage),textarea:not(.editorWysiwyg), textarea:not(.editorWysiwygComment),.inputFile{background-color: ' . $colors['normal'] . ';color:' . $colors['text'] . ';border: 1px solid ' . $this->getData(['admin', 'borderBlockColor']) . ';}'; // Bordure du contour TinyMCE $css .= '.mce-tinymce{border: 1px solid ' . $this->getData(['admin', 'borderBlockColor']) . '!important;}'; // Enregistre la personnalisation diff --git a/core/core.js.php b/core/core.js.php index fc9eecb..7e2ba90 100644 --- a/core/core.js.php +++ b/core/core.js.php @@ -527,7 +527,7 @@ $(document).ready(function () { /** * Sélection d'une langue du site */ - $("select#barSelectLanguage").on("change", function () { + $("select#barSelectCourse").on("change", function () { // La langue courante ne déclenche pas de chargement var langSelected = $(this).val(); var langSelected = langSelected.split("/"); @@ -542,7 +542,7 @@ $(document).ready(function () { langSelected[6] !== langSession ) { //$(location).attr("href", langUrl); - var select = document.getElementById("barSelectLanguage"); + var select = document.getElementById("barSelectCourse"); var selectedOption = select.options[select.selectedIndex]; if (selectedOption.value !== "") { window.location = selectedOption.value; } diff --git a/core/module/course/course.php b/core/module/course/course.php index 60f6644..1825cb8 100644 --- a/core/module/course/course.php +++ b/core/module/course/course.php @@ -19,6 +19,8 @@ class course extends common public static $actions = [ 'index' => self::GROUP_TEACHER, 'add' => self::GROUP_ADMIN, + // + 'swap' => self::GROUP_VISITOR, ]; public static $courseAccess = [ @@ -91,4 +93,27 @@ class course extends common ]); } + /* + * Traitement du changement de langue + * Fonction utilisée par le noyau + */ + public function swap() + { + // Cours sélectionnée + $courseId = $this->getUrl(2); + + if ( + is_dir(self::DATA_DIR . $courseId) && + $this->getData(['course', $courseId]) + ) { + // Stocker la sélection + $_SESSION['ZWII_COURSE'] = $courseId; + } + + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() + ]); + } + } \ No newline at end of file diff --git a/core/module/language/language.php b/core/module/language/language.php index d5a5b58..8041611 100644 --- a/core/module/language/language.php +++ b/core/module/language/language.php @@ -30,7 +30,6 @@ class language extends common // Éditer une langue de contenu 'delete' => self::GROUP_ADMIN, // Effacer une langue de contenu ou de l'interface - 'content' => self::GROUP_VISITOR, 'update' => self::GROUP_ADMIN, 'default' => self::GROUP_ADMIN ]; @@ -511,34 +510,6 @@ class language extends common } } - /* - * Traitement du changement de langue - * Fonction utilisée par le noyau - */ - public function content() - { - // Langue sélectionnée - $lang = $this->getUrl(2); - /** - * Changement de la langue si - * différe de la langue active - * déjà initialisée - * fait partie des langues installées - */ - if ( - is_dir(self::DATA_DIR . $lang) && - array_key_exists($lang, self::$languages) === true - ) { - - // Stocker la sélection - $_SESSION['ZWII_COURSE'] = $lang; - } - - // Valeurs en sortie - $this->addOutput([ - 'redirect' => helper::baseUrl() - ]); - } } \ No newline at end of file