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" />';
}
/**
* 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
*/
@ -2339,53 +2282,46 @@ class core extends common {
* Import des polices de caractères
* 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', 'header', 'font']),
$this->getData(['theme', 'menu', 'font']),
$this->getData(['theme', 'footer', 'font'])
];
// Suppression des polices identiques
$cdnFonts = array_unique($cdnFonts);
// Lire le fichier et check l'existence des fichiers locaux
$fonts = array_unique($fonts);
// Lire le fichier des fontes locales
$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 ?
$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
*/
foreach ($fonts as $fontId) {
if (!array_key_exists($fontId, $localFonts) ) {
$css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
// Supprimer l'élément des fontes chargées en ligne
unset($fonts[$fontId]);
}
}
/*
// Chargement des polices en ligne
/* Désormais dans main.php avec showFonts
if ($cdnFonts) {
foreach ($cdnFonts as $fontId) {
$css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
/**
* Fontes installées localement
*/
// Validité du format
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
$colors = helper::colorVariants($this->getData(['theme', 'body', 'backgroundColor']));
@ -2575,50 +2511,45 @@ class core extends common {
* Import des polices de caractères
* 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']),
];
// Suppression des polices identiques
$cdnFonts = array_unique($cdnFonts);
// Lire le fichier et check l'existence des fichiers locaux
$fonts = array_unique($fonts);
// Lire le fichier des fontes locales
$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 ?
$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
*/
foreach ($fonts as $fontId) {
if (!array_key_exists($fontId, $localFonts) ) {
$css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
// Supprimer l'élément des fontes chargées en ligne
unset($fonts[$fontId]);
}
}
// Chargement des polices en ligne
/* Désormais dans main.php avec showFonts
if ($cdnFonts) {
foreach ($cdnFonts as $fontId) {
$css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
}
}*/
/**
* Fontes installées localement
*/
// Validité du format
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']));
$css .= '#site{background-color:' . $colors['normal']. ';}';
$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) . 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>
<?php $this->showFonts(); ?>
<body>
<?php $this->showContent(); ?>
<?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) . 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'); ?>">
<?php $this->showFonts(); ?>
</head>
<body>
<?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) . 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'); ?>">
<?php $this->showFonts(); ?>
<!-- Détection RSS -->
<?php if ( ( $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'blog'
OR $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'news' )