Compare commits
No commits in common. "fa8ec8534ea46be854bdefabde2115cdbeba65ab" and "50d46e8a0efcd7712547d44e958682eda9966144" have entirely different histories.
fa8ec8534e
...
50d46e8a0e
|
@ -7,7 +7,6 @@ site/tmp/*.png
|
||||||
site/backup/*
|
site/backup/*
|
||||||
|
|
||||||
# Fichiers de données
|
# Fichiers de données
|
||||||
site/data/*
|
|
||||||
site/data/*.json
|
site/data/*.json
|
||||||
site/data/*.css
|
site/data/*.css
|
||||||
site/data/fr/*.json
|
site/data/fr/*.json
|
||||||
|
|
|
@ -1,13 +1,5 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## version 10.6.01
|
|
||||||
Corrections :
|
|
||||||
- Champs de formulaire, uniformisation de la hauteur (select, input, etc) identique à celle des boutons à 9px.
|
|
||||||
- Module search : texte d'aide dans la zone de saisie non pris en compte.
|
|
||||||
Modifications :
|
|
||||||
- News 3.2 : ajout au sélecteur de date d'un bouton d'effacement identique à celui du sélecteur de fichiers.
|
|
||||||
- News 3.2 : décoloration du texte, modification de l'effet blur.
|
|
||||||
|
|
||||||
## version 10.6.00
|
## version 10.6.00
|
||||||
Cette version apporte aux modules une autonomie complète par rapport au noyau.
|
Cette version apporte aux modules une autonomie complète par rapport au noyau.
|
||||||
- mise à jour interne (fonction update)
|
- mise à jour interne (fonction update)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
# ZwiiCMS 10.6.01
|
# ZwiiCMS 10.6.00
|
||||||
|
|
||||||
Zwii est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.
|
Zwii est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.
|
||||||
|
|
||||||
|
|
|
@ -247,18 +247,12 @@ class template {
|
||||||
}
|
}
|
||||||
$html .= self::notice($attributes['id'], $notice);
|
$html .= self::notice($attributes['id'], $notice);
|
||||||
// Date visible
|
// Date visible
|
||||||
$html .= '<div class="inputDateManagerWrapper">';
|
|
||||||
$html .= sprintf(
|
$html .= sprintf(
|
||||||
'<input type="text" class="datepicker %s" value="%s" %s>',
|
'<input type="text" class="datepicker %s" value="%s" %s>',
|
||||||
$attributes['class'],
|
$attributes['class'],
|
||||||
$attributes['value'],
|
$attributes['value'],
|
||||||
helper::sprintAttributes($attributes, ['class', 'value'])
|
helper::sprintAttributes($attributes, ['class', 'value'])
|
||||||
);
|
);
|
||||||
$html .= self::button($attributes['id'] . 'Delete', [
|
|
||||||
'class' => 'inputDateDelete',
|
|
||||||
'value' => self::ico('cancel')
|
|
||||||
]);
|
|
||||||
$html .= '</div>';
|
|
||||||
// Fin du wrapper
|
// Fin du wrapper
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
// Retourne le html
|
// Retourne le html
|
||||||
|
|
|
@ -288,10 +288,6 @@ core.start = function() {
|
||||||
$(".inputFileDelete").on("click", function() {
|
$(".inputFileDelete").on("click", function() {
|
||||||
$(this).parents(".inputWrapper").find(".inputFileHidden").val("").trigger("change");
|
$(this).parents(".inputWrapper").find(".inputFileHidden").val("").trigger("change");
|
||||||
});
|
});
|
||||||
// Suppression de la date contenu dans le champ
|
|
||||||
$(".inputDateDelete").on("click", function() {
|
|
||||||
$(this).parents(".inputWrapper").find(".datepicker").val("").trigger("change");
|
|
||||||
});
|
|
||||||
// Confirmation de mise à jour
|
// Confirmation de mise à jour
|
||||||
$("#barUpdate").on("click", function() {
|
$("#barUpdate").on("click", function() {
|
||||||
return core.confirm("Effectuer la mise à jour ?", function() {
|
return core.confirm("Effectuer la mise à jour ?", function() {
|
||||||
|
|
|
@ -44,7 +44,7 @@ class common {
|
||||||
const ACCESS_TIMER = 1800;
|
const ACCESS_TIMER = 1800;
|
||||||
|
|
||||||
// Numéro de version
|
// Numéro de version
|
||||||
const ZWII_VERSION = '10.6.01';
|
const ZWII_VERSION = '10.6.00';
|
||||||
const ZWII_UPDATE_CHANNEL = "v10";
|
const ZWII_UPDATE_CHANNEL = "v10";
|
||||||
|
|
||||||
public static $actions = [];
|
public static $actions = [];
|
||||||
|
|
|
@ -1066,7 +1066,7 @@ input[type='password'],
|
||||||
.inputFile,
|
.inputFile,
|
||||||
select,
|
select,
|
||||||
textarea {
|
textarea {
|
||||||
padding: 9px;
|
padding: 10px;
|
||||||
/* -1px à cause des bordures */
|
/* -1px à cause des bordures */
|
||||||
/*background: #FFF;*/
|
/*background: #FFF;*/
|
||||||
border: 1px solid #D8DFE3;
|
border: 1px solid #D8DFE3;
|
||||||
|
@ -1077,7 +1077,7 @@ textarea {
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
padding: 9px;
|
padding: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type='email']:hover,
|
input[type='email']:hover,
|
||||||
|
@ -1188,13 +1188,13 @@ label {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Upload de fichiers */
|
/* Upload de fichiers */
|
||||||
.inputFile, .datepicker {
|
.inputFile {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 88% !important;
|
width: 88%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inputFileDelete, .inputDateDelete {
|
.inputFileDelete {
|
||||||
display: block;
|
display: block;
|
||||||
width: 10%;
|
width: 10%;
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
|
@ -1209,11 +1209,11 @@ label {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Empêche le débordement et les sauts de ligne */
|
/* Empêche le débordement et les sauts de ligne */
|
||||||
.inputFileManagerWrapper, .inputDateManagerWrapper {
|
.inputFileManagerWrapper {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inputFileManagerWrapper>.inputFile, .inputDateManagerWrapper>.inputFile {
|
.inputFileManagerWrapper>.inputFile {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
class news extends common {
|
class news extends common {
|
||||||
|
|
||||||
const VERSION = '3.2';
|
const VERSION = '3.1';
|
||||||
const REALNAME = 'Actualités';
|
const REALNAME = 'Actualités';
|
||||||
const DELETE = true;
|
const DELETE = true;
|
||||||
const UPDATE = '0.0';
|
const UPDATE = '0.0';
|
||||||
|
@ -68,10 +68,10 @@ class news extends common {
|
||||||
];
|
];
|
||||||
|
|
||||||
public static $itemsBlur = [
|
public static $itemsBlur = [
|
||||||
'0%' => 'Aucun',
|
'100%' => 'Aucun',
|
||||||
'15%' => 'Faible',
|
'90%' => 'Faible',
|
||||||
'30%' => 'Modéré',
|
'75%' => 'Modéré',
|
||||||
'45%' => 'Important',
|
'60%' => 'Important',
|
||||||
];
|
];
|
||||||
|
|
||||||
// Signature de l'article
|
// Signature de l'article
|
||||||
|
@ -136,12 +136,10 @@ class news extends common {
|
||||||
if($this->isPost()) {
|
if($this->isPost()) {
|
||||||
// Crée la news
|
// Crée la news
|
||||||
$newsId = helper::increment($this->getInput('newsAddTitle', helper::FILTER_ID), (array) $this->getData(['module', $this->getUrl(0)]));
|
$newsId = helper::increment($this->getInput('newsAddTitle', helper::FILTER_ID), (array) $this->getData(['module', $this->getUrl(0)]));
|
||||||
$publishedOn = $this->getInput('newsAddPublishedOn', helper::FILTER_DATETIME, true);
|
|
||||||
$publishedOff = $this->getInput('newsAddPublishedOff' ) ? $this->getInput('newsEditPublishedOff', helper::FILTER_DATETIME) : '';
|
|
||||||
$this->setData(['module', $this->getUrl(0),'posts', $newsId, [
|
$this->setData(['module', $this->getUrl(0),'posts', $newsId, [
|
||||||
'content' => $this->getInput('newsAddContent', null),
|
'content' => $this->getInput('newsAddContent', null),
|
||||||
'publishedOn' => $publishedOn,
|
'publishedOn' => $this->getInput('newsAddPublishedOn', helper::FILTER_DATETIME, true),
|
||||||
'publishedOff' => $publishedOff,
|
'publishedOff' => $this->getInput('newsAddPublishedOff', helper::FILTER_DATETIME),
|
||||||
'state' => $this->getInput('newsAddState', helper::FILTER_BOOLEAN),
|
'state' => $this->getInput('newsAddState', helper::FILTER_BOOLEAN),
|
||||||
'title' => $this->getInput('newsAddTitle', helper::FILTER_STRING_SHORT, true),
|
'title' => $this->getInput('newsAddTitle', helper::FILTER_STRING_SHORT, true),
|
||||||
'userId' => $this->getInput('newsAddUserId', helper::FILTER_ID, true)
|
'userId' => $this->getInput('newsAddUserId', helper::FILTER_ID, true)
|
||||||
|
@ -187,11 +185,8 @@ class news extends common {
|
||||||
|
|
||||||
// Générer la feuille de CSS
|
// Générer la feuille de CSS
|
||||||
$style = '.newsContent {height:' . $this->getInput('newsConfigItemsHeight',helper::FILTER_STRING_SHORT) . ';}';
|
$style = '.newsContent {height:' . $this->getInput('newsConfigItemsHeight',helper::FILTER_STRING_SHORT) . ';}';
|
||||||
if ($this->getInput('newsConfigItemsBlur',helper::FILTER_STRING_SHORT) !== '100%') {
|
$style .= '.newsBlur {background: linear-gradient(' . $this->getData(['theme', 'text', 'textColor']) . ' ' . $this->getInput('newsConfigItemsBlur',helper::FILTER_STRING_SHORT) . ',rgba(255,255,255,0) );';
|
||||||
$style .= '.newsBlur {height: ' . $this->getInput('newsConfigItemsBlur',helper::FILTER_STRING_SHORT) . ';}';
|
$style .= ' background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}';
|
||||||
//$style .= '.newsBlur {background: linear-gradient(' . $this->getData(['theme', 'text', 'textColor']) . ' ' . $this->getInput('newsConfigItemsBlur',helper::FILTER_STRING_SHORT) . ',rgba(255,255,255,0) );';
|
|
||||||
//$style .= ' background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Dossier de l'instance
|
// Dossier de l'instance
|
||||||
if (!is_dir(self::DATADIRECTORY . 'pages/' . $this->getUrl(0))) {
|
if (!is_dir(self::DATADIRECTORY . 'pages/' . $this->getUrl(0))) {
|
||||||
|
@ -336,7 +331,7 @@ class news extends common {
|
||||||
$this->deleteData(['module', $this->getUrl(0),'posts', $this->getUrl(2)]);
|
$this->deleteData(['module', $this->getUrl(0),'posts', $this->getUrl(2)]);
|
||||||
}
|
}
|
||||||
$publishedOn = $this->getInput('newsEditPublishedOn', helper::FILTER_DATETIME, true);
|
$publishedOn = $this->getInput('newsEditPublishedOn', helper::FILTER_DATETIME, true);
|
||||||
$publishedOff = $this->getInput('newsEditPublishedOff' ) ? $this->getInput('newsEditPublishedOff', helper::FILTER_DATETIME) : '';
|
$publishedOff = $this->getInput('newsEditPublishedOff', helper::FILTER_DATETIME);
|
||||||
$this->setData(['module', $this->getUrl(0),'posts', $newsId, [
|
$this->setData(['module', $this->getUrl(0),'posts', $newsId, [
|
||||||
'content' => $this->getInput('newsEditContent', null),
|
'content' => $this->getInput('newsEditContent', null),
|
||||||
'publishedOn' => $publishedOn,
|
'publishedOn' => $publishedOn,
|
||||||
|
@ -485,15 +480,6 @@ class news extends common {
|
||||||
$this->setData(['module', $this->getUrl(0), 'theme', init::$defaultTheme]);
|
$this->setData(['module', $this->getUrl(0), 'theme', init::$defaultTheme]);
|
||||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css' ]);
|
$this->setData(['module', $this->getUrl(0), 'theme', 'style', self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css' ]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]);
|
|
||||||
|
|
||||||
// Mise à jour 3.2
|
|
||||||
if (version_compare($versionData, '3.1', '<') ) {
|
|
||||||
$this->setData(['module',$this->getUrl(0),'theme', 'itemsBlur', '0%' ]);
|
|
||||||
// Mettre à jour la verison
|
|
||||||
$this->setData(['module',$this->getUrl(0),'config', 'versionData', '3.2' ]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -522,9 +508,8 @@ class news extends common {
|
||||||
if ( !file_exists(self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css')) {
|
if ( !file_exists(self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css')) {
|
||||||
// Générer la feuille de CSS
|
// Générer la feuille de CSS
|
||||||
$style = '.newsContent {height: ' . $this->getData([ 'module', $this->getUrl(0), 'theme', 'itemsHeight' ]) .';}';
|
$style = '.newsContent {height: ' . $this->getData([ 'module', $this->getUrl(0), 'theme', 'itemsHeight' ]) .';}';
|
||||||
// Pas d'effet flou à l'initialisation
|
$style .= '.newsBlur {background: linear-gradient(' . $this->getData(['theme', 'text', 'textColor']) . ' ' . $this->getData([ 'module', $this->getUrl(0), 'theme', 'itemsBlur' ]) . ',rgba(255,255,255,0) );';
|
||||||
//$style .= '.newsBlur {background: linear-gradient(' . $this->getData(['theme', 'text', 'textColor']) . ' ' . $this->getData([ 'module', $this->getUrl(0), 'theme', 'itemsBlur' ]) . ',rgba(255,255,255,0) );';
|
$style .= ' background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}';
|
||||||
//$style .= ' background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}';
|
|
||||||
// Sauver la feuille de style
|
// Sauver la feuille de style
|
||||||
file_put_contents(self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css' , $style );
|
file_put_contents(self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css' , $style );
|
||||||
// Stocker le nom de la feuille de style
|
// Stocker le nom de la feuille de style
|
||||||
|
|
|
@ -5,10 +5,10 @@ class init extends search {
|
||||||
'feedsLabel' => '',
|
'feedsLabel' => '',
|
||||||
'itemsperPage' => 8,
|
'itemsperPage' => 8,
|
||||||
'itemsperCol' => 12,
|
'itemsperCol' => 12,
|
||||||
'versionData' => '3.2'
|
'versionData' => '3.0'
|
||||||
];
|
];
|
||||||
public static $defaultTheme = [
|
public static $defaultTheme = [
|
||||||
'itemsHeight' => 'auto',
|
'itemsHeight' => 'auto',
|
||||||
'itemsBlur' => '0%'
|
'itemsBlur' => '100%'
|
||||||
];
|
];
|
||||||
}
|
}
|
|
@ -28,16 +28,13 @@
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
.newsBlur {
|
.newsBlur {
|
||||||
width: 100%;
|
background: linear-gradient(#333 90%,#FFF );
|
||||||
height: 50%;
|
background-clip: text;
|
||||||
position: absolute;
|
-webkit-background-clip: text;
|
||||||
bottom: 0;
|
-webkit-text-fill-color: transparent;
|
||||||
left: -20px;
|
}*/
|
||||||
z-index: 10;
|
|
||||||
backdrop-filter: blur(1px);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.newsSignature {
|
.newsSignature {
|
||||||
|
|
|
@ -5,10 +5,8 @@
|
||||||
<h2 class="newsTitle" id="<?php echo $newsId;?>">
|
<h2 class="newsTitle" id="<?php echo $newsId;?>">
|
||||||
<?php echo '<a href="'. helper::baseUrl(true) . $this->getUrl(0) . '/' . $newsId . '">' . $news['title'] . '</a>'; ?>
|
<?php echo '<a href="'. helper::baseUrl(true) . $this->getUrl(0) . '/' . $newsId . '">' . $news['title'] . '</a>'; ?>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="newsContent">
|
<div class="newsContent newsBlur">
|
||||||
<?php echo $news['content']; ?>
|
<?php echo $news['content']; ?>
|
||||||
<div class="newsBlur">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="newsSignature">
|
<div class="newsSignature">
|
||||||
<i class="far fa-calendar-alt"></i>
|
<i class="far fa-calendar-alt"></i>
|
||||||
|
@ -38,7 +36,7 @@
|
||||||
<div id="rssFeed">
|
<div id="rssFeed">
|
||||||
<a type="application/rss+xml" href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/rss'; ?>" target="_blank">
|
<a type="application/rss+xml" href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/rss'; ?>" target="_blank">
|
||||||
<img src='module/news/ressource/feed-icon-16.gif' />
|
<img src='module/news/ressource/feed-icon-16.gif' />
|
||||||
<?php
|
<?php
|
||||||
echo '<p>' . $this->getData(['module',$this->getUrl(0), 'config', 'feedsLabel']) . '</p>' ;
|
echo '<p>' . $this->getData(['module',$this->getUrl(0), 'config', 'feedsLabel']) . '</p>' ;
|
||||||
?>
|
?>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
class search extends common {
|
class search extends common {
|
||||||
|
|
||||||
const VERSION = '2.1';
|
const VERSION = '2.0';
|
||||||
const REALNAME = 'Recherche';
|
const REALNAME = 'Recherche';
|
||||||
const DELETE = true;
|
const DELETE = true;
|
||||||
const UPDATE = '0.0';
|
const UPDATE = '0.0';
|
||||||
|
@ -104,8 +104,6 @@ class search extends common {
|
||||||
// Données de thème
|
// Données de thème
|
||||||
$this->setData(['module', $this->getUrl(0), 'theme',init::$defaultTheme ]);
|
$this->setData(['module', $this->getUrl(0), 'theme',init::$defaultTheme ]);
|
||||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css' ]);
|
$this->setData(['module', $this->getUrl(0), 'theme', 'style', self::DATADIRECTORY . 'pages/' . $this->getUrl(0) . '/theme.css' ]);
|
||||||
// Recharger la page pour éviter une config vide
|
|
||||||
header("Refresh:0");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dossier de l'instance
|
// Dossier de l'instance
|
||||||
|
@ -122,7 +120,6 @@ class search extends common {
|
||||||
// Stocker le nom de la feuille de style
|
// Stocker le nom de la feuille de style
|
||||||
$this->setData(['module', $this->getUrl(0) , 'theme', 'style', $fileCSS]);
|
$this->setData(['module', $this->getUrl(0) , 'theme', 'style', $fileCSS]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col9 verticalAlignMiddle">
|
<div class="col9 verticalAlignMiddle">
|
||||||
<?php echo template::text('searchMotphraseclef', [
|
<?php echo template::text('searchMotphraseclef', [
|
||||||
'placeholder' => $this->getData(['module', $this->getUrl(0), 'config', 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'config', 'placeHolder']):'Un ou plusieurs mots clef séparés par un espace',
|
'placeholder' => isset($_COOKIE['ZWII_I18N_SITE'] ) ? $this->getData(['module', $this->getUrl(0), 'config', 'placeHolder']):'Un ou plusieurs mots clef séparés par un espace',
|
||||||
'value' => $module::$motclef
|
'value' => $module::$motclef
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue