calendar 1.2
renommage de variable "agenda" en "calendar" ajout d'un bouton vers la page d'édition de la feuille de style de la page
This commit is contained in:
parent
cc48756760
commit
d38397d89d
@ -17,7 +17,7 @@
|
||||
class calendar extends common
|
||||
{
|
||||
|
||||
const VERSION = '1.1';
|
||||
const VERSION = '1.2';
|
||||
const REALNAME = 'Calendrier';
|
||||
const DATA_DIRECTORY = self::DATA_DIR . 'calendar/';
|
||||
|
||||
@ -26,7 +26,7 @@ class calendar extends common
|
||||
const SORT_HAND = 'SORT_HAND';
|
||||
|
||||
|
||||
public static $agendas = [];
|
||||
public static $calendars = [];
|
||||
|
||||
public static $classes = ['' => ''];
|
||||
|
||||
@ -61,23 +61,23 @@ class calendar extends common
|
||||
if (
|
||||
$this->getUser('permission', __CLASS__, __FUNCTION__) === true
|
||||
) {
|
||||
$agendas = $this->getData(['module', $this->getUrl(0), 'content']);
|
||||
if (is_null($agendas)) {
|
||||
$calendars = $this->getData(['module', $this->getUrl(0), 'content']);
|
||||
if (is_null($calendars)) {
|
||||
$this->setData(['module', $this->getUrl(0), 'content', []]);
|
||||
} elseif (!empty($agendas)) {
|
||||
foreach ($agendas as $agendaId => $agendaData) {
|
||||
self::$agendas[] = [
|
||||
$agendaData['eventName'],
|
||||
helper::dateUTF8('%d %m %Y', $agendaData['date'], self::$i18nUI),
|
||||
empty($agendaData['time']) ? '' : helper::dateUTF8('%H:%M', $agendaData['time'], self::$i18nUI),
|
||||
template::button('agendaConfigEdit' . $agendaId, [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $agendaId,
|
||||
} elseif (!empty($calendars)) {
|
||||
foreach ($calendars as $calendarId => $calendarData) {
|
||||
self::$calendars[] = [
|
||||
$calendarData['eventName'],
|
||||
helper::dateUTF8('%d %m %Y', $calendarData['date'], self::$i18nUI),
|
||||
empty($calendarData['time']) ? '' : helper::dateUTF8('%H:%M', $calendarData['time'], self::$i18nUI),
|
||||
template::button('calendarConfigEdit' . $calendarId, [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $calendarId,
|
||||
'value' => template::ico('pencil'),
|
||||
'help' => 'Configuration'
|
||||
]),
|
||||
template::button('galleryConfigDelete' . $agendaId, [
|
||||
template::button('galleryConfigDelete' . $calendarId, [
|
||||
'class' => 'galleryConfigDelete buttonRed',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/' . $agendaId,
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/' . $calendarId,
|
||||
'value' => template::ico('trash'),
|
||||
'help' => 'Supprimer'
|
||||
])
|
||||
@ -112,11 +112,11 @@ class calendar extends common
|
||||
'content',
|
||||
uniqid(),
|
||||
[
|
||||
'eventName' => $this->getInput('agendaAddEventName', null, true),
|
||||
'date' => $this->getInput('agendaAddDate', helper::FILTER_DATETIME, true),
|
||||
'time' => $this->getInput('agendaAddAllDay', helper::FILTER_BOOLEAN) === false ? $this->getInput('agendaAddTime', helper::FILTER_DATETIME) : '',
|
||||
'className' => $this->getInput('agendaAddDateClassName', null),
|
||||
'dateColor' => $this->getInput('agendaAddDateColor', null),
|
||||
'eventName' => $this->getInput('calendarAddEventName', null, true),
|
||||
'date' => $this->getInput('calendarAddDate', helper::FILTER_DATETIME, true),
|
||||
'time' => $this->getInput('calendarAddAllDay', helper::FILTER_BOOLEAN) === false ? $this->getInput('calendarAddTime', helper::FILTER_DATETIME) : '',
|
||||
'className' => $this->getInput('calendarAddDateClassName', null),
|
||||
'dateColor' => $this->getInput('calendarAddDateColor', null),
|
||||
]
|
||||
]);
|
||||
|
||||
@ -167,11 +167,11 @@ class calendar extends common
|
||||
'content',
|
||||
$this->getUrl(2),
|
||||
[
|
||||
'eventName' => $this->getInput('agendaEditEventName', null, true),
|
||||
'date' => $this->getInput('agendaEditDate', helper::FILTER_DATETIME, true),
|
||||
'time' => $this->getInput('agendaEditAllDay', helper::FILTER_BOOLEAN) === false ? $this->getInput('agendaEditTime', helper::FILTER_DATETIME) : '',
|
||||
'className' => $this->getInput('agendaEditDateClassName', null),
|
||||
'dateColor' => $this->getInput('agendaEditDateColor', null),
|
||||
'eventName' => $this->getInput('calendarEditEventName', null, true),
|
||||
'date' => $this->getInput('calendarEditDate', helper::FILTER_DATETIME, true),
|
||||
'time' => $this->getInput('calendarEditAllDay', helper::FILTER_BOOLEAN) === false ? $this->getInput('calendarEditTime', helper::FILTER_DATETIME) : '',
|
||||
'className' => $this->getInput('calendarEditDateClassName', null),
|
||||
'dateColor' => $this->getInput('calendarEditDateColor', null),
|
||||
]
|
||||
]);
|
||||
|
||||
@ -240,7 +240,7 @@ class calendar extends common
|
||||
// Mise à jour des données de module
|
||||
$this->update();
|
||||
|
||||
$agendas = $this->getData(['module', $this->getUrl(0), 'content']);
|
||||
$calendars = $this->getData(['module', $this->getUrl(0), 'content']);
|
||||
|
||||
// Initialise la feuille de style
|
||||
if (empty($this->getData(['page', $this->getUrl(0), 'css']))) {
|
||||
@ -248,11 +248,11 @@ class calendar extends common
|
||||
}
|
||||
|
||||
// Affichage du template si les données sont disponibles
|
||||
if (is_null($agendas)) {
|
||||
if (is_null($calendars)) {
|
||||
$this->setData(['module', $this->getUrl(0), 'content', []]);
|
||||
} elseif (!empty($agendas)) {
|
||||
} elseif (!empty($calendars)) {
|
||||
// Lecture des données
|
||||
foreach ($agendas as $agendasId => $data) {
|
||||
foreach ($calendars as $calendarsId => $data) {
|
||||
// Convertion du timestamp en ISO
|
||||
$data['date'] = helper::dateUTF8('%Y-%m-%d', $data['date']);
|
||||
// Ajouter l'horaire
|
||||
@ -261,7 +261,7 @@ class calendar extends common
|
||||
$data['date'] = $data['date'] . 'T' . $data['time'];
|
||||
}
|
||||
|
||||
self::$agendas[] = $data;
|
||||
self::$calendars[] = $data;
|
||||
}
|
||||
}
|
||||
// Valeurs en sortie
|
||||
|
@ -1,4 +1,6 @@
|
||||
|
||||
# Version 1.2
|
||||
- Ajout d'un bouton vers la page d'édition de la feuille de style de la page.
|
||||
- Renomme des variables internes.
|
||||
# Version 1.1
|
||||
- Limite à 80% la largeur de la popup pour les petits écrans.
|
||||
- Contraste de couleurs des textes qui écrasent la couleur définie dans la feuille de style perso.
|
||||
|
@ -1,11 +1,11 @@
|
||||
$(document).ready(function() {
|
||||
// Ajoute un événement sur le changement de l'état de la checkbox agendaAddAllDay
|
||||
$('#agendaAddAllDay').on('change', function() {
|
||||
// Ajoute un événement sur le changement de l'état de la checkbox calendarAddAllDay
|
||||
$('#calendarAddAllDay').on('change', function() {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#agendaAddTime').val('');
|
||||
$('#agendaAddTimeWrapper').slideUp(); // Masque avec un effet de slide
|
||||
$('#calendarAddTime').val('');
|
||||
$('#calendarAddTimeWrapper').slideUp(); // Masque avec un effet de slide
|
||||
} else {
|
||||
$('#agendaAddTimeWrapper').slideDown(); // Affiche avec un effet de slide
|
||||
$('#calendarAddTimeWrapper').slideDown(); // Affiche avec un effet de slide
|
||||
}
|
||||
});
|
||||
});
|
@ -1,14 +1,14 @@
|
||||
<?php echo template::formOpen('agendaAddForm'); ?>
|
||||
<?php echo template::formOpen('calendarAddForm'); ?>
|
||||
<div class="row">
|
||||
<div class="col1">
|
||||
<?php echo template::button('agendaAddBack', [
|
||||
<?php echo template::button('calendarAddBack', [
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'value' => template::ico('left')
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2 offset9">
|
||||
<?php echo template::submit('agendaAddSubmit'); ?>
|
||||
<?php echo template::submit('calendarAddSubmit'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -17,18 +17,18 @@
|
||||
<h4><?php echo helper::translate('Paramètres'); ?></h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('agendaAddEventName', [
|
||||
<?php echo template::text('calendarAddEventName', [
|
||||
'label' => 'Titre',
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::date('agendaAddDate', [
|
||||
<?php echo template::date('calendarAddDate', [
|
||||
'label' => 'Date',
|
||||
'type' => 'date',
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('agendaAddDateColor', [
|
||||
<?php echo template::text('calendarAddDateColor', [
|
||||
'class' => 'colorPicker',
|
||||
'help' => 'A ne paramétrer que sur un seul événement du jour. Le curseur horizontal règle le niveau de transparence.',
|
||||
'label' => 'Couleur de la date du jour',
|
||||
@ -37,19 +37,19 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::checkbox('agendaAddAllDay', true, 'Toute la journée', [
|
||||
<?php echo template::checkbox('calendarAddAllDay', true, 'Toute la journée', [
|
||||
'checked' => false
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::date('agendaAddTime', [
|
||||
<?php echo template::date('calendarAddTime', [
|
||||
'label' => 'Horaire',
|
||||
'type' => 'time',
|
||||
'help' => 'Ne pas indiquer d\'horaire quand l\'événement est sur la journée entière.',
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('agendaAddDateClassName', $module::$classes, [
|
||||
<?php echo template::select('calendarAddDateClassName', $module::$classes, [
|
||||
'label' => 'Classe CSS',
|
||||
'help' => 'La feuille de style de la page contient ces classes.',
|
||||
]); ?>
|
||||
|
@ -1,15 +1,20 @@
|
||||
<?php echo template::formOpen('agendaConfigForm'); ?>
|
||||
<?php echo template::formOpen('calendarConfigForm'); ?>
|
||||
<div class="row">
|
||||
<div class="col1">
|
||||
<?php echo template::button('agendaConfigBack', [
|
||||
<?php echo template::button('calendarConfigBack', [
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0),
|
||||
'value' => template::ico('left')
|
||||
]); ?>
|
||||
</div>
|
||||
-->
|
||||
<div class="col1 offset10">
|
||||
<?php echo template::button('agendaAdd', [
|
||||
<div class="col1 offset9">
|
||||
<?php echo template::button('calendarTheme', [
|
||||
'href' => helper::baseUrl() . 'page/cssEditor/' . $this->getUrl(0),
|
||||
'value' => template::ico('brush')
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col1">
|
||||
<?php echo template::button('calendarAdd', [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/add/',
|
||||
'value' => template::ico('plus'),
|
||||
'class' => 'buttonGreen'
|
||||
@ -19,8 +24,8 @@
|
||||
<?php echo template::formClose(); ?>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php if ($module::$agendas): ?>
|
||||
<?php echo template::table([6, 3, 3, 1, 1], $module::$agendas, ['Titre', 'Date', 'Horaire', '', '']); ?>
|
||||
<?php if ($module::$calendars): ?>
|
||||
<?php echo template::table([6, 3, 3, 1, 1], $module::$calendars, ['Titre', 'Date', 'Horaire', '', '']); ?>
|
||||
<?php else: ?>
|
||||
<?php echo template::speech('Aucun événement'); ?>
|
||||
<?php endif; ?>
|
||||
|
@ -18,20 +18,20 @@ $(document).ready(function() {
|
||||
|
||||
// Initialisation de l'affichage au chargement de la page
|
||||
if (time === '') {
|
||||
$('#agendaEditAllDay').prop('checked', true);
|
||||
$('#agendaEditTimeWrapper').slideUp(); // Masque immédiatement sans animation
|
||||
$('#calendarEditAllDay').prop('checked', true);
|
||||
$('#calendarEditTimeWrapper').slideUp(); // Masque immédiatement sans animation
|
||||
} else {
|
||||
$('#agendaEditAllDay').prop('checked', false);
|
||||
$('#agendaEditTimeWrapper').slideDown(); // Affiche immédiatement sans animation
|
||||
$('#calendarEditAllDay').prop('checked', false);
|
||||
$('#calendarEditTimeWrapper').slideDown(); // Affiche immédiatement sans animation
|
||||
}
|
||||
|
||||
// Ajoute un événement sur le changement de l'état de la checkbox agendaEditAllDay
|
||||
$('#agendaEditAllDay').on('change', function() {
|
||||
// Ajoute un événement sur le changement de l'état de la checkbox calendarEditAllDay
|
||||
$('#calendarEditAllDay').on('change', function() {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#agendaEditTime').val('');
|
||||
$('#agendaEditTimeWrapper').slideUp(); // Masque avec un effet de slide
|
||||
$('#calendarEditTime').val('');
|
||||
$('#calendarEditTimeWrapper').slideUp(); // Masque avec un effet de slide
|
||||
} else {
|
||||
$('#agendaEditTimeWrapper').slideDown(); // Affiche avec un effet de slide
|
||||
$('#calendarEditTimeWrapper').slideDown(); // Affiche avec un effet de slide
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -1,14 +1,14 @@
|
||||
<?php echo template::formOpen('agendaEditForm'); ?>
|
||||
<?php echo template::formOpen('calendarEditForm'); ?>
|
||||
<div class="row">
|
||||
<div class="col1">
|
||||
<?php echo template::button('agendaEditBack', [
|
||||
<?php echo template::button('calendarEditBack', [
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'value' => template::ico('left')
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2 offset9">
|
||||
<?php echo template::submit('agendaEditSubmit'); ?>
|
||||
<?php echo template::submit('calendarEditSubmit'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -17,20 +17,20 @@
|
||||
<h4><?php echo helper::translate('Paramètres'); ?></h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('agendaEditEventName', [
|
||||
<?php echo template::text('calendarEditEventName', [
|
||||
'label' => 'Titre',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'eventName'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::date('agendaEditDate', [
|
||||
<?php echo template::date('calendarEditDate', [
|
||||
'label' => 'Date',
|
||||
'type' => 'date',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'date'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('agendaEditDateColor', [
|
||||
<?php echo template::text('calendarEditDateColor', [
|
||||
'class' => 'colorPicker',
|
||||
'help' => 'A ne paramétrer que sur un seul événement du jour. Le curseur horizontal règle le niveau de transparence.',
|
||||
'label' => 'Couleur de la date du jour',
|
||||
@ -40,12 +40,12 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::checkbox('agendaEditAllDay', true, 'Toute la journée', [
|
||||
<?php echo template::checkbox('calendarEditAllDay', true, 'Toute la journée', [
|
||||
'checked' => false
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::date('agendaEditTime', [
|
||||
<?php echo template::date('calendarEditTime', [
|
||||
'label' => 'Horaire',
|
||||
'type' => 'time',
|
||||
'help' => 'Ne pas indiquer d\'horaire quand l\'événement est sur la journée entière.',
|
||||
@ -53,7 +53,7 @@
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('agendaEditDateClassName', $module::$classes, [
|
||||
<?php echo template::select('calendarEditDateClassName', $module::$classes, [
|
||||
'label' => 'Classe CSS',
|
||||
'help' => 'La feuille de style de la page contient ces classes.',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'className'])
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
|
||||
|
||||
const jsonOptions = '<?php echo json_encode($module::$agendas); ?>';
|
||||
const jsonOptions = '<?php echo json_encode($module::$calendars); ?>';
|
||||
const objOptions = JSON.parse(jsonOptions);
|
||||
const events = generateEvents(objOptions);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user