Merge branch '11.4.02' into 12_dev

This commit is contained in:
Fred Tempez 2022-05-12 18:51:17 +02:00
commit 9680e46eaf
6 changed files with 82 additions and 64 deletions

View File

@ -13,6 +13,15 @@
- Suppression du support de l'import à partir d'une version 9, y compris pour la restauration des sauvegardes. - Suppression du support de l'import à partir d'une version 9, y compris pour la restauration des sauvegardes.
- Optimisation du chargement des base de données, mise à jour des scripts jsonDB et dot. - Optimisation du chargement des base de données, mise à jour des scripts jsonDB et dot.
## Version 11.4.02
### Modifications :
- Liste des fontes, contrôle de validité amélioré.
## Version 11.4.01
### Corrections :
- Défaut de chargement des fontes locales (ex: fichiers woff).
- Un clic sur le bouton de validation du panneau RGPD envoyait systématiquement vers la page d'accueil.
- Chargement des anciens fichiers d'aide absents.
## Version 11.4.00 ## Version 11.4.00
### Nouveautés : ### Nouveautés :

View File

@ -78,6 +78,8 @@ Pour revenir à la version 8, renommez ce fichier "data.json".
[F] accueil.html Exemple contenu de la page d'accueil [F] accueil.html Exemple contenu de la page d'accueil
[R] fonts Dossier contenant les fontes installées [R] fonts Dossier contenant les fontes installées
[F] fonts.html Fichier contenant les appels des fontes à charger sur cdnFonts [F] fonts.html Fichier contenant les appels des fontes à charger sur cdnFonts
[F] fonts.css Fichier contenant la feuille de style liée aux polices de caractères locales
[F] fontes.woff Fichiers locaux des fontes (woff, etc..)
[R] modules Personnalisation des modules ou données propres [R] modules Personnalisation des modules ou données propres
[F] admin.css Thème des pages d'administration [F] admin.css Thème des pages d'administration
[F] admin.json Données de thème des pages d'administration [F] admin.json Données de thème des pages d'administration

View File

@ -1267,7 +1267,7 @@ class common {
$item .= '<h3>'. $this->getData(['locale', 'cookies', 'titleLabel']) . '</h3>'; $item .= '<h3>'. $this->getData(['locale', 'cookies', 'titleLabel']) . '</h3>';
$item .= '<p>' . $this->getData(['locale', 'cookies', 'mainLabel']) . '</p>'; $item .= '<p>' . $this->getData(['locale', 'cookies', 'mainLabel']) . '</p>';
// Formulaire de réponse // Formulaire de réponse
$item .= '<form method="POST" action="' . helper::baseUrl(false, true) . '" id="cookieForm">'; $item .= '<form method="POST" action="' . helper::baseUrl() . $this->getUrl(0) . '" id="cookieForm">';
$analytics = $this->getData(['config', 'seo', 'analyticsId']); $analytics = $this->getData(['config', 'seo', 'analyticsId']);
$stateCookieGA = $this->getInput('ZWII_COOKIE_GA_CONSENT') === 'true' ? 'checked="checked"' : ''; $stateCookieGA = $this->getInput('ZWII_COOKIE_GA_CONSENT') === 'true' ? 'checked="checked"' : '';
if( $analytics !== null AND $analytics !== '' ) { if( $analytics !== null AND $analytics !== '' ) {

View File

@ -155,4 +155,41 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Scripts externes
<span id="specialeHelpButton" class="helpDisplayButton">
<a href="https://doc.zwiicms.fr/scripts-externes" target="_blank" title="Cliquer pour consulter l'aide en ligne">
<?php echo template::ico('help', 'left');?>
</a>
</span>
</h4>
<div class="row">
<div class="col3">
<?php echo template::text('seoAnalyticsId', [
'help' => 'Saisissez l\'ID de suivi.',
'label' => 'Google Analytics',
'placeholder' => 'UA-XXXXXXXX-X',
'value' => $this->getData(['config', 'seo', 'analyticsId'])
]); ?>
</div>
<div class="col3 offset3 verticalAlignBottom">
<?php echo template::button('socialScriptHead', [
'href' => helper::baseUrl() . 'config/script/head',
'value' => 'Script dans head',
'ico' => 'pencil'
]); ?>
</div>
<div class="col3 verticalAlignBottom">
<?php echo template::button('socialScriptBody', [
'href' => helper::baseUrl() . 'config/script/body',
'value' => 'Script dans body',
'ico' => 'pencil'
]); ?>
</div>
</div>
</div>
</div>
</div>
</div> </div>

View File

@ -122,41 +122,4 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Scripts externes
<span id="specialeHelpButton" class="helpDisplayButton">
<a href="https://doc.zwiicms.fr/scripts-externes" target="_blank" title="Cliquer pour consulter l'aide en ligne">
<?php echo template::ico('help', 'left');?>
</a>
</span>
</h4>
<div class="row">
<div class="col3">
<?php echo template::text('seoAnalyticsId', [
'help' => 'Saisissez l\'ID de suivi.',
'label' => 'Google Analytics',
'placeholder' => 'UA-XXXXXXXX-X',
'value' => $this->getData(['config', 'seo', 'analyticsId'])
]); ?>
</div>
<div class="col3 offset3 verticalAlignBottom">
<?php echo template::button('socialScriptHead', [
'href' => helper::baseUrl() . 'config/script/head',
'value' => 'Script dans head',
'ico' => 'pencil'
]); ?>
</div>
<div class="col3 verticalAlignBottom">
<?php echo template::button('socialScriptBody', [
'href' => helper::baseUrl() . 'config/script/body',
'value' => 'Script dans body',
'ico' => 'pencil'
]); ?>
</div>
</div>
</div>
</div>
</div>
</div> </div>

View File

@ -1188,6 +1188,8 @@ class theme extends common {
*/ */
$gf = false; $gf = false;
$fileContent = '<!-- Fontes personnalisées -->'; $fileContent = '<!-- Fontes personnalisées -->';
if ( is_array($this->getData(['fonts', 'imported'])) &&
!empty($this->getData(['fonts', 'imported'])) ) {
foreach ($this->getData(['fonts', 'imported']) as $fontId => $fontValue) { foreach ($this->getData(['fonts', 'imported']) as $fontId => $fontValue) {
if ( if (
( $scope === 'user' && in_array($fontId, $fontsInstalled) ) ( $scope === 'user' && in_array($fontId, $fontsInstalled) )
@ -1200,6 +1202,7 @@ class theme extends common {
$gf = strpos($fontValue['resource'], 'fonts.googleapis.com') === false ? $gf || false : $gf || true; $gf = strpos($fontValue['resource'], 'fonts.googleapis.com') === false ? $gf || false : $gf || true;
} }
} }
}
// Ajoute le préconnect des fontes Googles. // Ajoute le préconnect des fontes Googles.
$fileContent = $gf ? '<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>' . $fileContent $fileContent = $gf ? '<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>' . $fileContent
@ -1211,6 +1214,9 @@ class theme extends common {
* Fontes installées localement * Fontes installées localement
*/ */
$fileContentCss = ''; $fileContentCss = '';
$fileContent = '<!-- Fontes personnalisées -->';
if ( is_array($this->getData(['fonts', 'files'])) &&
!empty($this->getData(['fonts', 'files'])) ) {
foreach ($this->getData(['fonts', 'files']) as $fontId => $fontValue) { foreach ($this->getData(['fonts', 'files']) as $fontId => $fontValue) {
if ( if (
( $scope === 'user' && in_array($fontId, $fontsInstalled) ) ( $scope === 'user' && in_array($fontId, $fontsInstalled) )
@ -1221,7 +1227,7 @@ class theme extends common {
$path_parts = pathinfo(helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontValue['resource']); $path_parts = pathinfo(helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontValue['resource']);
// Chargement de la police // Chargement de la police
$fileContentCss .= '@font-face {' ; $fileContentCss .= '@font-face {' ;
$fileContentCss .= 'font-family:"' . $fontId . '";'; $fileContentCss .= 'font-family:"' . $fontValue['name'] . '";';
$fileContentCss .= 'src: url("' . $fontValue['resource'] . '") format("' . $path_parts['extension'] . '");'; $fileContentCss .= 'src: url("' . $fontValue['resource'] . '") format("' . $path_parts['extension'] . '");';
$fileContentCss .= '}' ; $fileContentCss .= '}' ;
// Préchargement // Préchargement
@ -1229,6 +1235,7 @@ class theme extends common {
} }
} }
} }
}
// Enregistre la personnalisation // Enregistre la personnalisation
file_put_contents(self::DATA_DIR.'fonts/fonts.html', $fileContent); file_put_contents(self::DATA_DIR.'fonts/fonts.html', $fileContent);