diff --git a/core/class/template.class.php b/core/class/template.class.php
index a0f64982..151d4cce 100644
--- a/core/class/template.class.php
+++ b/core/class/template.class.php
@@ -1,6 +1,6 @@
';
// Label
@@ -447,7 +447,7 @@ class template {
$lang = 'fr';
}
}
- return ' '',
'name' => $nameId,
'selected' => '',
- 'fonts' => false
+ 'fonts' => []
], $attributes);
+ // Stocker les fontes et remettre à zéro le tableau des fontes transmis pour éviter une erreur de sprintAttributes
+ if (empty($attributes['fonts']) === false) {
+ $fonts = $attributes['fonts'];
+ $attributes['fonts'] = [];
+ }
// Sauvegarde des données en cas d'erreur
if($attributes['before'] AND array_key_exists($attributes['id'], common::$inputBefore)) {
$attributes['selected'] = common::$inputBefore[$attributes['id']];
@@ -626,7 +631,7 @@ class template {
'help' => $attributes['help']
]);
}
- // Notice
+ // Notice
$notice = '';
if(array_key_exists($attributes['id'], common::$inputNotices)) {
$notice = common::$inputNotices[$attributes['id']];
@@ -638,12 +643,14 @@ class template {
helper::sprintAttributes($attributes)
);
foreach($options as $value => $text) {
- $html .= $attributes['fonts'] === true ? sprintf(
+ // Select des liste de fontes
+ $html .= isset($fonts) ? sprintf(
'',
$value,
$attributes['selected'] == $value ? ' selected' : '', // Double == pour ignorer le type de variable car $_POST change les types en string
- $text,
+ $fonts[$value],
$text
+ // Select standard
) : sprintf(
'',
$value,
diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php
index edaff96c..3ce02316 100644
--- a/core/module/theme/theme.php
+++ b/core/module/theme/theme.php
@@ -232,7 +232,8 @@ class theme extends common {
// Variable pour construire la liste des pages du site
public static $pagesList = [];
// Variable pour construire la liste des fontes installées
- public static $fontsList = [];
+ public static $fontsNames= [];
+ public static $fonts = [];
// Variable pour détailler les fontes installées
public static $fontsDetail = [];
@@ -1126,7 +1127,11 @@ class theme extends common {
// Retourne un tableau simple des fonts installées idfont avec le nom
// Cette fonction est utile aux sélecteurs de fonts dans les formulaires.
public function enumFonts() {
- // Récupère la liste des fontes installées
+ /**
+ * Récupère la liste des fontes installées et construit deux tableaux
+ * id - nom
+ * id - font-family - resource
+ */
$f ['files'] = $this->getData(['fonts', 'files']);
$f ['imported'] = $this->getData(['fonts', 'imported']);
$f ['websafe'] = self::$fontsWebSafe;
@@ -1134,12 +1139,14 @@ class theme extends common {
foreach(['websafe', 'imported', 'files'] as $type) {
if (is_array($f[$type])) {
foreach ($f[$type] as $fontId => $fontValue ) {
- $fonts [$fontId] = $fontValue['name'];
+ self::$fonts['name'][$fontId] = $fontValue['name'];
+ self::$fonts['family'][$fontId] = $fontValue['font-family'];
}
}
}
- ksort($fonts);
- self::$fontsList = $fonts;
+ // Liste des fontes pour les sélecteurs
+ ksort(self::$fonts['name']);
+ ksort(self::$fonts['family']);
}
}
diff --git a/core/module/theme/view/admin/admin.php b/core/module/theme/view/admin/admin.php
index 8dcfaf98..38b37dd4 100644
--- a/core/module/theme/view/admin/admin.php
+++ b/core/module/theme/view/admin/admin.php
@@ -128,10 +128,10 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.