diff --git a/core/class/helper.class.php b/core/class/helper.class.php
index accf7132..fc623eab 100644
--- a/core/class/helper.class.php
+++ b/core/class/helper.class.php
@@ -86,7 +86,7 @@ class helper {
* @param string $sort Type de tri à appliquer au tableau (SORT_ASC, SORT_DESC, ou null)
* @return array
*/
- public static function arrayCollumn($array, $column, $sort = null) {
+ public static function arrayColumn($array, $column, $sort = null) {
$newArray = [];
if(empty($array) === false) {
$newArray = array_map(function($element) use($column) {
diff --git a/core/class/template.class.php b/core/class/template.class.php
index ac510b31..5522201e 100644
--- a/core/class/template.class.php
+++ b/core/class/template.class.php
@@ -620,13 +620,6 @@ class template {
if($attributes['before'] AND array_key_exists($attributes['id'], common::$inputBefore)) {
$attributes['selected'] = common::$inputBefore[$attributes['id']];
}
- // Liste des polices à intégrer
- //var_dump(core::$fonts);
- if ($attributes['fonts'] === true) {
- foreach (core::$fonts as $fontId => $font) {
- echo " \n";
- }
- }
// Début du wrapper
$html = '
';
// Label
diff --git a/core/core.php b/core/core.php
index 02cb8806..142c587b 100644
--- a/core/core.php
+++ b/core/core.php
@@ -179,22 +179,18 @@ class common {
];
- // Fontes
- public static $fonts = [
- ];
-
public static $fontsWebSafe = [
'arial' => 'Arial, Helvetica, sans-serif;',
- 'arial-black' => 'Arial Black, Gadget, sans-serif;',
- 'courrier' => 'Courier, Liberation Mono, monospace;',
- 'courrier-new' => 'Courier New, Courier, monospace',
+ 'arial-black' => '"Arial Black", Gadget, sans-serif;',
+ 'courrier' => 'Courier, "Liberation Mono", monospace;',
+ 'courrier-new' => '"Courier New", Courier, monospace',
'garamond' => 'Garamond, serif',
'georgia' => 'Georgia, serif;',
'impact' => 'Impact, Charcoal, sans-serif;',
- 'lucida' => 'Lucida Sans Unicode, Lucida Grande, sans-serif',
+ 'lucida' => '"Lucida Sans Unicode", "Lucida Grande", sans-serif',
'tahoma' => 'Tahoma, Geneva, sans-serif;',
- 'times-new-roman' => 'Times New Roman, Liberation Serif, serif;',
- 'trebuchet' => 'Trebuchet MS, Arial, Helvetica, sans-serif;',
+ 'times-new-roman' => '"Times New Roman", "Liberation Serif", serif;',
+ 'trebuchet' => '"Trebuchet MS", Arial, Helvetica, sans-serif;',
'tahoma' => 'Tahoma, Geneva, sans-serif;',
'verdana' => 'Verdana, Geneva, sans-serif;',
];
@@ -294,7 +290,7 @@ class common {
// Construit la liste des pages parents/enfants
if($this->hierarchy['all'] === []) {
- $pages = helper::arrayCollumn($this->getData(['page']), 'position', 'SORT_ASC');
+ $pages = helper::arrayColumn($this->getData(['page']), 'position', 'SORT_ASC');
// Parents
foreach($pages as $pageId => $pagePosition) {
if(
@@ -407,6 +403,48 @@ class common {
}
}
+ /**
+ * Construit la liste des fontes dans un tableau
+ * @return array @fonts
+ *
+ */
+ public function getFonts() {
+
+ // Fusionne la liste des fontes avec les webSafe
+ foreach (self::$fontsWebSafe as $fontId => $fontValue) {
+ $fontName = explode (',', $fontValue);
+ $f ['websafe'] [$fontId] = [
+ 'name' => str_replace('"', '', $fontName[0]),
+ 'font-family'=> $fontValue
+ ];
+ }
+ // Ajoute les polices importées
+ $fontsImported = $this->getData(['fonts', 'imported']);
+ if (is_array($fontsImported)
+ ) {
+ foreach ($fontsImported as $fontId => $fontValue) {
+ $f ['imported'] [$fontId] = [
+ 'name' => $fontValue ['name'],
+ 'font-family'=> $fontValue ['font-family'],
+ 'ressource' => $fontValue ['ressource']
+ ];
+ }
+ }
+ // Ajoute les polices locales
+ $fontsFiles = $this->getData(['fonts', 'files']);
+ if (is_array($fontsFiles)
+ ) {
+ foreach ($fontsFiles as $fontId => $fontValue) {
+ $f ['files'] [$fontId] = [
+ 'name' => $fontValue ['name'],
+ 'font-family'=> $fontValue ['font-family'],
+ 'ressource' => $fontValue ['ressource']
+ ];
+ }
+ }
+ return $f;
+ }
+
/**
* Check du token CSRF (true = bo
*/
@@ -2232,27 +2270,6 @@ class core extends common {
}
}
- /**
- * Traitement des polices de caractères
- */
-
- // Fusionne la liste des fontes avec les webSafe
- foreach (self::$fontsWebSafe as $fontId => $fontValue) {
- $fontName = explode (',', $fontValue);
- self::$fonts [$fontId] = $fontName[0];
- }
- // Importe les polices personnalisées
- $fontsImported = $this->getData(['fonts', 'imported']);
- if (is_array($fontsImported) &&
- !empty ($fontsImported)
- ) {
- // Fusionner avec les fontes installées
- self::$fonts = array_merge(self::$fonts, $fontsImported);
-
- }
- // Tri Alphabétique
- asort(self::$fonts);
-
// Crée le fichier de personnalisation avancée
if(file_exists(self::DATA_DIR.'custom.css') === false) {
file_put_contents(self::DATA_DIR.'custom.css', file_get_contents('core/module/theme/resource/custom.css'));
@@ -2268,18 +2285,24 @@ class core extends common {
file_put_contents(self::DATA_DIR.'admin.css', '');
chmod(self::DATA_DIR.'admin.css', 0755);
}
+
// Check la version rafraichissement du theme
$cssVersion = preg_split('/\*+/', file_get_contents(self::DATA_DIR.'theme.css'));
if(empty($cssVersion[1]) OR $cssVersion[1] !== md5(json_encode($this->getData(['theme'])))) {
// 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 = $this->getFonts();
+ // Fontes installées
$fonts = [ $this->getData(['theme', 'text', 'font']),
$this->getData(['theme', 'title', 'font']),
$this->getData(['theme', 'header', 'font']),
@@ -2290,51 +2313,50 @@ class core extends common {
$fonts = array_unique($fonts);
/**
- * Fontes Web Safe, ne sont pas chargées.
+ * Charge les fontes websafe
*/
+ $fontFile = '';
foreach ($fonts as $fontId) {
- if (array_key_exists($fontId, self::$fontsWebSafe) ) {
- unset($fonts[$fontId]);
+ if ( isset($fontsAvailable['websafe'][$fontId])) {
+ $fonts [$fontId] = $fontsAvailable['websafe'][$fontId]['font-family'];
}
}
/**
- * Chargement des polices en ligne dans un fichier séparé
+ * Chargement des polices en ligne dans un fichier fonts.html inclus dans main.php
*/
- // Lire le fichier des fontes locales
- $localFonts = $this->getData(['fonts', 'files']);
$fontFile = '';
foreach ($fonts as $fontId) {
- if (!array_key_exists($fontId, $localFonts) ) {
- $fontFile .= '
';
- // Supprimer l'élément des fontes chargées en ligne
- unset($fonts[$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
*/
- // Validité du format
- if ( !empty($localFonts)
- ) {
- foreach ($localFonts as $fontId => $fontName) {
- // Validité du tableau :
- if ( array_key_exists($fontId, self::$fonts) &&
- file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) {
- // Chargement de la police
- //$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
- $css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";';
- $css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}';
- }
-
+ foreach ($fonts as $fontId) {
+ // Validité du tableau :
+ if ( isset($fontsAvailable['files'][$fontId]) &&
+ file_exists(self::DATA_DIR . 'fonts/' . $f) ) {
+ // 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]['ressource'] . '");}';
+ // Tableau pour la construction de la feuille de style
+ $fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
}
+
}
// Fond du body
$colors = helper::colorVariants($this->getData(['theme', 'body', 'backgroundColor']));
// Body
- $css .= 'body{font-family:"' . self::$fonts[$this->getData(['theme', 'text', 'font'])] . '",sans-serif}';
+ $css .= 'body{font-family:' . $fonts[$this->getData(['theme', 'text', 'font'])] . ';}';
if($themeBodyImage = $this->getData(['theme', 'body', 'image'])) {
// Image dans html pour éviter les déformations.
$css .= 'html {background-image:url("../file/source/' . $themeBodyImage . '");background-position:' . $this->getData(['theme', 'body', 'imagePosition']) . ';background-attachment:' . $this->getData(['theme', 'body', 'imageAttachment']) . ';background-size:' . $this->getData(['theme', 'body', 'imageSize']) . ';background-repeat:' . $this->getData(['theme', 'body', 'imageRepeat']) . '}';
@@ -2352,7 +2374,7 @@ class core extends common {
$colors = helper::colorVariants($this->getData(['theme', 'text', 'linkColor']));
$css .= 'a{color:' . $colors['normal'] . '}';
// Couleurs de site dans TinyMCe
- $css .= 'div.mce-edit-area {font-family:"' . self::$fonts[$this->getData(['theme', 'text', 'font'])] . '",sans-serif}';
+ $css .= 'div.mce-edit-area {font-family:' . $fonts[$this->getData(['theme', 'text', 'font'])] . ';}';
// Site dans TinyMCE
$css .= '.editorWysiwyg {background-color:' . $this->getData(['theme', 'site', 'backgroundColor']) . ';}';
$css .= 'span.mce-text{background-color: unset !important;}';
@@ -2393,7 +2415,7 @@ class core extends common {
$css .= '.helpButton span:hover{color:' . $colors['darken'] . '}';
$css .= '.button:active,button[type=\'submit\']:active,.pagination a:active{background-color:' . $colors['veryDarken'] . '}';
$colors = helper::colorVariants($this->getData(['theme', 'title', 'textColor']));
- $css .= 'h1,h2,h3,h4,h5,h6,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:' . $colors['normal'] . ';font-family:"' . self::$fonts[$this->getData(['theme', 'title', 'font'])] . '",sans-serif;font-weight:' . $this->getData(['theme', 'title', 'fontWeight']) . ';text-transform:' . $this->getData(['theme', 'title', 'textTransform']) . '}';
+ $css .= 'h1,h2,h3,h4,h5,h6,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:' . $colors['normal'] . ';font-family:' . $fonts[$this->getData(['theme', 'title', 'font'])] . ';font-weight:' . $this->getData(['theme', 'title', 'fontWeight']) . ';text-transform:' . $this->getData(['theme', 'title', 'textTransform']) . '}';
$css .= 'h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:' . $colors['darken'] . '}';
// Les blocs
$colors = helper::colorVariants($this->getData(['theme', 'block', 'backgroundColor']));
@@ -2427,7 +2449,7 @@ class core extends common {
$css .= 'header{background-image:url("../file/source/' . $themeHeaderImage . '");background-position:' . $this->getData(['theme', 'header', 'imagePosition']) . ';background-repeat:' . $this->getData(['theme', 'header', 'imageRepeat']) . '}';
}
$colors = helper::colorVariants($this->getData(['theme', 'header', 'textColor']));
- $css .= 'header span{color:' . $colors['normal'] . ';font-family:"' . self::$fonts[$this->getData(['theme', 'header', 'font'])] . '",sans-serif;font-weight:' . $this->getData(['theme', 'header', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'header', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'header', 'textTransform']) . '}';
+ $css .= 'header span{color:' . $colors['normal'] . ';font-family:' . $fonts[$this->getData(['theme', 'header', 'font'])] . ';font-weight:' . $this->getData(['theme', 'header', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'header', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'header', 'textTransform']) . '}';
}
// Bannière au contenu personnalisé
@@ -2476,7 +2498,7 @@ class core extends common {
$css .= 'nav{padding:0 10px;}';
}
- $css .= '#toggle span,#menu a{padding:' . $this->getData(['theme', 'menu', 'height']) .';font-family:"' . self::$fonts[$this->getData(['theme', 'menu', 'font'])] . '",sans-serif;font-weight:' . $this->getData(['theme', 'menu', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'menu', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'menu', 'textTransform']) . '}';
+ $css .= '#toggle span,#menu a{padding:' . $this->getData(['theme', 'menu', 'height']) .';font-family:' . $fonts[$this->getData(['theme', 'menu', 'font'])] . ';font-weight:' . $this->getData(['theme', 'menu', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'menu', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'menu', 'textTransform']) . '}';
// Pied de page
$colors = helper::colorVariants($this->getData(['theme', 'footer', 'backgroundColor']));
@@ -2486,7 +2508,7 @@ class core extends common {
$css .= 'footer{padding:0}';
}
- $css .= 'footer span, #footerText > p {color:' . $this->getData(['theme', 'footer', 'textColor']) . ';font-family:"' . self::$fonts[$this->getData(['theme', 'footer', 'font'])] . '",sans-serif;font-weight:' . $this->getData(['theme', 'footer', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'footer', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'footer', 'textTransform']) . '}';
+ $css .= 'footer span, #footerText > p {color:' . $this->getData(['theme', 'footer', 'textColor']) . ';font-family:' . $fonts[$this->getData(['theme', 'footer', 'font'])] . ';font-weight:' . $this->getData(['theme', 'footer', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'footer', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'footer', 'textTransform']) . '}';
$css .= 'footer {background-color:' . $colors['normal'] . ';color:' . $this->getData(['theme', 'footer', 'textColor']) . '}';
$css .= 'footer a{color:' . $this->getData(['theme', 'footer', 'textColor']) . '}';
$css .= 'footer #footersite > div {margin:' . $this->getData(['theme', 'footer', 'height']) . ' 0}';
@@ -2497,10 +2519,8 @@ class core extends common {
$css .= '#footerText > p {text-align:' . $this->getData(['theme', 'footer', 'textAlign']) . '}';
$css .= '#footerCopyright{text-align:' . $this->getData(['theme', 'footer', 'copyrightAlign']) . '}';
-
// Enregistre la personnalisation
file_put_contents(self::DATA_DIR.'theme.css', $css);
- file_put_contents(self::DATA_DIR.'fonts/fonts.html', $fontFile);
// Effacer le cache pour tenir compte de la couleur de fond TinyMCE
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
@@ -2527,52 +2547,51 @@ class core extends common {
$fonts = array_unique($fonts);
/**
- * Fontes Web Safe, ne sont pas chargées.
+ * Charge les fontes websafe
*/
+ $fontFile = '';
foreach ($fonts as $fontId) {
- if (array_key_exists($fontId, self::$fontsWebSafe) ) {
- unset($fonts[$fontId]);
+ if ( isset($fontsAvailable['websafe'][$fontId])) {
+ $fonts [$fontId] = $fontsAvailable['websafe'][$fontId]['font-family'];
}
}
- // Lire le fichier des fontes locales
- $localFonts = $this->getData(['fonts', 'files']);
-
/**
- * Chargement des polices en ligne
+ * Chargement des polices en ligne dans un fichier fonts.html inclus dans main.php
*/
+ $fontFile = '';
foreach ($fonts as $fontId) {
- if (!array_key_exists($fontId, $localFonts) ) {
- $css .= '@import url("http://fonts.cdnfonts.com/css/' . $fontId . '");';
- // Supprimer l'élément des fontes chargées en ligne
- unset($fonts[$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
*/
- // Validité du format
- if ( !empty($localFonts)
- ) {
- foreach ($localFonts as $fontId => $fontName) {
- // Validité du tableau :
- if ( array_key_exists($fontId, self::$fonts) &&
- file_exists(self::DATA_DIR . 'fonts/' . $fontName) ) {
- // Chargement de la police
- //$formatFont = explode('.', self::DATA_DIR . 'fonts/' . $fontName);
- $css .= '@font-face {font-family:"' . self::$fonts[$fontId] . '";';
- $css .= 'src: url("' . helper::baseUrl(false) . self::DATA_DIR . 'fonts/' . $fontName . '");}';
- }
-
+ foreach ($fonts as $fontId) {
+ // Validité du tableau :
+ if ( isset($fontsAvailable['files'][$fontId]) &&
+ file_exists(self::DATA_DIR . 'fonts/' . $f) ) {
+ // 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]['ressource'] . '");}';
+ // Tableau pour la construction de la feuille de style
+ $fonts [$fontId] = $fontsAvailable['files'][$fontId]['font-family'];
}
+
}
// Thème Administration
$colors = helper::colorVariants($this->getData(['admin','backgroundColor']));
$css .= '#site{background-color:' . $colors['normal']. ';}';
- $css .= '.row > div {font:' . $this->getData(['admin','fontSize']) . ' "' . self::$fonts[$this->getData(['admin','fontText'])] . '", sans-serif;}';
- $css .= 'body h1, h2, h3, h4 a, h5, h6 {font-family:"' . self::$fonts[$this->getData(['admin','fontTitle'])] . '", sans-serif;color:' . $this->getData(['admin','colorTitle' ]) . ';}';
+ $css .= '.row > div {font:' . $fonts[$this->getData(['admin','fontText'])] . ';font-size:' . $this->getData(['admin','fontSize']) .'}';
+ $css .= 'body h1, h2, h3, h4 a, h5, h6 {font-family:' . $fonts[$this->getData(['admin','fontTitle'])] . ';color:' . $this->getData(['admin','colorTitle' ]) . ';}';
// TinyMCE
$css .= 'body:not(.editorWysiwyg),span .zwiico-help {color:' . $this->getData(['admin','colorText']) . ';}';
diff --git a/core/include/update.inc.php b/core/include/update.inc.php
index ceabc026..9badca7c 100644
--- a/core/include/update.inc.php
+++ b/core/include/update.inc.php
@@ -481,7 +481,7 @@ if ($this->getData(['core', 'dataVersion']) < 10400) {
foreach ($pageList as $parentKey => $parent) {
//La page est un blog
if ($this->getData(['page',$parent,'moduleId']) === 'blog' ) {
- $articleIds = array_keys(helper::arrayCollumn($this->getData(['module', $parent, 'posts']), 'publishedOn', 'SORT_DESC'));
+ $articleIds = array_keys(helper::arrayColumn($this->getData(['module', $parent, 'posts']), 'publishedOn', 'SORT_DESC'));
foreach ($articleIds as $key => $article) {
// Droits les deux groupes
$this->setData(['module', $parent, 'posts', $article,'editConsent', 3]);
@@ -874,26 +874,106 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
// Version 12.0.00
if ($this->getData(['core', 'dataVersion']) < 12000) {
$fonts = [
- 'arimo' => 'Arimo',
- 'arvo' => 'Arvo',
- 'dancing-script' => 'Dancing Script',
- 'droid-sans-2' => 'Droid Sans',
- 'droid-serif-2' => 'Droid Serif',
- 'indie-flower' => 'Indie Flower',
- 'liberation-sans' => 'Liberation Sans',
- 'liberation-serif' => 'Liberation Serif',
- 'lobster-2' => 'Lobster',
- 'lora' => 'Lora',
- 'lato' => 'Lato',
- 'old-standard-tt-3' => 'Old Standard TT',
- 'open-sans' => 'Open Sans',
- 'oswald-4' => 'Oswald',
- 'pt-mono' => 'PT Mono',
- 'pt-serif' => 'PT Serif',
- 'rancho' => 'Rancho',
- 'roboto' => 'Roboto',
- 'ubuntu' => 'Ubuntu',
- 'vollkorn' => 'Vollkorn'
+ 'arimo'=> [
+ 'name' => 'Arimo',
+ 'font-family' => 'Arimo, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/arimo'
+ ],
+ 'arvo'=> [
+ 'name' => 'Arvo',
+ 'font-family' => 'Arvo, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/arvo'
+ ],
+ 'dancing-script' => [
+ 'name' => 'Dancing Script',
+ 'font-family' => '"Dancing Script", sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/dancing-script'
+ ],
+ 'droid-sans-2'=> [
+ 'name' => 'Droid Sans',
+ 'font-family' => '"Droid Sans", sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/droid-sans-2'
+ ],
+ 'droid-serif-2'=> [
+ 'name' => 'Droid Serif',
+ 'font-family' => '"Droid Serif", serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/droid-serif-2'
+ ],
+ 'indie-flower'=> [
+ 'name' => 'Indie Flower',
+ 'font-family' => '"Indie Flower", sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/indie-flower'
+ ],
+ 'liberation-sans'=> [
+ 'name' => 'Liberation Sans',
+ 'font-family' => '"Liberation Sans", sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/liberation-sans'
+ ],
+ 'liberation-serif'=> [
+ 'name' => 'Liberation Serif',
+ 'font-family' => '"Liberation Serif", serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/liberation-serif'
+ ],
+ 'lobster-2'=> [
+ 'name' => 'Lobster',
+ 'font-family' => 'Lobster, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/lobster-2'
+ ],
+ 'lato'=> [
+ 'name' => 'lato',
+ 'font-family' => 'Lato, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/lato'
+ ],
+ 'lora'=> [
+ 'name' => 'Lora',
+ 'font-family' => 'Lora, serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/lora'
+ ],
+ 'old-standard-tt-3'=> [
+ 'name' => 'Old Standard TT',
+ 'font-family' => '"Old Standard TT", serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/old-standard-tt-3'
+ ],
+ 'open-sans' => [
+ 'name' => 'Open Sans',
+ 'font-family' => '"Open Sans", sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/open-sans'
+ ],
+ 'oswald-4'=> [
+ 'name' => 'Oswald',
+ 'font-family' => 'Oswald, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/oswald-4'
+ ],
+ 'pt-mono'=> [
+ 'name' => 'PT Mono',
+ 'font-family' => '"PT Mono", monospace',
+ 'url' => 'https://fonts.cdnfonts.com/css/pt-mono'
+ ],
+ 'pt-serif'=> [
+ 'name' => "PR Serif",
+ 'font-family' => '"PT Serif", serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/pt-serif'
+ ],
+ 'rancho'=> [
+ 'name' => 'Rancho',
+ 'font-family' => 'Rancho, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/rancho'
+ ],
+ 'roboto'=> [
+ 'name' => 'Roboto',
+ 'font-family' => 'Roboto, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/roboto'
+ ],
+ 'ubuntu'=> [
+ 'name' => 'Ubuntu',
+ 'font-family' => 'Ubuntu, sans-serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/ubuntu'
+ ],
+ 'vollkorn'=> [
+ 'name' => 'Vollkorn',
+ 'font-family' => 'Vollkorn, serif',
+ 'url' => 'https://fonts.cdnfonts.com/css/vollkorn'
+ ]
];
$this->setData(['fonts', 'imported', $fonts]);
diff --git a/core/module/config/view/connect/connect.php b/core/module/config/view/connect/connect.php
index e8528c2b..8e7f44b0 100644
--- a/core/module/config/view/connect/connect.php
+++ b/core/module/config/view/connect/connect.php
@@ -9,27 +9,15 @@
+
-
- $this->getData(['config', 'connect','captcha'])
- ]); ?>
- $this->getData(['config', 'connect', 'captchaStrong']),
- 'help' => 'Option recommandée pour sécuriser la connexion. S\'applique à tous les captchas du site. Le captcha simple se limite à une addition de nombres de 0 à 10. Le captcha complexe utilise quatre opérations de nombres de 0 à 20. Activation recommandée.'
- ]); ?>
-
-
- 'Type de captcha',
- 'selected' => $this->getData(['config', 'connect', 'captchaType'])
- ]); ?>
-
$this->getData(['config', 'connect', 'autoDisconnect']),
'help' => 'Déconnecte les sessions ouvertes précédemment sur d\'autres navigateurs ou terminaux. Activation recommandée.'
]); ?>
+
+
$this->getData(['config', 'connect', 'showPassword']),
'help' => 'Dans l\'écran de connexion, active une icône dont le survol affiche temporairement le mot de passe.'
@@ -39,7 +27,7 @@
'Connexions successives',
+ 'label' => 'Limitation des tentatives',
'selected' => $this->getData(['config', 'connect', 'attempt'])
]); ?>
@@ -71,6 +59,25 @@
]); ?>
+
+
+ $this->getData(['config', 'connect','captcha'])
+ ]); ?>
+
+
+ $this->getData(['config', 'connect', 'captchaStrong']),
+ 'help' => 'Option recommandée pour sécuriser la connexion. S\'applique à tous les captchas du site. Le captcha simple se limite à une addition de nombres de 0 à 10. Le captcha complexe utilise quatre opérations de nombres de 0 à 20. Activation recommandée.'
+ ]); ?>
+
+
+ 'Type de captcha',
+ 'selected' => $this->getData(['config', 'connect', 'captchaType'])
+ ]); ?>
+
+
diff --git a/core/module/config/view/locale/locale.php b/core/module/config/view/locale/locale.php
index d6aa0d54..5e099c1a 100644
--- a/core/module/config/view/locale/locale.php
+++ b/core/module/config/view/locale/locale.php
@@ -57,21 +57,21 @@
- 'Aucune'] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
+ 'Aucune'] , helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
'label' => 'Page "Mentions légales" ' . template::flag('site', '20px'),
'selected' => $this->getData(['locale', 'legalPageId'])
]); ?>
@@ -147,7 +147,7 @@
]); ?>