diff --git a/core/core.php b/core/core.php
index 495db9de..cff3145f 100644
--- a/core/core.php
+++ b/core/core.php
@@ -2156,15 +2156,12 @@ class common {
// Import des styles liés à la page
if($this->output['style']) {
echo '';
+ // Import de la feuille de style des pages admin
if (strpos($this->output['style'], 'admin.css') >= 1 ) {
echo '';
}
echo '';
}
- // Import des fontes liées au thème
- if (file_exists(self::DATA_DIR.'fonts/fonts.html')) {
- include_once(self::DATA_DIR.'fonts/fonts.html');
- }
}
/**
@@ -2334,74 +2331,18 @@ class core extends common {
// Version
$css = '/*' . md5(json_encode($this->getData(['theme']))) . '*/';
-
/**
* Import des polices de caractères
- * A partir du CDN
- * ou dans le dossier site/file/source/fonts
- * ou pas du tout si fonte webSafe
*/
- // Fonts disponibles
- $fontsAvailable ['files'] = $this->getData(['fonts', 'files']);
- $fontsAvailable ['imported'] = $this->getData(['fonts', 'imported']);
- $fontsAvailable ['websafe'] = self::$fontsWebSafe;
-
- // Fontes installées
- $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
- $fonts = array_unique($fonts);
-
- /**
- * Charge les fontes websafe
- */
- $fontFile = '';
- foreach ($fonts as $fontId) {
- if ( isset($fontsAvailable['websafe'][$fontId])) {
- $fonts [$fontId] = $fontsAvailable['websafe'][$fontId]['font-family'];
- }
- }
-
- /**
- * Chargement des polices en ligne dans un fichier fonts.html inclus dans main.php
- */
- $fontFile = '';
- $gf = false;
- foreach ($fonts as $fontId) {
- if ( isset($fontsAvailable['imported'][$fontId])) {
- $fontFile .= '';
- // Tableau pour la construction de la feuille de style
- $fonts [$fontId] = $fontsAvailable['imported'][$fontId]['font-family'];
- $gf = strpos($fontsAvailable['imported'][$fontId]['resource'], 'fonts.googleapis.com') === false ? $gf || false : $gf || true;
- }
- }
- // Ajoute le préconnect des fontes Googles.
- $fontFile = $gf ? '' . $fontFile
- : $fontFile;
- // Enregistre la personnalisation
- file_put_contents(self::DATA_DIR.'fonts/fonts.html', $fontFile);
-
- /**
- * Fontes installées localement
- */
- foreach ($fonts as $fontId) {
- // Validité du tableau :
- if ( isset($fontsAvailable['files'][$fontId]) ) {
- if (file_exists(self::DATA_DIR . 'fonts/' . $fontId) ) {
- // Chargement de la police
- //$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
- $css .= '@font-face {font-family:"' . $fontsAvailable['files'][$fontId]['font-family'] . '";';
- $css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' .$fontsAvailable['files'][$fontId]['resource'] . '");}';
- // Tableau pour la construction de la feuille de style
- $fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
- } else {
- // Le fichier de font n'est pas disponible, fonte par défaut
- $fonts [$fontId] = 'verdana';
+ $f ['files'] = $this->getData(['fonts', 'files']);
+ $f ['imported'] = $this->getData(['fonts', 'imported']);
+ $f ['websafe'] = self::$fontsWebSafe;
+ // Construit un tableau avec leur ID et leur famille
+ foreach(['websafe', 'imported', 'files'] as $type) {
+ if (is_array($f[$type])) {
+ foreach ($f[$type] as $fontId => $fontValue ) {
+ $fonts[$fontId] = $fontValue['font-family'];
}
}
}
@@ -2572,12 +2513,6 @@ class core extends common {
$css .= '#footerText > p {text-align:' . $this->getData(['theme', 'footer', 'textAlign']) . '}';
$css .= '#footerCopyright{text-align:' . $this->getData(['theme', 'footer', 'copyrightAlign']) . '}';
- // Enregistre les fontes
- if (!is_dir(self::DATA_DIR . 'fonts')) {
- mkdir(self::DATA_DIR . 'fonts');
- }
- file_put_contents(self::DATA_DIR . 'fonts/fonts.html', $fontFile);
-
// Enregistre la personnalisation
file_put_contents(self::DATA_DIR.'theme.css', $css);
@@ -2596,61 +2531,18 @@ class core extends common {
// Version
$css = '/*' . md5(json_encode($this->getData(['admin']))) . '*/';
- // Fonts disponibles
- $fontsAvailable ['files'] = $this->getData(['fonts', 'files']);
- $fontsAvailable ['imported'] = $this->getData(['fonts', 'imported']);
- $fontsAvailable ['websafe'] = self::$fontsWebSafe;
-
/**
* Import des polices de caractères
- * A partir du CDN ou dans le dossier site/file/source/fonts
*/
- $fonts = [ $this->getData(['admin', 'fontText']),
- $this->getData(['admin', 'fontTitle']),
- ];
- // Suppression des polices identiques
- $fonts = array_unique($fonts);
- /**
- * Charge les fontes websafe
- */
- $fontFile = '';
- foreach ($fonts as $fontId) {
- if ( isset($fontsAvailable['websafe'][$fontId])) {
- $fonts [$fontId] = $fontsAvailable['websafe'][$fontId]['font-family'];
- }
- }
-
- /**
- * Chargement des polices en ligne dans un fichier fonts.html inclus dans main.php
- */
- $fontFile = '';
- foreach ($fonts as $fontId) {
- if ( isset($fontsAvailable['imported'][$fontId])) {
- $fontFile .= '';
- // Tableau pour la construction de la feuille de style
- $fonts [$fontId] = $fontsAvailable['imported'][$fontId]['font-family'];
- }
- }
- // Enregistre la personnalisation
- file_put_contents(self::DATA_DIR.'fonts/fonts.html', $fontFile);
-
- /**
- * Fontes installées localement
- */
- foreach ($fonts as $fontId) {
- // Validité du tableau :
- if ( isset($fontsAvailable['files'][$fontId]) ) {
- if (file_exists(self::DATA_DIR . 'fonts/' . $fontId) ) {
- // Chargement de la police
- //$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
- $css .= '@font-face {font-family:"' . $fontsAvailable['files'][$fontId]['font-family'] . '";';
- $css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' .$fontsAvailable['files'][$fontId]['resource'] . '");}';
- // Tableau pour la construction de la feuille de style
- $fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
- } else {
- // Le fichier de font n'est pas disponible, fonte par défaut
- $fonts [$fontId] = 'verdana';
+ $f ['files'] = $this->getData(['fonts', 'files']);
+ $f ['imported'] = $this->getData(['fonts', 'imported']);
+ $f ['websafe'] = self::$fontsWebSafe;
+ // Construit un tableau avec leur ID et leur famille
+ foreach(['websafe', 'imported', 'files'] as $type) {
+ if (is_array($f[$type])) {
+ foreach ($f[$type] as $fontId => $fontValue ) {
+ $fonts[$fontId] = $fontValue['font-family'];
}
}
}
diff --git a/core/layout/blank.php b/core/layout/blank.php
index 789b1af6..db6b8727 100644
--- a/core/layout/blank.php
+++ b/core/layout/blank.php
@@ -14,6 +14,16 @@
+
+
+
+
+
+
showContent(); ?>
showScript(); ?>
diff --git a/core/layout/light.php b/core/layout/light.php
index 833cb19d..e8de5ea5 100644
--- a/core/layout/light.php
+++ b/core/layout/light.php
@@ -14,6 +14,16 @@
+
+
+
+
+
+
showNotification(); ?>
diff --git a/core/layout/main.php b/core/layout/main.php
index ad56c0b2..1f19c331 100644
--- a/core/layout/main.php
+++ b/core/layout/main.php
@@ -13,6 +13,16 @@
+
+
+
+
+
+
getData(['page', $this->getUrl(0), 'moduleId']) === 'blog'
OR $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'news' )
diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php
index 3ce02316..a88e0252 100644
--- a/core/module/theme/theme.php
+++ b/core/module/theme/theme.php
@@ -655,9 +655,10 @@ class theme extends common {
if ( $type === 'files' &&
file_exists(self::FILE_DIR . 'source/' . $ressource)
) {
- copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . $ressource );
+ copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . 'fonts/' . $ressource );
}
-
+ // Met à jour les fichiers d'appel des fontes utilisés par les layouts
+ $this->setFonts();
// Valeurs en sortie
$this->addOutput([
'notification' => 'La fonte a été créée',
@@ -706,9 +707,12 @@ class theme extends common {
if ( $type === 'files' &&
file_exists(self::FILE_DIR . 'source/' . $ressource)
) {
- copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . $ressource );
+ copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . 'fonts/' . $ressource );
}
+ // Met à jour les fichiers d'appel des fontes utilisés par les layouts
+ $this->setFonts();
+
// Valeurs en sortie
$this->addOutput([
'notification' => 'La fonte a été actualisée',
@@ -747,6 +751,9 @@ class theme extends common {
unlink(self::DATA_DIR . $this->getUrl(2));
}
+ // Met à jour les fichiers d'appel des fontes utilisés par les layouts
+ $this->setFonts();
+
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'theme/fonts',
@@ -1149,4 +1156,45 @@ class theme extends common {
ksort(self::$fonts['family']);
}
+ /**
+ * Création d'un fichier de liens d'appel des fontes
+ */
+ private function setFonts() {
+
+ /**
+ * Chargement des polices en ligne dans un fichier fonts.html inclus dans main.php
+ */
+ $gf = false;
+ $fileContent = '';
+ foreach ($this->getData(['fonts', 'imported']) as $fontId => $fontValue) {
+ $fileContent .= '';
+ // Pré connect pour api.google
+ $gf = strpos($fontValue['resource'], 'fonts.googleapis.com') === false ? $gf || false : $gf || true;
+ }
+
+ // Ajoute le préconnect des fontes Googles.
+ $fileContent = $gf ? '' . $fileContent
+ : $fileContent;
+
+ // Enregistre la personnalisation
+ file_put_contents(self::DATA_DIR.'fonts/fonts.html', $fileContent);
+
+ /**
+ * Fontes installées localement
+ */
+ $fileContent = '';
+ foreach ($this->getData(['fonts', 'files']) as $fontId => $fontValue) {
+ if (file_exists(self::DATA_DIR . 'fonts/' . $fontValue['resource']) ) {
+ // Chargement de la police
+ $fileContent .= '@font-face {' ;
+ $fileContent .= 'font-family:"' . $fontValue['font-family'] . '";';
+ $fileContent .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontValue['resource'] . '");';
+ $fileContent .= '}' ;
+ }
+ }
+ // Enregistre la personnalisation
+ file_put_contents(self::DATA_DIR.'fonts/fonts.css', $fileContent);
+
+ }
+
}
diff --git a/core/module/theme/view/site/site.js.php b/core/module/theme/view/site/site.js.php
index a0ff31eb..02a9ab7f 100644
--- a/core/module/theme/view/site/site.js.php
+++ b/core/module/theme/view/site/site.js.php
@@ -11,33 +11,6 @@
* @link http://zwiicms.fr/
*/
- $( document ).ready(function() {
-
- /**
- * Chargement des fontes installées pour l'aperçu dans les sélecteurs
- */
- var fontsFile = getData(['fonts', 'files']) ); ?>;
- var fontsImported = getData(['fonts', 'imported']) ); ?>;
- var fonts = ;
-
- // Concaténation
- if (fontsImported.length != 0 ) {
- fonts = $.merge(fonts, fontsImported);
- }
- if (fontsFile.length != 0 ) {
- fonts = $.merge(fonts, fontsFile);
- }
- // Fonte WebSa
- $.each(fonts, function(key, value) {
- console.log( "The key is" + key);
- $.each(value, function(i, f) {
- console.log(f);
- });
-
- });
-
- });
-
/**
* Aperçu en direct
*/