optimisation fontes dans le theme

This commit is contained in:
fredtempez 2022-02-08 13:23:15 +01:00
parent 613d048fcc
commit e1d18c54d3
1 changed files with 29 additions and 32 deletions

View File

@ -2290,33 +2290,30 @@ class core extends common {
// Suppression des polices identiques // Suppression des polices identiques
$cdnFonts = array_unique($cdnFonts); $cdnFonts = array_unique($cdnFonts);
// Un fichier local de configuration existe // Lire le fichier et check l'existence des fichiers locaux
if ( file_exists(self::DATA_DIR . 'fonts.json') ) $localFonts = $this->getData(['fonts', 'files']);
{ // Validité du format
// Lire le fichier et check l'existence des fichiers locaux if (is_array($localFonts &&
// $localFonts = json_decode(file_get_contents (self::FILE_DIR . "source/fonts/fonts.json"), true); !empty($localFonts))
$localFonts = $this->getData(['fonts', 'files']); ) {
// Validité du format foreach ($localFonts as $fontId => $fontName) {
if (is_array($localFonts) ) { // Validité du tableau :
foreach ($localFonts as $fontId => $fontName) { // L'id de la police est présent dans la liste interne
// Validité du tableau : // Le nom de la police fournie correspond à un fichier existant
// L'id de la police est présent dans la liste interne if ( array_key_exists($fontId, self::$fonts) &&
// Le nom de la police fournie correspond à un fichier existant file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) {
if ( array_key_exists($fontId, self::$fonts) && // La police locale est-elle invoquée ?
file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) { $d = array_search($fontId, $cdnFonts);
// La police locale est-elle invoquée ? if ( $d !== NULL ) {
$d = array_search($fontId, $cdnFonts); // Chargement de la police demandée dans le thème
if ( $d !== NULL ) { $formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
// Chargement de la police demandée dans le thème $css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";';
$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName); $css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}';
$css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";'; // Supprimer l'élément des fontes chargées en ligne
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}'; unset($cdnFonts[$d]);
// Supprimer l'élément des fontes chargées en ligne }
unset($cdnFonts[$d]);
}
}
} }
} }
} }
// Chargement des polices en ligne // Chargement des polices en ligne
@ -2519,12 +2516,12 @@ class core extends common {
]; ];
// Suppression des polices identiques // Suppression des polices identiques
$cdnFonts = array_unique($cdnFonts); $cdnFonts = array_unique($cdnFonts);
// Un fichier local de configuration existe // Lire le fichier et check l'existence des fichiers locaux
if ( file_exists(self::DATA_DIR . 'fonts.json') ) $localFonts = $this->getData(['fonts', 'files']);
{ // Validité du format
// Lire le fichier et check l'existence des fichiers locaux if ( is_array($localFonts) &&
// $localFonts = json_decode(file_get_contents (self::FILE_DIR . "source/fonts/fonts.json"), true); !empty($localFonts)
$localFonts = $this->getData(['fonts', 'files']); ) {
// Validité du format // Validité du format
if (is_array($localFonts) ) { if (is_array($localFonts) ) {
foreach ($localFonts as $fontId => $fontName) { foreach ($localFonts as $fontId => $fontName) {