Menu et user
This commit is contained in:
parent
a6b109be62
commit
e989bc9f1d
|
@ -6,9 +6,11 @@
|
||||||
- Adaptation des modules de page à ce nouveau groupe avec des actions autorisées limitées,
|
- 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,
|
- 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
|
- 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),
|
- Nettoyage : suppression de fichiers inutiles (2.5Mo),
|
||||||
- Corrections :
|
- 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 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
|
## Version 4.3.08 de Deltacms
|
||||||
- Modifications :
|
- Modifications :
|
||||||
|
|
|
@ -549,4 +549,18 @@ $(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");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -1612,14 +1612,24 @@ class common {
|
||||||
// Met en forme les items du menu
|
// Met en forme les items du menu
|
||||||
$itemsLeft = '';
|
$itemsLeft = '';
|
||||||
$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);
|
||||||
|
|
||||||
|
|
||||||
|
?> <script> var parentPage=[]; </script>
|
||||||
|
<?php
|
||||||
|
|
||||||
foreach($this->getHierarchy() as $parentPageId => $childrenPageIds) {
|
foreach($this->getHierarchy() as $parentPageId => $childrenPageIds) {
|
||||||
// Passer les entrées masquées
|
// Passer les entrées masquées
|
||||||
// Propriétés de l'item
|
// Propriétés de l'item
|
||||||
$active = ($parentPageId === $currentPageId OR in_array($currentPageId, $childrenPageIds)) ? 'active ' : '';
|
$active = ($parentPageId === $currentPageId OR in_array($currentPageId, $childrenPageIds)) ? 'active ' : '';
|
||||||
$targetBlank = $this->getData(['page', $parentPageId, 'targetBlank']) ? ' target="_blank"' : '';
|
$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 !== [] ){ ?>
|
||||||
|
<script> parentPage.push('<?php echo $parentPageId; ?>'); </script>
|
||||||
|
<?php }
|
||||||
|
|
||||||
// Mise en page de l'item
|
// Mise en page de l'item
|
||||||
$itemsLeft .= '<li>';
|
$itemsLeft .= '<li>';
|
||||||
|
|
||||||
if ( ( $this->getData(['page',$parentPageId,'disable']) === true
|
if ( ( $this->getData(['page',$parentPageId,'disable']) === true
|
||||||
AND $this->getUser('password') !== $this->getInput('DELTA_USER_PASSWORD')
|
AND $this->getUser('password') !== $this->getInput('DELTA_USER_PASSWORD')
|
||||||
) OR (
|
) OR (
|
||||||
|
@ -1762,6 +1772,8 @@ class common {
|
||||||
}
|
}
|
||||||
// Lien de connexion
|
// Lien de connexion
|
||||||
$itemsRight = '';
|
$itemsRight = '';
|
||||||
|
$space1Menu = '<li id="menuSpace"> </li>';
|
||||||
|
$space2Menu = '<li id="menuSpace"> </li>';
|
||||||
if(
|
if(
|
||||||
(
|
(
|
||||||
$this->getData(['theme', 'menu', 'loginLink'])
|
$this->getData(['theme', 'menu', 'loginLink'])
|
||||||
|
@ -1770,7 +1782,7 @@ class common {
|
||||||
OR $this->getUrl(0) === 'theme'
|
OR $this->getUrl(0) === 'theme'
|
||||||
) {
|
) {
|
||||||
$itemsRight .= '<li id="menuLoginLink" ' .
|
$itemsRight .= '<li id="menuLoginLink" ' .
|
||||||
($this->getUrl(0) === 'theme' ? 'class="displayNone"' : '') .
|
($this->getUrl(0) === 'theme' ? 'class="displayNone"' : 'class="smallScreenInline"') .
|
||||||
'><a href="' . helper::baseUrl() . 'user/login/' .
|
'><a href="' . helper::baseUrl() . 'user/login/' .
|
||||||
strip_tags(str_replace('/', '_', $this->getUrl())) .
|
strip_tags(str_replace('/', '_', $this->getUrl())) .
|
||||||
'">' . template::ico('login') .'</a></li>';
|
'">' . template::ico('login') .'</a></li>';
|
||||||
|
@ -1785,12 +1797,32 @@ class common {
|
||||||
$itemsRight .= '<li><a href="' . helper::baseUrl() . 'user/edit/' . $this->getUser('id'). '/' . $_SESSION['csrf'] . '" data-tippy-content="'.$text['core']['showmenu'][1].'">' . template::ico('user', 'right') . '</a></li>';
|
$itemsRight .= '<li><a href="' . helper::baseUrl() . 'user/edit/' . $this->getUser('id'). '/' . $_SESSION['csrf'] . '" data-tippy-content="'.$text['core']['showmenu'][1].'">' . template::ico('user', 'right') . '</a></li>';
|
||||||
$itemsRight .= '<li><a id="barLogout" href="' . helper::baseUrl() . 'user/logout" data-tippy-content="'.$text['core']['showmenu'][2].'">' . template::ico('logout') . '</a></li>';
|
$itemsRight .= '<li><a id="barLogout" href="' . helper::baseUrl() . 'user/logout" data-tippy-content="'.$text['core']['showmenu'][2].'">' . template::ico('logout') . '</a></li>';
|
||||||
}
|
}
|
||||||
// Retourne les items du menu
|
// Retourne les items du menu suivant l'alignement du contenu
|
||||||
echo '<ul class="navMain" id="menuLeft">' . $itemsLeft . '</ul><ul class="navMain" id="menuRight">' . $itemsRight;
|
|
||||||
|
// Les drapeaux d'abord en petit écran
|
||||||
|
echo '<ul class="smallScreenFlags">';
|
||||||
if($this->getData(['config', 'i18n', 'enable']) === true) {
|
if($this->getData(['config', 'i18n', 'enable']) === true) {
|
||||||
echo $this->showi18n();
|
echo $this->showi18n();
|
||||||
}
|
}
|
||||||
echo '</ul>';
|
echo '</ul>';
|
||||||
|
|
||||||
|
if( $this->getData(['theme', 'menu', 'textAlign']) === 'right'){
|
||||||
|
if( $itemsRight === '') $space1Menu ='';
|
||||||
|
echo '<ul class="navMain" id="menuLeft">' . $itemsLeft . $space1Menu . $itemsRight ;
|
||||||
|
if($this->getData(['config', 'i18n', 'enable']) === true) {
|
||||||
|
if( $itemsRight === '') echo $space2Menu;
|
||||||
|
echo $this->showi18n();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if( $itemsRight === '') $space1Menu ='';
|
||||||
|
echo '<ul class="navMain" id="menuLeft">' . $itemsRight . $space1Menu . $itemsLeft ;
|
||||||
|
if($this->getData(['config', 'i18n', 'enable']) === true) {
|
||||||
|
echo $space2Menu;
|
||||||
|
echo $this->showi18n();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo '</ul>';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2183,7 +2215,7 @@ class common {
|
||||||
$select = ' class="i18nFlag flag" ';
|
$select = ' class="i18nFlag flag" ';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<li>';
|
echo '<li class="smallScreenInline">';
|
||||||
echo '<a href="' . helper::baseUrl() . 'translate/i18n/' . $key . '/' . $this->getData(['config', 'i18n',$key]) . '/' . $this->getUrl(0) . '"><img ' . $select . ' alt="' . $value . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png"/></a>';
|
echo '<a href="' . helper::baseUrl() . 'translate/i18n/' . $key . '/' . $this->getData(['config', 'i18n',$key]) . '/' . $this->getUrl(0) . '"><img ' . $select . ' alt="' . $value . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png"/></a>';
|
||||||
echo '</li>';
|
echo '</li>';
|
||||||
}
|
}
|
||||||
|
|
|
@ -566,18 +566,18 @@ nav ul {
|
||||||
nav li {
|
nav li {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
max-width: 25vmin;
|
/*max-width: 30vmin;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 768px) {
|
@media screen and (max-width: 768px) {
|
||||||
nav li {
|
nav li {
|
||||||
max-width: 50vmin;
|
/*max-width: 50vmin;*/
|
||||||
} }
|
} }
|
||||||
|
|
||||||
nav li ul {
|
nav li ul {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: inherit;
|
/*width: inherit;*/
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transition: .3s ease-out;
|
transition: .3s ease-out;
|
||||||
|
@ -589,6 +589,10 @@ nav li ul li {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nav .navSub a{
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
nav li:hover ul {
|
nav li:hover ul {
|
||||||
z-index: 8;
|
z-index: 8;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
@ -605,6 +609,7 @@ nav a:hover {
|
||||||
|
|
||||||
|
|
||||||
/* Barre de menu */
|
/* Barre de menu */
|
||||||
|
/*
|
||||||
#menuLeft {
|
#menuLeft {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
}
|
}
|
||||||
|
@ -613,8 +618,13 @@ nav a:hover {
|
||||||
display: inline-flex ;
|
display: inline-flex ;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
/* fin barre de menu */
|
/* fin barre de menu */
|
||||||
|
|
||||||
|
#menuSpace {
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
nav::after {
|
nav::after {
|
||||||
content: " ";
|
content: " ";
|
||||||
clear: both;
|
clear: both;
|
||||||
|
@ -628,6 +638,9 @@ nav::before {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 769px) {
|
@media screen and (min-width: 769px) {
|
||||||
|
.smallScreenFlags{
|
||||||
|
display : none;
|
||||||
|
}
|
||||||
nav #menu {
|
nav #menu {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
@ -667,7 +680,7 @@ nav::before {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
position: static;
|
position: static;
|
||||||
min-width: inherit;
|
min-width: inherit;
|
||||||
width: auto;
|
padding-left: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Taille du menu hamburger */
|
/* 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 {
|
.i18nFlag {
|
||||||
width: 100%;
|
width: 25px;
|
||||||
padding: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.i18nFlagSelected {
|
.i18nFlagSelected {
|
||||||
width: 130%;
|
width: 30px;
|
||||||
padding: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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'][5] = 'Successful connection';
|
||||||
$text['core_user']['login'][6] = 'Welcome ';
|
$text['core_user']['login'][6] = 'Welcome ';
|
||||||
$text['core_user']['login'][7] = 'Incorrect captcha, username or password';
|
$text['core_user']['login'][7] = 'Incorrect captcha, username or password';
|
||||||
$text['core_user']['login'][8] = 'Password error';
|
//$text['core_user']['login'][8] = 'Password error';
|
||||||
$text['core_user']['login'][9] = 'Captcha error';
|
//$text['core_user']['login'][9] = 'Captcha error';
|
||||||
$text['core_user']['login'][10] = 'Account locked ';
|
$text['core_user']['login'][10] = 'Account locked ';
|
||||||
$text['core_user']['login'][11] = 'Connection';
|
$text['core_user']['login'][11] = 'Connection';
|
||||||
$text['core_user']['login'][12] = '';
|
//$text['core_user']['login'][12] = '';
|
||||||
$text['core_user']['login'][13] = ' Fill in the Captcha ';
|
//$text['core_user']['login'][13] = ' Fill in the Captcha ';
|
||||||
$text['core_user']['logout'][0] = 'Successfully disconnected';
|
$text['core_user']['logout'][0] = 'Successfully disconnected';
|
||||||
$text['core_user']['reset'][0] = 'Incorrect';
|
$text['core_user']['reset'][0] = 'Incorrect';
|
||||||
$text['core_user']['reset'][1] = 'New password registered';
|
$text['core_user']['reset'][1] = 'New password registered';
|
||||||
|
|
|
@ -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'][5] = 'Connexion réussie';
|
||||||
$text['core_user']['login'][6] = 'Bienvenue ';
|
$text['core_user']['login'][6] = 'Bienvenue ';
|
||||||
$text['core_user']['login'][7] = 'Captcha, identifiant ou mot de passe incorrects';
|
$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'][8] = 'Erreur de mot de passe';
|
||||||
$text['core_user']['login'][9] = 'Erreur de captcha';
|
//$text['core_user']['login'][9] = 'Erreur de captcha';
|
||||||
$text['core_user']['login'][10] = 'Accès bloqué ';
|
$text['core_user']['login'][10] = 'Accès bloqué ';
|
||||||
$text['core_user']['login'][11] = 'Connexion';
|
$text['core_user']['login'][11] = 'Connexion';
|
||||||
$text['core_user']['login'][12] = '';
|
//$text['core_user']['login'][12] = '';
|
||||||
$text['core_user']['login'][13] = ' Renseignez le Captcha ';
|
//$text['core_user']['login'][13] = ' Renseignez le Captcha ';
|
||||||
$text['core_user']['logout'][0] = 'Déconnexion réussie';
|
$text['core_user']['logout'][0] = 'Déconnexion réussie';
|
||||||
$text['core_user']['reset'][0] = 'Incorrect';
|
$text['core_user']['reset'][0] = 'Incorrect';
|
||||||
$text['core_user']['reset'][1] = 'Nouveau mot de passe enregistré';
|
$text['core_user']['reset'][1] = 'Nouveau mot de passe enregistré';
|
||||||
|
|
|
@ -524,11 +524,10 @@ class user extends common {
|
||||||
'state' => true
|
'state' => true
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Sinon notification d'échec
|
// Sinon notification d'échec et captcha addition
|
||||||
} else {
|
} else {
|
||||||
$notification = $text['core_user']['login'][7];
|
$notification = $text['core_user']['login'][7];
|
||||||
if( $detectBot = 'bot' ) $notification = $text['core_user']['login'][13];
|
$_SESSION['humanBot']='bot';
|
||||||
$logStatus = $captcha === true ? $text['core_user']['login'][8] : $text['core_user']['login'][9];
|
|
||||||
// Cas 1 le nombre de connexions est inférieur aux tentatives autorisées : incrément compteur d'échec
|
// 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'])) {
|
if ($this->getData(['user',$userId,'connectFail']) < $this->getData(['config', 'connect', 'attempt'])) {
|
||||||
$this->setData(['user',$userId,'connectFail',$this->getdata(['user',$userId,'connectFail']) + 1 ]);
|
$this->setData(['user',$userId,'connectFail',$this->getdata(['user',$userId,'connectFail']) + 1 ]);
|
||||||
|
|
Loading…
Reference in New Issue