diff --git a/CHANGES.md b/CHANGES.md index 1a7c9e2..177b4ea 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,16 @@ # Changelog +## Version 4.4.04 de Deltacms +- Modifications : + - Edition / Tinymce : nouveau blocs de texte 3-6-3, + - Thème / site : modification des options 'Largeur du site' qui passent en valeurs relatives 75vw, 85vw, 95vw, 100%, + - Modules de page / thème : le thème des modules de page est maintenant modifiable par custom.css, + - Site fluide sur petit écran : nouveau seuil à 800px, nettoyage et réorganisation du fichier css principal, + - Configuration / configuration : modification de la mise à jour automatique pour prendre en compte les incompatibilités du serveur. +- Corrections : + - Module Form : en absence de champ 'File' un fichier fantôme était émis, logo associé au message compatible avec androïd, + - Thème / gestion / sauvegarde : le dossier et les images de la bannière animée sont sauvegardés dans le zip. + ## Version 4.4.03 de Deltacms - Modifications : - Thème / bannière : nouvelle option, une bannière animée avec Swiper, diff --git a/README.md b/README.md index c70ed0b..e360117 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# DeltaCMS 4.4.03 +# DeltaCMS 4.4.04 DeltaCMS est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation. L'administration du site est bilingue anglais ou français, le site peut être rédigé dans une des principales langues européennes. diff --git a/core/class/template.class.php b/core/class/template.class.php index edf63be..c57a4ee 100644 --- a/core/class/template.class.php +++ b/core/class/template.class.php @@ -611,7 +611,7 @@ class template { 'ico' => 'check', 'id' => $nameId, 'name' => $nameId, - 'uniqueSubmission' => false, //true avant 9.1.08 + 'uniqueSubmission' => false, 'value' => 'Enregistrer' ], $attributes); // Retourne le html diff --git a/core/core.php b/core/core.php index cd81aac..f8f837e 100644 --- a/core/core.php +++ b/core/core.php @@ -49,7 +49,7 @@ class common { // Numéro de version const DELTA_UPDATE_URL = 'https://update.deltacms.fr/master/'; - const DELTA_VERSION = '4.4.03'; + const DELTA_VERSION = '4.4.04'; const DELTA_UPDATE_CHANNEL = "v4"; public static $actions = []; @@ -120,7 +120,8 @@ class common { 'tippy', 'zwiico', 'imagemap', - 'simplelightbox' + 'simplelightbox', + 'swiper' ], 'view' => '' ]; @@ -950,7 +951,7 @@ class common { // Update robots.txt file in output directory if ($this->getData(['config','seo', 'robots']) === true) { - unlink('robots.txt'); + if(file_exists('robots.txt')) unlink('robots.txt'); $sitemap->updateRobots(); } else { file_put_contents('robots.txt','User-agent: *' . PHP_EOL . 'Disallow: /'); @@ -1432,12 +1433,12 @@ class common { if($this->getData(['theme', 'footer', 'socialsPosition']) === 'right') { $this->showSocials(true); } if($this->getData(['theme', 'footer', 'copyrightPosition']) === 'right') { $this->showCopyright(true); } echo ''; - + if($this->getData(['theme', 'footer', 'textPosition']) === 'hide') { $this->showFooterText(false); } if($this->getData(['theme', 'footer', 'socialsPosition']) === 'hide') { $this->showSocials(false); } if($this->getData(['theme', 'footer', 'copyrightPosition']) === 'hide') { $this->showCopyright(false); } - + // Fermeture du contenaire echo ''; echo ''; @@ -1450,7 +1451,7 @@ class common { if($footerText = $this->getData(['theme', 'footer', 'text']) OR $this->getUrl(0) === 'theme') { $style = ''; if( $visibility === false ) $style = 'style="display: none;"'; - echo '
' . $footerText . '
'; + echo '
' . $footerText . '
'; } } @@ -1583,8 +1584,8 @@ class common { } if($socials !== '') { $style = ''; - if( $visibility === false ) $style = 'style="display: none;"'; - echo '
' . $socials . '
'; + if( $visibility === false ) $style = 'style="display: none;"'; + echo '
' . $socials . '
'; } } @@ -1599,17 +1600,16 @@ class common { if($favicon && file_exists(self::FILE_DIR.'source/' . $favicon) ) { - echo ''; + echo ''; } else { - echo ''; + echo ''; } // Dark scheme $faviconDark = $this->getData(['config', 'faviconDark']); if(!empty($faviconDark) && file_exists(self::FILE_DIR.'source/' . $faviconDark) ) { - echo ''; - //echo ''; + echo ''; echo ''; } } @@ -1923,9 +1923,6 @@ class common { } /** - * Affiche le meta titre - */ - /** * Affiche les balises title et meta name */ public function showMetaTitle() { @@ -2086,15 +2083,21 @@ class common { // Une mise à jour est disponible + recherche auto activée + 1 jour de délai if ( $this->getData(['config','autoUpdate']) === true AND $today > $this->getData(['core','lastAutoUpdate']) + 86400 ) { - if ( helper::checkNewVersion(common::DELTA_UPDATE_CHANNEL) ) { - $this->setData(['core','updateAvailable', true]); - $this->setData(['core','lastAutoUpdate',$today]); + $version = helper::getOnlineVersion(); + if( $version === false){ + // Le serveur ne supporte pa la mise à jour automatique + $this->setData(['config','autoUpdate',false]); + } else { + if ( version_compare(common::DELTA_VERSION,$version) === -1 ) { + $this->setData(['core','updateAvailable', true]); + $this->setData(['core','lastAutoUpdate',$today]); + } } } // Afficher le bouton : Mise à jour détectée + activée if ( $this->getData(['core','updateAvailable']) === true && $this->getData(['config','autoUpdate']) === true ) { - $rightItems .= '
  • ' . template::ico('update colorRed') . '
  • '; + $rightItems .= '
  • ' . template::ico('update colorRed') . '
  • '; } } if($this->getUser('group') >= self::GROUP_EDITOR) { @@ -2126,9 +2129,9 @@ class common { if($this->output['style']) { echo ''; if (strpos($this->output['style'], 'admin.css') >= 1 ) { - echo ''; + echo ''.PHP_EOL; } - echo ''; + echo ''; } } @@ -2148,8 +2151,6 @@ class common { echo ''; // Librairies $moduleId = $this->getData(['page', $this->getUrl(0), 'moduleId']); - // Ajout si bannière animée - if($this->getData(['theme', 'header', 'feature']) === 'swiper') $this->output['vendor'] = array_merge ( $this->output['vendor'] , array('swiper') ); foreach($this->output['vendor'] as $vendorName) { // Coeur if(file_exists('core/vendor/' . $vendorName . '/inc.json')) { @@ -2329,7 +2330,7 @@ class core extends common { $format = 'woff2'; break; } - $css .= '@font-face{ font-family: "'. $this->getData(['fonts', $value, 'name' ]) .'"; src: url("'. helper::baseUrl(false). 'site/file/source/fonts/' . $file; + $css .= '@font-face{ font-family: "'. $this->getData(['fonts', $value, 'name' ]) .'"; src: url("../file/source/fonts/' . $file; $css .= '") format("'. $format . '"); font-weight: normal; font-style: normal;}'; $css .= ' '; } @@ -2363,7 +2364,9 @@ class core extends common { //$css .= 'a:hover:not(.inputFile, button){color:' . $colors['darken'] . '}'; $css .= 'body,.row > div{font-size:' . $this->getData(['theme', 'text', 'fontSize']) . '}'; $css .= 'body{color:' . $this->getData(['theme', 'text', 'textColor']) . '}'; - $css .= 'select,input[type=\'password\'],input[type=\'email\'],input[type=\'text\'],.inputFile,select,textarea{color:' . $this->getData(['theme', 'text', 'textColor']) .';background-color:'.$this->getData(['theme', 'site', 'backgroundColor']).';}'; + $css .= 'select,input[type=\'password\'],input[type=\'email\'],input[type=\'text\'],.inputFile,select,textarea{color:' . $this->getData(['theme', 'text', 'textColor']) .';background-color:'.$this->getData(['theme', 'site', 'backgroundColor']).';border-color:'.$this->getData(['theme', 'block', 'borderColor']).';}'; + $css .= 'select:focus-visible,input[type=\'password\']:focus-visible,input[type=\'email\']:focus-visible,input[type=\'text\']:focus-visible,.inputFile:focus-visible,textarea:focus-visible{border-color:'.$this->getData(['theme', 'block', 'borderColor']).';}'; + $css .= 'select:hover,input[type=\'password\']:hover,input[type=\'email\']:hover,input[type=\'text\']:hover,.inputFile:hover,textarea:hover{border-color:'.$this->getData(['theme', 'block', 'borderColor']).';}'; // spécifiques au module de blog $css .= '.blogDate {color:' . $this->getData(['theme', 'text', 'textColor']) . ';}.blogPicture img{border:1px solid ' . $this->getData(['theme', 'text', 'textColor']) . '; box-shadow: 1px 1px 5px ' . $this->getData(['theme', 'text', 'textColor']) . ';}'; // Couleur fixée dans admin.css @@ -2373,25 +2376,24 @@ class core extends common { // Marge supplémentaire lorsque le pied de page est fixe if ( $this->getData(['theme', 'footer', 'fixed']) === true && $this->getData(['theme', 'footer', 'position']) === 'body') { - //$css .= '@media (min-width: 769px) { #site {margin-bottom: ' . ((str_replace ('px', '', $this->getData(['theme', 'footer', 'height']) ) * 2 ) + 31 ) . 'px}}'; - //$css .= '@media (max-width: 768px) { #site {margin-bottom: ' . ((str_replace ('px', '', $this->getData(['theme', 'footer', 'height']) ) * 2 ) + 93 ) . 'px}}'; $marginBottomLarge = ((str_replace ('px', '', $this->getData(['theme', 'footer', 'height']) ) * 2 ) + 31 ) . 'px'; $marginBottomSmall = ((str_replace ('px', '', $this->getData(['theme', 'footer', 'height']) ) * 2 ) + 93 ) . 'px'; } else { $marginBottomSmall = $margin; $marginBottomLarge = $margin; } + $css .= '@media screen and (max-width: 799px) { .container { max-width: 100vw; } }'; $css .= $this->getData(['theme', 'site', 'width']) === '100%' - ? '@media (min-width: 769px) {#site{margin:0 auto ' . $marginBottomLarge . ' 0 !important;}}@media (max-width: 768px) {#site{margin:0 auto ' . $marginBottomSmall . ' 0 !important;}}#site.light{margin:5% auto !important;} body{margin:0 auto !important;} #bar{margin:0 auto !important;} body > header{margin:0 auto !important;} body > nav {margin: 0 auto !important;} body > footer {margin:0 auto !important;}' - : '@media (min-width: 769px) {#site{margin: ' . $margin . ' auto ' . $marginBottomLarge . ' auto !important;}}@media (max-width: 768px) {#site{margin:0 auto ' . $marginBottomSmall . ' auto !important;}}#site.light{margin: 5% auto !important;} body{margin:0px 10px;} #bar{margin: 0 -10px;} body > header{margin: 0 -10px;} body > nav {margin: 0 -10px;} body > footer {margin: 0 -10px;} '; - $css .= $this->getData(['theme', 'site', 'width']) === '750px' + ? '@media (min-width: 800px) {#site{margin:0 auto ' . $marginBottomLarge . ' 0 !important;}}@media (max-width: 799px) {#site{margin:0 auto ' . $marginBottomSmall . ' 0 !important;}}#site.light{margin:5% auto !important;} body{margin:0 auto !important;} #bar{margin:0 auto !important;} body > header{margin:0 auto !important;} body > nav {margin: 0 auto !important;} body > footer {margin:0 auto !important;}' + : '@media (min-width: 800px) {#site{margin: ' . $margin . ' auto ' . $marginBottomLarge . ' auto !important;}}@media (max-width: 799px) {#site{margin:0 auto ' . $marginBottomSmall . ' auto !important;}}#site.light{margin: 5% auto !important;} body{margin:0px 10px;} #bar{margin: 0 -10px;} body > header{margin: 0 -10px;} body > nav {margin: 0 -10px;} body > footer {margin: 0 -10px;} '; + $css .= $this->getData(['theme', 'site', 'width']) === '75vw' ? '.button, button{font-size:0.8em;}' : ''; $css .= '#site{background-color:' . $this->getData(['theme', 'site', 'backgroundColor']) . ';border-radius:' . $this->getData(['theme', 'site', 'radius']) . ';box-shadow:' . $this->getData(['theme', 'site', 'shadow']) . ' #212223;}'; $colors = helper::colorVariants($this->getData(['theme', 'button', 'backgroundColor'])); $css .= '.speechBubble,.button,.button:hover,button[type=\'submit\'],.pagination a,.pagination a:hover,input[type=\'checkbox\']:checked + label:before,input[type=\'radio\']:checked + label:before,.helpContent{background-color:' . $colors['normal'] . ';color:' . $colors['text'] . '}'; $css .= '.helpButton span{color:' . $colors['normal'] . '}'; - $css .= 'input[type=\'text\']:hover,input[type=\'password\']:hover,.inputFile:hover,select:hover,textarea:hover{border-color:' . $colors['normal'] . '}'; + //$css .= 'input[type=\'text\']:hover,input[type=\'password\']:hover,.inputFile:hover,select:hover,textarea:hover{border-color:' . $colors['normal'] . '}'; $css .= '.speechBubble:before{border-color:' . $colors['normal'] . ' transparent transparent transparent}'; $css .= '.button:hover,button[type=\'submit\']:hover,.pagination a:hover,input[type=\'checkbox\']:not(:active):checked:hover + label:before,input[type=\'checkbox\']:active + label:before,input[type=\'radio\']:checked:hover + label:before,input[type=\'radio\']:not(:checked):active + label:before{background-color:' . $colors['darken'] . '}'; $css .= '.helpButton span:hover{color:' . $colors['darken'] . '}'; @@ -2511,7 +2513,7 @@ class core extends common { $css .= 'footer #footersite > div {margin:' . $this->getData(['theme', 'footer', 'height']) . ' 0}'; $css .= 'footer #footerbody > div {margin:' . $this->getData(['theme', 'footer', 'height']) . ' 0}'; - $css .= '@media (max-width: 768px) {footer #footerbody > div { padding: 2px }}'; + $css .= '@media (max-width: 799px) {footer #footerbody > div { padding: 2px }}'; $css .= '#footerSocials{text-align:' . $this->getData(['theme', 'footer', 'socialsAlign']) . '}'; $css .= '#footerText > p {text-align:' . $this->getData(['theme', 'footer', 'textAlign']) . '}'; $css .= '#footerCopyright{text-align:' . $this->getData(['theme', 'footer', 'copyrightAlign']) . '}'; @@ -2567,7 +2569,7 @@ class core extends common { $format = 'woff2'; break; } - $css .= '@font-face{ font-family: "'. $value['name'] .'"; src: url("'. helper::baseUrl(false). 'site/file/source/fonts/' . $value['file']; + $css .= '@font-face{ font-family: "'. $value['name'] .'"; src: url("../file/source/fonts/' . $value['file']; $css .= '") format("'. $format . '"); font-weight: normal; font-style: normal;}'; $css .= ' '; } @@ -2586,7 +2588,7 @@ class core extends common { $css .= 'input[type="checkbox"]:checked + label::before,.speechBubble{background-color:' . $colors['normal'] . ';color:' . $colors['text'] . ';}'; $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 .= '.buttonPreview {background-color:' . $colors['normal'] . '!important;color:' . $colors['text'] . '!important;}.buttonPreview:hover {background-color:' . $colors['darken'] . '!important;color:' . $colors['text'] . '!important;}.buttonPreview:active {background-color:' . $colors['veryDarken'] . '!important;color:' . $colors['text'] . '!important;}'; + $css .= '.buttonPreview {background-color:' . $colors['normal'] . '!important;color:' . $colors['text'] . '!important;}.buttonPreview:hover {background-color:' . $colors['darken'] . '!important;color:' . $colors['text'] . '!important;}.buttonPreview:active {background-color:' . $colors['veryDarken'] . '!important;color:' . $colors['text'] . '!important;}'; $colors = helper::colorVariants($this->getData(['admin','backgroundColorButtonGrey'])); $css .= '.button.buttonGrey {background-color: ' . $colors['normal'] . ';color: ' . $colors['text'] . ';}.button.buttonGrey:hover {background-color:' . $colors['darken'] . ';color:' . $colors['text'] . ';}.button.buttonGrey:active {background-color:' . $colors['veryDarken'] . ';color:' . $colors['text'] . ';}'; $colors = helper::colorVariants($this->getData(['admin','backgroundColorButtonRed'])); diff --git a/core/include/update.inc.php b/core/include/update.inc.php index 3e19385..0bf1247 100644 --- a/core/include/update.inc.php +++ b/core/include/update.inc.php @@ -105,4 +105,12 @@ if ($this->getData(['core', 'dataVersion']) < 4403) { // Mise à jour $this->setData(['core', 'dataVersion', 4403]); } + +if ($this->getData(['core', 'dataVersion']) < 4404) { + if( $this->getData(['theme', 'site', 'width']) === '750px') $this->setData(['theme', 'site', 'width', '75vw']); + if( $this->getData(['theme', 'site', 'width']) === '960px') $this->setData(['theme', 'site', 'width', '85vw']); + if( $this->getData(['theme', 'site', 'width']) === '1170px') $this->setData(['theme', 'site', 'width', '95vw']); + // Mise à jour + $this->setData(['core', 'dataVersion', 4404]); +} ?> diff --git a/core/layout/blank.php b/core/layout/blank.php index 5ec6c86..6e80095 100644 --- a/core/layout/blank.php +++ b/core/layout/blank.php @@ -1,23 +1,22 @@ - + showMetaTitle(); - $this->showMetaPropertyFacebook(); - ?> - showFavicon(); $this->showVendor(); - $this->showStyle(); ?> + - + showStyle(); ?> + + showContent(); ?> showScript(); ?> - \ No newline at end of file + diff --git a/core/layout/common.css b/core/layout/common.css index c119ce6..6f15296 100644 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -14,129 +14,48 @@ * @copyright Copyright (C) 2018-2021, Frédéric Tempez */ - -/** - * Éléments génériques - */ - - html, body { min-height: 100%; - /*min-height: 100vh;*/ } - - -@media screen and (min-width: 769px) { - body { - /*margin:0px 10px;*/ - margin: 0; - } -} - - - -/** -* Petits écrans inférieurs à 768px de largeur, on supprime les marges -*/ -@media screen and (max-width: 768px) { - body { - margin: 0 auto !important; - } - - #site { - margin-top: 0 !important; - } - - body>header { - margin: 0 auto !important; - } - - .tippy-tooltip { - font-size: .8rem !important; - } - - section { - padding: 10px !important; - } -} - - - -@media screen and (max-width: 768px) { - .siteContainer { - display: flex; - flex-direction: column; - } - - .siteContainer>#contentLeft { - order: 1; - } - - .siteContainer>#contentRight { - order: 3; - } - - .siteContainer>#contentSite { - order: 2; - } -} - - - -/** - * Éléments spécifiques - */ - /* Liens */ a { text-decoration: none; } - a:hover { text-decoration: underline; } - /* Supprimer les pointillés lors d'un clic Firefox */ a:focus { outline: none; } - a:active { outline: none; } - /* pour rendre toute la bannière cliquable */ a.headertitle { - display: block; + display: block; } - /* Titres */ h1 { font-size: 1.8em; } - h2 { font-size: 1.6em; } - h3 { font-size: 1.4em; } - h4 { - font-size: 1.0em; + font-size: 1em; } - /* Listes */ ul { list-style: square; } - li ul { margin: 0; } - option.pageInactive { color: orange; font-weight: bold; @@ -145,13 +64,11 @@ option.pageHidden { color: red; font-style: italic; } - /* Séparateur */ hr { border: 0; - border-top: 1px solid #C5D1D4; + border-top: 1px solid #c5d1d4; } - /* Égalisation des margins */ h1, h2, @@ -163,103 +80,71 @@ ul, ol { margin: 15px 0; } - /* Image */ img { max-width: 100%; height: auto; } - -img[align='left'] { +img[align="left"] { margin-right: 10px; } - -img[align='right'] { +img[align="right"] { margin-left: 10px; } - #metaImage { height: 150px; } - -/* -Signature dans les articles blog et news -*/ - +/* Signature dans les articles blog et news */ .signature { font-size: 0.8em; font-style: italic; text-align: right; } - - /* Tableau */ -:not([class^="col"])>.tableWrapper { +:not([class^="col"]) > .tableWrapper { margin: 10px 0; } - .table { width: 100%; border-spacing: 0; border-collapse: collapse; } - .table thead tr { - /*background: #212223; - color: #FFF;*/ text-align: left; } - .table tbody tr { - background: #F6F7F8; - transition: background .3s ease-out; + background: #f6f7f8; + transition: background 0.3s ease-out; } - .table tbody tr:nth-child(2n + 2) { - background: #ECEFF1; + background: #eceff1; } - .table tbody tr:hover { - background: #FCF2E8; + background: #fcf2e8; } - .table th { font-weight: normal; padding: 15px 10px; } - /* Supprime le padding des cols dans les cellules des tableaux */ -td>.col1, -td>.col2, -td>.col3, -td>.col4, -td>.col5, -td>.col6, -td>.col7, -td>.col8, -td>.col9, -td>.col10, -td>.col11, -td>.col12 { - padding: 0 !important; +td > .col1, +td > .col2, +td > .col3, +td > .col4, +td > .col5, +td > .col6, +td > .col7, +td > .col8, +td > .col9, +td > .col10, +td > .col11, +td > .col12 { + padding: 0 !important ; } - -/* Tableau sur les écrans de petites tailles */ -@media screen and (max-width: 768px) { - .table thead { - font-size: 0.8em; - } -} -@media screen and (max-width: 668px) { - .table thead { - display:none; - } -} - /* Notifications */ #notification { padding: 14px; - color: #FFF; + color: #fff; position: fixed; left: 50%; transform: translateX(-50%); @@ -267,29 +152,24 @@ td>.col12 { width: 100%; z-index: 20; text-align: center; - animation: notificationBounce .5s; + animation: notificationBounce 0.5s; top: 30px; border-radius: 2px; } - #notification.notificationSuccess { - background: #27AE60; + background: #27ae60; } - #notification.notificationError { - background: #E74C3C; + background: #e74c3c; } - #notification.notificationOther { - background: #F39C12; + background: #f39c12; } - #notificationClose { cursor: pointer; float: right; - opacity: .8; + opacity: 0.8; } - #notificationProgress { position: absolute; left: 0; @@ -298,92 +178,71 @@ td>.col12 { height: 6px; border-radius: 2px; } - #notification.notificationSuccess #notificationProgress { background: #219251; } - #notification.notificationError #notificationProgress { - background: #D62C1A; + background: #d62c1a; } - #notification.notificationOther #notificationProgress { - background: #D8890B; + background: #d8890b; } - #notificationClose:hover { opacity: 1; } - @keyframes notificationBounce { 0% { - transform: translateX(-50%) translateY(-30px); + transform: translateX(-50%) translateY(-30px); } - 40% { - transform: translateX(-50%) translateY(10px); + transform: translateX(-50%) translateY(10px); } - 60% { - transform: translateX(-50%) translateY(-10px); + transform: translateX(-50%) translateY(-10px); } - 80% { - transform: translateX(-50%) translateY(5px); + transform: translateX(-50%) translateY(5px); } - 100% { - transform: translateX(-50%) translateY(-5px); + transform: translateX(-50%) translateY(-5px); } } - /* Notice */ .notice { display: inline-block; - color: #E74C3C; + color: #e74c3c; } -/* Mauvaise position dans les champs File*/ +/* Mauvaise position dans les champs File */ .inputFile.notice { display: block; } - /* Container */ .container { margin: auto; } - .container-large { width: 100%; } - .container-large-fixed { width: 100%; position: fixed; z-index: 15; } - /* Barre de membre */ #bar { background: #212223; padding-left: 5px; - /* Pour éviter que le select touche le bord lorsque la fenêtre est redimensionnée */ margin: 0; - /*-10px;*/ text-align: right; - position: -webkit-sticky; - /* Safari */ position: sticky; top: 0; z-index: 19; } - -/* fin barre pour les membres */ #bar:after { content: " "; clear: both; display: block; } - #bar ul { padding: 0; margin: 0; @@ -391,435 +250,180 @@ td>.col12 { height: 45px; line-height: 45px; } - #bar li { display: inline; } - #bar a { display: inline-block; padding: 0 12px; - color: #FFF; - transition: background .3s ease-out; + color: #fff; + transition: background 0.3s ease-out; } - #bar a:hover { - background: #191A1A; + background: #191a1a; text-decoration: none; } - #bar a:active { background: #111112; } - #bar select { width: 250px; border: 0; color: #111112; font-size: 12px; - background-color: rgba(255, 255, 255, 1); + background-color: rgb(255, 255, 255, 1); } - -@media screen and (min-width: 769px) { - #bar #barLeft { - float: left; - } - - #bar #barRight { - float: right; - font-size: 12px; - } -} - -@media screen and (max-width: 768px) { - #bar { - text-align: center; - /*padding: 0 1;*/ - margin: 0 auto !important; - } - - #bar ul { - height: auto; - } - - #bar #barSelectPage { - width: 40%; - font-size: 1em; - } - - #bar #barLeft { - font-size: 1.2em; - float: none; - } - - #bar #barRight { - font-size: 1.4em; - } - - #bar #displayUsername { - display: none; - } -} - - /* Site */ #site { overflow: hidden; } -/* Dans theme.css -@media screen and (min-width:769px) { - #site { - margin: 20px auto; - } -} -*/ - /* Bannière */ - -@media screen and (min-width:769px) { - body>header { - margin: 0; - /*-10px;*/ - } - - header { - margin: 0; - } -} - header { position: relative; padding: 0; } - header span { display: inline-block; - /*vertical-align: middle; - line-height: 1.2;*/ margin: 0 10px; } - header .container { overflow: hidden; height: 100%; } - -/* Marges au cotenu de la bannière personnalisée -header:not(.container) #featureContent { - margin: 0 10px; -}*/ - header #featureContent { overflow: hidden; margin: 0 10px; } - - - -/* Element du header - -#themeHeaderImage { - font-style: italic; - font-size: 0.9em; -}*/ - -/* Menu -body > nav { - margin: 0 -10px; -} -*/ - /* Items du menu */ -nav a>img { +nav a > img { margin: -4px 0; vertical-align: middle; } - nav #toggle { cursor: pointer; text-align: right; display: none; font-weight: bold; } - nav #toggle span { display: block; } - nav #burgerText { float: left; font-size: 1.4em; margin: 15px 0 0 10px; } - nav #burgerLogo { float: left; margin: 2px 0 0 5px; } - nav ul { padding: 0; margin: 0; list-style: none; } - nav li { display: inline-block; position: relative; } - nav li ul { display: block; position: absolute; z-index: -1; opacity: 0; - transition: .3s ease-out; + transition: 0.3s ease-out; overflow: hidden; } - nav li ul li { display: block; text-align: left; } - -nav .navSub a{ +nav .navSub a { text-align: left; } - nav li:hover ul { z-index: 8; opacity: 1; } - nav a { display: inherit; - transition: background .3s ease-out; + transition: background 0.3s ease-out; } - nav a:hover { text-decoration: none; } - - -/* Barre de menu */ -/* -#menuLeft { - display: inline-flex; -} - -#menuRight { - display: inline-flex ; - float: right; -} -*/ -/* fin barre de menu */ - #menuSpace { width: 20px; } - nav::after { content: " "; clear: both; display: flex; } - nav::before { content: " "; clear: left; display: flex; } - -@media screen and (min-width: 769px) { - .smallScreenFlags{ - display : none; - } - nav #menu { - display: block; - } -} - -@media screen and (max-width: 768px) { - body>nav { - margin: 0 auto !important; - } - - nav #toggle, - nav #menuLeft { - display: block; - float: none; - } - - nav #menuLeft { - flex-direction: column; - float: none; - } - - nav #menuRight { - font-size: 2em; - } - - nav #menu { - display: none; - text-align: left; - } - - nav li { - display: block; - } - - nav li ul { - z-index: 1; - opacity: 1; - position: static; - min-width: inherit; - padding-left: 20px; - } - - /* Taille du menu hamburger */ - nav .zwiico-menu { - font-size: 1.5em; - } - - nav .zwiico-cancel { - font-size: 1.5em; - } -} - - /* Barre de navigation fixe quand le menu est en-dehors du site */ #navfixedlogout { - position: -webkit-sticky; - /* Safari */ position: sticky; - top: 0px; + top: 0; z-index: 10; } - #navfixedconnected { top: 45px; z-index: 10; - position: -webkit-sticky; - /* Safari */ position: sticky; } - -#navfixedconnected .navSub, -#navfixedlogout .navSub { - pointer-events: none; -} - - /* Menu vertical */ - .menuSide, .menuSideChild { padding-left: 10px; - margin: 0px; + margin: 0; list-style: none; } - ul .menuSideChild, li .menuSideChild { padding-left: 10px; } - /* Drapeaux */ - .i18nFlag { width: 70%; } - .i18nFlagSelected { width: 100%; } - - -/* -* Position du bloc dans le site sur les petits écrans -*/ - - -@media screen and (max-width:768px){ - .smallScreenFlags{ - display : inline-block; - position: relative; - left : 10px; - } - - .smallScreenInline{ - display: inline-block; - } - - .i18nFlag { - width: 25px; - margin: 0 10px 0 -10px; - } - - .i18nFlagSelected { - width: 30px; - margin: 0 10px 0 -10px; - } - - .zwiico-login{ - margin-right: 20px; - } - - } - - - /* Corps */ -@media screen and (min-width:769px) { - section { - padding: 20px; - } -} - section { - /*min-height: 100%;*/ min-height: 65vh; } - section #sectionTitle { margin-top: 0; } - .userLogin, .updateForm { - min-height: 0px; + min-height: 0; } - section:after { content: " "; display: table; clear: both; } - -/* Version des modules*/ +/* Version des modules */ .moduleVersion { font-size: 0.8em; font-style: italic; text-align: right; } - /* Pied de page */ -body>footer { +body > footer { margin: 0; - /* -10px;*/ } - -/* -footer { - padding: 1px 20px; -} -*/ - #footerbody, #footersite { margin: 0; } - .footerbodyFixed { position: fixed; bottom: 0; @@ -829,7 +433,6 @@ footer { background-color: inherit; padding: inherit; } - #footersiteRight, #footersiteLeft, #footersiteCenter, @@ -839,24 +442,19 @@ footer { vertical-align: middle; padding: 0; } - -footer #footerbody>div { - margin: 0 +footer #footerbody > div { + margin: 0; } - -footer #footersite>div { - padding: 0 +footer #footersite > div { + padding: 0; } - -footer #footerbody>div { - padding: 0 +footer #footerbody > div { + padding: 0; } - -#footerText>p { +#footerText > p { margin-top: 0; margin-bottom: 0; } - #footerLoginLink, #footerDisplayCopyright, #footerDisplayVersion, @@ -867,101 +465,66 @@ footer #footerbody>div { #footerDeltaCMS { font-size: inherit; } - -/* Conserve le pied de page sur une ligne */ -@media screen and (max-width: 768px) { - body>footer { - margin: 0 auto !important; - } - - footer .col4 { - width: 100%; - } - - #footerCopyright, - #footerText, - #footerSocials { - display: flex; - justify-content: center; - } -} - +/* Réseaux sociaux */ footer #footerSocials span { - color: #FFF; + color: #fff; padding: 9px; margin: 0 5px; display: inline-block; border-radius: 2px; - transition: background .3s ease-out; + transition: background 0.3s ease-out; } - footer #footerSocials .zwiico-facebook { - background: #3B5999; + background: #3b5999; } - footer #footerSocials .zwiico-facebook:hover { - background: #324B80; + background: #324b80; } - footer #footerSocials .zwiico-linkedin { - background: #007BB6; + background: #007bb6; } - footer #footerSocials .zwiico-linkedin:hover { background: #006881; } - footer #footerSocials .zwiico-instagram { - background: #E4405F; + background: #e4405f; } - footer #footerSocials .zwiico-instagram:hover { - background: #E02246; + background: #e02246; } - footer #footerSocials .zwiico-pinterest { - background: #BD081C; + background: #bd081c; } - footer #footerSocials .zwiico-pinterest:hover { - background: #9C0717; + background: #9c0717; } - footer #footerSocials .zwiico-twitter { - background: #55ACEE; + background: #55acee; } - footer #footerSocials .zwiico-twitter:hover { - background: #369DEB; + background: #369deb; } - footer #footerSocials .zwiico-youtube { - background: #CD201F; + background: #cd201f; } - footer #footerSocials .zwiico-youtube:hover { - background: #AF1B1B; + background: #af1b1b; } - footer #footerSocials .zwiico-github { background: #000; } - footer #footerSocials .zwiico-github:hover { background: #000; } - /* Bulle de dialogue */ .speech { margin: 16px; text-align: center; } - .speechMimi { display: block; margin: auto; } - .speechBubble { display: block; padding: 20px; @@ -971,18 +534,16 @@ footer #footerSocials .zwiico-github:hover { margin: 16px auto; text-align: left; border-radius: 2px; - transition: background .3s ease-out; + transition: background 0.3s ease-out; } - .speechBubble:before { content: " "; position: absolute; left: 50%; margin-left: -20px; bottom: -30px; - border: 20px solid; + border: solid 20px; } - /* Remonter en haut */ #backToTop { position: fixed; @@ -990,207 +551,168 @@ footer #footerSocials .zwiico-github:hover { right: 30px; bottom: 100px; padding: 13px 16px 16px; - /* - Paramétré dans le thème (9.2.21) - background: rgba(33, 34, 35, .8); - color: #FFF;*/ cursor: pointer; display: none; border-radius: 50%; - transition: background .3s ease-out; + transition: background 0.3s ease-out; } - #backToTop:hover { - background: rgba(33, 34, 35, .9); + background: rgb(33, 34, 35, 0.9); } - #backToTop:active { - background: rgba(33, 34, 35, 1); + background: rgb(33, 34, 35, 1); } - /* Message sur les cookies */ #cookieConsent { width: 60%; margin: auto; - /* background: #212223; dans theme.css via core.php */ position: fixed; right: 0; bottom: 5%; left: 0; - /* color: #FFF; dans theme.css via core.php */ padding: 10px; z-index: 60; text-align: center; font-size: 1em; } - -@media screen and (max-width:768px) { - #cookieConsent { - width: 90%; - } -} - #cookieConsentConfirm { cursor: pointer; margin-left: 10px; padding: 4px 8px; display: inline-block; - transition: background .3s ease-out; - /* background-color: green; dans theme.css via core.php */ + transition: background 0.3s ease-out; } - #cookieConsentConfirm:hover { filter: grayscale(100%); } - .cookieTop { - display: flex; - justify-content: space-between; + display: flex; + justify-content: space-between; } - .cookieImage { width: 20%; } - .cookieTitle { padding-top: 5%; padding-right: 5%; width: 70%; font-size: 22px; } - .cookieClose { width: 10%; font-size: 1.5em; cursor: pointer; } - - /* Bloc */ .block { padding: 20px 20px 10px; margin: 20px 0; - word-wrap: break-word; + overflow-wrap: break-word; border-radius: 2px; } - .block:first-of-type { margin-top: 0; } - .block:last-of-type { margin-bottom: 0; } - -.block > h4, .blockTitle { +.block > h4, +.blockTitle { margin: -20px -20px 10px; padding: 5px; } .blockTitle * { margin: 0; } - /* Aides */ .helpButton { cursor: help; margin: 0 5px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; user-select: none; } - - /* Lightbox */ .lightbox { - background: #FFF; + background: #fff; width: 100vw; max-width: 500px; padding: 20px; - } - -.lightbox>span { +.lightbox > span { color: black; } - .lightbox .lightboxButtons { text-align: center; margin-top: 30px; } - .lightbox .lightboxButtons .button { width: 100%; max-width: 80px; margin: 0 10px; } - -/** - * Inputs - */ - /* Inputs génériques */ -input[type='email'], -input[type='text'], -input[type='password'], +input[type="email"], +input[type="text"], +input[type="password"], .inputFile, select, textarea { padding: 9px; - /* -1px à cause des bordures */ - /*background: #FFF;*/ - border: 1px solid #D8DFE3; + border: solid 1px; width: 100%; - border-radius: 2px; + border-radius: 0px; font-family: inherit; - transition: border .3s ease-out; } - select { padding: 9px; } - -input[type='email']:hover, -input[type='text']:hover, -input[type='password']:hover, +input[type="email"]:hover, +input[type="text"]:hover, +input[type="password"]:hover, .inputFile:hover, select:hover, textarea:hover { - border: 1px solid; + border: solid 1px; + border-radius: 5px; } - -input[type='email'].notice, -input[type='text'].notice, -input[type='password'].notice, +input[type="email"]:focus-visible, +input[type="text"]:focus-visible, +input[type="password"]:focus-visible, +.inputFile:focus-visible, +select:focus-visible, +textarea:focus-visible { + outline: none; + border: solid 2px; + border-radius: 5px; +} +input[type="email"].notice, +input[type="text"].notice, +input[type="password"].notice, .inputFile.notice, select.notice, textarea.notice { - border: 1px solid #E74C3C; - /*background: #FAD7D3;*/ + border: solid 2px; + border-radius: 5px; } - -input[type='email'].notice:hover, -input[type='text'].notice:hover, -input[type='password'].notice:hover, +input[type="email"].notice:hover, +input[type="text"].notice:hover, +input[type="password"].notice:hover, .inputFile.notice:hover, select.notice:hover, textarea.notice:hover { - border: 1px solid #A82315; + border: solid 1px; + border-radius: 5px; } - button:disabled, input:disabled, select:disabled, textarea:disabled { - background: #F6F7F8 !important; - color: #94A5B0 !important; + background: #f6f7f8 !important ; + color: #94a5b0 !important ; } - +/* Icône de soumission unique */ button:disabled .zwiico-spin { - color: #50616C !important - /* Icône de soumission unique */ + color: #50616c !important ; } - button { width: 100%; padding: 11px; @@ -1198,151 +720,123 @@ button { cursor: pointer; font-family: inherit; border-radius: 2px; - transition: background .3s ease-out; + transition: background 0.3s ease-out; } - textarea { height: 100px; resize: vertical; } - label { display: block; margin-bottom: 4px; } - .captcha label { - display:inline-block; + display: inline-block; } - /* Simule le padding des cols pour les inputs en dehors des cols */ -:not([class^="col"])>.inputWrapper { +:not([class^="col"]) > .inputWrapper { padding: 10px 0; } - /* Supprime le padding d'une row dans un col */ -[class^="col"]>.row { +[class^="col"] > .row { margin: -10px; } - /* Bouton */ .button { width: 100%; display: inline-block; padding: 11px; text-align: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; user-select: none; cursor: pointer; border-radius: 2px; - transition: background .3s ease-out; + transition: background 0.3s ease-out; } - -/* Bouton redimensionnable pour le formulaire*/ +/* Bouton redimensionnable pour le formulaire */ #formSubmit { width: max-content; float: right; } - .button:hover { text-decoration: none; } - .button.disabled { - pointer-events: none; cursor: default; - background: #F6F7F8 !important; - color: #94A5B0 !important; + background: #f6f7f8 !important ; + color: #94a5b0 !important ; } - /* Upload de fichiers */ -.inputFile, .datepicker { +.inputFile, +.datepicker { margin: 0; display: inline-block; - width: 88% !important; + width: 88% !important ; } - -.inputFileDelete, .inputDateDelete { +.inputFileDelete, +.inputDateDelete { display: block; width: 10%; padding: 10px 0; - background: #F5F5F5; + background: #f5f5f5; text-align: center; float: right; - /* min-height: 100% */ height: 35px; } - .inputFile:hover { text-decoration: none; } - /* Empêche le débordement et les sauts de ligne */ -.inputFileManagerWrapper, .inputDateManagerWrapper { +.inputFileManagerWrapper, +.inputDateManagerWrapper { display: inline; } - -.inputFileManagerWrapper>.inputFile, .inputDateManagerWrapper>.inputFile { +.inputFileManagerWrapper > .inputFile, +.inputDateManagerWrapper > .inputFile { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } - /* Pagination */ .pagination { padding: 10px 0; } - .pagination a { display: inline-block; padding: 10px; margin: 5px; text-align: center; } - .pagination a:hover { text-decoration: none; } - .pagination a.disabled { - pointer-events: none; cursor: default; - background: #F6F7F8 !important; - color: #94A5B0 !important; + background: #f6f7f8 !important ; + color: #94a5b0 !important ; } - .pagination a:first-child { margin-left: 0; } - .pagination a:last-child { margin-right: 0; } - /* Cases à cocher (pas de display none sinon le hover ne fonctionne pas sous Chrome) */ -input[type='checkbox'] { - -webkit-appearance: none; - -moz-appearance: none; +input[type="checkbox"] { appearance: none; opacity: 0; height: 0; width: 0; } - -input[type='checkbox']+label { +input[type="checkbox"] + label { display: inline-block; margin-right: 10px; cursor: pointer; } - -input[type='checkbox']+label span { +input[type="checkbox"] + label span { vertical-align: middle; } - -input[type='checkbox']+label:before { - content: '\2713'; +input[type="checkbox"] + label:before { + content: "\2713"; display: inline-block; text-align: center; color: transparent; @@ -1352,77 +846,54 @@ input[type='checkbox']+label:before { line-height: 20px; font-size: 10px; font-weight: bold; - background: #FDFDFD; - border: 1px solid #D8DFE3; + background: #fdfdfd; + border: #d8dfe3 solid 1px; vertical-align: top; border-radius: 2px; } - -input[type='checkbox'].notice+label:before { - background: #E74C3C; +input[type="checkbox"].notice + label:before { + background: #e74c3c; } - -input[type='checkbox']:hover+label:before, -input[type='checkbox']:checked:active+label:before { - background: #ECEFF1; +input[type="checkbox"]:hover + label:before, +input[type="checkbox"]:checked:active + label:before { + background: #eceff1; } - -input[type='checkbox']:disabled+label:before { - background: #F6F7F8 !important; +input[type="checkbox"]:disabled + label:before { + background: #f6f7f8 !important ; } - /* Sélecteur de date */ .datepicker { cursor: text; } - +/* Ànnulation du padding ajouté aux selects */ .pika-select { padding: 0; - /* À cause du padding ajouté aux selects */ } - /* Paramètres de l'étiquette dans form */ .formLabel { margin-top: 20px; } - .formLabel hr { - border: 1px solid; + border: solid 1px; margin: 5px 0 5px; } - -/* Paramètres de Input File dans form */ -.formInputFile { - -} - - -/** - * Grille - */ - +/* Grille */ *, *:before, *:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; box-sizing: border-box; } - .row { margin: 0 -10px; font-size: 0; } - /* Supprime les margins du premier et du dernier élément d'un col, utile pour les cols générés depuis l'éditeur de texte. (Ne s'applique pas aux rows pour ne pas supprimer les margins négatifs) */ -.row>div> :first-child:not(.row) { +.row > div > :first-child:not(.row) { margin-top: 0; } - -.row>div> :last-child:not(.row) { +.row > div > :last-child:not(.row) { margin-bottom: 0; } - .col1, .col2, .col3, @@ -1441,105 +912,7 @@ input[type='checkbox']:disabled+label:before { min-height: 1px; display: inline-block; } - -@media screen and (min-width: 769px) { - .col1 { - width: 8.33333333%; - } - - .col2 { - width: 16.66666667%; - } - - .col3 { - width: 25%; - } - - .col4 { - width: 33.33333333%; - } - - .col5 { - width: 41.66666667%; - } - - .col6 { - width: 50%; - } - - .col7 { - width: 58.33333333%; - } - - .col8 { - width: 66.66666667%; - } - - .col9 { - width: 75%; - } - - .col10 { - width: 83.33333333%; - } - - .col11 { - width: 91.66666667%; - } - - .col12 { - width: 100%; - } - - .offset1 { - margin-left: 8.33333333%; - } - - .offset2 { - margin-left: 16.66666667%; - } - - .offset3 { - margin-left: 25%; - } - - .offset4 { - margin-left: 33.33333333%; - } - - .offset5 { - margin-left: 41.66666667%; - } - - .offset6 { - margin-left: 50%; - } - - .offset7 { - margin-left: 58.33333333%; - } - - .offset8 { - margin-left: 66.66666667%; - } - - .offset9 { - margin-left: 75%; - } - - .offset10 { - margin-left: 83.33333333%; - } - - .offset11 { - margin-left: 91.66666667%; - } -} - -/** - * Grille pour tableau - */ - +/* Grille pour tableau */ td.col1, th.col1, td.col2, @@ -1569,131 +942,87 @@ th.col12 { min-height: 1px; display: table-cell; } - td.col1, th.col1 { width: 8.33333333%; } - td.col2, th.col2 { width: 16.66666667%; } - td.col3, th.col3 { width: 25%; } - td.col4, th.col4 { width: 33.33333333%; } - td.col5, th.col5 { width: 41.66666667%; } - td.col6, th.col6 { width: 50%; } - td.col7, th.col7 { width: 58.33333333%; } - td.col8, th.col8 { width: 66.66666667%; } - td.col9, th.col9 { width: 75%; } - td.col10, th.col10 { width: 83.33333333%; } - td.col11, th.col11 { width: 91.66666667%; } - td.col12, th.col12 { width: 100%; } - -/* Tableau sur les écrans de très petites tailles */ -@media screen and (max-width: 480px){ - .table tr{ - display: block; - margin-bottom: 10px; - } - .table td { - display: block; - text-align: right; - width: auto; - } -} - -/** - * Classes rapides - */ - +/* Classes rapides */ .displayNone { display: none; } - .textAlignCenter { text-align: center; } - .textAlignRight { text-align: right; } - .verticalAlignBottom { vertical-align: bottom; } - .verticalAlignMiddle { vertical-align: middle; } - .clearBoth { clear: both; } - .colorGreen { - color: #27AE60; + color: #27ae60; } - .colorRed { - color: #E74C3C; + color: #e74c3c; } - .colorOrange { - color: #F39C12; + color: #f39c12; } - - - -/* -* Effet accordéon -*/ - +/* Effet accordéon */ .accordion { padding: 0; list-style: none; } - .accordion-title { display: block; margin: 0; @@ -1702,62 +1031,32 @@ th.col12 { text-decoration: none; cursor: pointer; } - .accordion-title:hover { background: lightgrey; } - .accordion-content { padding: 7px; } - -/* Captcha -*/ - -.captchaNum, .captchaAlpha { - vertical-align: middle; - padding-left: 10px; - padding-right: 10px; -} - -.captchaNum { - height: 5em; -} - -.captchaAlpha { - height: 2em; -} - -.captcha input[type='text'] { +/* Captcha */ +.captcha input[type="text"] { width: 4em; text-align: center; margin: auto auto auto 2em; } - -/* -* Couleur des icônes + et - -*/ +/* Couleur des icônes + et - */ .zwiico-minus-circled, .zwiico-plus-circled { - color: #D8890B; - font-size: 1.3em !important; + color: #d8890b; + font-size: 1.3em !important ; } - .zwiico-minus-circled, .zwiico-plus-circled { transition: all 1s ease; } - .zwiico-minus-circled:hover, .zwiico-plus-circled:hover { - -webkit-transform:scale(1.25); /* Safari et Chrome */ - -moz-transform:scale(1.25); /* Firefox */ - -ms-transform:scale(1.25); /* Internet Explorer 9 */ - -o-transform:scale(1.25); /* Opera */ - transform:scale(1.25); - } - - + transform: scale(1.25); +} /* Emplacement des conditions d'utilisation */ #googTransLogo { float: right; @@ -1765,70 +1064,52 @@ th.col12 { #googTransLogo img { width: 60%; } - /* Système d'aide */ - .helpDisplayContent { display: none; width: 100%; padding: 10px 10px; - -webkit-box-shadow: 5px 5px 11px 0px #222222; - box-shadow: 5px 5px 11px 0px #222222; - border-radius: 5px; - z-index: 30; + box-shadow: 5px 5px 11px 0 #222222; + border-radius: 5px; + z-index: 30; } - -.helpDisplayContent, .helpDisplayButton { - cursor: pointer; +.helpDisplayContent, +.helpDisplayButton { + cursor: pointer; } - /* Bouton screenshot */ .buttonScreenshot { - position: absolute; - padding: 0px; - background-color: rgba(255,255,255,0); - bottom: 30px; - right: 30px; - width: 100px; - height: 68px; + position: absolute; + padding: 0; + background-color: rgb(255, 255, 255, 0); + bottom: 30px; + right: 30px; + width: 100px; + height: 68px; } - .buttonScreenshot:active { - width: 90px; + width: 90px; } - -/* Bannière masquable en petit écran*/ -@media screen and (max-width: 768px) { - .bannerDisplay{ - display : none; - } -} - /* Option image avec titre dans tinymce */ figure.image { - display: inline-block; - border: 1px solid; - margin: 0 6px; + display: inline-block; + border: solid 1px; + margin: 0 6px; } - figure.align-center { - display: table; - margin:auto; + display: table; + margin: auto; } - figure.align-left { - float: left; + float: left; } - figure.align-right { - float: right; + float: right; } - figure.image img { - margin: 0; + margin: 0; } - figure.image figcaption { - margin: 4px; - text-align: center; + margin: 4px; + text-align: center; } diff --git a/core/layout/light.php b/core/layout/light.php index 349afb1..63e32af 100644 --- a/core/layout/light.php +++ b/core/layout/light.php @@ -1,20 +1,18 @@ - + showMetaTitle(); - $this->showMetaPropertyFacebook(); - ?> - showFavicon(); $this->showVendor(); - $this->showStyle(); ?> + + showStyle(); ?> diff --git a/core/layout/mail.php b/core/layout/mail.php index fc50b94..78c512f 100644 --- a/core/layout/mail.php +++ b/core/layout/mail.php @@ -103,8 +103,7 @@ getData(['module', $this->getUrl(0), 'config', 'signature' ]) === 'logo' && is_file( 'site/file/source/'. $this->getData(['module', $this->getUrl(0), 'config', 'logoUrl' ]))){ $imageFile = helper::baseUrl(false).'site/file/source/'. $this->getData(['module', $this->getUrl(0), 'config', 'logoUrl' ]) ; - $imageBase64 = base64_encode(file_get_contents($imageFile)); - ?> + ?>logo '; } $this->showMetaTitle(); if( $this->getData(['config', 'social', 'headFacebook' ]) === true) $this->showMetaPropertyFacebook(); ?> - showFavicon(); - $this->showVendor(); + $this->showVendor(); echo PHP_EOL; ?> + + showStyle(); ?> getData(['page', $this->getUrl(0), 'moduleId']) === 'blog' @@ -25,11 +27,10 @@ else { echo ''; } AND $this->getData(['module', $this->getUrl(0), 'config', 'feeds']) === TRUE ): ?> - showStyle(); echo PHP_EOL; ?> - @@ -43,11 +44,11 @@ else { echo ''; } showNotification(); ?> - + - getData(['theme', 'menu', 'burgerLogo']); - if( $this->getData(['theme','menu','burgerContent']) === 'logo' - && file_exists( $fileLogo) + getData(['theme', 'menu', 'burgerLogo']); + if( $this->getData(['theme','menu','burgerContent']) === 'logo' + && file_exists( $fileLogo) && $this->getData(['theme', 'menu', 'burgerLogo']) !== '' ){ $fontsize = $this->getData(['theme', 'text', 'fontSize']); $pospx = strpos($fontsize, 'px'); @@ -67,7 +68,7 @@ else { echo ''; } $widthLogo = 30; } } ?> - + @@ -135,7 +136,7 @@ else { echo ''; } getData(['theme','header','swiperContent']);?> - + @@ -222,7 +223,7 @@ else { echo ''; } - + showSection();?> @@ -238,10 +239,10 @@ else { echo ''; }
    - +
    - + showCookies(); ?> showScript();?> diff --git a/core/layout/mediaqueries.css b/core/layout/mediaqueries.css new file mode 100644 index 0000000..4722e1a --- /dev/null +++ b/core/layout/mediaqueries.css @@ -0,0 +1,280 @@ +/** + * This file is part of DeltaCMS. + * For full copyright and license information, please see the LICENSE + * file that was distributed with this source code. + * @author Sylvain Lelièvre + * @copyright Copyright (C) 2021-2022, Sylvain Lelièvre + * @license GNU General Public License, version 3 + * @link https://deltacms.fr/ + * + * Delta was created from version 11.2.00.24 of ZwiiCMS + * @author Rémi Jean + * @copyright Copyright (C) 2008-2018, Rémi Jean + * @author Frédéric Tempez + * @copyright Copyright (C) 2018-2021, Frédéric Tempez + */ + +/* Ecrans >= 800px */ + +@media (min-width: 800px) { + body { + margin: 0; + } +/* Barre de membre */ + #bar #barLeft { + float: left; + } + #bar #barRight { + float: right; + font-size: 12px; + } +/* Bannière */ + body > header { + margin: 0; + } + header { + margin: 0; + } +/* Items du menu */ + .smallScreenFlags { + display: none; + } + nav #menu { + display: block; + } +/* Corps */ + section { + padding: 20px; + } +/* Grille */ + .col1 { + width: 8.33333333%; + } + .col2 { + width: 16.66666667%; + } + .col3 { + width: 25%; + } + .col4 { + width: 33.33333333%; + } + .col5 { + width: 41.66666667%; + } + .col6 { + width: 50%; + } + .col7 { + width: 58.33333333%; + } + .col8 { + width: 66.66666667%; + } + .col9 { + width: 75%; + } + .col10 { + width: 83.33333333%; + } + .col11 { + width: 91.66666667%; + } + .col12 { + width: 100%; + } + .offset1 { + margin-left: 8.33333333%; + } + .offset2 { + margin-left: 16.66666667%; + } + .offset3 { + margin-left: 25%; + } + .offset4 { + margin-left: 33.33333333%; + } + .offset5 { + margin-left: 41.66666667%; + } + .offset6 { + margin-left: 50%; + } + .offset7 { + margin-left: 58.33333333%; + } + .offset8 { + margin-left: 66.66666667%; + } + .offset9 { + margin-left: 75%; + } + .offset10 { + margin-left: 83.33333333%; + } + .offset11 { + margin-left: 91.66666667%; + } +} + +/* Ecrans < 800px */ + +@media (max-width: 799px) { +/* Suppression des marges */ + body { + margin: 0 auto !important ; + } + #site { + margin-top: 0 !important ; + } + body > header { + margin: 0 auto !important ; + } + .tippy-tooltip { + font-size: 0.8rem !important ; + } + section { + padding: 10px !important ; + } +/* siteContainer */ + .siteContainer { + display: flex; + flex-direction: column; + } + .siteContainer > #contentLeft { + order: 1; + } + .siteContainer > #contentRight { + order: 3; + } + .siteContainer > #contentSite { + order: 2; + } +/* Tableaux */ + .table thead { + font-size: 0.8em; + } +/* Barre de membre */ + #bar { + text-align: center; + margin: 0 auto !important ; + } + #bar ul { + height: auto; + } + #bar #barSelectPage { + width: 40%; + font-size: 1em; + } + #bar #barLeft { + font-size: 1.2em; + float: none; + } + #bar #barRight { + font-size: 1.4em; + } + #bar #displayUsername { + display: none; + } +/* Items du menu */ + body > nav { + margin: 0 auto !important ; + } + nav #toggle, + nav #menuLeft { + display: block; + float: none; + } + nav #menuLeft { + flex-direction: column; + float: none; + } + nav #menuRight { + font-size: 2em; + } + nav #menu { + display: none; + text-align: left; + } + nav li { + display: block; + } + nav li ul { + z-index: 1; + opacity: 1; + position: static; + min-width: inherit; + padding-left: 20px; + } +/* Taille du menu hamburger */ + nav .zwiico-menu { + font-size: 1.5em; + } + nav .zwiico-cancel { + font-size: 1.5em; + } +/* Position du bloc dans le site sur les petits écrans */ + .smallScreenFlags { + display: inline-block; + position: relative; + left: 10px; + } + .smallScreenInline { + display: inline-block; + } + .i18nFlag { + width: 25px; + margin: 0 10px 0 -10px; + } + .i18nFlagSelected { + width: 30px; + margin: 0 10px 0 -10px; + } + .zwiico-login { + margin-right: 20px; + } +/* Conserve le pied de page sur une ligne */ + body > footer { + margin: 0 auto !important ; + } + footer .col4 { + width: 100%; + } + #footerCopyright, + #footerText, + #footerSocials { + display: flex; + justify-content: center; + } +/* Message sur les cookies */ + #cookieConsent { + width: 90%; + } +/* Bannière masquable en petit écran */ + .bannerDisplay { + display: none; + } +} + +/* Autres tailles d'écrans */ + +/* Tableau sur les écrans de petites tailles */ +@media (max-width: 668px) { + .table thead { + display: none; + } +} + +/* Tableau sur les écrans de très petites tailles */ +@media (max-width: 480px) { + .table tr { + display: block; + margin-bottom: 10px; + } + .table td { + display: block; + text-align: right; + width: auto; + } +} diff --git a/core/module/config/lang/en/lex_config.php b/core/module/config/lang/en/lex_config.php index 8d6410b..7afaf3b 100644 --- a/core/module/config/lang/en/lex_config.php +++ b/core/module/config/lang/en/lex_config.php @@ -127,7 +127,7 @@ $text['core_config_view']['setup'][10] = 'Mandatory activation under French law $text['core_config_view']['setup'][11] = 'Smart URLs'; $text['core_config_view']['setup'][12] = 'First check that your server allows URL rewriting (which is not the case with Free)'; $text['core_config_view']['setup'][13] = 'Search for an online update'; -$text['core_config_view']['setup'][14] = 'The check is daily. Option disabled if server configuration does not allow it.'; +$text['core_config_view']['setup'][14] = 'Enabled option the check is daily. Option disabled you will have to do the updates by FTP. If after activation the box is unchecked it means that your server does not allow it.'; $text['core_config_view']['setup'][15] = 'Preserve the root htaccess file'; $text['core_config_view']['setup'][16] = 'On auto-update, keep the root htaccess file'; $text['core_config_view']['setup'][17] = 'Reinstall'; diff --git a/core/module/config/lang/fr/lex_config.php b/core/module/config/lang/fr/lex_config.php index 9b179a1..6f3426c 100644 --- a/core/module/config/lang/fr/lex_config.php +++ b/core/module/config/lang/fr/lex_config.php @@ -127,7 +127,7 @@ $text['core_config_view']['setup'][10] = 'Activation obligatoire selon les lois $text['core_config_view']['setup'][11] = 'URL intelligentes'; $text['core_config_view']['setup'][12] = 'Vérifiez d\'abord que votre serveur autorise l\'URL rewriting (ce qui n\'est pas le cas chez Free).'; $text['core_config_view']['setup'][13] = 'Rechercher une mise à jour en ligne'; -$text['core_config_view']['setup'][14] = 'La vérification est quotidienne. Option désactivée si la configuration du serveur ne le permet pas.'; +$text['core_config_view']['setup'][14] = 'Option activée la vérification est quotidienne. Option désactivée vous devrez faire les mises à jour par FTP. Si après une activation la case est décochée c\'est que votre serveur ne le permet pas.'; $text['core_config_view']['setup'][15] = 'Préserver le fichier htaccess racine'; $text['core_config_view']['setup'][16] = 'Lors d\'une mise à jour automatique, conserve le fichier htaccess de la racine du site.'; $text['core_config_view']['setup'][17] = 'Réinstaller'; diff --git a/core/module/config/view/setup/setup.php b/core/module/config/view/setup/setup.php index a032f9d..8b2984e 100644 --- a/core/module/config/view/setup/setup.php +++ b/core/module/config/view/setup/setup.php @@ -66,13 +66,18 @@ include('./core/module/config/lang/'. $this->getData(['config', 'i18n', 'langAdm - + getData(['config', 'autoUpdate']) === true){ + $updateError = helper::urlGetContents(common::DELTA_UPDATE_URL . common::DELTA_UPDATE_CHANNEL . '/version'); + if( $updateError === false) $this->setData(['config', 'autoUpdate', false]); + } else { + $updateError = false; + }?>
    $this->getData(['config', 'autoUpdate']), - 'help' => $text['core_config_view']['setup'][14], - 'disabled' => !$updateError + 'help' => $text['core_config_view']['setup'][14] ]); ?>
    diff --git a/core/module/install/ressource/database_en/base/module.json b/core/module/install/ressource/database_en/base/module.json index 5c8df93..42513f6 100644 --- a/core/module/install/ressource/database_en/base/module.json +++ b/core/module/install/ressource/database_en/base/module.json @@ -141,7 +141,7 @@ "logoUrl": "", "logoWidth": "40", "maxSizeUpload": "500000", - "versionData": "4.5", + "versionData": "4.6", "uploadJpg": true, "uploadPng": true, "uploadPdf": false, diff --git a/core/module/install/ressource/database_fr/base/module.json b/core/module/install/ressource/database_fr/base/module.json index 7f3fe45..2b317bd 100644 --- a/core/module/install/ressource/database_fr/base/module.json +++ b/core/module/install/ressource/database_fr/base/module.json @@ -141,7 +141,7 @@ "logoUrl": "", "logoWidth": "40", "maxSizeUpload": "1000000", - "versionData": "4.5", + "versionData": "4.6", "uploadJpg": true, "uploadPng": true, "uploadPdf": false, diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index c1b5760..25c579a 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -69,7 +69,7 @@ class init extends common { ] ], 'core' => [ - 'dataVersion' => 4403, + 'dataVersion' => 4404, 'lastBackup' => 0, 'lastClearTmp' => 0, 'lastAutoUpdate' => 0, diff --git a/core/module/install/ressource/themes/theme_banniere_animee_85vw.zip b/core/module/install/ressource/themes/theme_banniere_animee_85vw.zip new file mode 100644 index 0000000..99562bd Binary files /dev/null and b/core/module/install/ressource/themes/theme_banniere_animee_85vw.zip differ diff --git a/core/module/install/ressource/themes/theme_default.zip b/core/module/install/ressource/themes/theme_default.zip index cdce38a..814f18a 100644 Binary files a/core/module/install/ressource/themes/theme_default.zip and b/core/module/install/ressource/themes/theme_default.zip differ diff --git a/core/module/install/ressource/themes/theme_hirondelles_960px.zip b/core/module/install/ressource/themes/theme_hirondelles_960px.zip deleted file mode 100644 index 8147984..0000000 Binary files a/core/module/install/ressource/themes/theme_hirondelles_960px.zip and /dev/null differ diff --git a/core/module/install/ressource/themes/theme_montagne_960px.zip b/core/module/install/ressource/themes/theme_montagne_960px.zip deleted file mode 100644 index c331655..0000000 Binary files a/core/module/install/ressource/themes/theme_montagne_960px.zip and /dev/null differ diff --git a/core/module/install/ressource/themes/theme_sansbanniere_fluide.zip b/core/module/install/ressource/themes/theme_sansbanniere_fluide.zip index 97b70c2..4bd35cc 100644 Binary files a/core/module/install/ressource/themes/theme_sansbanniere_fluide.zip and b/core/module/install/ressource/themes/theme_sansbanniere_fluide.zip differ diff --git a/core/module/install/ressource/themes/theme_sombre_islande_fluide.zip b/core/module/install/ressource/themes/theme_sombre_islande_fluide.zip new file mode 100644 index 0000000..c17b548 Binary files /dev/null and b/core/module/install/ressource/themes/theme_sombre_islande_fluide.zip differ diff --git a/core/module/install/ressource/themes/themes.json b/core/module/install/ressource/themes/themes.json index a89752d..b5405a5 100644 --- a/core/module/install/ressource/themes/themes.json +++ b/core/module/install/ressource/themes/themes.json @@ -2,17 +2,17 @@ "defaut" : { "name": "Hirondelles 100%", "filename": "default" - }, - "montagne": { - "name": "Montagne 960px", - "filename": "theme_montagne_960px.zip" - }, - "hirondelles": { - "name": "Hirondelles 960px", - "filename": "theme_hirondelles_960px.zip" }, "fluide": { "name": "Sans bannière 100%", "filename": "theme_sansbanniere_fluide.zip" + }, + "sombre": { + "name": "Sombre Islande 100%", + "filename": "theme_sombre_islande_fluide.zip" + }, + "pablo_banniere_animee": { + "name": "Bannière animèe 85%", + "filename": "theme_banniere_animee_85vw.zip" } } \ No newline at end of file diff --git a/core/module/theme/lang/en/lex_theme.php b/core/module/theme/lang/en/lex_theme.php index 966551a..a6ab379 100644 --- a/core/module/theme/lang/en/lex_theme.php +++ b/core/module/theme/lang/en/lex_theme.php @@ -11,7 +11,7 @@ $text['core_theme_view']['addFonts'][7] = 'The font file is sent, or not, from a $text['core_theme_view']['addFonts'][8] = 'You must first upload the font file, ttf, woff, otf, eot or woff2 to the fonts folder with the file manager'; $text['core_theme_view']['addFonts'][9] = 'Select a font'; $text['core_theme_view']['addFonts'][10] = 'License'; -$text['core_theme_view']['addFonts'][11] = 'License type of the font'; +$text['core_theme_view']['addFonts'][11] = 'License type of the font'; $text['core_theme_view']['addFonts'][12] = "Are you sure you want to delete this font ?"; $text['core_theme_view']['admin'][0] = 'Back'; $text['core_theme_view']['admin'][1] = 'Help'; @@ -33,7 +33,7 @@ $text['core_theme_view']['admin'][17] = 'Validation button'; $text['core_theme_view']['admin'][18] = 'Text formatting'; $text['core_theme_view']['admin'][19] = 'Text font'; $text['core_theme_view']['admin'][20] = 'Size'; -$text['core_theme_view']['admin'][21] = 'Title font'; +$text['core_theme_view']['admin'][21] = 'Title font'; $text['core_theme_view']['admin'][22] = "Are you sure you want to reset the administration theme to its original state ?"; $text['core_theme_view']['advanced'][0] = 'Back'; $text['core_theme_view']['advanced'][1] = 'Help'; @@ -49,13 +49,13 @@ $text['core_theme_view']['body'][5] = 'Background'; $text['core_theme_view']['body'][6] = 'The horizontal slider sets the transparency level'; $text['core_theme_view']['body'][7] = 'Top icon background'; $text['core_theme_view']['body'][8] = 'Top icon'; -$text['core_theme_view']['body'][9] = 'Image'; +$text['core_theme_view']['body'][9] = 'Image'; $text['core_theme_view']['body'][10] = 'Select an image'; $text['core_theme_view']['body'][11] = 'Background'; $text['core_theme_view']['body'][12] = 'Repeat'; $text['core_theme_view']['body'][13] = 'Position'; $text['core_theme_view']['body'][14] = 'Scroll'; -$text['core_theme_view']['body'][15] = 'Size'; +$text['core_theme_view']['body'][15] = 'Size'; $text['core_theme_view']['editFonts'][0] = 'Back'; $text['core_theme_view']['editFonts'][1] = 'Help'; $text['core_theme_view']['editFonts'][2] = 'Save'; @@ -199,6 +199,7 @@ $text['core_theme_view']['manage'][11] = 'Download theme'; $text['core_theme_view']['manage'][12] = 'Site theme'; $text['core_theme_view']['manage'][13] = 'Administration theme'; $text['core_theme_view']['manage'][14] = "Are you sure you want to reset the site theme to its original state ?"; +$text['core_theme_view']['manage'][15] = "Your custom.css file will be overwritten, you will be able to find it in the automatic backup that will be created, continue?"; $text['core_theme_view']['menu'][0] = 'Back'; $text['core_theme_view']['menu'][1] = 'Help'; $text['core_theme_view']['menu'][2] = 'Save'; @@ -225,7 +226,7 @@ $text['core_theme_view']['menu'][22] = 'Text'; $text['core_theme_view']['menu'][23] = 'Horizontal slider sets transparency level'; $text['core_theme_view']['menu'][24] = 'Background'; $text['core_theme_view']['menu'][25] = 'Submenu background'; -$text['core_theme_view']['menu'][26] = 'Text active page'; +$text['core_theme_view']['menu'][26] = 'Text active page'; $text['core_theme_view']['menu'][27] = 'The background colour of the active page can be set automatically or according to a defined colour, such as the background colour of the pages.'; $text['core_theme_view']['menu'][28] = 'Background colour of the page selected in the menu.
    The horizontal slider sets the transparency level.'; $text['core_theme_view']['menu'][29] = 'Active page background'; @@ -253,7 +254,7 @@ $text['core_theme_view']['site'][10] = 'Background'; $text['core_theme_view']['site'][11] = 'Text'; $text['core_theme_view']['site'][12] = 'Title'; $text['core_theme_view']['site'][13] = 'Links'; -$text['core_theme_view']['site'][14] = 'Color visible in the absence of an image'; +$text['core_theme_view']['site'][14] = 'Color visible in the absence of an image'; $text['core_theme_view']['site'][15] = 'Background of blocks'; $text['core_theme_view']['site'][16] = 'Block border'; $text['core_theme_view']['site'][17] = 'Block corner rounding'; @@ -270,7 +271,8 @@ $text['core_theme_view']['site'][27] = 'Style'; $text['core_theme_view']['site'][28] = 'Character case'; $text['core_theme_view']['site'][29] = 'Size'; $text['core_theme_view']['site'][30] = 'Reference size for the site. The font sizes of the banner, menu and footer are proportional to this size'; -$text['core_theme_view']['site'][31] = 'Title formatting'; +$text['core_theme_view']['site'][31] = 'Title formatting'; +$text['core_theme_view']['site'][32] = 'The width 75vw, 85vw or 95vw applies to a screen size >= 800px'; $text['core_theme']['admin'][0] = 'Saved changes'; $text['core_theme']['admin'][1] = 'Administration'; $text['core_theme']['advanced'][0] = 'Saved changes'; @@ -518,9 +520,9 @@ $textTransforms = [ 'capitalize' => 'Capitalize every word' ]; $siteWidths = [ - '750px' => 'Small (750 pixels)', - '960px' => 'Medium (960 pixels)', - '1170px' => 'Large (1170 pixels)', + '75vw' => 'Small (75 vw)', + '85vw' => 'Medium (85 vw)', + '95vw' => 'Large (95 vw)', '100%' => 'Fluide (100%)' ]; $headerWide = [ @@ -554,4 +556,4 @@ $minWidthTab = [ '150px' => '150px', '200px' => '200px' ]; -?> \ No newline at end of file +?> diff --git a/core/module/theme/lang/fr/lex_theme.php b/core/module/theme/lang/fr/lex_theme.php index 8300cc0..b437f43 100644 --- a/core/module/theme/lang/fr/lex_theme.php +++ b/core/module/theme/lang/fr/lex_theme.php @@ -199,6 +199,7 @@ $text['core_theme_view']['manage'][11] = 'Télécharger le thème'; $text['core_theme_view']['manage'][12] = 'Thème du site'; $text['core_theme_view']['manage'][13] = 'Thème de l\'administration'; $text['core_theme_view']['manage'][14] = "Êtes-vous sûr de vouloir réinitialiser à son état d\'origine le thème du site ?"; +$text['core_theme_view']['manage'][15] = "Votre fichier custom.css va être écrasé, vous pourrez le retrouver dans la sauvegarde automatique qui va être créée, continuez ?"; $text['core_theme_view']['menu'][0] = 'Retour'; $text['core_theme_view']['menu'][1] = 'Aide'; $text['core_theme_view']['menu'][2] = 'Enregistrer'; @@ -271,6 +272,7 @@ $text['core_theme_view']['site'][28] = 'Casse'; $text['core_theme_view']['site'][29] = 'Taille'; $text['core_theme_view']['site'][30] = 'Taille de référence pour le site. Les tailles des polices de la bannière, de menu et de pied de page sont proportionnelles à cette taille.'; $text['core_theme_view']['site'][31] = 'Mise en forme des titres'; +$text['core_theme_view']['site'][32] = 'La largeur 75vw, 85vw ou 95vw s\'applique sur un écran de taille >= 800px'; $text['core_theme']['admin'][0] = 'Modifications enregistrées'; $text['core_theme']['admin'][1] = 'Administration'; $text['core_theme']['advanced'][0] = 'Modifications enregistrées'; @@ -517,9 +519,9 @@ $textTransforms = [ 'capitalize' => 'Majuscule à chaque mot' ]; $siteWidths = [ - '750px' => 'Petite (750 pixels)', - '960px' => 'Moyenne (960 pixels)', - '1170px' => 'Grande (1170 pixels)', + '75vw' => 'Petite (75 vw)', + '85vw' => 'Moyenne (85 vw)', + '95vw' => 'Grande (95 vw)', '100%' => 'Fluide (100%)' ]; $headerWide = [ @@ -553,4 +555,4 @@ $minWidthTab = [ '150px' => '150px', '200px' => '200px' ]; -?> \ No newline at end of file +?> diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index 6637c16..c6b07d6 100644 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -715,10 +715,9 @@ class theme extends common { $data = $this->import(self::FILE_DIR.'source/' . $zipFilename); if ($data['success']) { header("Refresh:0"); - // Régénérer theme.css - if (file_exists(self::DATA_DIR . 'theme.css')) { - unlink(self::DATA_DIR . 'theme.css'); - } + // Régénérer theme.css et admin.css + if (file_exists(self::DATA_DIR . 'theme.css')) unlink(self::DATA_DIR . 'theme.css'); + //$this->setData(['admin', 'maj', true]); } else { // Valeurs en sortie $this->addOutput([ @@ -905,14 +904,25 @@ class theme extends common { if( $value ==='src'){ $images[$ii] = $tab [$key + 1]; $ii++; - } - } + } + } // ajout des images dans le zip foreach( $images as $key=>$value){ $value = str_replace( './site', 'site' , $value); $zip->addFile( $value, $value ); } } + // Extraction des images de la bannière animée avec swiper + if( $this->getData(['theme','header','feature'])=== 'swiper') { + $dir = $this->getData(['theme', 'header', 'swiperImagesDir']); + $scandir = scandir('./'.$dir); + foreach($scandir as $file){ + if(preg_match("#\.(jpg|jpeg|png|gif|tiff|svg|webp)$#",strtolower($file))){ + $value = $dir.'/'.$file; + $zip->addFile( $value, $value ); + } + } + } break; } $ret = $zip->close(); diff --git a/core/module/theme/view/manage/manage.js.php b/core/module/theme/view/manage/manage.js.php index 0b66d42..764f88d 100644 --- a/core/module/theme/view/manage/manage.js.php +++ b/core/module/theme/view/manage/manage.js.php @@ -22,4 +22,13 @@ $("#configManageReset").on("click", function() { return core.confirm(textConfirm, function() { $(location).attr("href", _this.attr("href")); }); +}); + +/** + * Confirmation de changement de thème + */ +$("#themeImportSubmit").on("click", function() { + return core.confirm(textConfirm2, function() { + $('#themeManageForm').submit(); + }); }); \ No newline at end of file diff --git a/core/module/theme/view/manage/manage.php b/core/module/theme/view/manage/manage.php index aa686d1..04055e2 100644 --- a/core/module/theme/view/manage/manage.php +++ b/core/module/theme/view/manage/manage.php @@ -98,4 +98,5 @@ echo template::formOpen('themeManageForm'); ?> diff --git a/core/module/theme/view/site/site.js.php b/core/module/theme/view/site/site.js.php index 6fdab3c..6754c5b 100644 --- a/core/module/theme/view/site/site.js.php +++ b/core/module/theme/view/site/site.js.php @@ -64,7 +64,7 @@ $("input, select").on("change",function() { */ // Taille du site - if ($("#themeSiteWidth").val() === "750px") { + if ($("#themeSiteWidth").val() === "75vw") { css += ".button, button{font-size:0.8em;}"; } else { css += ".button, button{font-size:1em;}"; diff --git a/core/module/theme/view/site/site.php b/core/module/theme/view/site/site.php index e1daf6c..5509fa0 100644 --- a/core/module/theme/view/site/site.php +++ b/core/module/theme/view/site/site.php @@ -47,6 +47,7 @@ echo template::formOpen('themeSiteForm'); ?>
    $text['core_theme_view']['site'][4], + 'help' => $text['core_theme_view']['site'][32], 'selected' => $this->getData(['theme', 'site', 'width']) ]); ?>
    diff --git a/core/module/user/view/login/login.css b/core/module/user/view/login/login.css index 5aea785..a3a60c9 100644 --- a/core/module/user/view/login/login.css +++ b/core/module/user/view/login/login.css @@ -9,7 +9,7 @@ border: 1px solid; } -@media screen and (max-width: 768px) { +@media screen and (max-width: 799px) { .userOuter{ width: 100%; } diff --git a/core/module/user/view/login/login.js.php b/core/module/user/view/login/login.js.php index 39d28fc..5f4bcec 100644 --- a/core/module/user/view/login/login.js.php +++ b/core/module/user/view/login/login.js.php @@ -75,12 +75,14 @@ $( ".humanBotClose" ).click(function() { $(document).ready(function(){ borderColor = "getData(['theme', 'block', 'borderColor']); ?>"; bgColor = "getData(['theme', 'site', 'backgroundColor']); ?>"; + $(".userOuter").css("background-color", bgColor); + $(".userOuter").css("border","solid 1px"); $(".userOuter").css("border-color", borderColor); /* Modifier la couleur au survol */ $( ".userOuter" ).mouseenter(function() { - $(".userOuter").css("background-color", borderColor); + $(".userOuter").css("border-radius","5px"); }); $( ".userOuter" ).mouseleave(function() { - $(".userOuter").css("background-color", bgColor); + $(".userOuter").css("border-radius","0px"); }); }); diff --git a/core/vendor/swiper/swiperEffectVertical.js b/core/vendor/swiper/swiperEffectVertical.js index a668f44..0f33ffa 100644 --- a/core/vendor/swiper/swiperEffectVertical.js +++ b/core/vendor/swiper/swiperEffectVertical.js @@ -6,25 +6,24 @@ $(document).ready(function(){ var heightMod , widthMod, wclient; - wclient = document.body.clientWidth; + wclient = window.innerWidth; switch ( verticalBannerWidthSite ) { - case "750px": - widthMod = 750; + case "75vw": + widthMod = 0.75 * wclient; break; - case "960px": - widthMod = 960; + case "85vw": + widthMod = 0.85 * wclient; break; - case "1170px": - widthMod = 1170; + case "95vw": + widthMod = 0.95 * wclient; break; default: - widthMod = wclient; + widthMod = wclient; } - if( wclient < widthMod) widthMod = wclient; heightMod = verticalBannerHeightImg * ( widthMod / verticalBannerWidthImg ); - $("#headerSwiper .swiper-wrapper").css("width", widthMod); - $("#headerSwiper .swiper-wrapper").css("height", heightMod); + $("#headerSwiper .swiper").css("width", widthMod); + $("#headerSwiper .swiper").css("height", heightMod); } $.wrapper(); $(window).resize(function(){ diff --git a/core/vendor/tinymce/init.js b/core/vendor/tinymce/init.js index f402101..244e314 100644 --- a/core/vendor/tinymce/init.js +++ b/core/vendor/tinymce/init.js @@ -88,6 +88,7 @@ tinymce.init({ // Fichiers CSS à intégrer à l'éditeur content_css: [ baseUrl + "core/layout/common.css", + baseUrl + "core/layout/mediaqueries.css", baseUrl + "core/vendor/tinymce/content.css", baseUrl + "site/data/theme.css", baseUrl + "site/data/custom.css" @@ -177,6 +178,11 @@ tinymce.init({ url: baseUrl + "core/vendor/tinymce/templates/3blocks.html", description: "3 blocs de texte, de même hauteur, avec un titre en ligne." }, + { + title: "Blocs de texte : 3 - 6 - 3", + url: baseUrl + "core/vendor/tinymce/templates/363blocks.html", + description: "3 blocs de texte, de même hauteur, dissymétriques, avec un titre en ligne." + }, { title: "Blocs de texte : 3 - 3 - 3 - 3", url: baseUrl + "core/vendor/tinymce/templates/4blocks.html", @@ -297,6 +303,7 @@ tinymce.init({ // Fichiers CSS à intégrer à l'éditeur content_css: [ baseUrl + "core/layout/common.css", + baseUrl + "core/layout/mediaqueries.css", baseUrl + "core/vendor/tinymce/content.css", baseUrl + "site/data/theme.css", baseUrl + "site/data/custom.css" diff --git a/core/vendor/tinymce/templates/363blocks.html b/core/vendor/tinymce/templates/363blocks.html new file mode 100644 index 0000000..be23bd1 --- /dev/null +++ b/core/vendor/tinymce/templates/363blocks.html @@ -0,0 +1,22 @@ +
    +
    +
    +

    Titre du bloc

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    +
    +
    +
    +
    +

    Titre du bloc

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    +
    +
    +
    +
    +

    Titre du bloc

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

    +
    +
    +
    +

    Conserver jusqu'à la fin de la mise en page pour faciliter les insertions.

    +


    \ No newline at end of file diff --git a/module/agenda/agenda.php b/module/agenda/agenda.php index 3a02f85..d963c58 100644 --- a/module/agenda/agenda.php +++ b/module/agenda/agenda.php @@ -36,7 +36,7 @@ class agenda extends common { 'index' => self::GROUP_VISITOR ]; - const VERSION = '5.6'; + const VERSION = '5.7'; const REALNAME = 'Agenda'; const DELETE = true; const UPDATE = '4.1'; @@ -116,9 +116,9 @@ class agenda extends common { copy( './module/agenda/ressource/file/source/agenda/adresses/.htaccess', './site/file/source/agenda/adresses/.htaccess'); $this->setData(['module', $this->getUrl(0), 'config', 'versionData','5.2']); } - // Mise à jour vers la version 5.5 - if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.5', '<') ) { - $this->setData(['module', $this->getUrl(0), 'config', 'versionData','5.5']); + // Mise à jour vers la version 5.7 + if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.7', '<') ) { + $this->setData(['module', $this->getUrl(0), 'config', 'versionData','5.7']); } } @@ -800,7 +800,7 @@ class agenda extends common { include('./module/agenda/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_agenda.php'); // Mise à jour des données de module if (null !== $this->getData(['module', $this->getUrl(0), 'config', 'versionData']) - && version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.2', '<')){ + && version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.7', '<')){ $this->update(); } //Pour récupération des données ajax jquery date ou id diff --git a/module/agenda/vendor/js/init01.js b/module/agenda/vendor/js/init01.js deleted file mode 100644 index 5376041..0000000 --- a/module/agenda/vendor/js/init01.js +++ /dev/null @@ -1,258 +0,0 @@ -/** - - * Initialisation de TinyMCE - - */ - -tinymce.init({ - // Classe où appliquer l'éditeur - selector: ".editorWysiwyg", - // Aperçu dans le pied de page - setup:function(ed) { - ed.on('change', function(e) { - if (ed.id === 'themeFooterText') { - $("#footerText").html(tinyMCE.get('themeFooterText').getContent()); - } - }); - }, - // Langue - language: "fr_FR", - // Plugins - plugins: "advlist anchor autolink autoresize autosave colorpicker contextmenu fullscreen hr lists paste searchreplace stickytoolbar tabfocus template textcolor visualblocks", - // Contenu de la barre d'outils - toolbar: "restoredraft | undo redo | styleselect | bold italic forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | visualblocks fullscreen", - // Cibles de la target - target_list: [ - {title: 'None', value: ''}, - {title: 'Nouvel onglet', value: '_blank'} - ], - // Target pour lightbox - rel_list: [ - {title: 'None', value: ''}, - {title: 'Popup intégrée (Lity)', value: 'data-lity'}, - {title: 'Diaporama d\'images (SimpleLightbox)', value: 'gallery'} - ], - // Titre des images - image_title: true, - // Pages internes - link_list: baseUrl + "core/vendor/tinymce/links.php", - // Contenu du menu contextuel - contextmenu: "cut copy paste pastetext | selectall searchreplace ", - // Fichiers CSS à intégrer à l'éditeur - content_css: [ - baseUrl + "core/layout/common.css", - baseUrl + "core/vendor/tinymce/content.css", - baseUrl + "site/data/theme.css", - baseUrl + "site/data/custom.css" - ], -// Classe à ajouter à la balise body dans l'iframe - body_class: "editorWysiwyg", - // Cache les menus - menubar: false, - // URL menu contextuel - link_context_toolbar: true, - // Cache la barre de statut - statusbar: false, - // Autorise tous les éléments - valid_elements :"*[*]", - valid_children : "*[*]", - // Autorise l'ajout de script - // extended_valid_elements: "script[language|type|src]", - // Bloque le dimensionnement des médias (car automatiquement en fullsize avec fitvids pour le responsive) - media_dimensions: true, - // Désactiver la dimension des images - image_dimensions: true, - // Active l'onglet avancé lors de l'ajout d'une image - image_advtab: true, - // Urls relatives - relative_urls: true, - // Url de base - document_base_url: baseUrl, - // Gestionnaire de fichiers - //filemanager_access_key: privateKey, - //external_filemanager_path: baseUrl + "core/vendor/filemanager/", - //external_plugins: { - // "filemanager": baseUrl + "core/vendor/filemanager/plugin.min.js" - //}, - // Thème mobile - // mobile: { - // theme: "mobile", - // plugins: [ 'autosave', 'lists', 'autolink' ], - // toolbar: [ 'undo', 'bold', 'italic', 'styleselect' ] - //}, - // Contenu du bouton insérer - insert_button_items: "image link media template inserttable | hr | anchor", - // Contenu du bouton formats - style_formats: [ - {title: "Headers", items: [ - {title: "Header 1", format: "h1"}, - {title: "Header 2", format: "h2"}, - {title: "Header 3", format: "h3"}, - {title: "Header 4", format: "h4"} - ]}, - {title: "Inline", items: [ - {title: "Bold", icon: "bold", format: "bold"}, - {title: "Italic", icon: "italic", format: "italic"}, - {title: "Underline", icon: "underline", format: "underline"}, - {title: "Strikethrough", icon: "strikethrough", format: "strikethrough"}, - {title: "Superscript", icon: "superscript", format: "superscript"}, - {title: "Subscript", icon: "subscript", format: "subscript"}, - {title: "Code", icon: "code", format: "code"} - ]}, - {title: "Blocks", items: [ - {title: "Paragraph", format: "p"}, - {title: "Blockquote", format: "blockquote"}, - {title: "Div", format: "div"}, - {title: "Pre", format: "pre"} - ]}, - {title: "Alignment", items: [ - {title: "Left", icon: "alignleft", format: "alignleft"}, - {title: "Center", icon: "aligncenter", format: "aligncenter"}, - {title: "Right", icon: "alignright", format: "alignright"}, - {title: "Justify", icon: "alignjustify", format: "alignjustify"} - ]} - ], - // Templates - templates: [ - { - title: "Bloc de texte", - url: baseUrl + "core/vendor/tinymce/templates/block.html", - description: "Bloc de texte avec un titre." - }, - { - title: "Blocs de texte : 6 - 6", - url: baseUrl + "core/vendor/tinymce/templates/2blocks.html", - description: "2 blocs de texte avec un titre en ligne." - }, - { - title: "Blocs de texte : 4 - 4 - 4", - url: baseUrl + "core/vendor/tinymce/templates/3blocks.html", - description: "3 blocs de texte avec un titre en ligne." - }, - { - title: "Blocs de texte : 3 - 3 - 3 - 3", - url: baseUrl + "core/vendor/tinymce/templates/4blocks.html", - description: "4 blocs de texte avec un titre en ligne." - }, - { - title: "Effet accordéon", - url: baseUrl + "core/vendor/tinymce/templates/accordion.html", - description: "Bloc de texte avec effet accordéon." - }, - { - title: "Grille symétrique : 6 - 6", - url: baseUrl + "core/vendor/tinymce/templates/col6.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille symétrique : 4 - 4 - 4", - url: baseUrl + "core/vendor/tinymce/templates/col4.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille symétrique : 3 - 3 - 3 - 3", - url: baseUrl + "core/vendor/tinymce/templates/col3.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 4 - 8", - url: baseUrl + "core/vendor/tinymce/templates/col4-8.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 8 - 4", - url: baseUrl + "core/vendor/tinymce/templates/col8-4.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 2 - 10", - url: baseUrl + "core/vendor/tinymce/templates/col2-10.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 10 - 2", - url: baseUrl + "core/vendor/tinymce/templates/col10-2.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - } - ] -}); - - - -tinymce.PluginManager.add('stickytoolbar', function(editor, url) { - editor.on('init', function() { - setSticky(); - }); - - $(window).on('scroll', function() { - setSticky(); - }); - - function setSticky() { - var container = editor.editorContainer; - var toolbars = $(container).find('.mce-toolbar-grp'); - var statusbar = $(container).find('.mce-statusbar'); - - if (isSticky()) { - $(container).css({ - paddingTop: toolbars.outerHeight() - }); - - if (isAtBottom()) { - toolbars.css({ - top: 'auto', - bottom: statusbar.outerHeight(), - position: 'absolute', - width: '100%', - borderBottom: 'none' - }); - } else { - toolbars.css({ - top: 45, - bottom: 'auto', - position: 'fixed', - width: $(container).width(), - borderBottom: '1px solid rgba(0,0,0,0.2)' - }); - } - } else { - $(container).css({ - paddingTop: 0 - }); - - toolbars.css({ - top:0, - position: 'relative', - width: 'auto', - borderBottom: 'none' - }); - } - } - - function isSticky() { - var container = editor.editorContainer, - editorTop = container.getBoundingClientRect().top; - - if (editorTop < 0) { - return true; - } - - return false; - } - - function isAtBottom() { - var container = editor.editorContainer, - editorTop = container.getBoundingClientRect().top; - - var toolbarHeight = $(container).find('.mce-toolbar-grp').outerHeight(); - var footerHeight = $(container).find('.mce-statusbar').outerHeight(); - - var hiddenHeight = -($(container).outerHeight() - toolbarHeight - footerHeight); - - if (editorTop < hiddenHeight) { - return true; - } - - return false; - } - }); diff --git a/module/agenda/vendor/js/init23.js b/module/agenda/vendor/js/init23.js deleted file mode 100644 index d9c0e7d..0000000 --- a/module/agenda/vendor/js/init23.js +++ /dev/null @@ -1,274 +0,0 @@ -/** - - * Initialisation de TinyMCE - - */ - -tinymce.init({ - // Classe où appliquer l'éditeur - selector: ".editorWysiwyg", - // Aperçu dans le pied de page - setup:function(ed) { - ed.on('change', function(e) { - if (ed.id === 'themeFooterText') { - $("#footerText").html(tinyMCE.get('themeFooterText').getContent()); - } - }); - }, - // Langue - language: "fr_FR", - // Plugins - plugins: "advlist anchor autolink autoresize autosave codemirror colorpicker contextmenu fullscreen hr image imagetools link lists media paste searchreplace stickytoolbar tabfocus table template textcolor visualblocks", - // Contenu de la barre d'outils - toolbar: "restoredraft | undo redo | styleselect | bold italic forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | insert | code visualblocks fullscreen", - // CodeMirror - codemirror: { - indentOnInit: true, // Whether or not to indent code on init. - fullscreen: false, // Default setting is false - path: 'codemirror', // Path to CodeMirror distribution - config: { // CodeMirror config object - mode: 'application/x-httpd-php', - lineNumbers: true - }, - width: 800, // Default value is 800 - height: 500, // Default value is 550 - files: [ // Additional JS files to load - baseUrl + 'core/vendor/tinymce/mode/clike/clike.js', - baseUrl + 'core/vendor/tinymce/mode/php/php.js' - ] - }, - // Cibles de la target - target_list: [ - {title: 'None', value: ''}, - {title: 'Nouvel onglet', value: '_blank'} - ], - // Target pour lightbox - rel_list: [ - {title: 'None', value: ''}, - {title: 'Popup intégrée (Lity)', value: 'data-lity'}, - {title: 'Diaporama d\'images (SimpleLightbox)', value: 'gallery'} - ], - // Titre des image - image_title: true, - // Pages internes - link_list: baseUrl + "core/vendor/tinymce/links.php", - // Contenu du menu contextuel - contextmenu: "cut copy paste pastetext | selectall searchreplace | link image inserttable | cell row column deletetable", - // Fichiers CSS à intégrer à l'éditeur - content_css: [ - baseUrl + "core/layout/common.css", - baseUrl + "core/vendor/tinymce/content.css", - baseUrl + "site/data/theme.css", - baseUrl + "site/data/custom.css" - ], -// Classe à ajouter à la balise body dans l'iframe - body_class: "editorWysiwyg", - // Cache les menus - menubar: false, - // URL menu contextuel - link_context_toolbar: true, - // Cache la barre de statut - statusbar: false, - // Autorise tous les éléments - valid_elements :"*[*]", - valid_children : "*[*]", - // Autorise l'ajout de script - // extended_valid_elements: "script[language|type|src]", - // Bloque le dimensionnement des médias (car automatiquement en fullsize avec fitvids pour le responsive) - media_dimensions: true, - // Désactiver la dimension des images - image_dimensions: true, - // Active l'onglet avancé lors de l'ajout d'une image - image_advtab: true, - // Urls relatives - relative_urls: true, - // Url de base - document_base_url: baseUrl, - // Gestionnaire de fichiers - filemanager_access_key: privateKey, - external_filemanager_path: baseUrl + "core/vendor/filemanager/", - external_plugins: { - "filemanager": baseUrl + "core/vendor/filemanager/plugin.min.js" - }, - // Thème mobile - // mobile: { - // theme: "mobile", - // plugins: [ 'autosave', 'lists', 'autolink' ], - // toolbar: [ 'undo', 'bold', 'italic', 'styleselect' ] - //}, - // Contenu du bouton insérer - insert_button_items: "image link media template inserttable | hr | anchor", - // Contenu du bouton formats - style_formats: [ - {title: "Headers", items: [ - {title: "Header 1", format: "h1"}, - {title: "Header 2", format: "h2"}, - {title: "Header 3", format: "h3"}, - {title: "Header 4", format: "h4"} - ]}, - {title: "Inline", items: [ - {title: "Bold", icon: "bold", format: "bold"}, - {title: "Italic", icon: "italic", format: "italic"}, - {title: "Underline", icon: "underline", format: "underline"}, - {title: "Strikethrough", icon: "strikethrough", format: "strikethrough"}, - {title: "Superscript", icon: "superscript", format: "superscript"}, - {title: "Subscript", icon: "subscript", format: "subscript"}, - {title: "Code", icon: "code", format: "code"} - ]}, - {title: "Blocks", items: [ - {title: "Paragraph", format: "p"}, - {title: "Blockquote", format: "blockquote"}, - {title: "Div", format: "div"}, - {title: "Pre", format: "pre"} - ]}, - {title: "Alignment", items: [ - {title: "Left", icon: "alignleft", format: "alignleft"}, - {title: "Center", icon: "aligncenter", format: "aligncenter"}, - {title: "Right", icon: "alignright", format: "alignright"}, - {title: "Justify", icon: "alignjustify", format: "alignjustify"} - ]} - ], - // Templates - templates: [ - { - title: "Bloc de texte", - url: baseUrl + "core/vendor/tinymce/templates/block.html", - description: "Bloc de texte avec un titre." - }, - { - title: "Blocs de texte : 6 - 6", - url: baseUrl + "core/vendor/tinymce/templates/2blocks.html", - description: "2 blocs de texte avec un titre en ligne." - }, - { - title: "Blocs de texte : 4 - 4 - 4", - url: baseUrl + "core/vendor/tinymce/templates/3blocks.html", - description: "3 blocs de texte avec un titre en ligne." - }, - { - title: "Blocs de texte : 3 - 3 - 3 - 3", - url: baseUrl + "core/vendor/tinymce/templates/4blocks.html", - description: "4 blocs de texte avec un titre en ligne." - }, - { - title: "Effet accordéon", - url: baseUrl + "core/vendor/tinymce/templates/accordion.html", - description: "Bloc de texte avec effet accordéon." - }, - { - title: "Grille symétrique : 6 - 6", - url: baseUrl + "core/vendor/tinymce/templates/col6.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille symétrique : 4 - 4 - 4", - url: baseUrl + "core/vendor/tinymce/templates/col4.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille symétrique : 3 - 3 - 3 - 3", - url: baseUrl + "core/vendor/tinymce/templates/col3.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 4 - 8", - url: baseUrl + "core/vendor/tinymce/templates/col4-8.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 8 - 4", - url: baseUrl + "core/vendor/tinymce/templates/col8-4.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 2 - 10", - url: baseUrl + "core/vendor/tinymce/templates/col2-10.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - }, - { - title: "Grille asymétrique : 10 - 2", - url: baseUrl + "core/vendor/tinymce/templates/col10-2.html", - description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." - } - ] -}); - - - -tinymce.PluginManager.add('stickytoolbar', function(editor, url) { - editor.on('init', function() { - setSticky(); - }); - - $(window).on('scroll', function() { - setSticky(); - }); - - function setSticky() { - var container = editor.editorContainer; - var toolbars = $(container).find('.mce-toolbar-grp'); - var statusbar = $(container).find('.mce-statusbar'); - - if (isSticky()) { - $(container).css({ - paddingTop: toolbars.outerHeight() - }); - - if (isAtBottom()) { - toolbars.css({ - top: 'auto', - bottom: statusbar.outerHeight(), - position: 'absolute', - width: '100%', - borderBottom: 'none' - }); - } else { - toolbars.css({ - top: 45, - bottom: 'auto', - position: 'fixed', - width: $(container).width(), - borderBottom: '1px solid rgba(0,0,0,0.2)' - }); - } - } else { - $(container).css({ - paddingTop: 0 - }); - - toolbars.css({ - top:0, - position: 'relative', - width: 'auto', - borderBottom: 'none' - }); - } - } - - function isSticky() { - var container = editor.editorContainer, - editorTop = container.getBoundingClientRect().top; - - if (editorTop < 0) { - return true; - } - - return false; - } - - function isAtBottom() { - var container = editor.editorContainer, - editorTop = container.getBoundingClientRect().top; - - var toolbarHeight = $(container).find('.mce-toolbar-grp').outerHeight(); - var footerHeight = $(container).find('.mce-statusbar').outerHeight(); - - var hiddenHeight = -($(container).outerHeight() - toolbarHeight - footerHeight); - - if (editorTop < hiddenHeight) { - return true; - } - - return false; - } - }); diff --git a/module/agenda/view/creation/creation.php b/module/agenda/view/creation/creation.php index 433e43e..b7a68f8 100644 --- a/module/agenda/view/creation/creation.php +++ b/module/agenda/view/creation/creation.php @@ -168,7 +168,7 @@ echo template::formOpen('creation_events'); ?>
    -
    +

    diff --git a/module/agenda/view/index/index.css b/module/agenda/view/index/index.css index 6284707..4578e1e 100644 --- a/module/agenda/view/index/index.css +++ b/module/agenda/view/index/index.css @@ -78,7 +78,7 @@ table th{ } /* font-size des jours dans la ligne supérieure et du mois dans le titre en petit écran */ -@media (max-width: 768px) { +@media (max-width: 799px) { .fc-center h2{ font-size: 1.2em; text-align: center; diff --git a/module/blog/view/article/article.css b/module/blog/view/article/article.css index 554f3a6..1c6e31a 100644 --- a/module/blog/view/article/article.css +++ b/module/blog/view/article/article.css @@ -46,7 +46,7 @@ color: grey; height: 100%; } -@media (max-width: 767px) { +@media (max-width: 799px) { .blogArticlePicture { height:auto; max-width: 100%;} @@ -73,7 +73,7 @@ border: 1px solid; } -@media screen and (max-width: 768px) { +@media screen and (max-width: 799px) { .blogOuter{ width: 100%; } diff --git a/module/blog/view/article/article.js.php b/module/blog/view/article/article.js.php index a0f26d3..764808e 100644 --- a/module/blog/view/article/article.js.php +++ b/module/blog/view/article/article.js.php @@ -94,13 +94,15 @@ $( ".humanBotClose" ).click(function() { $(document).ready(function(){ borderColor = "getData(['theme', 'block', 'borderColor']); ?>"; bgColor = "getData(['theme', 'site', 'backgroundColor']); ?>"; + $(".blogOuter").css("background-color", bgColor); + $(".blogOuter").css("border","solid 1px"); $(".blogOuter").css("border-color", borderColor); /* Modifier la couleur au survol */ $( ".blogOuter" ).mouseenter(function() { - $(".blogOuter").css("background-color", borderColor); + $(".blogOuter").css("border-radius","5px"); }); $( ".blogOuter" ).mouseleave(function() { - $(".blogOuter").css("background-color", bgColor); + $(".blogOuter").css("border-radius","0px"); }); }); diff --git a/module/blog/view/index/index.css b/module/blog/view/index/index.css index 474b1a8..4ced354 100644 --- a/module/blog/view/index/index.css +++ b/module/blog/view/index/index.css @@ -42,7 +42,7 @@ color: grey; */ } -@media (max-width: 768px) { +@media (max-width: 799px) { .blogContent { display: none; } diff --git a/module/form/form.php b/module/form/form.php index c9ab46b..ec626d6 100644 --- a/module/form/form.php +++ b/module/form/form.php @@ -18,7 +18,7 @@ class form extends common { - const VERSION = '4.5'; + const VERSION = '4.6'; const REALNAME = 'Formulaire'; const DELETE = true; const UPDATE = '0.0'; @@ -85,8 +85,8 @@ class form extends common { $this->setData(['module', $this->getUrl(0), 'config', 'uploadTxt',false]); $this->setData(['module', $this->getUrl(0), 'config', 'versionData','4.1']); } - if( version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '4.5', '<') ){ - $this->setData(['module', $this->getUrl(0), 'config', 'versionData', '4.5']); + if( version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '4.6', '<') ){ + $this->setData(['module', $this->getUrl(0), 'config', 'versionData', '4.6']); } } @@ -375,6 +375,7 @@ class form extends common { $data = []; $replyTo = null; $content = ''; + $file_name = ''; // $notice concerne la pièce jointe et le captcha $notice = ''; foreach($this->getData(['module', $this->getUrl(0), 'input']) as $index => $input) { @@ -493,7 +494,7 @@ class form extends common { // Préparation des données pour la création dans la base $data[$this->getData(['module', $this->getUrl(0), 'input', $index, 'name'])] = $value; // Préparation des données pour le mail - $content .= '' . $this->getData(['module', $this->getUrl(0), 'input', $index, 'name']) . ' : ' . $value . '
    '; + if( $value !== '') $content .= '' . $this->getData(['module', $this->getUrl(0), 'input', $index, 'name']) . ' : ' . $value . '
    '; } // Bot présumé, la page sera actualisée avec l'affichage du captcha diff --git a/module/form/view/index/index.css b/module/form/view/index/index.css index 5efbf29..77c27f8 100644 --- a/module/form/view/index/index.css +++ b/module/form/view/index/index.css @@ -45,7 +45,7 @@ border: 1px solid; } -@media screen and (max-width: 768px) { +@media screen and (max-width: 799px) { .formOuter{ width: 100%; } diff --git a/module/form/view/index/index.js.php b/module/form/view/index/index.js.php index 2100baa..833928b 100644 --- a/module/form/view/index/index.js.php +++ b/module/form/view/index/index.js.php @@ -64,14 +64,16 @@ $( ".humanBotClose" ).click(function() { $(document).ready(function(){ borderColor = "getData(['theme', 'block', 'borderColor']); ?>"; bgColor = "getData(['theme', 'site', 'backgroundColor']); ?>"; - $(".formOuter").css("border-color", borderColor); $(".formInputFile").css("border-color", borderColor); + $(".formOuter").css("background-color", bgColor); + $(".formOuter").css("border","solid 1px"); + $(".formOuter").css("border-color", borderColor); /* Modifier la couleur au survol */ $( ".formOuter" ).mouseenter(function() { - $(".formOuter").css("background-color", borderColor); + $(".formOuter").css("border-radius","5px"); }); $( ".formOuter" ).mouseleave(function() { - $(".formOuter").css("background-color", bgColor); + $(".formOuter").css("border-radius","0px"); }); }); diff --git a/module/news/ressource/defaultdata.php b/module/news/ressource/defaultdata.php index 3e6e845..d561795 100644 --- a/module/news/ressource/defaultdata.php +++ b/module/news/ressource/defaultdata.php @@ -8,6 +8,7 @@ class init extends news { 'height' => -1, 'versionData' => self::VERSION, 'hiddeTitle' => false, + 'hideMedia' => false, 'sameHeight' => false, 'noMargin' => true ]; diff --git a/module/news/view/index/index.css b/module/news/view/index/index.css index 0709218..8dc8d28 100644 --- a/module/news/view/index/index.css +++ b/module/news/view/index/index.css @@ -56,6 +56,10 @@ color: grey; } +.newsTitle{ + margin-left: 5px; +} + /* * Flux RSS */ diff --git a/module/statislite/view/index/index.css b/module/statislite/view/index/index.css index 94db64b..cda4b88 100644 --- a/module/statislite/view/index/index.css +++ b/module/statislite/view/index/index.css @@ -34,7 +34,7 @@ .v20 { width: 20%; } .v10 { width: 10%; } -@media screen and (max-width: 768px) { +@media screen and (max-width: 799px) { .v100 { width: 100%; } .v90 { width: 90%; } .v80 { width: 80%; }