12100 Sélecteur de langue du site dans la barre d'administration
This commit is contained in:
parent
1c16e14bac
commit
45c918e2ee
@ -5,6 +5,7 @@
|
|||||||
- Corrige une erreur fatale avec un argument float au lieu d'int dans mt_srand.
|
- Corrige une erreur fatale avec un argument float au lieu d'int dans mt_srand.
|
||||||
### Améliorations :
|
### Améliorations :
|
||||||
- Changement du nom de formulaire de gestion des langues (multilangue devient multilingue).
|
- Changement du nom de formulaire de gestion des langues (multilangue devient multilingue).
|
||||||
|
- Présence d'un sélecteur de langue de contenu dans la barre d'administration.
|
||||||
- Traductions de l'interface d'administration, ajout de nouvelles fonctionnalités :
|
- Traductions de l'interface d'administration, ajout de nouvelles fonctionnalités :
|
||||||
- Installation et mise à jour d'une langue depuis un magasin en ligne ;
|
- Installation et mise à jour d'une langue depuis un magasin en ligne ;
|
||||||
- Téléchargement d'une langue modifiée avec l'éditeur intégré ;
|
- Téléchargement d'une langue modifiée avec l'éditeur intégré ;
|
||||||
|
@ -252,6 +252,16 @@ core.start = function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sélection d'une langue du site
|
||||||
|
*/
|
||||||
|
$("#barSelectLanguage").on("change", function() {
|
||||||
|
var lang = $(this).val();
|
||||||
|
console.log (lang);
|
||||||
|
if(lang) {
|
||||||
|
$(location).attr("href", lang);
|
||||||
|
}
|
||||||
|
});
|
||||||
/**
|
/**
|
||||||
* Choix de page dans la barre de membre
|
* Choix de page dans la barre de membre
|
||||||
*/
|
*/
|
||||||
@ -261,6 +271,7 @@ core.start = function() {
|
|||||||
$(location).attr("href", pageUrl);
|
$(location).attr("href", pageUrl);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Champs d'upload de fichiers
|
* Champs d'upload de fichiers
|
||||||
*/
|
*/
|
||||||
|
@ -318,7 +318,6 @@ class common
|
|||||||
self::$i18nContent = 'fr_FR';
|
self::$i18nContent = 'fr_FR';
|
||||||
\setlocale(LC_TIME, self::$i18nContent . '.UTF8');
|
\setlocale(LC_TIME, self::$i18nContent . '.UTF8');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mise à jour à partir de la version 11.5.12
|
* Mise à jour à partir de la version 11.5.12
|
||||||
* */
|
* */
|
||||||
@ -1798,7 +1797,7 @@ class common
|
|||||||
$t[] = $this->showi18n($key);
|
$t[] = $this->showi18n($key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Pas de drapeau si la langu eest unique
|
// Pas de drapeau si la langue est unique
|
||||||
if (count($t) > 1) {
|
if (count($t) > 1) {
|
||||||
foreach ($t as $key) {
|
foreach ($t as $key) {
|
||||||
echo $key;
|
echo $key;
|
||||||
@ -2135,9 +2134,28 @@ class common
|
|||||||
if ($this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')) {
|
if ($this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')) {
|
||||||
// Items de gauche
|
// Items de gauche
|
||||||
$leftItems = '';
|
$leftItems = '';
|
||||||
|
// Sélecteur de langues
|
||||||
|
if ($this->getUser('group') >= self::GROUP_MODERATOR) {
|
||||||
|
$c = 0;
|
||||||
|
$leftItem = '';
|
||||||
|
foreach (self::$languages as $key => $value) {
|
||||||
|
if (is_dir(self::DATA_DIR . $key)) {
|
||||||
|
$c++;
|
||||||
|
$location = helper::baseUrl() . 'translate/content/' . $key ;
|
||||||
|
$leftItem .= '<option value="' . $location . '" ' . ($key === self::$i18nContent ? 'selected' : '') . '>' . $value . '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($c > 1 ) {
|
||||||
|
$leftItems .= '<li><select id="barSelectLanguage">';
|
||||||
|
$leftItems .= $leftItem;
|
||||||
|
$leftItems .= '</select></li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// Liste des pages
|
||||||
if ($this->getUser('group') >= self::GROUP_MODERATOR) {
|
if ($this->getUser('group') >= self::GROUP_MODERATOR) {
|
||||||
$leftItems .= '<li><select id="barSelectPage">';
|
$leftItems .= '<li><select id="barSelectPage">';
|
||||||
$leftItems .= '<option value="">Choisissez une page</option>';
|
$leftItems .= '<option value="">Pages du site</option>';
|
||||||
$leftItems .= '<optgroup label="Pages orphelines">';
|
$leftItems .= '<optgroup label="Pages orphelines">';
|
||||||
$orpheline = true;
|
$orpheline = true;
|
||||||
$currentPageId = $this->getData(['page', $this->getUrl(0)]) ? $this->getUrl(0) : $this->getUrl(2);
|
$currentPageId = $this->getData(['page', $this->getUrl(0)]) ? $this->getUrl(0) : $this->getUrl(2);
|
||||||
@ -2241,7 +2259,7 @@ class common
|
|||||||
'href' => helper::baseUrl() . 'plugin'
|
'href' => helper::baseUrl() . 'plugin'
|
||||||
]) . '</li>';
|
]) . '</li>';
|
||||||
$rightItems .= '<li>' . template::ico('flag', [
|
$rightItems .= '<li>' . template::ico('flag', [
|
||||||
'help' => 'Contenu Multilingues',
|
'help' => 'Multilingue',
|
||||||
'href' => helper::baseUrl() . 'translate'
|
'href' => helper::baseUrl() . 'translate'
|
||||||
]) . '</li>';
|
]) . '</li>';
|
||||||
$rightItems .= '<li>' . template::ico('cog-alt', [
|
$rightItems .= '<li>' . template::ico('cog-alt', [
|
||||||
@ -2809,7 +2827,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=text],input[type=password],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=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']) . ';}';
|
||||||
// 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
|
||||||
|
@ -411,14 +411,16 @@ td>.col12 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#bar select {
|
#bar select {
|
||||||
width: 250px;
|
width: 150px;
|
||||||
border: 0;
|
border: 0;
|
||||||
color: #111112;
|
color: #111112;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
background-color: rgba(255, 255, 255, 1);
|
background-color: rgba(255, 255, 255, 1);
|
||||||
|
padding : 8px;
|
||||||
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 769px) {
|
@media screen and (min-width: 800px) {
|
||||||
#bar #barLeft {
|
#bar #barLeft {
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
@ -429,7 +431,7 @@ td>.col12 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 768px) {
|
@media screen and (max-width: 799px) {
|
||||||
#bar {
|
#bar {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 0 1;
|
padding: 0 1;
|
||||||
@ -440,11 +442,13 @@ td>.col12 {
|
|||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#bar #barSelectPage {
|
#bar select {
|
||||||
width: 40%;
|
font-size: 1.3em;
|
||||||
font-size: 1em;
|
width: 100%;
|
||||||
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#bar #barLeft {
|
#bar #barLeft {
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
float: none;
|
float: none;
|
||||||
@ -469,7 +473,7 @@ td>.col12 {
|
|||||||
#site {
|
#site {
|
||||||
margin: 20px auto;
|
margin: 20px auto;
|
||||||
}
|
}
|
||||||
}
|
}#barSelectPage
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Bannière */
|
/* Bannière */
|
||||||
@ -502,7 +506,7 @@ header .container {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Marges au cotenu de la bannière personnalisée
|
/* Marges au contenu de la bannière personnalisée
|
||||||
header:not(.container) #featureContent {
|
header:not(.container) #featureContent {
|
||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
}*/
|
}*/
|
||||||
|
@ -9,4 +9,4 @@
|
|||||||
* @license CC Attribution-NonCommercial-NoDerivatives 4.0 International
|
* @license CC Attribution-NonCommercial-NoDerivatives 4.0 International
|
||||||
* @link http://zwiicms.fr/
|
* @link http://zwiicms.fr/
|
||||||
*/
|
*/
|
||||||
$("input, select").on("change",(function(){var titleFont=$("#adminFontTitle").val(),textFont=$("#adminFontText").val(),css="@import url('https://fonts.cdnfonts.com/css/"+titleFont+"');",css="@import url('https://fonts.cdnfonts.com/css/"+textFont+"');",colors,css="#site{background-color:"+(colors=core.colorVariants($("#adminBackgroundColor").val())).normal+";}",colors,colors,colors,colors;css+="body, .row > div {font:"+$("#adminFontTextSize").val()+" '"+textFont+"', sans-serif;}",css+="body h1, h2, h3, h4, h5, h6 {font-family:'"+titleFont+"', sans-serif; color:"+$("#adminColorTitle").val()+";}",css+="body:not(.editorWysiwyg),span .zwiico-help {color:"+$("#adminColorText").val()+";}",css+="input[type='checkbox']:checked + label::before,.speechBubble{ background-color:"+(colors=core.colorVariants($("#adminColorButton").val())).normal+"; color:"+$("#adminColorButtonText").val()+";}",css+=".speechBubble::before {border-color:"+colors.normal+" transparent transparent transparent;}",css+=".button {background-color:"+colors.normal+";color:"+colors.text+";}.button:hover {background-color:"+colors.darken+";color:"+colors.text+";}.button:active {background-color:"+colors.veryDarken+";color:"+colors.text+";}",css+=".button.buttonGrey {background-color: "+(colors=core.colorVariants($("#adminColorGrey").val())).normal+";color:"+colors.text+";}.button.buttonGrey:hover {background-color:"+colors.darken+";color:"+colors.text+"}.button.buttonGrey:active {background-color:"+colors.veryDarken+";color:"+colors.text+";}",css+=".button.buttonRed {background-color: "+(colors=core.colorVariants($("#adminColorRed").val())).normal+";color:"+colors.text+";}.button.buttonRed:hover {background-color:"+colors.darken+";color:"+colors.text+"}.button.buttonRed:active {background-color:"+colors.veryDarken+";color:"+colors.text+"}",css+=".button.buttonGreen, button[type=submit] {background-color: "+(colors=core.colorVariants($("#adminColorGreen").val())).normal+";color: ;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.veryDarken+";color:"+colors.text+"}";var colors=core.colorVariants($("#adminBackGroundBlockColor").val());css+=".block {border: 1px solid "+$("#adminBorderBlockColor").val()+";}.block h4 {background-color: "+colors.normal+";color:"+colors.text+";}",css+="input[type=email],input[type=text],input[type=password],select:not(#barSelectPage),textarea:not(.editorWysiwyg),.inputFile{background-color: "+colors.normal+";color:"+colors.text+";border: 1px solid "+$("#adminBorderBlockColor").val()+";}",$("#themePreview").remove(),$("<style>").attr("type","text/css").attr("id","themePreview").text(css).appendTo("head")})),$("#configAdminReset").on("click",(function(){var _this=$(this);return core.confirm("Êtes-vous sûr de vouloir réinitialiser à son état d'origine le thème de l'administration ?",(function(){$(location).attr("href",_this.attr("href"))}))}));
|
$("input, select").on("change",(function(){var titleFont=$("#adminFontTitle").val(),textFont=$("#adminFontText").val(),css="@import url('https://fonts.cdnfonts.com/css/"+titleFont+"');",css="@import url('https://fonts.cdnfonts.com/css/"+textFont+"');",colors,css="#site{background-color:"+(colors=core.colorVariants($("#adminBackgroundColor").val())).normal+";}",colors,colors,colors,colors;css+="body, .row > div {font:"+$("#adminFontTextSize").val()+" '"+textFont+"', sans-serif;}",css+="body h1, h2, h3, h4, h5, h6 {font-family:'"+titleFont+"', sans-serif; color:"+$("#adminColorTitle").val()+";}",css+="body:not(.editorWysiwyg),span .zwiico-help {color:"+$("#adminColorText").val()+";}",css+="input[type='checkbox']:checked + label::before,.speechBubble{ background-color:"+(colors=core.colorVariants($("#adminColorButton").val())).normal+"; color:"+$("#adminColorButtonText").val()+";}",css+=".speechBubble::before {border-color:"+colors.normal+" transparent transparent transparent;}",css+=".button {background-color:"+colors.normal+";color:"+colors.text+";}.button:hover {background-color:"+colors.darken+";color:"+colors.text+";}.button:active {background-color:"+colors.veryDarken+";color:"+colors.text+";}",css+=".button.buttonGrey {background-color: "+(colors=core.colorVariants($("#adminColorGrey").val())).normal+";color:"+colors.text+";}.button.buttonGrey:hover {background-color:"+colors.darken+";color:"+colors.text+"}.button.buttonGrey:active {background-color:"+colors.veryDarken+";color:"+colors.text+";}",css+=".button.buttonRed {background-color: "+(colors=core.colorVariants($("#adminColorRed").val())).normal+";color:"+colors.text+";}.button.buttonRed:hover {background-color:"+colors.darken+";color:"+colors.text+"}.button.buttonRed:active {background-color:"+colors.veryDarken+";color:"+colors.text+"}",css+=".button.buttonGreen, button[type=submit] {background-color: "+(colors=core.colorVariants($("#adminColorGreen").val())).normal+";color: ;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.veryDarken+";color:"+colors.text+"}";var colors=core.colorVariants($("#adminBackGroundBlockColor").val());css+=".block {border: 1px solid "+$("#adminBorderBlockColor").val()+";}.block h4 {background-color: "+colors.normal+";color:"+colors.text+";}",css+="input[type=email],input[type=text],input[type=password],select:not(#bar select),textarea:not(.editorWysiwyg),.inputFile{background-color: "+colors.normal+";color:"+colors.text+";border: 1px solid "+$("#adminBorderBlockColor").val()+";}",$("#themePreview").remove(),$("<style>").attr("type","text/css").attr("id","themePreview").text(css).appendTo("head")})),$("#configAdminReset").on("click",(function(){var _this=$(this);return core.confirm("Êtes-vous sûr de vouloir réinitialiser à son état d'origine le thème de l'administration ?",(function(){$(location).attr("href",_this.attr("href"))}))}));
|
@ -573,7 +573,7 @@ class translate extends common
|
|||||||
// Nettoyer le cookie
|
// Nettoyer le cookie
|
||||||
helper::deleteCookie('ZWII_CONTENT');
|
helper::deleteCookie('ZWII_CONTENT');
|
||||||
// Stocker le choix
|
// Stocker le choix
|
||||||
setcookie('ZWII_CONTENT', $lang, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
setcookie('ZWII_CONTENT', $lang, time() + 3600, helper::baseUrl(false, false), '', true, helper::isHttps());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
|
Loading…
Reference in New Issue
Block a user