Activation des cours depuis bar

This commit is contained in:
Fred Tempez 2023-09-11 21:45:31 +02:00
parent 1f435b7e19
commit d2e2de164f
5 changed files with 33 additions and 64 deletions

View File

@ -895,19 +895,12 @@ class layout extends common
$leftItems = ''; $leftItems = '';
// Sélecteur de cours // Sélecteur de cours
if ($this->getUser('group') >= self::GROUP_TEACHER) { if ($this->getUser('group') >= self::GROUP_TEACHER) {
$c = 0; $leftItems .= '<li><select id="barSelectCourse" >';
foreach (self::$languages as $key => $value) { $leftItems .= '<option name="' . helper::translate('Accueil') . '" value="' . helper::baseUrl() . 'course/swap/home" ' . ('home' === self::$courseContent ? 'selected' : '') . '>' . helper::translate('Accueil') . '</option>';
if (is_dir(self::DATA_DIR . $key)) { foreach ($this->getData(['course']) as $key => $value) {
$c++; $leftItems .= '<option name="' . $value['shortTitle'] . '" value="' . helper::baseUrl() . 'course/swap/' . $key . '" ' . ($key === self::$courseContent ? 'selected' : '') . '>' . $value['shortTitle'] . '</option>';
$location = helper::baseUrl() . 'language/content/' . $key;
$leftItem .= '<option name="' . $key . '" value="' . $location . '" ' . ($key === self::$courseContent ? 'selected' : '') . '>' . $value . '</option>';
}
}
if ($c > 1) {
$leftItems .= '<li><select id="barSelectLanguage" >';
$leftItems .= $leftItem;
$leftItems .= '</select></li>';
} }
$leftItems .= '</select></li>';
} }
// Bouton Gérer les cours // Bouton Gérer les cours
$leftItems .= '<li>' . template::ico('cubes', [ $leftItems .= '<li>' . 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 = '<li>';
$items .= '<a href="' . helper::baseUrl() . 'language/content/' . $lang . '"><img ' . $select . ' alt="' . self::$languages[$lang] . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $lang . '.png"/></a>';
$items .= '</li>';
return $items;
}
// Affiche une icône de navigation // Affiche une icône de navigation
// @param $position string 'top' or 'bottom // @param $position string 'top' or 'bottom

View File

@ -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'] . ';}'; $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'])); $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 .= '.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 // Bordure du contour TinyMCE
$css .= '.mce-tinymce{border: 1px solid ' . $this->getData(['admin', 'borderBlockColor']) . '!important;}'; $css .= '.mce-tinymce{border: 1px solid ' . $this->getData(['admin', 'borderBlockColor']) . '!important;}';
// Enregistre la personnalisation // Enregistre la personnalisation

View File

@ -527,7 +527,7 @@ $(document).ready(function () {
/** /**
* Sélection d'une langue du site * 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 // La langue courante ne déclenche pas de chargement
var langSelected = $(this).val(); var langSelected = $(this).val();
var langSelected = langSelected.split("/"); var langSelected = langSelected.split("/");
@ -542,7 +542,7 @@ $(document).ready(function () {
langSelected[6] !== langSession langSelected[6] !== langSession
) { ) {
//$(location).attr("href", langUrl); //$(location).attr("href", langUrl);
var select = document.getElementById("barSelectLanguage"); var select = document.getElementById("barSelectCourse");
var selectedOption = select.options[select.selectedIndex]; var selectedOption = select.options[select.selectedIndex];
if (selectedOption.value !== "") { if (selectedOption.value !== "") {
window.location = selectedOption.value; } window.location = selectedOption.value; }

View File

@ -19,6 +19,8 @@ class course extends common
public static $actions = [ public static $actions = [
'index' => self::GROUP_TEACHER, 'index' => self::GROUP_TEACHER,
'add' => self::GROUP_ADMIN, 'add' => self::GROUP_ADMIN,
//
'swap' => self::GROUP_VISITOR,
]; ];
public static $courseAccess = [ 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()
]);
}
} }

View File

@ -30,7 +30,6 @@ class language extends common
// Éditer une langue de contenu // Éditer une langue de contenu
'delete' => self::GROUP_ADMIN, 'delete' => self::GROUP_ADMIN,
// Effacer une langue de contenu ou de l'interface // Effacer une langue de contenu ou de l'interface
'content' => self::GROUP_VISITOR,
'update' => self::GROUP_ADMIN, 'update' => self::GROUP_ADMIN,
'default' => 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()
]);
}
} }