Bug import par cdnfonts

This commit is contained in:
fredtempez 2022-02-11 11:50:28 +01:00
parent ffd1e3e18a
commit f020114588
4 changed files with 59 additions and 131 deletions

View File

@ -1929,63 +1929,6 @@ class common {
echo '<meta property="og:image" content="' . helper::baseUrl() .self::FILE_DIR.'source/screenshot.jpg" />'; echo '<meta property="og:image" content="' . helper::baseUrl() .self::FILE_DIR.'source/screenshot.jpg" />';
} }
/**
* Fontes de caractère à importer depuis cdn fonts
*
*/
public function showFonts() {
$cdnFonts = [
$this->getData(['theme', 'text', 'font']),
$this->getData(['theme', 'title', 'font']),
$this->getData(['theme', 'header', 'font']),
$this->getData(['theme', 'menu', 'font']),
$this->getData(['theme', 'footer', 'font']),
$this->getData(['admin', 'fontText']),
$this->getData(['admin', 'fontTitle']),
];
// Suppression des polices identiques
$cdnFonts = array_unique($cdnFonts);
// Lire le fichier et check l'existence des fichiers locaux
$localFonts = $this->getData(['fonts', 'files']);
// Validité du format
if ( is_array($localFonts) &&
!empty($localFonts)
) {
// Validité du format
if (is_array($localFonts) ) {
foreach ($localFonts as $fontId => $fontName) {
// Validité du tableau :
// L'id de la police est présent dans la liste interne
// Le nom de la police fournie correspond à un fichier existant
if ( array_key_exists($fontId, self::$fonts) &&
file_exists(self::DATA_DIR . 'fonts/' . $fontName)
) {
// La police locale est-elle invoquée oou téléchargée ?
$d = array_search($fontId, $cdnFonts);
if ( $d !== false ) {
// Supprimer l'élément des fontes chargées en ligne
unset($cdnFonts[$d]);
}
}
}
}
}
// Chargement des polices en ligne
$css = '';
if ($cdnFonts) {
foreach ($cdnFonts as $fontId) {
//$css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
$css .= '<link href="http://fonts.cdnfonts.com/css/' . $fontId . '" rel="stylesheet">';
}
echo $css;
}
}
/** /**
* Affiche la notification * Affiche la notification
*/ */
@ -2339,53 +2282,46 @@ class core extends common {
* Import des polices de caractères * Import des polices de caractères
* A partir du CDN ou dans le dossier site/file/source/fonts * A partir du CDN ou dans le dossier site/file/source/fonts
*/ */
$cdnFonts = [ $this->getData(['theme', 'text', 'font']), $fonts = [ $this->getData(['theme', 'text', 'font']),
$this->getData(['theme', 'title', 'font']), $this->getData(['theme', 'title', 'font']),
$this->getData(['theme', 'header', 'font']), $this->getData(['theme', 'header', 'font']),
$this->getData(['theme', 'menu', 'font']), $this->getData(['theme', 'menu', 'font']),
$this->getData(['theme', 'footer', 'font']) $this->getData(['theme', 'footer', 'font'])
]; ];
// Suppression des polices identiques // Suppression des polices identiques
$cdnFonts = array_unique($cdnFonts); $fonts = array_unique($fonts);
// Lire le fichier des fontes locales
// Lire le fichier et check l'existence des fichiers locaux
$localFonts = $this->getData(['fonts', 'files']); $localFonts = $this->getData(['fonts', 'files']);
// Validité du format /**
if ( is_array($localFonts) && * Chargement des polices en ligne
!empty($localFonts) */
) { foreach ($fonts as $fontId) {
// Validité du format if (!array_key_exists($fontId, $localFonts) ) {
if (is_array($localFonts) ) { $css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
foreach ($localFonts as $fontId => $fontName) { // Supprimer l'élément des fontes chargées en ligne
// Validité du tableau : unset($fonts[$fontId]);
// L'id de la police est présent dans la liste interne
// Le nom de la police fournie correspond à un fichier existant
if ( array_key_exists($fontId, self::$fonts) &&
file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) {
// La police locale est-elle invoquée ?
$d = array_search($fontId, $cdnFonts);
if ( $d !== false ) {
// Chargement de la police demandée dans le thème
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
$css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";';
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}';
// Supprimer l'élément des fontes chargées en ligne
unset($cdnFonts[$d]);
}
}
}
} }
} }
/*
// Chargement des polices en ligne /**
/* Désormais dans main.php avec showFonts * Fontes installées localement
if ($cdnFonts) { */
foreach ($cdnFonts as $fontId) { // Validité du format
$css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");'; if ( !empty($localFonts)
) {
foreach ($localFonts as $fontId => $fontName) {
// Validité du tableau :
if ( array_key_exists($fontId, self::$fonts) &&
file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) {
// Chargement de la police
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
$css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";';
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}';
}
} }
}*/ }
// Fond du body // Fond du body
$colors = helper::colorVariants($this->getData(['theme', 'body', 'backgroundColor'])); $colors = helper::colorVariants($this->getData(['theme', 'body', 'backgroundColor']));
@ -2575,50 +2511,45 @@ class core extends common {
* Import des polices de caractères * Import des polices de caractères
* A partir du CDN ou dans le dossier site/file/source/fonts * A partir du CDN ou dans le dossier site/file/source/fonts
*/ */
$cdnFonts = [ $this->getData(['admin', 'fontText']), $fonts = [ $this->getData(['admin', 'fontText']),
$this->getData(['admin', 'fontTitle']), $this->getData(['admin', 'fontTitle']),
]; ];
// Suppression des polices identiques // Suppression des polices identiques
$cdnFonts = array_unique($cdnFonts); $fonts = array_unique($fonts);
// Lire le fichier et check l'existence des fichiers locaux // Lire le fichier des fontes locales
$localFonts = $this->getData(['fonts', 'files']); $localFonts = $this->getData(['fonts', 'files']);
// Validité du format /**
if ( is_array($localFonts) && * Chargement des polices en ligne
!empty($localFonts) */
) { foreach ($fonts as $fontId) {
// Validité du format if (!array_key_exists($fontId, $localFonts) ) {
if (is_array($localFonts) ) { $css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
foreach ($localFonts as $fontId => $fontName) { // Supprimer l'élément des fontes chargées en ligne
// Validité du tableau : unset($fonts[$fontId]);
// L'id de la police est présent dans la liste interne
// Le nom de la police fournie correspond à un fichier existant
if ( array_key_exists($fontId, self::$fonts) &&
file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) {
// La police locale est-elle invoquée ?
$d = array_search($fontId, $cdnFonts);
if ( $d !== false ) {
// Chargement de la police demandée dans le thème
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
$css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";';
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}';
// Supprimer l'élément des fontes chargées en ligne
unset($cdnFonts[$d]);
}
}
}
} }
} }
// Chargement des polices en ligne /**
/* Désormais dans main.php avec showFonts * Fontes installées localement
if ($cdnFonts) { */
foreach ($cdnFonts as $fontId) { // Validité du format
$css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");'; if ( !empty($localFonts)
} ) {
}*/ foreach ($localFonts as $fontId => $fontName) {
// Validité du tableau :
if ( array_key_exists($fontId, self::$fonts) &&
file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) {
// Chargement de la police
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
$css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";';
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}';
}
}
}
// Thème Administration
$colors = helper::colorVariants($this->getData(['admin','backgroundColor'])); $colors = helper::colorVariants($this->getData(['admin','backgroundColor']));
$css .= '#site{background-color:' . $colors['normal']. ';}'; $css .= '#site{background-color:' . $colors['normal']. ';}';
$css .= '.row > div {font:' . $this->getData(['admin','fontSize']) . ' "' . self::$fonts[$this->getData(['admin','fontText'])] . '", sans-serif;}'; $css .= '.row > div {font:' . $this->getData(['admin','fontSize']) . ' "' . self::$fonts[$this->getData(['admin','fontText'])] . '", sans-serif;}';

View File

@ -14,7 +14,6 @@
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/blank.css"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/blank.css">
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>">
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>"></head> <link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>"></head>
<?php $this->showFonts(); ?>
<body> <body>
<?php $this->showContent(); ?> <?php $this->showContent(); ?>
<?php $this->showScript(); ?> <?php $this->showScript(); ?>

View File

@ -14,7 +14,6 @@
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/light.css"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/light.css">
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>">
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>">
<?php $this->showFonts(); ?>
</head> </head>
<body> <body>
<?php $this->showNotification(); ?> <?php $this->showNotification(); ?>

View File

@ -13,7 +13,6 @@
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/common.css?<?php echo md5_file('core/layout/common.css');?>"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/common.css?<?php echo md5_file('core/layout/common.css');?>">
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>">
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>"> <link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>">
<?php $this->showFonts(); ?>
<!-- Détection RSS --> <!-- Détection RSS -->
<?php if ( ( $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'blog' <?php if ( ( $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'blog'
OR $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'news' ) OR $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'news' )