[9.2.22] aperçu de la police dans les sélecteurs

This commit is contained in:
Fred Tempez 2020-02-18 15:20:21 +01:00
parent 88bf29bfb6
commit 01c71be0be
6 changed files with 80 additions and 58 deletions

View File

@ -1,5 +1,9 @@
# Changelog # Changelog
## version 9.2.22
- Modification :
- Aperçu de la police dans les sélecteurs.
## version 9.2.21 ## version 9.2.21
- Correction : - Correction :
- Footer / Texte personnalisé : suppression des sauts de ligne et de paragraphe. - Footer / Texte personnalisé : suppression des sauts de ligne et de paragraphe.

View File

@ -33,7 +33,7 @@ class common {
const TEMP_DIR = 'site/tmp/'; const TEMP_DIR = 'site/tmp/';
// Numéro de version // Numéro de version
const ZWII_VERSION = '9.2.21'; const ZWII_VERSION = '9.2.22';
public static $actions = []; public static $actions = [];
public static $coreModuleIds = [ public static $coreModuleIds = [
@ -3157,58 +3157,71 @@ class template {
* @param array $attributes Attributs ($key => $value) * @param array $attributes Attributs ($key => $value)
* @return string * @return string
*/ */
public static function select($nameId, array $options, array $attributes = []) { public static function select($nameId, array $options, array $attributes = []) {
// Attributs par défaut // Attributs par défaut
$attributes = array_merge([ $attributes = array_merge([
'before' => true, 'before' => true,
'class' => '', 'class' => '',
'classWrapper' => '', 'classWrapper' => '',
'noDirty' => false, 'noDirty' => false,
'disabled' => false, 'disabled' => false,
'help' => '', 'help' => '',
'id' => $nameId, 'id' => $nameId,
'label' => '', 'label' => '',
'name' => $nameId, 'name' => $nameId,
'selected' => '' 'selected' => '',
], $attributes); 'fonts' => false
// Sauvegarde des données en cas d'erreur ], $attributes);
if($attributes['before'] AND array_key_exists($attributes['id'], common::$inputBefore)) { // Sauvegarde des données en cas d'erreur
$attributes['selected'] = common::$inputBefore[$attributes['id']]; if($attributes['before'] AND array_key_exists($attributes['id'], common::$inputBefore)) {
} $attributes['selected'] = common::$inputBefore[$attributes['id']];
// Début du wrapper }
$html = '<div id="' . $attributes['id'] . 'Wrapper" class="inputWrapper ' . $attributes['classWrapper'] . '">'; // Liste des polices à intégrer
// Label if ($attributes['fonts'] === true) {
if($attributes['label']) { foreach ($options as $fontId) {
$html .= self::label($attributes['id'], $attributes['label'], [ echo "<link href='http://fonts.googleapis.com/css?family=".str_replace(" ", "+", $fontId)."' rel='stylesheet' type='text/css'>\n";
'help' => $attributes['help'] }
]); }
} // Début du wrapper
// Notice $html = '<div id="' . $attributes['id'] . 'Wrapper" class="inputWrapper ' . $attributes['classWrapper'] . '">';
$notice = ''; // Label
if(array_key_exists($attributes['id'], common::$inputNotices)) { if($attributes['label']) {
$notice = common::$inputNotices[$attributes['id']]; $html .= self::label($attributes['id'], $attributes['label'], [
$attributes['class'] .= ' notice'; 'help' => $attributes['help']
} ]);
$html .= self::notice($attributes['id'], $notice); }
// Début sélection // Notice
$html .= sprintf('<select %s>', $notice = '';
helper::sprintAttributes($attributes) if(array_key_exists($attributes['id'], common::$inputNotices)) {
); $notice = common::$inputNotices[$attributes['id']];
foreach($options as $value => $text) { $attributes['class'] .= ' notice';
$html .= sprintf( }
'<option value="%s"%s>%s</option>', $html .= self::notice($attributes['id'], $notice);
$value, // Début sélection
$attributes['selected'] == $value ? ' selected' : '', // Double == pour ignorer le type de variable car $_POST change les types en string $html .= sprintf('<select %s>',
$text helper::sprintAttributes($attributes)
); );
} foreach($options as $value => $text) {
// Fin sélection $html .= $attributes['fonts'] === true ? sprintf(
$html .= '</select>'; '<option value="%s"%s style="font-family:%s;">%s</option>',
// Fin du wrapper $value,
$html .= '</div>'; $attributes['selected'] == str_replace('+',' ',$value) ? ' selected' : '', // Double == pour ignorer le type de variable car $_POST change les types en string
// Retourne le html str_replace('+',' ',$value),
return $html; $text
} ) : sprintf(
'<option value="%s"%s>%s</option>',
$value,
$attributes['selected'] == $value ? ' selected' : '', // Double == pour ignorer le type de variable car $_POST change les types en string
$text
);
}
// Fin sélection
$html .= '</select>';
// Fin du wrapper
$html .= '</div>';
// Retourne le html
return $html;
}
/** /**
* Crée une bulle de dialogue * Crée une bulle de dialogue

View File

@ -103,7 +103,8 @@
<div class="col3"> <div class="col3">
<?php echo template::select('themeFooterFont', $module::$fonts, [ <?php echo template::select('themeFooterFont', $module::$fonts, [
'label' => 'Police', 'label' => 'Police',
'selected' => $this->getData(['theme', 'footer', 'font']) 'selected' => $this->getData(['theme', 'footer', 'font']),
'fonts' => true
]); ?> ]); ?>
</div> </div>
<div class="col3"> <div class="col3">

View File

@ -143,7 +143,8 @@
<div class="col3"> <div class="col3">
<?php echo template::select('themeHeaderFont', $module::$fonts, [ <?php echo template::select('themeHeaderFont', $module::$fonts, [
'label' => 'Police', 'label' => 'Police',
'selected' => $this->getData(['theme', 'header', 'font']) 'selected' => $this->getData(['theme', 'header', 'font']),
'fonts' => true
]); ?> ]); ?>
</div> </div>
<div class="col3"> <div class="col3">

View File

@ -82,7 +82,8 @@
<div class="col6"> <div class="col6">
<?php echo template::select('themeMenuFont', $module::$fonts, [ <?php echo template::select('themeMenuFont', $module::$fonts, [
'label' => 'Police', 'label' => 'Police',
'selected' => $this->getData(['theme', 'menu', 'font']) 'selected' => $this->getData(['theme', 'menu', 'font']),
'fonts' => true
]); ?> ]); ?>
</div> </div>
<div class="col6"> <div class="col6">

View File

@ -71,7 +71,8 @@
<div class="col6"> <div class="col6">
<?php echo template::select('themeTextFont', $module::$fonts, [ <?php echo template::select('themeTextFont', $module::$fonts, [
'label' => 'Police', 'label' => 'Police',
'selected' => $this->getData(['theme', 'text', 'font']) 'selected' => $this->getData(['theme', 'text', 'font']),
'fonts' => true
]); ?> ]); ?>
</div> </div>
<div class="col6"> <div class="col6">
@ -91,7 +92,8 @@
<div class="col4"> <div class="col4">
<?php echo template::select('themeTitleFont', $module::$fonts, [ <?php echo template::select('themeTitleFont', $module::$fonts, [
'label' => 'Police', 'label' => 'Police',
'selected' => $this->getData(['theme', 'title', 'font']) 'selected' => $this->getData(['theme', 'title', 'font']),
'fonts' => true
]); ?> ]); ?>
</div> </div>
<div class="col4"> <div class="col4">