|
|
|
@ -9,7 +9,7 @@
|
|
|
|
|
* @author Rémi Jean <remi.jean@outlook.com>
|
|
|
|
|
* @copyright Copyright (C) 2008-2018, Rémi Jean
|
|
|
|
|
* @license GNU General Public License, version 3
|
|
|
|
|
* @link http://zwiicms.com/
|
|
|
|
|
* @link http://zwiicms.com/
|
|
|
|
|
* @copyright : Frédéric Tempez <frederic.tempez@outlook.com>
|
|
|
|
|
* @copyright Copyright (C) 2018-2020, Frédéric Tempez
|
|
|
|
|
*/
|
|
|
|
@ -26,7 +26,7 @@ class theme extends common {
|
|
|
|
|
'reset' => self::GROUP_ADMIN,
|
|
|
|
|
'resetAdmin' => self::GROUP_ADMIN,
|
|
|
|
|
'site' => self::GROUP_ADMIN,
|
|
|
|
|
'admin' => self::GROUP_ADMIN,
|
|
|
|
|
'admin' => self::GROUP_ADMIN,
|
|
|
|
|
'manage' => self::GROUP_ADMIN,
|
|
|
|
|
'export' => self::GROUP_ADMIN,
|
|
|
|
|
'save' => self::GROUP_ADMIN
|
|
|
|
@ -72,7 +72,7 @@ class theme extends common {
|
|
|
|
|
public static $footerblocks = [
|
|
|
|
|
1 => [
|
|
|
|
|
'hide' => 'Masqué',
|
|
|
|
|
'center' => 'Affiché' ],
|
|
|
|
|
'center' => 'Affiché' ],
|
|
|
|
|
2 => [
|
|
|
|
|
'hide' => 'Masqué',
|
|
|
|
|
'left' => 'À gauche',
|
|
|
|
@ -112,7 +112,7 @@ class theme extends common {
|
|
|
|
|
'1.1em' => 'Moyenne (110%)',
|
|
|
|
|
'1.2em' => 'Grande (120%)',
|
|
|
|
|
'1.3em' => 'Très grande (130%)'
|
|
|
|
|
];
|
|
|
|
|
];
|
|
|
|
|
public static $headerFontSizes = [
|
|
|
|
|
'1.6em' => 'Très petite (160%)',
|
|
|
|
|
'1.8em' => 'Petite (180%)',
|
|
|
|
@ -160,7 +160,7 @@ class theme extends common {
|
|
|
|
|
'25px 15px' => 'Très grande'
|
|
|
|
|
];
|
|
|
|
|
public static $menuPositionsSite = [
|
|
|
|
|
'top' => 'En-dehors du site',
|
|
|
|
|
'top' => 'En-dehors du site',
|
|
|
|
|
'site-first' => 'Avant la bannière',
|
|
|
|
|
'site-second' => 'Après la bannière',
|
|
|
|
|
'hide' => 'Caché'
|
|
|
|
@ -171,7 +171,7 @@ class theme extends common {
|
|
|
|
|
'body-second' => 'Après la bannière',
|
|
|
|
|
'site' => 'Dans le site',
|
|
|
|
|
'hide' => 'Caché'
|
|
|
|
|
];
|
|
|
|
|
];
|
|
|
|
|
public static $menuRadius = [
|
|
|
|
|
'0px' => 'Aucun',
|
|
|
|
|
'3px 3px 0px 0px' => 'Très léger',
|
|
|
|
@ -210,7 +210,7 @@ class theme extends common {
|
|
|
|
|
'16px' => '16 pixels'
|
|
|
|
|
];
|
|
|
|
|
public static $bodySizes = [
|
|
|
|
|
'auto' => 'Automatique',
|
|
|
|
|
'auto' => 'Automatique',
|
|
|
|
|
'100% 100%' => 'Image étirée (100% 100%)',
|
|
|
|
|
'cover' => 'Responsive (cover)',
|
|
|
|
|
'contain' => 'Responsive (contain)'
|
|
|
|
@ -219,7 +219,7 @@ class theme extends common {
|
|
|
|
|
'none' => 'Standard',
|
|
|
|
|
'lowercase' => 'Minuscules',
|
|
|
|
|
'uppercase' => 'Majuscules',
|
|
|
|
|
'capitalize' => 'Majuscule à chaque mot'
|
|
|
|
|
'capitalize' => 'Majuscule à chaque mot'
|
|
|
|
|
];
|
|
|
|
|
public static $widths = [
|
|
|
|
|
'750px' => 'Petite (750 pixels)',
|
|
|
|
@ -227,13 +227,13 @@ class theme extends common {
|
|
|
|
|
'1170px' => 'Grande (1170 pixels)',
|
|
|
|
|
'100%' => 'Fluide (100%)'
|
|
|
|
|
];
|
|
|
|
|
public static $headerWide = [
|
|
|
|
|
'auto auto' => 'Automatique',
|
|
|
|
|
public static $headerWide = [
|
|
|
|
|
'auto auto' => 'Automatique',
|
|
|
|
|
'100% 100%' => 'Image étirée (100% 100%)',
|
|
|
|
|
'cover' => 'Responsive (cover)',
|
|
|
|
|
'contain' => 'Responsive (contain)'
|
|
|
|
|
];
|
|
|
|
|
public static $footerTemplate = [
|
|
|
|
|
public static $footerTemplate = [
|
|
|
|
|
'1' => 'Une seule colonne',
|
|
|
|
|
'2' => 'Deux colonnes : 1/2 - 1/2',
|
|
|
|
|
'3' => 'Trois colonnes : 1/3 - 1/3 - 1/3',
|
|
|
|
@ -275,7 +275,7 @@ class theme extends common {
|
|
|
|
|
'vendor' => [
|
|
|
|
|
'tinycolorpicker'
|
|
|
|
|
],
|
|
|
|
|
]);
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -342,7 +342,7 @@ class theme extends common {
|
|
|
|
|
public function footer() {
|
|
|
|
|
// Soumission du formulaire
|
|
|
|
|
if($this->isPost()) {
|
|
|
|
|
if ( $this->getInput('themeFooterCopyrightPosition') === 'hide' &&
|
|
|
|
|
if ( $this->getInput('themeFooterCopyrightPosition') === 'hide' &&
|
|
|
|
|
$this->getInput('themeFooterSocialsPosition') === 'hide' &&
|
|
|
|
|
$this->getInput('themeFooterTextPosition') === 'hide' ) {
|
|
|
|
|
// Valeurs en sortie
|
|
|
|
@ -367,7 +367,7 @@ class theme extends common {
|
|
|
|
|
'copyrightPosition' => $this->getInput('themeFooterCopyrightPosition'),
|
|
|
|
|
'textPosition' => $this->getInput('themeFooterTextPosition'),
|
|
|
|
|
'socialsPosition' => $this->getInput('themeFooterSocialsPosition'),
|
|
|
|
|
'textTransform' => $this->getInput('themeFooterTextTransform'),
|
|
|
|
|
'textTransform' => $this->getInput('themeFooterTextTransform'),
|
|
|
|
|
'font' => $this->getInput('themeFooterFont'),
|
|
|
|
|
'fontSize' => $this->getInput('themeFooterFontSize'),
|
|
|
|
|
'fontWeight' => $this->getInput('themeFooterFontWeight'),
|
|
|
|
@ -406,7 +406,7 @@ class theme extends common {
|
|
|
|
|
// Si une image est positionnée, l'arrière en transparent.
|
|
|
|
|
$this->setData(['theme', 'header', [
|
|
|
|
|
'backgroundColor' => $this->getInput('themeHeaderBackgroundColor'),
|
|
|
|
|
'textTransform' => $this->getInput('themeHeaderTextTransform'),
|
|
|
|
|
'textTransform' => $this->getInput('themeHeaderTextTransform'),
|
|
|
|
|
'font' => $this->getInput('themeHeaderFont'),
|
|
|
|
|
'fontSize' => $this->getInput('themeHeaderFontSize'),
|
|
|
|
|
'fontWeight' => $this->getInput('themeHeaderFontWeight'),
|
|
|
|
@ -418,7 +418,7 @@ class theme extends common {
|
|
|
|
|
'position' => $this->getInput('themeHeaderPosition'),
|
|
|
|
|
'textAlign' => $this->getInput('themeHeaderTextAlign'),
|
|
|
|
|
'textColor' => $this->getInput('themeHeaderTextColor'),
|
|
|
|
|
'textHide' => $this->getInput('themeHeaderTextHide', helper::FILTER_BOOLEAN),
|
|
|
|
|
'textHide' => $this->getInput('themeHeaderTextHide', helper::FILTER_BOOLEAN),
|
|
|
|
|
'linkHomePage' => $this->getInput('themeHeaderlinkHomePage',helper::FILTER_BOOLEAN),
|
|
|
|
|
'imageContainer' => $this->getInput('themeHeaderImageContainer')
|
|
|
|
|
]]);
|
|
|
|
@ -427,17 +427,17 @@ class theme extends common {
|
|
|
|
|
$this->getData(['theme','menu','position']) !== 'site' &&
|
|
|
|
|
$this->getData(['theme','menu','position']) !== 'top' ) {
|
|
|
|
|
case 'site' :
|
|
|
|
|
$position = str_replace ('body','site',$this->getData(['theme','menu','position']));
|
|
|
|
|
$position = str_replace ('body','site',$this->getData(['theme','menu','position']));
|
|
|
|
|
break;
|
|
|
|
|
case 'body' :
|
|
|
|
|
$position = str_replace ('site','body',$this->getData(['theme','menu','position']));
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
$position = $this->getData(['theme','menu','position']);
|
|
|
|
|
$position = $this->getData(['theme','menu','position']);
|
|
|
|
|
}
|
|
|
|
|
$this->setData(['theme', 'menu', [
|
|
|
|
|
'backgroundColor' => $this->getData(['theme', 'menu', 'backgroundColor']),
|
|
|
|
|
'font' => $this->getData(['theme', 'menu', 'font']),
|
|
|
|
|
'font' => $this->getData(['theme', 'menu', 'font']),
|
|
|
|
|
'fontSize' => $this->getData(['theme', 'menu', 'fontSize']),
|
|
|
|
|
'fontWeight' => $this->getData(['theme', 'menu', 'fontWeight']),
|
|
|
|
|
'height' => $this->getData(['theme', 'menu', 'height']),
|
|
|
|
@ -476,7 +476,7 @@ class theme extends common {
|
|
|
|
|
public function index() {
|
|
|
|
|
// Valeurs en sortie
|
|
|
|
|
$this->addOutput([
|
|
|
|
|
'title' => 'Personnalisation du thème',
|
|
|
|
|
'title' => 'Personnalisation des thèmes',
|
|
|
|
|
'view' => 'index'
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
@ -489,7 +489,7 @@ class theme extends common {
|
|
|
|
|
if($this->isPost()) {
|
|
|
|
|
$this->setData(['theme', 'menu', [
|
|
|
|
|
'backgroundColor' => $this->getInput('themeMenuBackgroundColor'),
|
|
|
|
|
'font' => $this->getInput('themeMenuFont'),
|
|
|
|
|
'font' => $this->getInput('themeMenuFont'),
|
|
|
|
|
'fontSize' => $this->getInput('themeMenuFontSize'),
|
|
|
|
|
'fontWeight' => $this->getInput('themeMenuFontWeight'),
|
|
|
|
|
'height' => $this->getInput('themeMenuHeight'),
|
|
|
|
@ -577,10 +577,10 @@ class theme extends common {
|
|
|
|
|
'width' => $this->getInput('themeSiteWidth'),
|
|
|
|
|
'margin' => $this->getInput('themeSiteMargin',helper::FILTER_BOOLEAN)
|
|
|
|
|
]]);
|
|
|
|
|
$this->setData(['theme', 'button', [
|
|
|
|
|
$this->setData(['theme', 'button', [
|
|
|
|
|
'backgroundColor' => $this->getInput('themeButtonBackgroundColor')
|
|
|
|
|
]]);
|
|
|
|
|
$this->setData(['theme', 'block', [
|
|
|
|
|
$this->setData(['theme', 'block', [
|
|
|
|
|
'backgroundColor' => $this->getInput('themeBlockBackgroundColor'),
|
|
|
|
|
'borderColor' => $this->getInput('themeBlockBorderColor')
|
|
|
|
|
]]);
|
|
|
|
@ -624,22 +624,22 @@ class theme extends common {
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Valeurs en sortie
|
|
|
|
|
$this->addOutput([
|
|
|
|
|
'title' => 'Gestion des thèmes',
|
|
|
|
|
'view' => 'manage'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Export du thème
|
|
|
|
|
*/
|
|
|
|
|
public function export() {
|
|
|
|
|
// Make zip
|
|
|
|
|
$zipFilename = $this->makezip($this->getUrl(2));
|
|
|
|
|
$zipFilename = $this->makezip($this->getUrl(2));
|
|
|
|
|
// Téléchargement du ZIP
|
|
|
|
|
header('Content-Description: File Transfer');
|
|
|
|
|
header('Content-Type: application/octet-stream');
|
|
|
|
@ -690,13 +690,13 @@ class theme extends common {
|
|
|
|
|
case 'theme':
|
|
|
|
|
$zip->addFile(self::DATA_DIR.'theme.json',self::DATA_DIR.'theme.json');
|
|
|
|
|
$zip->addFile(self::DATA_DIR.'theme.css',self::DATA_DIR.'theme.css');
|
|
|
|
|
$zip->addFile(self::DATA_DIR.'custom.css',self::DATA_DIR.'custom.css');
|
|
|
|
|
$zip->addFile(self::DATA_DIR.'custom.css',self::DATA_DIR.'custom.css');
|
|
|
|
|
if ($this->getData(['theme','body','image']) !== '' ) {
|
|
|
|
|
$zip->addFile(self::FILE_DIR.'source/'.$this->getData(['theme','body','image']),
|
|
|
|
|
self::FILE_DIR.'source/'.$this->getData(['theme','body','image'])
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
if ($this->getData(['theme','header','image']) !== '' ) {
|
|
|
|
|
if ($this->getData(['theme','header','image']) !== '' ) {
|
|
|
|
|
$zip->addFile(self::FILE_DIR.'source/'.$this->getData(['theme','header','image']),
|
|
|
|
|
self::FILE_DIR.'source/'.$this->getData(['theme','header','image'])
|
|
|
|
|
);
|
|
|
|
|