Merge branch 'dev' into 12-dev
This commit is contained in:
commit
b0d4823bec
@ -20,6 +20,14 @@
|
|||||||
- Module blog : taille recommandée de l'image erronée lorsque la largeur de l'écran est réglée sur fluide (100%).
|
- Module blog : taille recommandée de l'image erronée lorsque la largeur de l'écran est réglée sur fluide (100%).
|
||||||
- Gestion des pages : positionnement dans le menu accessoire ou dans le menu standard.
|
- Gestion des pages : positionnement dans le menu accessoire ou dans le menu standard.
|
||||||
|
|
||||||
|
## Version 11.3.06
|
||||||
|
### Corrections :
|
||||||
|
- Bug d'affichage des blocs de présentation.
|
||||||
|
- Double déclaration d'une fonte locale.
|
||||||
|
### Améliorations :
|
||||||
|
- Sauvegarde des fontes avec le thème.
|
||||||
|
- Une fonte Websafe remplace une fonte locale dont le fichier n'est pas disponible.
|
||||||
|
|
||||||
## Version 11.3.05
|
## Version 11.3.05
|
||||||
### Correction :
|
### Correction :
|
||||||
- Dossier du fichier de fontes non créé empêchant la création du fichier des appels de fontes.
|
- Dossier du fichier de fontes non créé empêchant la création du fichier des appels de fontes.
|
||||||
|
@ -2342,16 +2342,19 @@ class core extends common {
|
|||||||
*/
|
*/
|
||||||
foreach ($fonts as $fontId) {
|
foreach ($fonts as $fontId) {
|
||||||
// Validité du tableau :
|
// Validité du tableau :
|
||||||
if ( isset($fontsAvailable['files'][$fontId]) &&
|
if ( isset($fontsAvailable['files'][$fontId]) ) {
|
||||||
file_exists(self::DATA_DIR . 'fonts/' . $f) ) {
|
if (file_exists(self::DATA_DIR . 'fonts/' . $fontId) ) {
|
||||||
// Chargement de la police
|
// Chargement de la police
|
||||||
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
|
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
|
||||||
$css .= '@font-face {font-family:"' . $fontsAvailable['files'][$fontId]['font-family'] . '";';
|
$css .= '@font-face {font-family:"' . $fontsAvailable['files'][$fontId]['font-family'] . '";';
|
||||||
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' .$fontsAvailable['files'][$fontId]['resource'] . '");}';
|
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' .$fontsAvailable['files'][$fontId]['resource'] . '");}';
|
||||||
// Tableau pour la construction de la feuille de style
|
// Tableau pour la construction de la feuille de style
|
||||||
$fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
|
$fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
|
||||||
|
} else {
|
||||||
|
// Le fichier de font n'est pas disponible, fonte par défaut
|
||||||
|
$fonts [$fontId] = 'verdana';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fond du body
|
// Fond du body
|
||||||
@ -2583,16 +2586,19 @@ class core extends common {
|
|||||||
*/
|
*/
|
||||||
foreach ($fonts as $fontId) {
|
foreach ($fonts as $fontId) {
|
||||||
// Validité du tableau :
|
// Validité du tableau :
|
||||||
if ( isset($fontsAvailable['files'][$fontId]) &&
|
if ( isset($fontsAvailable['files'][$fontId]) ) {
|
||||||
file_exists(self::DATA_DIR . 'fonts/' . $f) ) {
|
if (file_exists(self::DATA_DIR . 'fonts/' . $fontId) ) {
|
||||||
// Chargement de la police
|
// Chargement de la police
|
||||||
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
|
//$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
|
||||||
$css .= '@font-face {font-family:"' . $fontsAvailable['files'][$fontId]['font-family'] . '";';
|
$css .= '@font-face {font-family:"' . $fontsAvailable['files'][$fontId]['font-family'] . '";';
|
||||||
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' .$fontsAvailable['files'][$fontId]['resource'] . '");}';
|
$css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' .$fontsAvailable['files'][$fontId]['resource'] . '");}';
|
||||||
// Tableau pour la construction de la feuille de style
|
// Tableau pour la construction de la feuille de style
|
||||||
$fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
|
$fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
|
||||||
|
} else {
|
||||||
|
// Le fichier de font n'est pas disponible, fonte par défaut
|
||||||
|
$fonts [$fontId] = 'verdana';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Thème Administration
|
// Thème Administration
|
||||||
|
@ -859,6 +859,21 @@ if ($this->getData(['core', 'dataVersion']) < 11303) {
|
|||||||
$this->setData(['core', 'dataVersion', 11303]);
|
$this->setData(['core', 'dataVersion', 11303]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Version 11.3.06
|
||||||
|
if ($this->getData(['core', 'dataVersion']) < 11306) {
|
||||||
|
|
||||||
|
// Supprime les fontes déclarées en double par la version précédentes
|
||||||
|
$files = $this->getData(['fonts', 'files']);
|
||||||
|
foreach ($files as $fontId => $fontFile) {
|
||||||
|
if ( !is_null($this->getData(['fonts', 'imported', $fontId])) ) {
|
||||||
|
$this->deleteData(['fonts', 'imported', $fontId]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Mise à jour
|
||||||
|
$this->setData(['core', 'dataVersion', 11306]);
|
||||||
|
}
|
||||||
|
|
||||||
// Version 11.4.00
|
// Version 11.4.00
|
||||||
if ($this->getData(['core', 'dataVersion']) < 11400) {
|
if ($this->getData(['core', 'dataVersion']) < 11400) {
|
||||||
|
|
||||||
|
@ -283,7 +283,7 @@ class init extends common {
|
|||||||
'menu' => [
|
'menu' => [
|
||||||
'backgroundColor' => 'rgba(32, 59, 82, 1)',
|
'backgroundColor' => 'rgba(32, 59, 82, 1)',
|
||||||
'backgroundColorSub' => 'rgba(32, 59, 82, 1)',
|
'backgroundColorSub' => 'rgba(32, 59, 82, 1)',
|
||||||
'font' => 'georgia',
|
'font' => 'arial',
|
||||||
'fontSize' => '1em',
|
'fontSize' => '1em',
|
||||||
'fontWeight' => 'normal',
|
'fontWeight' => 'normal',
|
||||||
'height' => '15px 10px',
|
'height' => '15px 10px',
|
||||||
|
@ -621,37 +621,31 @@ class theme extends common {
|
|||||||
if ($this->isPost()) {
|
if ($this->isPost()) {
|
||||||
// Type d'import en ligne ou local
|
// Type d'import en ligne ou local
|
||||||
$type = $this->getInput('fontAddFontImported', helper::FILTER_BOOLEAN) ? 'imported' : 'files';
|
$type = $this->getInput('fontAddFontImported', helper::FILTER_BOOLEAN) ? 'imported' : 'files';
|
||||||
$ressource = $type === 'imported' ? $this->getInput('fontAddUrl', helper::FILTER_STRING_SHORT) : $this->getInput('fontAddFile', helper::FILTER__SHORT_STRING);
|
$typeFlip = $type === 'files' ? 'imported' : 'files';
|
||||||
|
$ressource = $type === 'imported' ? $this->getInput('fontAddUrl', helper::FILTER_STRING_SHORT) : $this->getInput('fontAddFile', helper::FILTER_STRING_SHORT);
|
||||||
$fontId = $this->getInput('fontAddFontId', helper::FILTER_STRING_SHORT, true);
|
$fontId = $this->getInput('fontAddFontId', helper::FILTER_STRING_SHORT, true);
|
||||||
$fontName = $this->getInput('fontAddFontName', helper::FILTER_STRING_SHORT, true);
|
$fontName = $this->getInput('fontAddFontName', helper::FILTER_STRING_SHORT, true);
|
||||||
$fontFamilyName = $this->getInput('fontAddFontFamilyName', helper::FILTER_STRING_SHORT, true);
|
$fontFamilyName = $this->getInput('fontAddFontFamilyName', helper::FILTER_STRING_SHORT, true);
|
||||||
|
|
||||||
// Vérifier l'existence de fontId et validité de family name si usage en ligne de cdnFonts
|
// Supprime la fonte si elle existe dans le type inverse
|
||||||
|
if (is_array($this->getData(['fonts', $typeFlip, $fontId])) ) {
|
||||||
// Charger les données des fontes
|
$this->deleteData(['fonts', $typeFlip, $fontId ]);
|
||||||
$fonts = $this->getData(['fonts']);
|
}
|
||||||
|
// Stocker la fonte
|
||||||
// Concaténation dans les tableaux existants
|
$this->setData(['fonts',
|
||||||
$t = [ $fontId => [
|
$type,
|
||||||
|
$fontId, [
|
||||||
'name' => $fontName,
|
'name' => $fontName,
|
||||||
'font-family' => $fontFamilyName,
|
'font-family' => $fontFamilyName,
|
||||||
'resource' => $ressource
|
'resource' => $ressource
|
||||||
]];
|
]]);
|
||||||
|
|
||||||
// Stocker les fontes
|
|
||||||
$this->setData(['fonts', $type, [ $fontId =>
|
|
||||||
[
|
|
||||||
'name' => $fontName,
|
|
||||||
'font-family' => $fontFamilyName,
|
|
||||||
'resource' => $ressource
|
|
||||||
]]
|
|
||||||
]);
|
|
||||||
|
|
||||||
// Copier la fonte si le nom du fichier est fourni
|
// Copier la fonte si le nom du fichier est fourni
|
||||||
if ( $type === 'files' &&
|
if ( $type === 'files' &&
|
||||||
is_file(self::FILE_DIR . 'source/' . $ressource)
|
file_exists(self::FILE_DIR . 'source/' . $ressource)
|
||||||
) {
|
) {
|
||||||
copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . 'fonts/' . $ressource );
|
copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . $ressource );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
@ -677,37 +671,29 @@ class theme extends common {
|
|||||||
if ($this->isPost()) {
|
if ($this->isPost()) {
|
||||||
// Type d'import en ligne ou local
|
// Type d'import en ligne ou local
|
||||||
$type = $this->getInput('fontEditFontImported', helper::FILTER_BOOLEAN) ? 'imported' : 'files';
|
$type = $this->getInput('fontEditFontImported', helper::FILTER_BOOLEAN) ? 'imported' : 'files';
|
||||||
$ressource = $type === 'imported' ? $this->getInput('fontEditUrl', helper::FILTER_STRING_SHORT) : $this->getInput('fontEditFile', helper::FILTER__SHORT_STRING);
|
$typeFlip = $type === 'files' ? 'imported' : 'files';
|
||||||
|
$ressource = $type === 'imported' ? $this->getInput('fontEditUrl', helper::FILTER_STRING_SHORT) : $this->getInput('fontEditFile', helper::FILTER_STRING_SHORT);
|
||||||
$fontId = $this->getInput('fontEditFontId', helper::FILTER_STRING_SHORT, true);
|
$fontId = $this->getInput('fontEditFontId', helper::FILTER_STRING_SHORT, true);
|
||||||
$fontName = $this->getInput('fontEditFontName', helper::FILTER_STRING_SHORT, true);
|
$fontName = $this->getInput('fontEditFontName', helper::FILTER_STRING_SHORT, true);
|
||||||
$fontFamilyName = $this->getInput('fontEditFontFamilyName', helper::FILTER_STRING_SHORT, true);
|
$fontFamilyName = $this->getInput('fontEditFontFamilyName', helper::FILTER_STRING_SHORT, true);
|
||||||
|
|
||||||
// Vérifier l'existence de fontId et validité de family name si usage en ligne de cdnFonts
|
// Supprime la fonte si elle existe dans le type inverse
|
||||||
|
if (is_array($this->getData(['fonts', $typeFlip, $fontId])) ) {
|
||||||
// Charger les données des fontes
|
$this->deleteData(['fonts', $typeFlip, $fontId ]);
|
||||||
$fonts = $this->getData(['fonts']);
|
}
|
||||||
|
|
||||||
// Concaténation dans les tableaux existants
|
|
||||||
$t = [ $fontId => [
|
|
||||||
'name' => $fontName,
|
|
||||||
'font-family' => $fontFamilyName,
|
|
||||||
'resource' => $ressource
|
|
||||||
]];
|
|
||||||
|
|
||||||
// Stocker les fontes
|
// Stocker les fontes
|
||||||
$this->setData(['fonts', $type, [ $fontId =>
|
$this->setData(['fonts',
|
||||||
[
|
$type,
|
||||||
|
$fontId, [
|
||||||
'name' => $fontName,
|
'name' => $fontName,
|
||||||
'font-family' => $fontFamilyName,
|
'font-family' => $fontFamilyName,
|
||||||
'resource' => $ressource
|
'resource' => $ressource
|
||||||
]]
|
]]);
|
||||||
]);
|
|
||||||
|
|
||||||
// Copier la fonte si le nom du fichier est fourni
|
// Copier la fonte si le nom du fichier est fourni
|
||||||
if ( $type === 'files' &&
|
if ( $type === 'files' &&
|
||||||
is_file(self::FILE_DIR . 'source/' . $ressource)
|
file_exists(self::FILE_DIR . 'source/' . $ressource)
|
||||||
) {
|
) {
|
||||||
copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . 'fonts/' . $ressource );
|
copy ( self::FILE_DIR . 'source/' . $ressource, self::DATA_DIR . $ressource );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
@ -1019,6 +1005,16 @@ class theme extends common {
|
|||||||
case 'admin':
|
case 'admin':
|
||||||
$zip->addFile(self::DATA_DIR.'admin.json',self::DATA_DIR.'admin.json');
|
$zip->addFile(self::DATA_DIR.'admin.json',self::DATA_DIR.'admin.json');
|
||||||
$zip->addFile(self::DATA_DIR.'admin.css',self::DATA_DIR.'admin.css');
|
$zip->addFile(self::DATA_DIR.'admin.css',self::DATA_DIR.'admin.css');
|
||||||
|
// Ajoute les fontes
|
||||||
|
$zip->addEmptyDir(self::DATA_DIR .'fonts');
|
||||||
|
$fonts = $this->getData(['fonts', 'files']);
|
||||||
|
foreach ($fonts as $fontId => $fontName) {
|
||||||
|
$zip->addFile(self::DATA_DIR .'fonts/' . $fontName, self::DATA_DIR.'fonts/' . $fontName);
|
||||||
|
}
|
||||||
|
if (file_exists(self::DATA_DIR .'fonts/fonts.html')) {
|
||||||
|
|
||||||
|
$zip->addFile(self::DATA_DIR .'fonts/fonts.html', self::DATA_DIR .'fonts/fonts.html');
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'theme':
|
case 'theme':
|
||||||
$zip->addFile(self::DATA_DIR.'theme.json',self::DATA_DIR.'theme.json');
|
$zip->addFile(self::DATA_DIR.'theme.json',self::DATA_DIR.'theme.json');
|
||||||
@ -1043,6 +1039,16 @@ class theme extends common {
|
|||||||
self::FILE_DIR . 'source/' . $value );
|
self::FILE_DIR . 'source/' . $value );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Ajoute les fontes
|
||||||
|
$zip->addEmptyDir(self::DATA_DIR .'fonts');
|
||||||
|
$fonts = $this->getData(['fonts', 'files']);
|
||||||
|
foreach ($fonts as $fontId => $fontName) {
|
||||||
|
$zip->addFile(self::DATA_DIR .'fonts/' . $fontName, self::DATA_DIR.'fonts/' . $fontName);
|
||||||
|
}
|
||||||
|
if (file_exists(self::DATA_DIR .'fonts/fonts.html')) {
|
||||||
|
|
||||||
|
$zip->addFile(self::DATA_DIR .'fonts/fonts.html', self::DATA_DIR .'fonts/fonts.html');
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$ret = $zip->close();
|
$ret = $zip->close();
|
||||||
|
@ -172,7 +172,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col3">
|
<div class="col3">
|
||||||
<?php echo template::select('themeFooterFont', $module::$fontsList, [
|
<?php echo template::select('themeFooterFont', $module::$fontsList, [
|
||||||
'label' => 'Police',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'footer', 'font']),
|
'selected' => $this->getData(['theme', 'footer', 'font']),
|
||||||
'fonts' => true
|
'fonts' => true
|
||||||
]); ?>
|
]); ?>
|
||||||
|
@ -107,7 +107,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('themeHeaderFont', $module::$fontsList, [
|
<?php echo template::select('themeHeaderFont', $module::$fontsList, [
|
||||||
'label' => 'Police',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'header', 'font']),
|
'selected' => $this->getData(['theme', 'header', 'font']),
|
||||||
'fonts' => true
|
'fonts' => true
|
||||||
]); ?>
|
]); ?>
|
||||||
|
@ -184,7 +184,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col6">
|
<div class="col6">
|
||||||
<?php echo template::select('themeMenuFont', $module::$fontsList, [
|
<?php echo template::select('themeMenuFont', $module::$fontsList, [
|
||||||
'label' => 'Police',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'menu', 'font']),
|
'selected' => $this->getData(['theme', 'menu', 'font']),
|
||||||
'fonts' => true
|
'fonts' => true
|
||||||
]); ?>
|
]); ?>
|
||||||
|
@ -159,7 +159,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col6">
|
<div class="col6">
|
||||||
<?php echo template::select('themeTextFont', $module::$fontsList, [
|
<?php echo template::select('themeTextFont', $module::$fontsList, [
|
||||||
'label' => 'Police',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'text', 'font']),
|
'selected' => $this->getData(['theme', 'text', 'font']),
|
||||||
'fonts' => true
|
'fonts' => true
|
||||||
]); ?>
|
]); ?>
|
||||||
@ -180,7 +180,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('themeTitleFont', $module::$fontsList, [
|
<?php echo template::select('themeTitleFont', $module::$fontsList, [
|
||||||
'label' => 'Police',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'title', 'font']),
|
'selected' => $this->getData(['theme', 'title', 'font']),
|
||||||
'fonts' => true
|
'fonts' => true
|
||||||
]); ?>
|
]); ?>
|
||||||
|
Loading…
Reference in New Issue
Block a user