diff --git a/CHANGES.md b/CHANGES.md
index bae0dee..b6db8e6 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -6,9 +6,11 @@
- Adaptation des modules de page à ce nouveau groupe avec des actions autorisées limitées,
- Nouvelle option dans l'édition d'une page, permissions : sélection du groupe requis pour modifier la page,
- Modules Gallery et Slider, sélection du dossier : seuls les dossiers incluant au moins une image sont proposés et exclusion de certains dossiers
+ - Affichage du menu : modifications de l'ordre pages, icônes login ou membre, drapeaux suivant l'alignement du contenu ou en menu burger
- Nettoyage : suppression de fichiers inutiles (2.5Mo),
- Corrections :
- Affichage du sous-menu avec un alignement du contenu à droite : il y avait un décalage du site quand les pages situées à la droite du menu possédaient des pages enfants.
+ - Affichage du menu : quand le menu comprenait de nombreux items certains pouvaient être masqués dans une fenêtre de taille moyenne.
## Version 4.3.08 de Deltacms
- Modifications :
diff --git a/core/core.js.php b/core/core.js.php
index 84d8cac..71d02d7 100644
--- a/core/core.js.php
+++ b/core/core.js.php
@@ -548,5 +548,19 @@ $(document).ready(function(){
});
});
});
+
+ /*
+ * Largeur du sous-menu égale à la largeur de l'onglet parent sauf en petit écran
+ */
+ $(window).on("resize", function() {
+ if( $(window).width() > 768 ){
+ $.each(parentPage, function(index, value) {
+ $('.navSub .'+value).css('width', $('.'+value).css('width'));
+ });
+ }
+ }).trigger("resize");
+
+
+
});
diff --git a/core/core.php b/core/core.php
index 6372630..fdffd2d 100644
--- a/core/core.php
+++ b/core/core.php
@@ -1612,14 +1612,24 @@ class common {
// Met en forme les items du menu
$itemsLeft = '';
$currentPageId = $this->getData(['page', $this->getUrl(0)]) ? $this->getUrl(0) : $this->getUrl(2);
+
+
+ ?>
+ getHierarchy() as $parentPageId => $childrenPageIds) {
// Passer les entrées masquées
// Propriétés de l'item
$active = ($parentPageId === $currentPageId OR in_array($currentPageId, $childrenPageIds)) ? 'active ' : '';
$targetBlank = $this->getData(['page', $parentPageId, 'targetBlank']) ? ' target="_blank"' : '';
+
+ // Si c'est une page parent, on passe son id à core.js.php pour adampter la largeur du sous-menu à la largeur de l'onglet de la page parent
+ if( $childrenPageIds !== [] ){ ?>
+
+ ';
-
if ( ( $this->getData(['page',$parentPageId,'disable']) === true
AND $this->getUser('password') !== $this->getInput('DELTA_USER_PASSWORD')
) OR (
@@ -1762,6 +1772,8 @@ class common {
}
// Lien de connexion
$itemsRight = '';
+ $space1Menu = '
';
+ $space2Menu = '';
if(
(
$this->getData(['theme', 'menu', 'loginLink'])
@@ -1770,7 +1782,7 @@ class common {
OR $this->getUrl(0) === 'theme'
) {
$itemsRight .= '';
@@ -1785,12 +1797,32 @@ class common {
$itemsRight .= '' . template::ico('user', 'right') . '';
$itemsRight .= '' . template::ico('logout') . '';
}
- // Retourne les items du menu
- echo '' . $itemsRight;
- if ($this->getData(['config', 'i18n', 'enable']) === true) {
+ // Retourne les items du menu suivant l'alignement du contenu
+
+ // Les drapeaux d'abord en petit écran
+ echo '';
+ if($this->getData(['config', 'i18n', 'enable']) === true) {
echo $this->showi18n();
}
echo '
';
+
+ if( $this->getData(['theme', 'menu', 'textAlign']) === 'right'){
+ if( $itemsRight === '') $space1Menu ='';
+ echo '' . $itemsLeft . $space1Menu . $itemsRight ;
+ if($this->getData(['config', 'i18n', 'enable']) === true) {
+ if( $itemsRight === '') echo $space2Menu;
+ echo $this->showi18n();
+ }
+ }
+ else{
+ if( $itemsRight === '') $space1Menu ='';
+ echo '' . $itemsRight . $space1Menu . $itemsLeft ;
+ if($this->getData(['config', 'i18n', 'enable']) === true) {
+ echo $space2Menu;
+ echo $this->showi18n();
+ }
+ }
+ echo '
';
}
/**
@@ -2183,7 +2215,7 @@ class common {
$select = ' class="i18nFlag flag" ';
}
- echo '- ';
+ echo '
- ';
echo '';
echo '
';
}
diff --git a/core/layout/common.css b/core/layout/common.css
index e459dce..8db5ac7 100644
--- a/core/layout/common.css
+++ b/core/layout/common.css
@@ -566,18 +566,18 @@ nav ul {
nav li {
display: inline-block;
position: relative;
- max-width: 25vmin;
+ /*max-width: 30vmin;*/
}
@media screen and (max-width: 768px) {
nav li {
- max-width: 50vmin;
+ /*max-width: 50vmin;*/
} }
nav li ul {
display: block;
position: absolute;
- width: inherit;
+ /*width: inherit;*/
z-index: -1;
opacity: 0;
transition: .3s ease-out;
@@ -589,6 +589,10 @@ nav li ul li {
text-align: left;
}
+nav .navSub a{
+ text-align: left;
+}
+
nav li:hover ul {
z-index: 8;
opacity: 1;
@@ -605,6 +609,7 @@ nav a:hover {
/* Barre de menu */
+/*
#menuLeft {
display: inline-flex;
}
@@ -613,8 +618,13 @@ nav a:hover {
display: inline-flex ;
float: right;
}
-
+*/
/* fin barre de menu */
+
+#menuSpace {
+ width: 80px;
+}
+
nav::after {
content: " ";
clear: both;
@@ -628,6 +638,9 @@ nav::before {
}
@media screen and (min-width: 769px) {
+ .smallScreenFlags{
+ display : none;
+ }
nav #menu {
display: block;
}
@@ -667,7 +680,7 @@ nav::before {
opacity: 1;
position: static;
min-width: inherit;
- width: auto;
+ padding-left: 20px;
}
/* Taille du menu hamburger */
@@ -734,17 +747,25 @@ li .menuSideChild {
*/
-@media screen and (max-width:1024px){
+@media screen and (max-width:768px){
+ .smallScreenFlags{
+ display : inline-block;
+ position: relative;
+ left : 10px;
+ }
+ .smallScreenInline{
+ display: inline-block;
+ }
.i18nFlag {
- width: 100%;
- padding: 5px;
+ width: 25px;
+ margin-left: 5px;
}
.i18nFlagSelected {
- width: 130%;
- padding: 5px;
+ width: 30px;
+ margin-left: 5px;
}
}
diff --git a/core/module/user/lang/en/lex_user.php b/core/module/user/lang/en/lex_user.php
index 7ceaa0f..f3c46bb 100644
--- a/core/module/user/lang/en/lex_user.php
+++ b/core/module/user/lang/en/lex_user.php
@@ -136,12 +136,12 @@ $text['core_user']['login'][4] = 'Only an administrator can log in during mainte
$text['core_user']['login'][5] = 'Successful connection';
$text['core_user']['login'][6] = 'Welcome ';
$text['core_user']['login'][7] = 'Incorrect captcha, username or password';
-$text['core_user']['login'][8] = 'Password error';
-$text['core_user']['login'][9] = 'Captcha error';
+//$text['core_user']['login'][8] = 'Password error';
+//$text['core_user']['login'][9] = 'Captcha error';
$text['core_user']['login'][10] = 'Account locked ';
$text['core_user']['login'][11] = 'Connection';
-$text['core_user']['login'][12] = '';
-$text['core_user']['login'][13] = ' Fill in the Captcha ';
+//$text['core_user']['login'][12] = '';
+//$text['core_user']['login'][13] = ' Fill in the Captcha ';
$text['core_user']['logout'][0] = 'Successfully disconnected';
$text['core_user']['reset'][0] = 'Incorrect';
$text['core_user']['reset'][1] = 'New password registered';
diff --git a/core/module/user/lang/fr/lex_user.php b/core/module/user/lang/fr/lex_user.php
index 184fd0a..adf01bc 100644
--- a/core/module/user/lang/fr/lex_user.php
+++ b/core/module/user/lang/fr/lex_user.php
@@ -136,12 +136,12 @@ $text['core_user']['login'][4] = 'Seul un administrateur peut se connecter lors
$text['core_user']['login'][5] = 'Connexion réussie';
$text['core_user']['login'][6] = 'Bienvenue ';
$text['core_user']['login'][7] = 'Captcha, identifiant ou mot de passe incorrects';
-$text['core_user']['login'][8] = 'Erreur de mot de passe';
-$text['core_user']['login'][9] = 'Erreur de captcha';
+//$text['core_user']['login'][8] = 'Erreur de mot de passe';
+//$text['core_user']['login'][9] = 'Erreur de captcha';
$text['core_user']['login'][10] = 'Accès bloqué ';
$text['core_user']['login'][11] = 'Connexion';
-$text['core_user']['login'][12] = '';
-$text['core_user']['login'][13] = ' Renseignez le Captcha ';
+//$text['core_user']['login'][12] = '';
+//$text['core_user']['login'][13] = ' Renseignez le Captcha ';
$text['core_user']['logout'][0] = 'Déconnexion réussie';
$text['core_user']['reset'][0] = 'Incorrect';
$text['core_user']['reset'][1] = 'Nouveau mot de passe enregistré';
diff --git a/core/module/user/user.php b/core/module/user/user.php
index 9e04402..dcba50e 100644
--- a/core/module/user/user.php
+++ b/core/module/user/user.php
@@ -524,11 +524,10 @@ class user extends common {
'state' => true
]);
}
- // Sinon notification d'échec
+ // Sinon notification d'échec et captcha addition
} else {
$notification = $text['core_user']['login'][7];
- if( $detectBot = 'bot' ) $notification = $text['core_user']['login'][13];
- $logStatus = $captcha === true ? $text['core_user']['login'][8] : $text['core_user']['login'][9];
+ $_SESSION['humanBot']='bot';
// Cas 1 le nombre de connexions est inférieur aux tentatives autorisées : incrément compteur d'échec
if ($this->getData(['user',$userId,'connectFail']) < $this->getData(['config', 'connect', 'attempt'])) {
$this->setData(['user',$userId,'connectFail',$this->getdata(['user',$userId,'connectFail']) + 1 ]);