Merge branch '114_dev' into 12_dev
This commit is contained in:
commit
d24379e1cf
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
class template {
|
class template {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Crée un bouton
|
* Crée un bouton
|
||||||
@ -120,7 +120,7 @@ class template {
|
|||||||
copy ('core/vendor/zwiico/png/' . $attributes['type'] . '/' . $letters[$firstNumber] . '.png', 'site/tmp/' . $firstLetter . '.png');
|
copy ('core/vendor/zwiico/png/' . $attributes['type'] . '/' . $letters[$firstNumber] . '.png', 'site/tmp/' . $firstLetter . '.png');
|
||||||
copy ('core/vendor/zwiico/png/' . $attributes['type'] . '/' . $letters[$secondNumber] . '.png', 'site/tmp/' . $secondLetter . '.png');
|
copy ('core/vendor/zwiico/png/' . $attributes['type'] . '/' . $letters[$secondNumber] . '.png', 'site/tmp/' . $secondLetter . '.png');
|
||||||
|
|
||||||
|
|
||||||
// Début du wrapper
|
// Début du wrapper
|
||||||
$html = '<div id="' . $attributes['id'] . 'Wrapper" class="captcha inputWrapper ' . $attributes['classWrapper'] . '">';
|
$html = '<div id="' . $attributes['id'] . 'Wrapper" class="captcha inputWrapper ' . $attributes['classWrapper'] . '">';
|
||||||
// Label
|
// Label
|
||||||
@ -449,7 +449,7 @@ class template {
|
|||||||
$lang = 'fr';
|
$lang = 'fr';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return '<img class="flag" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $lang . '.png"
|
return '<img class="flag" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $lang . '.png"
|
||||||
width="' . $size .'"
|
width="' . $size .'"
|
||||||
height="' . $size .'"
|
height="' . $size .'"
|
||||||
title="' . $lang .'"
|
title="' . $lang .'"
|
||||||
@ -614,8 +614,13 @@ class template {
|
|||||||
'label' => '',
|
'label' => '',
|
||||||
'name' => $nameId,
|
'name' => $nameId,
|
||||||
'selected' => '',
|
'selected' => '',
|
||||||
'fonts' => false
|
'fonts' => []
|
||||||
], $attributes);
|
], $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
|
// Sauvegarde des données en cas d'erreur
|
||||||
if($attributes['before'] AND array_key_exists($attributes['id'], common::$inputBefore)) {
|
if($attributes['before'] AND array_key_exists($attributes['id'], common::$inputBefore)) {
|
||||||
$attributes['selected'] = common::$inputBefore[$attributes['id']];
|
$attributes['selected'] = common::$inputBefore[$attributes['id']];
|
||||||
@ -628,7 +633,7 @@ class template {
|
|||||||
'help' => $attributes['help']
|
'help' => $attributes['help']
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Notice
|
// Notice
|
||||||
$notice = '';
|
$notice = '';
|
||||||
if(array_key_exists($attributes['id'], common::$inputNotices)) {
|
if(array_key_exists($attributes['id'], common::$inputNotices)) {
|
||||||
$notice = common::$inputNotices[$attributes['id']];
|
$notice = common::$inputNotices[$attributes['id']];
|
||||||
@ -640,12 +645,14 @@ class template {
|
|||||||
helper::sprintAttributes($attributes)
|
helper::sprintAttributes($attributes)
|
||||||
);
|
);
|
||||||
foreach($options as $value => $text) {
|
foreach($options as $value => $text) {
|
||||||
$html .= $attributes['fonts'] === true ? sprintf(
|
// Select des liste de fontes
|
||||||
|
$html .= isset($fonts) ? sprintf(
|
||||||
'<option value="%s"%s style="font-family: %s;">%s</option>',
|
'<option value="%s"%s style="font-family: %s;">%s</option>',
|
||||||
$value,
|
$value,
|
||||||
$attributes['selected'] == $value ? ' selected' : '', // Double == pour ignorer le type de variable car $_POST change les types en string
|
$attributes['selected'] == $value ? ' selected' : '', // Double == pour ignorer le type de variable car $_POST change les types en string
|
||||||
$text,
|
$fonts[$value],
|
||||||
$text
|
$text
|
||||||
|
// Select standard
|
||||||
) : sprintf(
|
) : sprintf(
|
||||||
'<option value="%s"%s>%s</option>',
|
'<option value="%s"%s>%s</option>',
|
||||||
$value,
|
$value,
|
||||||
|
169
core/core.php
169
core/core.php
@ -183,14 +183,9 @@ class common {
|
|||||||
'font-family' => 'Arial, Helvetica, sans-serif',
|
'font-family' => 'Arial, Helvetica, sans-serif',
|
||||||
'resource' => 'websafe'
|
'resource' => 'websafe'
|
||||||
],
|
],
|
||||||
'arial-black' => [
|
'arvo'=> [
|
||||||
'name' => 'Arial Black',
|
'name' => 'Arvo',
|
||||||
'font-family' => '\'Arial Black\', Gadget, sans-serif',
|
'font-family' => 'Arvo, sans-serif',
|
||||||
'resource' => 'websafe'
|
|
||||||
],
|
|
||||||
'courrier' => [
|
|
||||||
'name' => 'Courier',
|
|
||||||
'font-family' => 'Courier, \'Liberation Mono\', monospace',
|
|
||||||
'resource' => 'websafe'
|
'resource' => 'websafe'
|
||||||
],
|
],
|
||||||
'courrier-new' => [
|
'courrier-new' => [
|
||||||
@ -213,11 +208,21 @@ class common {
|
|||||||
'font-family' => 'Impact, Charcoal, sans-serif',
|
'font-family' => 'Impact, Charcoal, sans-serif',
|
||||||
'resource' => 'websafe'
|
'resource' => 'websafe'
|
||||||
],
|
],
|
||||||
|
'lora'=> [
|
||||||
|
'name' => 'Lora',
|
||||||
|
'font-family' => 'Lora, serif',
|
||||||
|
'resource' => 'websafe'
|
||||||
|
],
|
||||||
'lucida' => [
|
'lucida' => [
|
||||||
'name' => 'Lucida',
|
'name' => 'Lucida',
|
||||||
'font-family' => '\'Lucida Sans Unicode\', \'Lucida Grande\', sans-serif',
|
'font-family' => '\'Lucida Sans Unicode\', \'Lucida Grande\', sans-serif',
|
||||||
'resource' => 'websafe'
|
'resource' => 'websafe'
|
||||||
],
|
],
|
||||||
|
'roboto'=> [
|
||||||
|
'name' => 'Roboto',
|
||||||
|
'font-family' => 'Roboto, sans-serif',
|
||||||
|
'resource' => 'websafe'
|
||||||
|
],
|
||||||
'tahoma' => [
|
'tahoma' => [
|
||||||
'name' => 'Tahoma',
|
'name' => 'Tahoma',
|
||||||
'font-family' => 'Tahoma, Geneva, sans-serif',
|
'font-family' => 'Tahoma, Geneva, sans-serif',
|
||||||
@ -1321,9 +1326,6 @@ class common {
|
|||||||
*/
|
*/
|
||||||
echo '<div class="'. $content . '" id="contentSite">';
|
echo '<div class="'. $content . '" id="contentSite">';
|
||||||
$this->showContent();
|
$this->showContent();
|
||||||
if (file_exists(self::DATA_DIR . 'body.inc.html')) {
|
|
||||||
include(self::DATA_DIR . 'body.inc.html');
|
|
||||||
}
|
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
/**
|
/**
|
||||||
* Barre droite
|
* Barre droite
|
||||||
@ -2105,14 +2107,18 @@ class common {
|
|||||||
// Import des styles liés à la page
|
// Import des styles liés à la page
|
||||||
if($this->output['style']) {
|
if($this->output['style']) {
|
||||||
echo '<base href="' . helper::baseUrl(true) .'">';
|
echo '<base href="' . helper::baseUrl(true) .'">';
|
||||||
|
// Import de la feuille de style des pages admin
|
||||||
if (strpos($this->output['style'], 'admin.css') >= 1 ) {
|
if (strpos($this->output['style'], 'admin.css') >= 1 ) {
|
||||||
echo '<link rel="stylesheet" href="' . self::DATA_DIR . 'admin.css?' . md5_file(self::DATA_DIR .'admin.css') . '">';
|
echo '<link rel="stylesheet" href="' . self::DATA_DIR . 'admin.css?' . md5_file(self::DATA_DIR .'admin.css') . '">';
|
||||||
}
|
}
|
||||||
echo '<style type="text/css">' . helper::minifyCss($this->output['style']) . '</style>';
|
echo '<style type="text/css">' . helper::minifyCss($this->output['style']) . '</style>';
|
||||||
}
|
}
|
||||||
// Import des fontes liées au thème
|
// Import des fontes
|
||||||
if (file_exists(self::DATA_DIR.'fonts/fonts.html')) {
|
if ( file_exists(self::DATA_DIR . 'fonts/fonts.html') ){
|
||||||
include_once(self::DATA_DIR.'fonts/fonts.html');
|
include_once(self::DATA_DIR . 'fonts/fonts.html');
|
||||||
|
}
|
||||||
|
if ( file_exists(self::DATA_DIR . 'fonts/fonts.css') ){
|
||||||
|
echo '<link rel="stylesheet" href="' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/fonts.css?' . md5_file(self::DATA_DIR .'fonts/fonts.css') . '">';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2283,73 +2289,18 @@ class core extends common {
|
|||||||
// Version
|
// Version
|
||||||
$css = '/*' . md5(json_encode($this->getData(['theme']))) . '*/';
|
$css = '/*' . md5(json_encode($this->getData(['theme']))) . '*/';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Import des polices de caractères
|
* 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
|
$f ['files'] = $this->getData(['fonts', 'files']);
|
||||||
$fontsAvailable ['files'] = $this->getData(['fonts', 'files']);
|
$f ['imported'] = $this->getData(['fonts', 'imported']);
|
||||||
$fontsAvailable ['imported'] = $this->getData(['fonts', 'imported']);
|
$f ['websafe'] = self::$fontsWebSafe;
|
||||||
$fontsAvailable ['websafe'] = self::$fontsWebSafe;
|
// Construit un tableau avec leur ID et leur famille
|
||||||
|
foreach(['websafe', 'imported', 'files'] as $type) {
|
||||||
// Fontes installées
|
if (is_array($f[$type])) {
|
||||||
$fonts = [ $this->getData(['theme', 'text', 'font']),
|
foreach ($f[$type] as $fontId => $fontValue ) {
|
||||||
$this->getData(['theme', 'title', 'font']),
|
$fonts[$fontId] = $fontValue['font-family'];
|
||||||
$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
|
|
||||||
*/
|
|
||||||
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 .= '<link href="' . $fontsAvailable['imported'][$fontId]['resource'] .'" rel="stylesheet">';
|
|
||||||
// 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 Google.
|
|
||||||
$fontFile = $gf ? '<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>' . $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';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2520,12 +2471,6 @@ class core extends common {
|
|||||||
$css .= '#footerText > p {text-align:' . $this->getData(['theme', 'footer', 'textAlign']) . '}';
|
$css .= '#footerText > p {text-align:' . $this->getData(['theme', 'footer', 'textAlign']) . '}';
|
||||||
$css .= '#footerCopyright{text-align:' . $this->getData(['theme', 'footer', 'copyrightAlign']) . '}';
|
$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
|
// Enregistre la personnalisation
|
||||||
file_put_contents(self::DATA_DIR.'theme.css', $css);
|
file_put_contents(self::DATA_DIR.'theme.css', $css);
|
||||||
|
|
||||||
@ -2544,60 +2489,18 @@ class core extends common {
|
|||||||
// Version
|
// Version
|
||||||
$css = '/*' . md5(json_encode($this->getData(['admin']))) . '*/';
|
$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
|
* 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);
|
|
||||||
|
|
||||||
/**
|
$f ['files'] = $this->getData(['fonts', 'files']);
|
||||||
* Charge les fontes websafe
|
$f ['imported'] = $this->getData(['fonts', 'imported']);
|
||||||
*/
|
$f ['websafe'] = self::$fontsWebSafe;
|
||||||
foreach ($fonts as $fontId) {
|
// Construit un tableau avec leur ID et leur famille
|
||||||
if ( isset($fontsAvailable['websafe'][$fontId])) {
|
foreach(['websafe', 'imported', 'files'] as $type) {
|
||||||
$fonts [$fontId] = $fontsAvailable['websafe'][$fontId]['font-family'];
|
if (is_array($f[$type])) {
|
||||||
}
|
foreach ($f[$type] as $fontId => $fontValue ) {
|
||||||
}
|
$fonts[$fontId] = $fontValue['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 .= '<link href="' . $fontsAvailable['imported'][$fontId]['resource'] .'" rel="stylesheet">';
|
|
||||||
// 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';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -705,11 +705,6 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
|
|||||||
'font-family' => 'Arimo, sans-serif',
|
'font-family' => 'Arimo, sans-serif',
|
||||||
'resource' => 'https://fonts.cdnfonts.com/css/arimo'
|
'resource' => 'https://fonts.cdnfonts.com/css/arimo'
|
||||||
],
|
],
|
||||||
'arvo'=> [
|
|
||||||
'name' => 'Arvo',
|
|
||||||
'font-family' => 'Arvo, sans-serif',
|
|
||||||
'resource' => 'https://fonts.cdnfonts.com/css/arvo'
|
|
||||||
],
|
|
||||||
'dancing-script' => [
|
'dancing-script' => [
|
||||||
'name' => 'Dancing Script',
|
'name' => 'Dancing Script',
|
||||||
'font-family' => '\'Dancing Script\', sans-serif',
|
'font-family' => '\'Dancing Script\', sans-serif',
|
||||||
@ -733,7 +728,7 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
|
|||||||
'fira-sans' => [
|
'fira-sans' => [
|
||||||
'name' => 'Fira Sans',
|
'name' => 'Fira Sans',
|
||||||
'font-family' => '\'Fira Sans\', sans-serif',
|
'font-family' => '\'Fira Sans\', sans-serif',
|
||||||
'resource' => 'https://fonts.cdnfonts.com/css/fira'
|
'resource' => 'https://fonts.cdnfonts.com/css/fira-sans'
|
||||||
],
|
],
|
||||||
'liberation-sans'=> [
|
'liberation-sans'=> [
|
||||||
'name' => 'Liberation Sans',
|
'name' => 'Liberation Sans',
|
||||||
@ -755,11 +750,6 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
|
|||||||
'font-family' => 'Lato, sans-serif',
|
'font-family' => 'Lato, sans-serif',
|
||||||
'resource' => 'https://fonts.cdnfonts.com/css/lato'
|
'resource' => 'https://fonts.cdnfonts.com/css/lato'
|
||||||
],
|
],
|
||||||
'lora'=> [
|
|
||||||
'name' => 'Lora',
|
|
||||||
'font-family' => 'Lora, serif',
|
|
||||||
'resource' => 'https://fonts.cdnfonts.com/css/lora'
|
|
||||||
],
|
|
||||||
'old-standard-tt-3'=> [
|
'old-standard-tt-3'=> [
|
||||||
'name' => 'Old Standard TT',
|
'name' => 'Old Standard TT',
|
||||||
'font-family' => '\'Old Standard TT\', serif',
|
'font-family' => '\'Old Standard TT\', serif',
|
||||||
@ -790,11 +780,6 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
|
|||||||
'font-family' => 'Rancho, sans-serif',
|
'font-family' => 'Rancho, sans-serif',
|
||||||
'resource' => 'https://fonts.cdnfonts.com/css/rancho'
|
'resource' => 'https://fonts.cdnfonts.com/css/rancho'
|
||||||
],
|
],
|
||||||
'roboto'=> [
|
|
||||||
'name' => 'Roboto',
|
|
||||||
'font-family' => 'Roboto, sans-serif',
|
|
||||||
'resource' => 'https://fonts.cdnfonts.com/css/roboto'
|
|
||||||
],
|
|
||||||
'ubuntu'=> [
|
'ubuntu'=> [
|
||||||
'name' => 'Ubuntu',
|
'name' => 'Ubuntu',
|
||||||
'font-family' => 'Ubuntu, sans-serif',
|
'font-family' => 'Ubuntu, sans-serif',
|
||||||
@ -811,7 +796,8 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
|
|||||||
$files = $this->getData(['fonts', 'files']);
|
$files = $this->getData(['fonts', 'files']);
|
||||||
if (is_array($files)) {
|
if (is_array($files)) {
|
||||||
foreach ($files as $fontId => $fontName) {
|
foreach ($files as $fontId => $fontName) {
|
||||||
if (file_exists(self::DATA_DIR . 'fonts/' . $fontName)) {
|
if ( gettype($fontName) === 'string'
|
||||||
|
&& file_exists(self::DATA_DIR . 'fonts/' . $fontName)) {
|
||||||
$this->setData(['fonts', 'files', $fontId, [
|
$this->setData(['fonts', 'files', $fontId, [
|
||||||
'name' => ucfirst($fontId),
|
'name' => ucfirst($fontId),
|
||||||
'font-family'=> '\'' . ucfirst($fontId) . '\', sans-serif',
|
'font-family'=> '\'' . ucfirst($fontId) . '\', sans-serif',
|
||||||
@ -825,11 +811,13 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
|
|||||||
$imported = $this->getData(['fonts', 'imported']);
|
$imported = $this->getData(['fonts', 'imported']);
|
||||||
if (is_array($imported)) {
|
if (is_array($imported)) {
|
||||||
foreach ($imported as $fontId => $fontUrl) {
|
foreach ($imported as $fontId => $fontUrl) {
|
||||||
$this->setData(['fonts', 'imported', $fontId, [
|
if ( gettype($fontUrl) === 'string' ) {
|
||||||
'name' => ucfirst($fontId),
|
$this->setData(['fonts', 'imported', $fontId, [
|
||||||
'font-family'=> '\'' . ucfirst($fontId) . '\', sans-serif',
|
'name' => ucfirst($fontId),
|
||||||
'resource' => 'https:\\fonts.cdnfonts.com\css' . $fontUrl
|
'font-family'=> '\'' . ucfirst($fontId) . '\', sans-serif',
|
||||||
]]);
|
'resource' => 'https:\\fonts.cdnfonts.com\css' . $fontUrl
|
||||||
|
]]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Importation des fontes exemples
|
// Importation des fontes exemples
|
||||||
@ -861,7 +849,7 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Suppression de la variable URL dans core
|
// Suppression de la variable URL dans core
|
||||||
//$this->deleteData(['core', 'baseUrl']);
|
$this->deleteData(['core', 'baseUrl']);
|
||||||
|
|
||||||
// Mise à jour
|
// Mise à jour
|
||||||
$this->setData(['core', 'dataVersion', 11400]);
|
$this->setData(['core', 'dataVersion', 11400]);
|
||||||
|
@ -13,7 +13,8 @@
|
|||||||
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/common.css">
|
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/common.css">
|
||||||
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/blank.css">
|
<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; ?>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>
|
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>">
|
||||||
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<?php $this->showContent(); ?>
|
<?php $this->showContent(); ?>
|
||||||
<?php $this->showScript(); ?>
|
<?php $this->showScript(); ?>
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
<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); ?>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; ?>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'); ?>">
|
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>">
|
||||||
|
|
||||||
<!-- Détection RSS -->
|
<!-- Détection RSS -->
|
||||||
<?php if ( ( $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'blog'
|
<?php if ( ( $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'blog'
|
||||||
OR $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'news' )
|
OR $this->getData(['page', $this->getUrl(0), 'moduleId']) === 'news' )
|
||||||
@ -20,6 +21,7 @@
|
|||||||
<link rel="alternate" type="application/rss+xml" href="'<?php echo helper::baseUrl(). $this->getUrl(0) . '/rss';?>" title="fLUX rss">
|
<link rel="alternate" type="application/rss+xml" href="'<?php echo helper::baseUrl(). $this->getUrl(0) . '/rss';?>" title="fLUX rss">
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php $this->showStyle(); ?>
|
<?php $this->showStyle(); ?>
|
||||||
|
<!-- Script perso dans le header -->
|
||||||
<?php if (file_exists(self::DATA_DIR .'head.inc.html')) {
|
<?php if (file_exists(self::DATA_DIR .'head.inc.html')) {
|
||||||
include(self::DATA_DIR .'head.inc.html');
|
include(self::DATA_DIR .'head.inc.html');
|
||||||
}?>
|
}?>
|
||||||
@ -186,6 +188,10 @@
|
|||||||
<?php $this->showCookies(); ?>
|
<?php $this->showCookies(); ?>
|
||||||
<!-- Les scripts -->
|
<!-- Les scripts -->
|
||||||
<?php $this->showScript();?>
|
<?php $this->showScript();?>
|
||||||
|
<!-- Script perso dans body -->
|
||||||
|
<?php if (file_exists(self::DATA_DIR . 'body.inc.html')) {
|
||||||
|
include(self::DATA_DIR . 'body.inc.html');
|
||||||
|
}
|
||||||
|
?>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -583,8 +583,6 @@ class config extends common {
|
|||||||
// Change le statut de la réécriture d'URL (pour le helper::baseUrl() de la redirection)
|
// Change le statut de la réécriture d'URL (pour le helper::baseUrl() de la redirection)
|
||||||
helper::$rewriteStatus = false;
|
helper::$rewriteStatus = false;
|
||||||
}
|
}
|
||||||
// Met à jour la baseUrl
|
|
||||||
$this->setData(['core', 'baseUrl', helper::baseUrl(true,false) ]);
|
|
||||||
}
|
}
|
||||||
// Générer robots.txt et sitemap
|
// Générer robots.txt et sitemap
|
||||||
$this->siteMap();
|
$this->siteMap();
|
||||||
|
@ -122,9 +122,6 @@ class install extends common {
|
|||||||
mkdir(self::DATA_DIR . 'fonts');
|
mkdir(self::DATA_DIR . 'fonts');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stocker le dossier d'installation
|
|
||||||
$this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]);
|
|
||||||
|
|
||||||
// Installation du thème sélectionné
|
// Installation du thème sélectionné
|
||||||
$dataThemes = file_get_contents('core/module/install/ressource/themes/themes.json');
|
$dataThemes = file_get_contents('core/module/install/ressource/themes/themes.json');
|
||||||
$dataThemes = json_decode($dataThemes, true);
|
$dataThemes = json_decode($dataThemes, true);
|
||||||
|
@ -57,12 +57,11 @@ class init extends common {
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
'core' => [
|
'core' => [
|
||||||
'dataVersion' => 11300,
|
'dataVersion' => 11400,
|
||||||
'lastBackup' => 0,
|
'lastBackup' => 0,
|
||||||
'lastClearTmp' => 0,
|
'lastClearTmp' => 0,
|
||||||
'lastAutoUpdate' => 0,
|
'lastAutoUpdate' => 0,
|
||||||
'updateAvailable' => false,
|
'updateAvailable' => false
|
||||||
'baseUrl' => ''
|
|
||||||
],
|
],
|
||||||
'locale' => [
|
'locale' => [
|
||||||
'homePageId' => 'accueil',
|
'homePageId' => 'accueil',
|
||||||
|
@ -232,7 +232,8 @@ class theme extends common {
|
|||||||
// Variable pour construire la liste des pages du site
|
// Variable pour construire la liste des pages du site
|
||||||
public static $pagesList = [];
|
public static $pagesList = [];
|
||||||
// Variable pour construire la liste des fontes installées
|
// 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
|
// Variable pour détailler les fontes installées
|
||||||
public static $fontsDetail = [];
|
public static $fontsDetail = [];
|
||||||
|
|
||||||
@ -267,6 +268,8 @@ class theme extends common {
|
|||||||
}
|
}
|
||||||
// Lire les fontes installées
|
// Lire les fontes installées
|
||||||
$this->enumFonts();
|
$this->enumFonts();
|
||||||
|
// Toutes les fontes installées sont chargées
|
||||||
|
$this->setFonts('all');
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Administration',
|
'title' => 'Administration',
|
||||||
@ -403,6 +406,8 @@ class theme extends common {
|
|||||||
}
|
}
|
||||||
// Lire les fontes installées
|
// Lire les fontes installées
|
||||||
$this->enumFonts();
|
$this->enumFonts();
|
||||||
|
// Toutes les fontes installées sont chargées
|
||||||
|
$this->setFonts('all');
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Personnalisation du pied de page',
|
'title' => 'Personnalisation du pied de page',
|
||||||
@ -481,6 +486,8 @@ class theme extends common {
|
|||||||
}
|
}
|
||||||
// Lire les fontes installées
|
// Lire les fontes installées
|
||||||
$this->enumFonts();
|
$this->enumFonts();
|
||||||
|
// Toutes les fontes installées sont chargées
|
||||||
|
$this->setFonts('all');
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Personnalisation de la bannière',
|
'title' => 'Personnalisation de la bannière',
|
||||||
@ -496,6 +503,10 @@ class theme extends common {
|
|||||||
* Accueil de la personnalisation
|
* Accueil de la personnalisation
|
||||||
*/
|
*/
|
||||||
public function index() {
|
public function index() {
|
||||||
|
|
||||||
|
// Restaurer les fontes utilisateurs
|
||||||
|
$this->setFonts('user');
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Personnalisation des thèmes',
|
'title' => 'Personnalisation des thèmes',
|
||||||
@ -542,6 +553,8 @@ class theme extends common {
|
|||||||
}
|
}
|
||||||
// Lire les fontes installées
|
// Lire les fontes installées
|
||||||
$this->enumFonts();
|
$this->enumFonts();
|
||||||
|
// Toutes les fontes installées sont chargées
|
||||||
|
$this->setFonts('all');
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Personnalisation du menu',
|
'title' => 'Personnalisation du menu',
|
||||||
@ -557,6 +570,9 @@ class theme extends common {
|
|||||||
*/
|
*/
|
||||||
public function fonts() {
|
public function fonts() {
|
||||||
|
|
||||||
|
// Toutes les fontes installées sont chargées
|
||||||
|
$this->setFonts('all');
|
||||||
|
|
||||||
// Polices liées au thème
|
// Polices liées au thème
|
||||||
$used = [
|
$used = [
|
||||||
'Bannière' => $this->getData (['theme', 'header', 'font']),
|
'Bannière' => $this->getData (['theme', 'header', 'font']),
|
||||||
@ -652,7 +668,7 @@ class theme extends common {
|
|||||||
if ( $type === 'files' &&
|
if ( $type === 'files' &&
|
||||||
file_exists(self::FILE_DIR . 'source/' . $ressource)
|
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 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
@ -703,7 +719,7 @@ class theme extends common {
|
|||||||
if ( $type === 'files' &&
|
if ( $type === 'files' &&
|
||||||
file_exists(self::FILE_DIR . 'source/' . $ressource)
|
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 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
@ -839,6 +855,8 @@ class theme extends common {
|
|||||||
}
|
}
|
||||||
// Lire les fontes installées
|
// Lire les fontes installées
|
||||||
$this->enumFonts();
|
$this->enumFonts();
|
||||||
|
// Toutes les fontes installées sont chargées
|
||||||
|
$this->setFonts('all');
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Personnalisation du site',
|
'title' => 'Personnalisation du site',
|
||||||
@ -1124,7 +1142,11 @@ class theme extends common {
|
|||||||
// Retourne un tableau simple des fonts installées idfont avec le nom
|
// Retourne un tableau simple des fonts installées idfont avec le nom
|
||||||
// Cette fonction est utile aux sélecteurs de fonts dans les formulaires.
|
// Cette fonction est utile aux sélecteurs de fonts dans les formulaires.
|
||||||
public function enumFonts() {
|
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 ['files'] = $this->getData(['fonts', 'files']);
|
||||||
$f ['imported'] = $this->getData(['fonts', 'imported']);
|
$f ['imported'] = $this->getData(['fonts', 'imported']);
|
||||||
$f ['websafe'] = self::$fontsWebSafe;
|
$f ['websafe'] = self::$fontsWebSafe;
|
||||||
@ -1132,12 +1154,87 @@ class theme extends common {
|
|||||||
foreach(['websafe', 'imported', 'files'] as $type) {
|
foreach(['websafe', 'imported', 'files'] as $type) {
|
||||||
if (is_array($f[$type])) {
|
if (is_array($f[$type])) {
|
||||||
foreach ($f[$type] as $fontId => $fontValue ) {
|
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);
|
// Liste des fontes pour les sélecteurs
|
||||||
self::$fontsList = $fonts;
|
ksort(self::$fonts['name']);
|
||||||
|
ksort(self::$fonts['family']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Création d'un fichier de liens d'appel des fontes
|
||||||
|
* @param string $scope vaut all pour toutes les fontes ; 'user' pour les fontes utilisateurs
|
||||||
|
*/
|
||||||
|
private function setFonts($scope = 'all') {
|
||||||
|
|
||||||
|
// Filtrage par fontes installées
|
||||||
|
$fontsInstalled = [ $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']),
|
||||||
|
];
|
||||||
|
|
||||||
|
// Compression
|
||||||
|
$fontsInstalled = array_unique($fontsInstalled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chargement des polices en ligne dans un fichier fonts.html inclus dans main.php
|
||||||
|
*/
|
||||||
|
$gf = false;
|
||||||
|
$fileContent = '<!-- Fontes personnalisées -->';
|
||||||
|
foreach ($this->getData(['fonts', 'imported']) as $fontId => $fontValue) {
|
||||||
|
if (
|
||||||
|
( $scope === 'user' && in_array($fontId, $fontsInstalled) )
|
||||||
|
|| $scope === 'all'
|
||||||
|
) {
|
||||||
|
//Pré chargement à revoir
|
||||||
|
//$fileContent .= '<link rel="preload" href="' . $fontValue['resource'] . '" crossorigin="anonymous" as="style">';
|
||||||
|
$fileContent .= '<link href="' . $fontValue['resource'] .'" rel="stylesheet">';
|
||||||
|
// 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 ? '<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>' . $fileContent
|
||||||
|
: $fileContent;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fontes installées localement
|
||||||
|
*/
|
||||||
|
$fileContentCss = '';
|
||||||
|
foreach ($this->getData(['fonts', 'files']) as $fontId => $fontValue) {
|
||||||
|
if (
|
||||||
|
( $scope === 'user' && in_array($fontId, $fontsInstalled) )
|
||||||
|
|| $scope === 'all'
|
||||||
|
) {
|
||||||
|
if (file_exists(self::DATA_DIR . 'fonts/' . $fontValue['resource']) ) {
|
||||||
|
// Extension
|
||||||
|
$path_parts = pathinfo(helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontValue['resource']);
|
||||||
|
// Chargement de la police
|
||||||
|
$fileContentCss .= '@font-face {' ;
|
||||||
|
$fileContentCss .= 'font-family:"' . $fontId . '";';
|
||||||
|
$fileContentCss .= 'src: url("' . $fontValue['resource'] . '") format("' . $path_parts['extension'] . '");';
|
||||||
|
$fileContentCss .= '}' ;
|
||||||
|
// Préchargement
|
||||||
|
//$fileContent = '<link rel="preload" href="' . self::DATA_DIR . 'fonts/' . $fontValue['resource'] . '" type="font/woff" crossorigin="anonymous" as="font">' . $fileContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enregistre la personnalisation
|
||||||
|
file_put_contents(self::DATA_DIR.'fonts/fonts.html', $fileContent);
|
||||||
|
// Enregistre la personnalisation
|
||||||
|
file_put_contents(self::DATA_DIR.'fonts/fonts.css', $fileContentCss);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -128,10 +128,10 @@
|
|||||||
<h4>Mise en forme du texte</h4>
|
<h4>Mise en forme du texte</h4>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('adminFontText', $module::$fontsList, [
|
<?php echo template::select('adminFontText', $module::$fonts['name'], [
|
||||||
'label' => 'Police du texte',
|
'label' => 'Police du texte',
|
||||||
'selected' => $this->getData(['admin', 'fontText']),
|
'selected' => $this->getData(['admin', 'fontText']),
|
||||||
'fonts' => true
|
'fonts' => $module::$fonts['family']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
@ -141,10 +141,10 @@
|
|||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('adminFontTitle', $module::$fontsList, [
|
<?php echo template::select('adminFontTitle', $module::$fonts['name'], [
|
||||||
'label' => 'Police des titres',
|
'label' => 'Police des titres',
|
||||||
'selected' => $this->getData(['admin', 'fontTitle']),
|
'selected' => $this->getData(['admin', 'fontTitle']),
|
||||||
'fonts' => true
|
'fonts' => $module::$fonts['family']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,23 +1,21 @@
|
|||||||
<?php echo template::formOpen('fontAddForm'); ?>
|
<?php echo template::formOpen('fontAddForm'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col2">
|
<div class="col1">
|
||||||
<?php echo template::button('fontAddBack', [
|
<?php echo template::button('fontAddBack', [
|
||||||
'class' => 'buttonGrey',
|
'class' => 'buttonGrey',
|
||||||
'href' => helper::baseUrl() . 'theme/fonts',
|
'href' => helper::baseUrl() . 'theme/fonts',
|
||||||
'ico' => 'left',
|
'value' => template::ico('left')
|
||||||
'value' => 'Retour'
|
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col2">
|
<div class="col1">
|
||||||
<?php echo template::button('fontAddHelp', [
|
<?php echo template::button('fontAddHelp', [
|
||||||
'href' => 'https://doc.zwiicms.fr/fontes#add',
|
'href' => 'https://doc.zwiicms.fr/fontes#add',
|
||||||
'target' => '_blank',
|
'target' => '_blank',
|
||||||
'ico' => 'help',
|
'value' => template::ico('help'),
|
||||||
'value' => 'Aide',
|
|
||||||
'class' => 'buttonHelp'
|
'class' => 'buttonHelp'
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col2 offset6">
|
<div class="col2 offset8">
|
||||||
<?php echo template::submit('fontAddPublish', [
|
<?php echo template::submit('fontAddPublish', [
|
||||||
'value' => 'Valider',
|
'value' => 'Valider',
|
||||||
'uniqueSubmission' => true
|
'uniqueSubmission' => true
|
||||||
|
@ -10,35 +10,50 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Option par défaut du sélecteur de mode
|
* Option par défaut du sélecteur de mode
|
||||||
*/
|
*/
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
$('input[name=fontEditFontImported]').prop('checked', true);
|
if( $('input[name=fontEditFontImported]').is(':checked') ){
|
||||||
$('input[name=fontEditFontUrl]').prop('checked', false);
|
$('#containerfontEditFile').hide();
|
||||||
$('#containerfontEditFile').hide();
|
$('#containerfontEditUrl').show();
|
||||||
|
$('#fontEditFontFileWrapper').hide();
|
||||||
|
$('input[name=fontEditFontImported]').attr('disabled', 'disabled');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if( $('input[name=fontEditFontFile]').is(':checked') ){
|
||||||
|
$('#containerfontEditFile').show();
|
||||||
|
$('#containerfontEditUrl').hide();
|
||||||
|
$('#fontEditFontImportedWrapper').hide();
|
||||||
|
$('input[name=fontEditFontFile]').attr('disabled', 'disabled');
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mode téléchargement en ligne de la fonte ou installation locale
|
* Mode téléchargement en ligne de la fonte ou installation locale
|
||||||
*/
|
|
||||||
$("input[name=fontEditFontImported]").on("click", function() {
|
|
||||||
if( $('input[name=fontEditFontImported]').is(':checked') ){
|
|
||||||
$('input[name=fontEditFontFile]').prop('checked', false);
|
|
||||||
} else {
|
|
||||||
$('input[name=fontEditFontFile]').prop('checked', true);
|
|
||||||
}
|
|
||||||
$('#containerfontEditFile').hide();
|
|
||||||
$('#containerfontEditUrl').show();
|
|
||||||
});
|
|
||||||
|
|
||||||
$("input[name=fontEditFontFile]").on("click", function() {
|
$("input, select").on("change", function() {
|
||||||
if( $('input[name=fontEditFontFile]').is(':checked') ){
|
|
||||||
$('input[name=fontEditFontImported]').prop('checked', false);
|
if( $('input[name=fontEditFontImported]').is(':checked') ){
|
||||||
} else {
|
$('input[name=fontEditFontFile]').prop('checked', false);
|
||||||
$('input[name=fontEditFontImported]').prop('checked', true);
|
$('#containerfontEditFile').hide();
|
||||||
}
|
$('#containerfontEditUrl').show();
|
||||||
$('#containerfontEditFile').show();
|
} else {
|
||||||
$('#containerfontEditUrl').hide();
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if( $('input[name=fontEditFontFile]').is(':checked') ){
|
||||||
|
$('input[name=fontEditFontImported]').prop('checked', false);
|
||||||
|
$('#containerfontEditFile').show();
|
||||||
|
$('#containerfontEditUrl').hide();
|
||||||
|
} else {
|
||||||
|
$('input[name=fontEditFontImported]').prop('checked', true);
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
*/
|
@ -1,23 +1,21 @@
|
|||||||
<?php echo template::formOpen('fontEditForm'); ?>
|
<?php echo template::formOpen('fontEditForm'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col2">
|
<div class="col1">
|
||||||
<?php echo template::button('fontEditBack', [
|
<?php echo template::button('fontEditBack', [
|
||||||
'class' => 'buttonGrey',
|
'class' => 'buttonGrey',
|
||||||
'href' => helper::baseUrl() . 'theme/fonts',
|
'href' => helper::baseUrl() . 'theme/fonts',
|
||||||
'ico' => 'left',
|
'value' => template::ico('left')
|
||||||
'value' => 'Retour'
|
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col2">
|
<div class="col1">
|
||||||
<?php echo template::button('fontEditHelp', [
|
<?php echo template::button('fontEditHelp', [
|
||||||
'href' => 'https://doc.zwiicms.fr/fontes#add',
|
'href' => 'https://doc.zwiicms.fr/fontes#add',
|
||||||
'target' => '_blank',
|
'target' => '_blank',
|
||||||
'ico' => 'help',
|
'value' => template::ico('help'),
|
||||||
'value' => 'Aide',
|
|
||||||
'class' => 'buttonHelp'
|
'class' => 'buttonHelp'
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col2 offset6">
|
<div class="col2 offset8">
|
||||||
<?php echo template::submit('fontEditPublish', [
|
<?php echo template::submit('fontEditPublish', [
|
||||||
'value' => 'Valider',
|
'value' => 'Valider',
|
||||||
'uniqueSubmission' => true
|
'uniqueSubmission' => true
|
||||||
@ -36,7 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col6">
|
<div class="col6">
|
||||||
<?php echo template::checkbox('fontEditFontFile', true,'Fonte installée', [
|
<?php echo template::checkbox('fontEditFontFile', true,'Fonte installée', [
|
||||||
'checked' => $this->getUrl(2) === 'file' ? true : false
|
'checked' => $this->getUrl(2) === 'files' ? true : false
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -69,7 +67,7 @@
|
|||||||
<div class="col12">
|
<div class="col12">
|
||||||
<?php echo template::file('fontEditFile', [
|
<?php echo template::file('fontEditFile', [
|
||||||
'label' => 'Fichier de fonte (Format WOFF)',
|
'label' => 'Fichier de fonte (Format WOFF)',
|
||||||
'value' => $this->getUrl(2) === 'file' ? $this->getData(['fonts', $this->getUrl(2), $this->getUrl(3), 'resource']) : ''
|
'value' => $this->getUrl(2) === 'files' ? $this->getData(['fonts', $this->getUrl(2), $this->getUrl(3), 'resource']) : ''
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,11 +11,10 @@
|
|||||||
'href' => 'https://doc.zwiicms.fr/fontes',
|
'href' => 'https://doc.zwiicms.fr/fontes',
|
||||||
'target' => '_blank',
|
'target' => '_blank',
|
||||||
'value' => template::ico('help'),
|
'value' => template::ico('help'),
|
||||||
'class' => 'buttonHelp',
|
'class' => 'buttonHelp'
|
||||||
'help' => 'Consulter l\'aide en ligne'
|
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col1 offset9">
|
<div class="col2 offset8">
|
||||||
<?php echo template::button('themeFontAdd', [
|
<?php echo template::button('themeFontAdd', [
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/fontAdd',
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/fontAdd',
|
||||||
'value' => template::ico('plus'),
|
'value' => template::ico('plus'),
|
||||||
|
@ -171,10 +171,10 @@
|
|||||||
<h4>Mise en forme du texte</h4>
|
<h4>Mise en forme du texte</h4>
|
||||||
<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::$fonts['name'], [
|
||||||
'label' => 'Fonte',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'footer', 'font']),
|
'selected' => $this->getData(['theme', 'footer', 'font']),
|
||||||
'fonts' => true
|
'fonts' => $module::$fonts['family']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col3">
|
<div class="col3">
|
||||||
|
@ -106,10 +106,10 @@
|
|||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('themeHeaderFont', $module::$fontsList, [
|
<?php echo template::select('themeHeaderFont', $module::$fonts['name'], [
|
||||||
'label' => 'Fonte',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'header', 'font']),
|
'selected' => $this->getData(['theme', 'header', 'font']),
|
||||||
'fonts' => true
|
'fonts' => $module::$fonts['family']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
|
@ -183,10 +183,10 @@
|
|||||||
<h4>Mise en forme du texte</h4>
|
<h4>Mise en forme du texte</h4>
|
||||||
<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::$fonts['name'], [
|
||||||
'label' => 'Fonte',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'menu', 'font']),
|
'selected' => $this->getData(['theme', 'menu', 'font']),
|
||||||
'fonts' => true
|
'fonts' => $module::$fonts['family']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col6">
|
<div class="col6">
|
||||||
|
@ -11,8 +11,6 @@
|
|||||||
* @link http://zwiicms.fr/
|
* @link http://zwiicms.fr/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Aperçu en direct
|
* Aperçu en direct
|
||||||
*/
|
*/
|
||||||
@ -28,20 +26,19 @@ $("input, select").on("change",function() {
|
|||||||
$("#themeSiteMarginWrapper").show();
|
$("#themeSiteMarginWrapper").show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Aperçu dans la boîte
|
* Aperçu dans la boîte
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Import des polices de caractères
|
// Import des polices de caractères pour l'aperçu en temps réel
|
||||||
var titleFont = $("#themeTitleFont :selected").val();
|
var titleFont = $("#themeTitleFont :selected").val();
|
||||||
var titleFontText = $("#themeTitleFont :selected").text();
|
var titleFontText = $("#themeTitleFont :selected").text();
|
||||||
var textFont = $("#themeTextFont :selected").val();
|
var textFont = $("#themeTextFont :selected").val();
|
||||||
var textFontText = $("#themeTextFont :selected").text();
|
var textFontText = $("#themeTextFont :selected").text();
|
||||||
var css = "@import url('https://fonts.cdnfonts.com/css/" + titleFont + "');";
|
|
||||||
var css = "@import url('https://fonts.cdnfonts.com/css/" + textFont + "');";
|
|
||||||
// Couleurs des boutons
|
// Couleurs des boutons
|
||||||
var colors = core.colorVariants($("#themeButtonBackgroundColor").val());
|
var colors = core.colorVariants($("#themeButtonBackgroundColor").val());
|
||||||
css += ".button.buttonSubmitPreview{background-color:" + colors.normal + ";}";
|
var css = ".button.buttonSubmitPreview{background-color:" + colors.normal + ";}";
|
||||||
css += ".button.buttonSubmitPreview:hover{background-color:" + colors.darken + "}";
|
css += ".button.buttonSubmitPreview:hover{background-color:" + colors.darken + "}";
|
||||||
css += ".button.buttonSubmitPreview{color:" + colors.text + ";}";
|
css += ".button.buttonSubmitPreview{color:" + colors.text + ";}";
|
||||||
|
|
||||||
@ -113,5 +110,4 @@ $("input, select").on("change",function() {
|
|||||||
.attr("id", "themePreview")
|
.attr("id", "themePreview")
|
||||||
.text(css)
|
.text(css)
|
||||||
.appendTo("head");
|
.appendTo("head");
|
||||||
|
|
||||||
}).trigger("change");
|
}).trigger("change");
|
||||||
|
@ -141,7 +141,8 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col12">
|
<div class="col12">
|
||||||
<div class="block preview">
|
<div class="block preview">
|
||||||
<h4 class="preview">Bloc</h4> <p class="textPreview">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
<h4 class="preview">Bloc</h4>
|
||||||
|
<p class="textPreview">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
||||||
<p><a href="#" class="urlPreview">Lorem ipsum dolor sit amet.</a></p>
|
<p><a href="#" class="urlPreview">Lorem ipsum dolor sit amet.</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -158,10 +159,11 @@
|
|||||||
<h4>Mise en forme du texte</h4>
|
<h4>Mise en forme du texte</h4>
|
||||||
<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::$fonts['name'], [
|
||||||
'label' => 'Fonte',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'text', 'font']),
|
'selected' => $this->getData(['theme', 'text', 'font']),
|
||||||
'fonts' => true
|
'fonts' => $module::$fonts['family']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col6">
|
<div class="col6">
|
||||||
@ -179,10 +181,10 @@
|
|||||||
<h4>Mise en forme des titres</h4>
|
<h4>Mise en forme des titres</h4>
|
||||||
<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::$fonts['name'] , [
|
||||||
'label' => 'Fonte',
|
'label' => 'Fonte',
|
||||||
'selected' => $this->getData(['theme', 'title', 'font']),
|
'selected' => $this->getData(['theme', 'title', 'font']),
|
||||||
'fonts' => true
|
'fonts' => $module::$fonts['family']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
|
Loading…
Reference in New Issue
Block a user