Modifications 4304
This commit is contained in:
parent
0d282a86d9
commit
3eac7f08df
54
.htaccess
54
.htaccess
@ -1,36 +1,36 @@
|
||||
# Active la compression GZIP - option Apache
|
||||
# Racine du site DeltaCMS
|
||||
<Files .htaccess>
|
||||
Require all denied
|
||||
</Files>
|
||||
|
||||
<IfModule mod_gzip.c>
|
||||
mod_gzip_on Yes
|
||||
mod_gzip_dechunk Yes
|
||||
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
|
||||
mod_gzip_item_include handler ^cgi-script$
|
||||
mod_gzip_item_include mime ^text\.*
|
||||
mod_gzip_item_include mime ^application/x-javascript.*
|
||||
mod_gzip_item_exclude mime ^image\.*
|
||||
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
|
||||
mod_gzip_on Yes
|
||||
mod_gzip_dechunk Yes
|
||||
mod_gzip_item_include file \.(html?|txt|css|js|php|woff)$
|
||||
mod_gzip_item_include handler ^cgi-script$
|
||||
mod_gzip_item_include mime ^text\.*
|
||||
mod_gzip_item_include mime ^application/x-javascript.*
|
||||
mod_gzip_item_exclude mime ^image\.*
|
||||
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
|
||||
</IfModule>
|
||||
|
||||
# Active la compression DEFLATE - option Apache
|
||||
<IfModule mod_deflate.c>
|
||||
AddOutputFilterByType DEFLATE text/plain
|
||||
AddOutputFilterByType DEFLATE text/html
|
||||
AddOutputFilterByType DEFLATE text/xml
|
||||
AddOutputFilterByType DEFLATE text/shtml
|
||||
AddOutputFilterByType DEFLATE text/css
|
||||
AddOutputFilterByType DEFLATE application/xml
|
||||
AddOutputFilterByType DEFLATE application/xhtml+xml
|
||||
AddOutputFilterByType DEFLATE application/rss+xml
|
||||
AddOutputFilterByType DEFLATE application/javascript
|
||||
AddOutputFilterByType DEFLATE application/x-javascript
|
||||
AddOutputFilterByType DEFLATE text/plain
|
||||
AddOutputFilterByType DEFLATE text/html
|
||||
AddOutputFilterByType DEFLATE text/xml
|
||||
AddOutputFilterByType DEFLATE text/shtml
|
||||
AddOutputFilterByType DEFLATE text/css
|
||||
AddOutputFilterByType DEFLATE font/woff
|
||||
AddOutputFilterByType DEFLATE font/woff2
|
||||
AddOutputFilterByType DEFLATE application/font-woff
|
||||
AddOutputFilterByType DEFLATE application/xml
|
||||
AddOutputFilterByType DEFLATE application/xhtml+xml
|
||||
AddOutputFilterByType DEFLATE application/rss+xml
|
||||
AddOutputFilterByType DEFLATE application/javascript
|
||||
AddOutputFilterByType DEFLATE application/x-javascript
|
||||
</IfModule>
|
||||
|
||||
# Bloque l'accès à la liste des fichiers
|
||||
Options -Indexes
|
||||
|
||||
# Désactive l'option de substitution automatique
|
||||
<IfModule mod_negotiation.c>
|
||||
Options -MultiViews
|
||||
</IfModule>
|
||||
Options -Indexes -MultiViews
|
||||
|
||||
# Attention, surtout ne rien modifier ci-dessous !
|
||||
# URL rewriting
|
14
CHANGES.md
14
CHANGES.md
@ -1,5 +1,19 @@
|
||||
# Changelog
|
||||
|
||||
## Version 4.3.04 de Deltacms
|
||||
- Modifications :
|
||||
- Fichiers .htaccess : Mise à jour vers Apache 2.4. Attention pour cette mise à jour vers la version Deltacms 4.3.04
|
||||
l'option "Préservez le fichier .htaccess racine", dans Configurer le site / onglet Configuration / bloc Mise à jour automatisée,
|
||||
doit être décochée. Sinon vous devrez mettre en version Apache 2.4 votre .htaccess racine personnalisé,
|
||||
- Fichiers robots.txt et sitemap.xml : suppression de la mise à jour automatique de ces fichiers, elle ne pourra plus se faire
|
||||
que par un appui sur le bouton "Générer sitemap.xml et robots.txt" dans Configurer le site / onglet Référencement / bloc Paramètres,
|
||||
- Blog : le lexique pour la langue d'administration est déporté dans un dossier 'lang',
|
||||
- Blog : L'image d'illustration n'est plus obligatoire,
|
||||
- Filemanager : les images au format webp sont autorisées,
|
||||
- Agenda, Statislite : les dossiers d'installation de ces modules sont placés dans un dossier 'ressource' du module.
|
||||
- Corrections :
|
||||
- Form, Agenda : déplacement de l'initialisation de variables Javascript qui provoquait un décalage d'affichage dans la barre d'administration.
|
||||
|
||||
## Version 4.3.03 de Deltacms
|
||||
- Modifications :
|
||||
- News : nouvelle option insérer des images ou des iframe sans marges.
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
# DeltaCMS 4.3.03
|
||||
# DeltaCMS 4.3.04
|
||||
|
||||
DeltaCMS 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.
|
||||
L'administration du site est bilingue anglais ou français, le site peut être rédigé dans une des principales langues européennes.
|
||||
|
@ -1,3 +1 @@
|
||||
# Bloque l'accès à la librairie
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Require all denied
|
||||
|
@ -1,3 +0,0 @@
|
||||
# Bloque l'accès à la librairie
|
||||
Order deny,allow
|
||||
Deny from all
|
143
core/core.php
143
core/core.php
@ -48,7 +48,7 @@ class common {
|
||||
|
||||
// Numéro de version
|
||||
const DELTA_UPDATE_URL = 'https://update.deltacms.fr/master/';
|
||||
const DELTA_VERSION = '4.3.03';
|
||||
const DELTA_VERSION = '4.3.04';
|
||||
const DELTA_UPDATE_CHANNEL = "v4";
|
||||
|
||||
public static $actions = [];
|
||||
@ -894,7 +894,7 @@ class common {
|
||||
|
||||
|
||||
/**
|
||||
* Génère un fichier un fichier sitemap.xml
|
||||
* Génère un fichier sitemap.xml
|
||||
* https://github.com/icamys/php-sitemap-generator
|
||||
* $command valeurs possible
|
||||
* all : génère un site map complet
|
||||
@ -926,49 +926,54 @@ class common {
|
||||
$datetime = new DateTime(date('c'));
|
||||
$datetime->format(DateTime::ATOM); // Updated ISO8601
|
||||
|
||||
foreach($this->getHierarchy(null, null, null) as $parentPageId => $childrenPageIds) {
|
||||
// Exclure les barres et les pages non publiques et les pages masquées
|
||||
if ($this->getData(['page',$parentPageId,'group']) !== 0 ||
|
||||
$this->getData(['page', $parentPageId, 'block']) === 'bar' ) {
|
||||
continue;
|
||||
}
|
||||
// Page désactivée, traiter les sous-pages sans prendre en compte la page parente.
|
||||
if ($this->getData(['page', $parentPageId, 'disable']) !== true ) {
|
||||
// Cas de la page d'accueil ne pas dupliquer l'URL
|
||||
$pageId = ($parentPageId !== $this->getData(['locale', 'homePageId'])) ? $parentPageId : '';
|
||||
$sitemap->addUrl ('/' . $pageId, $datetime);
|
||||
}
|
||||
// Articles du blog
|
||||
if ($this->getData(['page', $parentPageId, 'moduleId']) === 'blog' &&
|
||||
!empty($this->getData(['module',$parentPageId])) ) {
|
||||
foreach($this->getData(['module',$parentPageId,'posts']) as $articleId => $article) {
|
||||
if($this->getData(['module',$parentPageId,'posts',$articleId,'state']) === true) {
|
||||
$date = $this->getData(['module',$parentPageId,'posts',$articleId,'publishedOn']);
|
||||
$sitemap->addUrl('/' . $parentPageId . '/' . $articleId , new DateTime("@{$date}",new DateTimeZone($timezone)));
|
||||
}
|
||||
}
|
||||
}
|
||||
// Sous-pages
|
||||
foreach($childrenPageIds as $childKey) {
|
||||
if ($this->getData(['page',$childKey,'group']) !== 0 || $this->getData(['page', $childKey, 'disable']) === true) {
|
||||
if ($this->getData(['config','seo', 'robots']) === true) {
|
||||
foreach($this->getHierarchy(null, null, null) as $parentPageId => $childrenPageIds) {
|
||||
// Exclure les barres et les pages non publiques et les pages masquées
|
||||
if ($this->getData(['page',$parentPageId,'group']) !== 0 ||
|
||||
$this->getData(['page', $parentPageId, 'block']) === 'bar' ) {
|
||||
continue;
|
||||
}
|
||||
// Cas de la page d'accueil ne pas dupliquer l'URL
|
||||
$pageId = ($childKey !== $this->getData(['locale', 'homePageId'])) ? $childKey : '';
|
||||
$sitemap->addUrl('/' . $childKey,$datetime);
|
||||
|
||||
// La sous-page est un blog
|
||||
if ($this->getData(['page', $childKey, 'moduleId']) === 'blog' &&
|
||||
!empty($this->getData(['module',$childKey])) ) {
|
||||
foreach($this->getData(['module',$childKey,'posts']) as $articleId => $article) {
|
||||
if($this->getData(['module',$childKey,'posts',$articleId,'state']) === true) {
|
||||
$date = $this->getData(['module',$childKey,'posts',$articleId,'publishedOn']);
|
||||
$sitemap->addUrl( '/' . $childKey . '/' . $articleId , new DateTime("@{$date}",new DateTimeZone($timezone)));
|
||||
// Page désactivée, traiter les sous-pages sans prendre en compte la page parente.
|
||||
if ($this->getData(['page', $parentPageId, 'disable']) !== true ) {
|
||||
// Cas de la page d'accueil ne pas dupliquer l'URL
|
||||
$pageId = ($parentPageId !== $this->getData(['locale', 'homePageId'])) ? $parentPageId : '';
|
||||
$sitemap->addUrl ('/' . $pageId, $datetime);
|
||||
}
|
||||
// Articles du blog
|
||||
if ($this->getData(['page', $parentPageId, 'moduleId']) === 'blog' &&
|
||||
!empty($this->getData(['module',$parentPageId])) ) {
|
||||
foreach($this->getData(['module',$parentPageId,'posts']) as $articleId => $article) {
|
||||
if($this->getData(['module',$parentPageId,'posts',$articleId,'state']) === true) {
|
||||
$date = $this->getData(['module',$parentPageId,'posts',$articleId,'publishedOn']);
|
||||
$sitemap->addUrl('/' . $parentPageId . '/' . $articleId , new DateTime("@{$date}",new DateTimeZone($timezone)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Sous-pages
|
||||
foreach($childrenPageIds as $childKey) {
|
||||
if ($this->getData(['page',$childKey,'group']) !== 0 || $this->getData(['page', $childKey, 'disable']) === true) {
|
||||
continue;
|
||||
}
|
||||
// Cas de la page d'accueil ne pas dupliquer l'URL
|
||||
$pageId = ($childKey !== $this->getData(['locale', 'homePageId'])) ? $childKey : '';
|
||||
$sitemap->addUrl('/' . $childKey,$datetime);
|
||||
|
||||
// La sous-page est un blog
|
||||
if ($this->getData(['page', $childKey, 'moduleId']) === 'blog' &&
|
||||
!empty($this->getData(['module',$childKey])) ) {
|
||||
foreach($this->getData(['module',$childKey,'posts']) as $articleId => $article) {
|
||||
if($this->getData(['module',$childKey,'posts',$articleId,'state']) === true) {
|
||||
$date = $this->getData(['module',$childKey,'posts',$articleId,'publishedOn']);
|
||||
$sitemap->addUrl( '/' . $childKey . '/' . $articleId , new DateTime("@{$date}",new DateTimeZone($timezone)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else{
|
||||
$sitemap->addUrl ('/', $datetime);
|
||||
}
|
||||
|
||||
// Flush all stored urls from memory to the disk and close all necessary tags.
|
||||
@ -999,7 +1004,7 @@ class common {
|
||||
* Création d'une miniature
|
||||
* Fonction utilisée lors de la mise à jour d'une version 9 à une version 10
|
||||
* @param string $src image source
|
||||
* @param string $dets image destination
|
||||
* @param string $dest image destination
|
||||
* @param integer $desired_width largeur demandée
|
||||
*/
|
||||
function makeThumb($src, $dest, $desired_width) {
|
||||
@ -1021,6 +1026,9 @@ class common {
|
||||
case 'gif':
|
||||
$source_image = imagecreatefromgif($src);
|
||||
break;
|
||||
case 'webp':
|
||||
$source_image = imagecreatefromwebp($src);
|
||||
break;
|
||||
}
|
||||
// Image valide
|
||||
if ($source_image) {
|
||||
@ -1034,7 +1042,6 @@ class common {
|
||||
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);
|
||||
switch(mime_content_type($src) ) {
|
||||
case 'image/jpeg':
|
||||
case 'image/jpg':
|
||||
return (imagejpeg($virtual_image, $dest));
|
||||
break;
|
||||
case 'image/png':
|
||||
@ -1043,6 +1050,9 @@ class common {
|
||||
case 'image/gif':
|
||||
return (imagegif($virtual_image, $dest));
|
||||
break;
|
||||
case 'image/webp':
|
||||
return (imagewebp($virtual_image, $dest));
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
return (false);
|
||||
@ -1255,6 +1265,7 @@ class common {
|
||||
$blocks = [];
|
||||
if( null !== $this->getData(['page',$this->getUrl(0),'block'])) $blocks = explode('-',$this->getData(['page',$this->getUrl(0),'block']));
|
||||
// Initialiser
|
||||
$content = "";
|
||||
$blockleft=$blockright="";
|
||||
switch (sizeof($blocks)) {
|
||||
case 1 : // une colonne
|
||||
@ -1369,8 +1380,7 @@ class common {
|
||||
|
||||
/**
|
||||
* Affiche les crédits, conditions requis :
|
||||
* La traduction est active et le site n'est pas en français.
|
||||
* La fonction est activée.
|
||||
* La traduction automatique est active et La fonction est activée.
|
||||
*/
|
||||
if ( $this->getData(['config', 'i18n', 'enable']) === true
|
||||
AND $this->getData(['config', 'i18n','scriptGoogle']) === true
|
||||
@ -1920,40 +1930,27 @@ class common {
|
||||
echo $items;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Affiche le meta titre
|
||||
*/
|
||||
public function showMetaTitle() {
|
||||
echo '<title>' . $this->output['metaTitle'] . '</title>';
|
||||
echo '<meta property="og:title" content="' . $this->output['metaTitle'] . '" />';
|
||||
echo '<link rel="canonical" href="'. helper::baseUrl(true).$this->getUrl() .'" />';
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche la meta description
|
||||
*/
|
||||
public function showMetaDescription() {
|
||||
echo '<meta name="description" content="' . $this->output['metaDescription'] . '" />';
|
||||
echo '<meta property="og:description" content="' . $this->output['metaDescription'] . '" />';
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche le meta type
|
||||
*/
|
||||
public function showMetaType() {
|
||||
echo '<meta property="og:type" content="website" />';
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche la meta image (site screenshot)
|
||||
*/
|
||||
public function showMetaImage() {
|
||||
echo '<meta property="og:image" content="' . helper::baseUrl() .self::FILE_DIR.'source/screenshot.jpg" />';
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche les balises title et meta name
|
||||
*/
|
||||
public function showMetaTitle() {
|
||||
echo '<title>' . $this->output['metaTitle'] . '</title>' . PHP_EOL;
|
||||
echo '<meta name="description" content="' . $this->output['metaDescription'] . '" />' . PHP_EOL;
|
||||
echo '<link rel="canonical" href="'. helper::baseUrl(true).$this->getUrl() .'" />' . PHP_EOL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche les balises meta property
|
||||
*/
|
||||
public function showMetaProperty() {
|
||||
echo '<meta property="og:title" content="' . $this->output['metaTitle'] . '" />' . PHP_EOL;
|
||||
echo '<meta property="og:description" content="' . $this->output['metaDescription'] . '" />' . PHP_EOL;
|
||||
echo '<meta property="og:type" content="website" />' . PHP_EOL;
|
||||
echo '<meta property="og:image" content="' . helper::baseUrl() .self::FILE_DIR.'source/screenshot.jpg" />' . PHP_EOL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche la notification
|
||||
|
@ -60,8 +60,8 @@ if ($this->getData(['core', 'dataVersion']) < 4202) {
|
||||
$this->setData(['core', 'dataVersion', 4202]);
|
||||
}
|
||||
|
||||
if ($this->getData(['core', 'dataVersion']) < 4303) {
|
||||
if ($this->getData(['core', 'dataVersion']) < 4304) {
|
||||
// Mise à jour
|
||||
$this->setData(['core', 'dataVersion', 4303]);
|
||||
$this->setData(['core', 'dataVersion', 4304]);
|
||||
}
|
||||
?>
|
||||
|
@ -3,13 +3,15 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<?php $this->showMetaTitle(); ?>
|
||||
<?php $this->showMetaDescription(); ?>
|
||||
<?php $this->showMetaType(); ?>
|
||||
<?php $this->showMetaImage(); ?>
|
||||
<?php $this->showFavicon(); ?>
|
||||
<?php $this->showVendor(); ?>
|
||||
<?php $this->showStyle(); ?>
|
||||
<?php
|
||||
$this->showMetaTitle();
|
||||
$this->showMetaProperty();
|
||||
?>
|
||||
<?php
|
||||
$this->showFavicon();
|
||||
$this->showVendor();
|
||||
$this->showStyle();
|
||||
?>
|
||||
<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) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>">
|
||||
|
@ -3,13 +3,15 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<?php $this->showMetaTitle(); ?>
|
||||
<?php $this->showMetaDescription(); ?>
|
||||
<?php $this->showMetaType(); ?>
|
||||
<?php $this->showMetaImage(); ?>
|
||||
<?php $this->showFavicon(); ?>
|
||||
<?php $this->showVendor(); ?>
|
||||
<?php $this->showStyle(); ?>
|
||||
<?php
|
||||
$this->showMetaTitle();
|
||||
$this->showMetaProperty();
|
||||
?>
|
||||
<?php
|
||||
$this->showFavicon();
|
||||
$this->showVendor();
|
||||
$this->showStyle();
|
||||
?>
|
||||
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/common.css">
|
||||
<link rel="stylesheet" href="<?php echo helper::baseUrl(false); ?>core/layout/light.css">
|
||||
<link rel="stylesheet" href="<?php echo helper::baseUrl(false) . self::DATA_DIR; ?>theme.css?<?php echo md5_file(self::DATA_DIR.'theme.css'); ?>">
|
||||
|
@ -7,12 +7,14 @@ if( $this->getInput('DELTA_I18N_SITE') !== '' && $this->getInput('DELTA_I18N_SIT
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<?php $this->showMetaTitle(); ?>
|
||||
<?php $this->showMetaDescription(); ?>
|
||||
<?php $this->showMetaType(); ?>
|
||||
<?php $this->showMetaImage(); ?>
|
||||
<?php $this->showFavicon(); ?>
|
||||
<?php $this->showVendor(); ?>
|
||||
<?php
|
||||
$this->showMetaTitle();
|
||||
$this->showMetaProperty();
|
||||
?>
|
||||
<?php
|
||||
$this->showFavicon();
|
||||
$this->showVendor();
|
||||
?>
|
||||
<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; ?>custom.css?<?php echo md5_file(self::DATA_DIR.'custom.css'); ?>">
|
||||
@ -171,23 +173,23 @@ if( $this->getInput('DELTA_I18N_SITE') !== '' && $this->getInput('DELTA_I18N_SIT
|
||||
<?php
|
||||
$headerClass = $this->getData(['theme', 'header', 'position']) === 'hide' ? 'displayNone' : '';
|
||||
$headerClass .= $this->getData(['theme', 'header', 'tinyHidden']) ? ' bannerDisplay ' : '';
|
||||
?>
|
||||
<header <?php echo empty($headerClass) ? '' : 'class="' . $headerClass . '"';?>>
|
||||
<?php if ($this->getData(['theme','header','feature']) === 'wallpaper' ): ?>
|
||||
<?php if(
|
||||
$this->getData(['theme', 'header', 'textHide']) === false
|
||||
// Affiche toujours le titre de la bannière pour l'édition du thème
|
||||
OR ($this->getUrl(0) === 'theme' AND $this->getUrl(1) === 'header')
|
||||
): ?>
|
||||
<span class="notranslate" id="themeHeaderTitle"><?php echo $this->getData(['locale', 'title']); ?></span>
|
||||
<?php else: ?>
|
||||
<span id="themeHeaderTitle"> </span>
|
||||
<?php endif; ?>
|
||||
?>
|
||||
<header <?php echo empty($headerClass) ? '' : 'class="' . $headerClass . '"';?>>
|
||||
<?php if ($this->getData(['theme','header','feature']) === 'wallpaper' ): ?>
|
||||
<?php if(
|
||||
$this->getData(['theme', 'header', 'textHide']) === false
|
||||
// Affiche toujours le titre de la bannière pour l'édition du thème
|
||||
OR ($this->getUrl(0) === 'theme' AND $this->getUrl(1) === 'header')
|
||||
): ?>
|
||||
<span class="notranslate" id="themeHeaderTitle"><?php echo $this->getData(['locale', 'title']); ?></span>
|
||||
<?php else: ?>
|
||||
<div id="featureContent">
|
||||
<?php echo $this->getData(['theme','header','featureContent']);?>
|
||||
</diV>
|
||||
<span id="themeHeaderTitle"> </span>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<div id="featureContent">
|
||||
<?php echo $this->getData(['theme','header','featureContent']);?>
|
||||
</diV>
|
||||
<?php endif; ?>
|
||||
</header>
|
||||
<?php echo ( $this->getData(['theme','header','linkHomePage']) && $this->getData(['theme','header','feature']) === 'wallpaper' ) ? '</a>' : ''; ?>
|
||||
<?php endif; ?>
|
||||
|
@ -636,11 +636,11 @@ class config extends common {
|
||||
$this->setData(['core', 'baseUrl', helper::baseUrl(true,false) ]);
|
||||
}
|
||||
// Générer robots.txt et sitemap
|
||||
$this->generateFiles();
|
||||
// $this->generateFiles();
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => $text[0],
|
||||
'view' => 'index',
|
||||
'redirect' => helper::baseUrl() . 'config',
|
||||
'notification' => $text[1] ,
|
||||
'state' => true
|
||||
]);
|
||||
|
@ -1,10 +1,3 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files *.json>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
||||
# Bloque l'accès htaccess
|
||||
<Files .htaccess>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Require all denied
|
||||
</Files>
|
@ -5,7 +5,7 @@
|
||||
"feeds": true,
|
||||
"feedsLabel": "Syndication RSS",
|
||||
"itemsperPage": 6,
|
||||
"versionData": "6.2"
|
||||
"versionData": "6.3"
|
||||
},
|
||||
"texts": {
|
||||
"NoComment": "No comment yet",
|
||||
@ -23,7 +23,8 @@
|
||||
"Send": "Send",
|
||||
"TinymceMaxi": "You have reached the maximum of",
|
||||
"TinymceCara": "characters left",
|
||||
"TinymceExceed": "You were about to exceed the maximum of "
|
||||
"TinymceExceed": "You were about to exceed the maximum of ",
|
||||
"ReadMore": "Read more"
|
||||
},
|
||||
"posts": {
|
||||
"premier-article": {
|
||||
@ -140,7 +141,7 @@
|
||||
"logoUrl": "",
|
||||
"logoWidth": "40",
|
||||
"maxSizeUpload": "500000",
|
||||
"versionData": "4.1",
|
||||
"versionData": "4.2",
|
||||
"uploadJpg": true,
|
||||
"uploadPng": true,
|
||||
"uploadPdf": false,
|
||||
|
@ -5,7 +5,7 @@
|
||||
"feeds": true,
|
||||
"feedsLabel": "Syndication RSS",
|
||||
"itemsperPage": 4,
|
||||
"versionData": "6.2"
|
||||
"versionData": "6.3"
|
||||
},
|
||||
"texts": {
|
||||
"NoComment": "Pas encore de commentaire",
|
||||
@ -23,7 +23,8 @@
|
||||
"Send": "Envoyer",
|
||||
"TinymceMaxi": "Vous avez atteint le maximum de",
|
||||
"TinymceCara": "caractères restants",
|
||||
"TinymceExceed": "Vous alliez dépasser le maximum de "
|
||||
"TinymceExceed": "Vous alliez dépasser le maximum de ",
|
||||
"ReadMore": "Lire la suite"
|
||||
},
|
||||
"posts": {
|
||||
"premier-article": {
|
||||
@ -140,7 +141,7 @@
|
||||
"logoUrl": "",
|
||||
"logoWidth": "40",
|
||||
"maxSizeUpload": "1000000",
|
||||
"versionData": "4.1",
|
||||
"versionData": "4.2",
|
||||
"uploadJpg": true,
|
||||
"uploadPng": true,
|
||||
"uploadPdf": false,
|
||||
|
@ -70,7 +70,7 @@ class init extends common {
|
||||
]
|
||||
],
|
||||
'core' => [
|
||||
'dataVersion' => 4303,
|
||||
'dataVersion' => 4304,
|
||||
'lastBackup' => 0,
|
||||
'lastClearTmp' => 0,
|
||||
'lastAutoUpdate' => 0,
|
||||
|
@ -223,7 +223,7 @@ class page extends common {
|
||||
}
|
||||
$this->setPage($pageId, '<p>'.$text[1].'</p>', self::$i18n);
|
||||
// Met à jour le site map
|
||||
$this->createSitemap('all');
|
||||
// $this->createSitemap('all');
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $pageId,
|
||||
@ -365,7 +365,7 @@ class page extends common {
|
||||
}
|
||||
$this->deleteData(['module', $url[0]]);
|
||||
// Met à jour le site map
|
||||
$this->createSitemap('all');
|
||||
// $this->createSitemap('all');
|
||||
// Met à jour 'config', 'statislite', 'enable' si aucume page utilise le module Statislite
|
||||
$inPages = helper::arrayCollumn($this->getData(['page']),'moduleId', 'SORT_DESC');
|
||||
$statislite = 'off';
|
||||
@ -567,7 +567,7 @@ class page extends common {
|
||||
}
|
||||
}
|
||||
// Met à jour le site map
|
||||
$this->createSitemap('all');
|
||||
// $this->createSitemap('all');
|
||||
// Redirection vers la configuration
|
||||
if($this->getInput('pageEditModuleRedirect', helper::FILTER_BOOLEAN)) {
|
||||
// Valeurs en sortie
|
||||
|
@ -1,8 +1,4 @@
|
||||
# Bloque l'accès aux données
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
# Sauf l'accès au modèle csv
|
||||
<Files template.csv>
|
||||
Order Allow,Deny
|
||||
Allow from all
|
||||
Require all denied
|
||||
<Files *.csv>
|
||||
Require all granted
|
||||
</Files>
|
15
core/vendor/filemanager/UploadHandler.php
vendored
15
core/vendor/filemanager/UploadHandler.php
vendored
@ -41,6 +41,7 @@ class UploadHandler
|
||||
const IMAGETYPE_GIF = 1;
|
||||
const IMAGETYPE_JPEG = 2;
|
||||
const IMAGETYPE_PNG = 3;
|
||||
const IMAGETYPE_WEBP = 4;
|
||||
|
||||
protected $image_objects = array();
|
||||
|
||||
@ -508,7 +509,7 @@ class UploadHandler
|
||||
$index, $content_range) {
|
||||
// Add missing file extension for known image types:
|
||||
if (strpos($name, '.') === false &&
|
||||
preg_match('/^image\/(gif|jpe?g|png)/', $type, $matches)) {
|
||||
preg_match('/^image\/(gif|jpe?g|png|webp)/', $type, $matches)) {
|
||||
$name .= '.'.$matches[1];
|
||||
}
|
||||
if ($this->options['correct_image_extensions']) {
|
||||
@ -522,6 +523,9 @@ class UploadHandler
|
||||
case self::IMAGETYPE_GIF:
|
||||
$extensions = array('gif');
|
||||
break;
|
||||
case self::IMAGETYPE_WEBP:
|
||||
$extensions = array('webp');
|
||||
break;
|
||||
}
|
||||
// Adjust incorrect image file extensions:
|
||||
if (!empty($extensions)) {
|
||||
@ -734,6 +738,12 @@ class UploadHandler
|
||||
$image_quality = isset($options['png_quality']) ?
|
||||
$options['png_quality'] : 9;
|
||||
break;
|
||||
case 'webp':
|
||||
$src_func = 'imagecreatefromwebp';
|
||||
$write_func = 'imagewebp';
|
||||
$image_quality = isset($options['webp_quality']) ?
|
||||
$options['webp_quality'] : 75;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
@ -1083,6 +1093,9 @@ class UploadHandler
|
||||
if (bin2hex(@$data[0]).substr($data, 1, 4) === '89PNG') {
|
||||
return self::IMAGETYPE_PNG;
|
||||
}
|
||||
if ($data === 'RIFF') {
|
||||
return self::IMAGETYPE_WEBP;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
2
core/vendor/filemanager/config/.htaccess
vendored
2
core/vendor/filemanager/config/.htaccess
vendored
@ -1 +1 @@
|
||||
Deny from all
|
||||
Require all denied
|
||||
|
2
core/vendor/filemanager/config/config.php
vendored
2
core/vendor/filemanager/config/config.php
vendored
@ -466,7 +466,7 @@ $config = array(
|
||||
//**********************
|
||||
//Allowed extensions (lowercase insert)
|
||||
//**********************
|
||||
'ext_img' => array( 'jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff','svg', 'ico' ), //Images
|
||||
'ext_img' => array( 'jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff','svg', 'ico', 'webp' ), //Images
|
||||
'ext_file' => array( 'doc', 'docx', 'rtf', 'pdf', 'xls', 'xlsx', 'txt', 'csv', 'html', 'xhtml', 'psd', 'sql', 'log', 'fla', 'xml', 'ade', 'adp', 'mdb', 'accdb', 'ppt', 'pptx', 'odt', 'ots', 'ott', 'odb', 'odg', 'otp', 'otg', 'odf', 'ods', 'odp', 'css', 'ai', 'kmz','dwg', 'dxf', 'hpgl', 'plt', 'spl', 'step', 'stp', 'iges', 'igs', 'sat', 'cgm', 'ics', 'gpx', 'kml', 'ttf', 'eot', 'woff', 'otf', 'woff2', ''), //Files
|
||||
'ext_video' => array( 'mov', 'mpeg', 'm4v', 'mp4', 'avi', 'mpg', 'wma', "flv", "webm" ), //Video
|
||||
'ext_music' => array( 'mp3', 'mpga', 'm4a', 'ac3', 'aiff', 'mid', 'ogg', 'wav' ), //Audio
|
||||
|
@ -133,6 +133,8 @@ $mime_types = array(
|
||||
"audio/x-ms-wax" => "wax",
|
||||
"image/vnd.wap.wbmp" => "wbmp",
|
||||
"application/vnd.wap.wbxml" => "wbxml",
|
||||
"video/webm" => "webm",
|
||||
"image/webp" => "webp",
|
||||
"video/x-ms-wm" => "wm",
|
||||
"audio/x-ms-wma" => "wma",
|
||||
"text/vnd.wap.wml" => "wml",
|
||||
|
5719
core/vendor/filemanager/include/php_image_magician.php
vendored
5719
core/vendor/filemanager/include/php_image_magician.php
vendored
File diff suppressed because it is too large
Load Diff
@ -36,7 +36,7 @@ class agenda extends common {
|
||||
'index' => self::GROUP_VISITOR
|
||||
];
|
||||
|
||||
const VERSION = '5.1';
|
||||
const VERSION = '5.2';
|
||||
const REALNAME = 'Agenda';
|
||||
const DELETE = true;
|
||||
const UPDATE = '4.1';
|
||||
@ -137,13 +137,13 @@ class agenda extends common {
|
||||
*/
|
||||
private function update() {
|
||||
|
||||
// Initialisation ou mise à jour vers la version 4.7
|
||||
// Mise à jour vers la version 4.7
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '4.7', '<') ) {
|
||||
if(! is_dir(self::DATAMODULE.'data/'.$this->getUrl(0).'_affiche')) mkdir(self::DATAMODULE.'data/'.$this->getUrl(0).'_affiche');
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','4.7']);
|
||||
}
|
||||
|
||||
// Initialisation ou mise à jour vers la version 5.0
|
||||
// Mise à jour vers la version 5.0
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.0', '<') ) {
|
||||
$this->setData(['module', $this->getUrl(0), 'texts',[
|
||||
'configTextButtonBack' => 'Retour',
|
||||
@ -154,9 +154,13 @@ class agenda extends common {
|
||||
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','5.0']);
|
||||
}
|
||||
// Initialisation ou mise à jour vers la version 5.1
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.1', '<') ) {
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','5.1']);
|
||||
// Mise à jour vers la version 5.2
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.2', '<') ) {
|
||||
// Mise à jour des .htaccess avec Apache2.4
|
||||
copy( './module/agenda/ressource/data/agenda/module/adresses/.htaccess', './site/data/agenda/module/adresses/.htaccess');
|
||||
copy( './module/agenda/ressource/data/agenda/module/data/.htaccess', './site/data/agenda/module/data/.htaccess');
|
||||
copy( './module/agenda/ressource/file/source/agenda/adresses/.htaccess', './site/file/source/agenda/adresses/.htaccess');
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','5.2']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -775,26 +779,12 @@ class agenda extends common {
|
||||
self::$time_unix_deb = $date->getTimestamp();
|
||||
$date->setTime(18, 00);
|
||||
self::$time_unix_fin = $date->getTimestamp();
|
||||
// Passage de la langue d'administration à Tinymce et à flatpickr
|
||||
$lang_admin = 'fr_FR';
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_admin = 'en_GB';
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
var lang_admin = "<?php echo $lang_admin; ?>";
|
||||
var lang_flatpickr = "<?php echo $lang_flatpickr; ?>";
|
||||
</script>
|
||||
<?php
|
||||
// Valeurs en sortie hors soumission du formulaire
|
||||
$this->addOutput([
|
||||
'showBarEditButton' => true,
|
||||
'showPageContent' => false,
|
||||
'vendor' => [
|
||||
'flatpickr',
|
||||
'tinymce',
|
||||
'flatpickr'
|
||||
],
|
||||
'view' => 'creation'
|
||||
]);
|
||||
@ -911,26 +901,13 @@ class agenda extends common {
|
||||
}
|
||||
$this->limite_groupes();
|
||||
if( $this->getUser('group') >= self::$evenement['groupe_mod']){
|
||||
// Passage de la langue d'administration à Tinymce et à flatpickr
|
||||
$lang_admin = 'fr_FR';
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_admin = 'en_GB';
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
var lang_admin = "<?php echo $lang_admin; ?>";
|
||||
var lang_flatpickr = "<?php echo $lang_flatpickr; ?>";
|
||||
</script>
|
||||
<?php
|
||||
|
||||
// Affichage de la page édition d'un évènement avec les valeurs actuelles
|
||||
$this->addOutput([
|
||||
'showBarEditButton' => true,
|
||||
'showPageContent' => false,
|
||||
'vendor' => [
|
||||
'flatpickr',
|
||||
'tinymce'
|
||||
'flatpickr'
|
||||
],
|
||||
'view' => 'edition'
|
||||
]);
|
||||
@ -948,7 +925,7 @@ class agenda extends common {
|
||||
|
||||
|
||||
/**
|
||||
* Newname utilisé par la version 9 pour inscrire le nouveau nom de page dans le json du module
|
||||
* Newname utilisé pour inscrire le nouveau nom de page dans le json du module
|
||||
*/
|
||||
public function newname() {
|
||||
$this->setData(['module',$this->getUrl(0),'name',$this->getUrl(0)]);
|
||||
@ -973,8 +950,10 @@ class agenda extends common {
|
||||
}
|
||||
|
||||
// Mise à jour des données de module
|
||||
$this->update();
|
||||
|
||||
if (null !== $this->getData(['module', $this->getUrl(0), 'config', 'versionData'])
|
||||
&& version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '5.2', '<')){
|
||||
$this->update();
|
||||
}
|
||||
//Pour récupération des données ajax jquery date ou id
|
||||
$url = $_SERVER['REQUEST_URI'];
|
||||
if (strpos($url,'/da:') !== false){
|
||||
@ -1005,24 +984,22 @@ class agenda extends common {
|
||||
'droit_creation' => 2,
|
||||
'droit_limite' => true,
|
||||
'maxiWidth' => '800',
|
||||
'versionData' => $this->getData(['module', $this->getUrl(0), 'config', 'versionData'])
|
||||
'versionData' => self::VERSION
|
||||
],
|
||||
'categories' => [
|
||||
'valCategories' => false
|
||||
]
|
||||
]]);
|
||||
|
||||
//Création des dossiers de sauvegarde de l'agenda
|
||||
if(! is_dir(self::DATAMODULE.'data')) mkdir(self::DATAMODULE.'data',0770,true);
|
||||
// Upload des ressources puis création des dossiers de sauvegarde de l'agenda
|
||||
$this->custom_copy('./module/agenda/ressource/data', self::DATA_DIR);
|
||||
$this->custom_copy('./module/agenda/ressource/file', self::FILE_DIR);
|
||||
if(! is_dir(self::DATAMODULE.'data/'.$this->getUrl(0)))mkdir(self::DATAMODULE.'data/'.$this->getUrl(0));
|
||||
if(! is_dir(self::DATAMODULE.'data/'.$this->getUrl(0).'_sauve'))mkdir(self::DATAMODULE.'data/'.$this->getUrl(0).'_sauve');
|
||||
if(! is_dir(self::DATAMODULE.'data/'.$this->getUrl(0).'_visible')) mkdir(self::DATAMODULE.'data/'.$this->getUrl(0).'_visible');
|
||||
if(! is_dir(self::DATAMODULE.'data/'.$this->getUrl(0).'_affiche')) mkdir(self::DATAMODULE.'data/'.$this->getUrl(0).'_affiche');
|
||||
if(! is_dir(self::DATAMODULE.'data/'.$this->getUrl(0))) mkdir(self::DATAMODULE.'data/'.$this->getUrl(0));
|
||||
if(! is_dir(self::DATAFILE.'ics')) mkdir(self::DATAFILE.'ics');
|
||||
if(! is_dir(self::DATAFILE.'categories')) mkdir(self::DATAFILE.'categories');
|
||||
if(! is_dir(self::DATAMODULE.'ics')) mkdir(self::DATAMODULE.'ics');
|
||||
if(! is_dir(self::DATAMODULE.'adresses')) mkdir(self::DATAMODULE.'adresses');
|
||||
|
||||
|
||||
$this->addOutput([
|
||||
'notification' => $text[0],
|
||||
|
@ -0,0 +1,7 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files "*.txt">
|
||||
Require all denied
|
||||
</Files>
|
||||
<Files "*.csv">
|
||||
Require all denied
|
||||
</Files>
|
@ -0,0 +1,3 @@
|
||||
<Files "*.json">
|
||||
Require all granted
|
||||
</Files>
|
@ -0,0 +1,7 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files "*.txt">
|
||||
Require all denied
|
||||
</Files>
|
||||
<Files "*.csv">
|
||||
Require all denied
|
||||
</Files>
|
@ -0,0 +1,733 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
X-WR-CALNAME:Jours fériés Métropole
|
||||
NAME:Jours fériés Métropole
|
||||
PRODID:Etalab
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250529
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:d1d8e2e240ae715d149c11145638a06d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:81b412b83868ed02ea1a8024c4c8a357
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:00fd28dc3058aa5389abadb6a02b8b5b
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:93686d52c729aca3c401065e490d98fd
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160516
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:a4b1c3723d5d877d7265deb24faaa8d8
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:de8342ff2afa7031a581237cc35cdbf0
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:95d3fe478e70603ed092aba9bb14cc03
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20221225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:8cbfd34c58535adf9152928830f16b56
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:eb4f4cd6ccfb42abd6190130b4f80c77
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210524
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:29bd64b591fb6044b6579673f13d241a
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:526c2a579f44a21fa277f3faed7f155b
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160328
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:60bb00b126ff132ace83b1a77bdd4775
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:81a277f6a2065fa3d9379df5559941de
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20211101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:ddf94e83421783ed9b68791012d4ffcc
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20161101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:242cd3a4e72710ea57ed35e76497783b
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20151101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:f96ae94fa61bb2f3c671ba8a0e127c65
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20171225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:dae23dc0b21d6334b5654044a52d95e1
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20171111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:6b06d7c6e368c2bb47895630c9ac618f
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:512be151b9a03e408a8ee80371bdb5d5
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:5ec1ea7aeb0fcd5593fcc8b2de69ce6e
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:2c17ae593ff7e9e3c8585e30a3183279
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230518
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:4a8d93da3ec625969c13c4820b24f514
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20201101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:fe6c71c56021b2d7e573e1cd6cde074d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:5d769cd717fe2027b11077cca08ce35d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180521
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:9c332de8829db3bdaab01f1190f15663
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20211225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:0e4218e8cf22ab9abf21febe9456e20c
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20241101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:dd267dce0232b504133231c68f19c9ae
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:f5144d62904c585628142166f2a2e695
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:3c43707735a4d4a214466edf8e6fcbe6
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:1edff23fc91c41ad446abf064725fc70
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200601
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:2b10299dd0366c510b07bd9a4ff048b1
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:856f2701d117a9b188086541706c7964
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20231225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:367624e227aac3812528f241349a7c96
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20241225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:a2ad4bde5f021604f088ac8ff9dd8fd0
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:7b836334425862ddb4bf47b488d0fd03
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190530
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:d9a96a99fbedf3bb211eccd97f155fd4
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:f768ecc87a5cd7be120b87f25d9233bc
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:0840d81f66979ceec8c1d332f4012d01
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:bc90b2144ad8e4a8f40d6174ba41fba0
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150525
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:b99c07d06dc0e712f70888f4b78d413a
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240520
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:0f00afe53d71e95961a45b42cda9ace8
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:6a18fa390a60e5a32d0b6898ca0fedf1
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:848a71f1f9793e72415143c5847e2b9d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240509
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:b4016e3b941132ba6672d2f6fe1fe608
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230529
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:c708f3ba4561a574d917b8301fb62e13
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20201111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:840d3b553f7c5745c66e526a5120296a
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:f4574587958b1848a827cefd81923521
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:2b200c0a320d6c3c9376ec32ac5209bd
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220606
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:47ecd83655fb3d9f3f466ed71b30edf5
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:c6b6e5340de7a9d4382f02f409f70198
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:72478cfa7389b0e74e289cd5548c52d8
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170605
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:24d76b93707f517fd9742a53297eb15d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:a6590e8f64c1f8d2ec22a7f66a39f5db
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240401
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:89aa3606f0cf255cd22be993f739c289
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20201225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:58eb1d45cb1e4020902c9d7f48a6aca3
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:a5532e6257cf41e64b6c8f4f8e4f62f9
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180402
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:53aef7b2068f87bb46c4d87b76d3f62f
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20251111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:d4fcc714c308a93c9d80b65b84e297ba
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20251101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:fca336a73b4976ab496d4afe93449e61
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20191225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:94dc7bca0d98b843c0a464dfaba404fa
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220418
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:fd293a74887a0208fd4b2f996922d146
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210513
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:71f318271fab7c933b84c9f4c1c2791d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:1d3c47ada506eafb4f0b1045343412e3
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230410
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:7a6a65c90bf078e3ea7d1038166dd061
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20251225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:7adc4181e295ea370f71a6f017f77e4e
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170525
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:f3265f5ca615c3fb59694612cd7077ef
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20191101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:546de5f95d01851e99635413b7328543
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:147d0831ff1a762a404fcd1c62527fcb
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:77c4d1dce03d48cf722cc0d46d126876
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210405
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:7ce5538a440f5b760fc61beeb005e279
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20151111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:82e5c9d47a87040e405295cb9de85b3a
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20171101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:0d4171e346dd06e288c5ca5d4c2694c3
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:b9a8a659021921221508c443a9385582
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:9cdedd9a4810fc24e452a4bfe84ce2bd
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:877bb3d4bec9c9e2202194eb67265250
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200413
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:ee8b94a34f43dc3f00cf575ac9a3401b
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20151225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:c976c51152f0dd8144b46562cec06f22
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:fbf4c942a1bc6d8e18c69cfb477e89e2
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20161111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:89198e369802ebc60ae2d36128ad4dcf
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:ff83f977fea539750d3a7c076a799767
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150406
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:b53416352327943804f0ec1d6a684947
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:c3cf1311f57118aab4bc96248df024e1
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:c097697da80859a33dae16c90daff383
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250609
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:e7bec9699cfe0509ab2b5a1bc92e308d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200521
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:357ace601bea837565327c9d3dab7d77
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:29eeecbea86fbfd359d9551084be1df0
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:4bb974b056c03fff8d2c6f158355d452
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20211111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:de39555c83e7530d261e49864323ede7
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20241111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:c2e9351248275761ab92e2fff42a1b76
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190422
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:b378b5d243d0ad3f0b835eb70ad0a4ed
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20200508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:474b26ed4a97afacbaf2f015b1e5dcea
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:4ee79fba95cf1048678f65b0580687e0
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250421
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:4702b0a28f8c0b3d92c583d2c5d39ea7
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20250101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:22adedd30f8f6d6232db4a1d4d0bfce4
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190501
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er mai
|
||||
UID:eda3a7ef23063dcbf65fbdc298fbb3ec
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20231101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:824ab1768b09b7eb077f74a116793836
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20150514
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:9bb62e903fe599f23bd5e24acd310c2f
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:db81d5a8de54d7cecd057d0d43a4a87d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20210815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:0caa48853dd06d031dcf0a78f9def079
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20231111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:a7ad613a417360a84394ce679ff84484
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180510
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:e1eec9f61c8b0877be2cf39c81fad25f
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170417
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pâques
|
||||
UID:2930e6b4bad7f7d369382aa65929684d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190610
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Lundi de Pentecôte
|
||||
UID:a19d90214f28b0dfad0a0b2eb04b1069
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20220526
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:b59a0a0e8b147c3c6a105703da32e16d
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:b940bf2c89a7a6429d8aca19cd27da24
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:737601a775f06ef776cb8111eecb1df1
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:af04912c51afa4711116ca03058202ab
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:2d978c43c970d71323573948a7720349
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20191111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:f610cb4feff3c50245a2f136f9e5af3f
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20221111
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:11 novembre
|
||||
UID:9fbcdbeb6181e8cb00b78e8cd9145318
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:dfadc3cee0b9aa21cc89477447b097b5
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160714
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:14 juillet
|
||||
UID:c6cff5af72cbabefdcb9330e2e6d13c6
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20230508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:47ee8f7c375e59fcb5508beb5188a072
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20240508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:c0b9c2c8b3364fcc6c61a20725b4aee3
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20161225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:83ac83d92caaca8a08a6dab0024d5227
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160505
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Ascension
|
||||
UID:338b07bf80ee8ccff3e3f2eb09388a3a
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190815
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Assomption
|
||||
UID:ff9d7c093b8d971133c5c444e93c0f6f
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181225
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Jour de Noël
|
||||
UID:dfdeebebc2a52cad2747a1cffedfaa77
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20221101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:Toussaint
|
||||
UID:0d73b395edba6d3dd8eaf1a7554dd8bb
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160101
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:1er janvier
|
||||
UID:46df3293d93419db1f69ac30aabfdfd1
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180508
|
||||
DTSTAMP:20200101T000000Z
|
||||
SUMMARY:8 mai
|
||||
UID:4b40a5a01999a2bf2a8a40bbc22fb2f3
|
||||
END:VEVENT
|
||||
METHOD:PUBLISH
|
||||
END:VCALENDAR
|
@ -63,6 +63,28 @@ switch ($val) {
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
// Passage de la langue d'administration à Tinymce et à flatpickr
|
||||
$lang_admin = 'fr_FR';
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_admin = 'en_GB';
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
var lang_admin = "<?php echo $lang_admin; ?>";
|
||||
var lang_flatpickr = "<?php echo $lang_flatpickr; ?>";
|
||||
</script>
|
||||
|
||||
<?php
|
||||
// Inclusion de tinymce
|
||||
echo '<script src="' . helper::baseUrl(false) . 'core/vendor/tinymce/tinymce.min.js' . '"></script>';
|
||||
echo '<script src="' . helper::baseUrl(false) . 'core/vendor/tinymce/init.js' . '"></script>';
|
||||
echo '<link rel="stylesheet" href="' . helper::baseUrl(false) . 'core/vendor/tinymce/init.css' . '">';
|
||||
?>
|
||||
|
||||
<?php echo template::formOpen('creation_events'); ?>
|
||||
<div class="row">
|
||||
<div class="col2">
|
||||
|
@ -55,6 +55,28 @@ switch ($val) {
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
// Passage de la langue d'administration à Tinymce et à flatpickr
|
||||
$lang_admin = 'fr_FR';
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_admin = 'en_GB';
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
var lang_admin = "<?php echo $lang_admin; ?>";
|
||||
var lang_flatpickr = "<?php echo $lang_flatpickr; ?>";
|
||||
</script>
|
||||
|
||||
<?php
|
||||
// Inclusion de tinymce
|
||||
echo '<script src="' . helper::baseUrl(false) . 'core/vendor/tinymce/tinymce.min.js' . '"></script>';
|
||||
echo '<script src="' . helper::baseUrl(false) . 'core/vendor/tinymce/init.js' . '"></script>';
|
||||
echo '<link rel="stylesheet" href="' . helper::baseUrl(false) . 'core/vendor/tinymce/init.css' . '">';
|
||||
?>
|
||||
|
||||
<!--Adaptation de Tinymce en fonction des droits des utilisateurs -->
|
||||
<?php if( $this->getUser('group') >= $module::$evenement['groupe_mod'] ){
|
||||
if( $this->getUser('group') >= 2){
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
class blog extends common {
|
||||
|
||||
const VERSION = '6.2';
|
||||
const VERSION = '6.3';
|
||||
const REALNAME = 'Blog';
|
||||
const DELETE = true;
|
||||
const UPDATE = '0.0';
|
||||
@ -61,70 +61,9 @@ class blog extends common {
|
||||
|
||||
public static $pages;
|
||||
|
||||
public static $states = [
|
||||
false => 'Brouillon',
|
||||
true => 'Publié'
|
||||
];
|
||||
public static $states_en = [
|
||||
false => 'Draft',
|
||||
true => 'Published'
|
||||
];
|
||||
public static $pictureSizes = [
|
||||
'20' => 'Très petite',
|
||||
'30' => 'Petite',
|
||||
'40' => 'Grande',
|
||||
'50' => 'Très Grande',
|
||||
'100' => 'Pleine largeur',
|
||||
];
|
||||
public static $pictureSizes_en = [
|
||||
'20' => 'Very small',
|
||||
'30' => 'Small',
|
||||
'40' => 'Large',
|
||||
'50' => 'Very large',
|
||||
'100' => 'Full width',
|
||||
];
|
||||
public static $picturePositions_en = [
|
||||
'left' => 'Left',
|
||||
'right' => 'Right',
|
||||
];
|
||||
public static $picturePositions = [
|
||||
'left' => 'à gauche',
|
||||
'right' => 'à droite',
|
||||
];
|
||||
// Nombre d'objets par page
|
||||
public static $ItemsList = [
|
||||
4 => '4 articles',
|
||||
8 => '8 articles',
|
||||
12 => '12 articles',
|
||||
16 => '16 articles',
|
||||
22 => '22 articles'
|
||||
];
|
||||
|
||||
//Paramètre longueur maximale des commentaires en nb de caractères
|
||||
public static $commentLength = [
|
||||
'500' => '500',
|
||||
'1000' => '1000',
|
||||
'2000' => '2000',
|
||||
'5000' => '5000',
|
||||
'10000' => '10000'
|
||||
];
|
||||
|
||||
// Permissions d'un article
|
||||
public static $articleConsent = [
|
||||
self::EDIT_ALL => 'Tous les groupes',
|
||||
self::EDIT_GROUP => 'Groupe du propriétaire',
|
||||
self::EDIT_OWNER => 'Propriétaire'
|
||||
];
|
||||
public static $articleConsent_en = [
|
||||
self::EDIT_ALL => 'All groups',
|
||||
self::EDIT_GROUP => 'Owner\'s group',
|
||||
self::EDIT_OWNER => 'Owner'
|
||||
];
|
||||
|
||||
public static $users = [];
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Mise à jour du module
|
||||
* Appelée par les fonctions index et config
|
||||
@ -179,9 +118,10 @@ class blog extends common {
|
||||
}
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','6.0']);
|
||||
}
|
||||
// Version 6.2
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '6.2', '<') ) {
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','6.2']);
|
||||
// Version 6.3
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '6.3', '<') ) {
|
||||
$this->setData(['module', $this->getUrl(0), 'texts', 'ReadMore', 'Lire la suite']);
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','6.3']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -255,20 +195,9 @@ class blog extends common {
|
||||
*/
|
||||
public function texts() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = '';
|
||||
$text[1] = 'Textes enregistrés';
|
||||
$text[2] = 'Textes visibles par un visiteur';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = '';
|
||||
$text[1] = '';
|
||||
$text[2] = 'Texts visible to a visitor';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Soumission du formulaire
|
||||
if($this->isPost()) {
|
||||
$this->setData(['module', $this->getUrl(0), 'texts',[
|
||||
@ -288,18 +217,18 @@ class blog extends common {
|
||||
'TinymceMaxi' => $this->getInput('blogTextsTinymceMaxi',helper::FILTER_STRING_SHORT),
|
||||
'TinymceCara' => $this->getInput('blogTextsTinymceCara',helper::FILTER_STRING_SHORT),
|
||||
'TinymceExceed' => $this->getInput('blogTextsTinymceExceed',helper::FILTER_STRING_SHORT),
|
||||
|
||||
'ReadMore' => $this->getInput('blogTextsReadMore',helper::FILTER_STRING_SHORT)
|
||||
]]);
|
||||
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[1],
|
||||
'notification' => $text['blog']['texts'][1],
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
|
||||
$this->addOutput([
|
||||
'title' => $text[2],
|
||||
'title' => $text['blog']['texts'][2],
|
||||
'view' => 'texts',
|
||||
]);
|
||||
}
|
||||
@ -308,18 +237,9 @@ class blog extends common {
|
||||
*/
|
||||
public function add() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Nouvel article créé';
|
||||
$text[1] = 'Nouvel article';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'New article created';
|
||||
$text[1] = 'New article';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Soumission du formulaire
|
||||
if($this->isPost()) {
|
||||
// Modification de l'userId
|
||||
@ -340,7 +260,7 @@ class blog extends common {
|
||||
$articleId, [
|
||||
'comment' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'comment']),
|
||||
'content' => $this->getInput('blogAddContent', null),
|
||||
'picture' => $this->getInput('blogAddPicture', helper::FILTER_STRING_SHORT, true),
|
||||
'picture' => $this->getInput('blogAddPicture', helper::FILTER_STRING_SHORT),
|
||||
'hidePicture' => $this->getInput('blogAddHidePicture', helper::FILTER_BOOLEAN),
|
||||
'pictureSize' => $this->getInput('blogAddPictureSize', helper::FILTER_STRING_SHORT),
|
||||
'picturePosition' => $this->getInput('blogAddPicturePosition', helper::FILTER_STRING_SHORT),
|
||||
@ -359,7 +279,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[0],
|
||||
'notification' => $text['blog']['add'][0],
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -371,12 +291,8 @@ class blog extends common {
|
||||
}
|
||||
unset($userFirstname);
|
||||
// Passage de la langue d'administration à Tinymce et flatpickr
|
||||
$lang_admin = 'fr_FR';
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_admin = 'en_GB';
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
$lang_admin = $text['blog']['add'][2];
|
||||
$lang_flatpickr = $text['blog']['add'][3];
|
||||
?>
|
||||
<script>
|
||||
var lang_admin = "<?php echo $lang_admin; ?>";
|
||||
@ -385,7 +301,7 @@ class blog extends common {
|
||||
<?php
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => $text[1],
|
||||
'title' => $text['blog']['add'][1],
|
||||
'vendor' => [
|
||||
'tinymce',
|
||||
'flatpickr'
|
||||
@ -399,24 +315,15 @@ class blog extends common {
|
||||
*/
|
||||
public function comment() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Tout effacer';
|
||||
$text[1] = 'Gestion des commentaires : ';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Delete all';
|
||||
$text[1] = 'Comment management : ';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
$comments = $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2),'comment']);
|
||||
self::$commentsDelete = template::button('blogCommentDeleteAll', [
|
||||
'class' => 'blogCommentDeleteAll buttonRed',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/commentDeleteAll/' . $this->getUrl(2).'/' . $_SESSION['csrf'] ,
|
||||
'ico' => 'cancel',
|
||||
'value' => $text[0]
|
||||
'value' => $text['blog']['comment'][0]
|
||||
]);
|
||||
// Dates suivant la langue d'administration
|
||||
setlocale(LC_TIME, 'fr_FR');
|
||||
@ -458,7 +365,7 @@ class blog extends common {
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => $text[1]. $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'title']),
|
||||
'title' => $text['blog']['comment'][1]. $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'title']),
|
||||
'view' => 'comment'
|
||||
]);
|
||||
}
|
||||
@ -468,18 +375,9 @@ class blog extends common {
|
||||
*/
|
||||
public function commentDelete() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Action non autorisée';
|
||||
$text[1] = 'Commentaire supprimé';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Action not permitted';
|
||||
$text[1] = 'Comment deleted';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Le commentaire n'existe pas
|
||||
if($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'comment', $this->getUrl(3)]) === null) {
|
||||
// Valeurs en sortie
|
||||
@ -492,7 +390,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[0]
|
||||
'notification' => $text['blog']['commentDelete'][0]
|
||||
]);
|
||||
}
|
||||
// Suppression
|
||||
@ -501,7 +399,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/comment/'.$this->getUrl(2),
|
||||
'notification' => $text[1],
|
||||
'notification' => $text['blog']['commentDelete'][1],
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -512,24 +410,15 @@ class blog extends common {
|
||||
*/
|
||||
public function commentDeleteAll() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Action non autorisée';
|
||||
$text[1] = 'Commentaires supprimés';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Action not allowed';
|
||||
$text[1] = 'Comments deleted';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Jeton incorrect
|
||||
if ($this->getUrl(3) !== $_SESSION['csrf']) {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[0]
|
||||
'notification' => $text['blog']['commentDeleteAll'][0]
|
||||
]);
|
||||
}
|
||||
// Suppression
|
||||
@ -538,7 +427,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/comment',
|
||||
'notification' => $text[1],
|
||||
'notification' => $text['blog']['commentDeleteAll'][1],
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -549,20 +438,9 @@ class blog extends common {
|
||||
*/
|
||||
public function commentApprove() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Action non autorisée';
|
||||
$text[1] = 'Commentaire approuvé';
|
||||
$text[2] = 'Commentaire rejeté';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Unauthorised action';
|
||||
$text[1] = 'Comment approved';
|
||||
$text[2] = 'Comment rejected';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Le commentaire n'existe pas
|
||||
if($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'comment', $this->getUrl(3)]) === null) {
|
||||
// Valeurs en sortie
|
||||
@ -575,7 +453,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[0]
|
||||
'notification' => $text['blog']['commentApprove'][0]
|
||||
]);
|
||||
}
|
||||
// Inversion du statut
|
||||
@ -592,7 +470,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/comment/'.$this->getUrl(2),
|
||||
'notification' => $approved ? $text[1] : $text[2],
|
||||
'notification' => $approved ? $text['blog']['commentApprove'][1] : $text['blog']['commentApprove'][2],
|
||||
'state' => $approved
|
||||
]);
|
||||
}
|
||||
@ -603,22 +481,9 @@ class blog extends common {
|
||||
*/
|
||||
public function config() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Modifications enregistrées';
|
||||
$text[1] = 'Configuration du module';
|
||||
$text[2] = ' à ';
|
||||
$states = self::$states;
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Saved changes';
|
||||
$text[1] = 'Module configuration';
|
||||
$text[2] = ' at ';
|
||||
$states = self::$states_en;
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Mise à jour des données de module
|
||||
if( null === $this->getData(['module', $this->getUrl(0), 'config', 'versionData']) )$this->update();
|
||||
// Soumission du formulaire
|
||||
@ -632,7 +497,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[0],
|
||||
'notification' => $text['blog']['config'][0],
|
||||
'state' => true
|
||||
]);
|
||||
} else {
|
||||
@ -692,7 +557,7 @@ class blog extends common {
|
||||
'<a href="' . helper::baseurl() . $this->getUrl(0) . '/' . $articleIds[$i] . '" target="_blank" >' .
|
||||
$this->getData(['module', $this->getUrl(0), 'posts', $articleIds[$i], 'title']) .
|
||||
'</a>',
|
||||
$date .$text[2]. $heure,
|
||||
$date .$text['blog']['config'][2]. $heure,
|
||||
$states[$this->getData(['module', $this->getUrl(0), 'posts', $articleIds[$i], 'state'])],
|
||||
// Bouton pour afficher les commentaires de l'article
|
||||
template::button('blogConfigComment' . $articleIds[$i], [
|
||||
@ -713,7 +578,7 @@ class blog extends common {
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => $text[1],
|
||||
'title' => $text['blog']['config'][1],
|
||||
'view' => 'config'
|
||||
]);
|
||||
}
|
||||
@ -724,18 +589,9 @@ class blog extends common {
|
||||
*/
|
||||
public function delete() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Action non autorisée';
|
||||
$text[1] = 'Article supprimé';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Unauthorised action';
|
||||
$text[1] = 'Article deleted';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
if($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2)]) === null) {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
@ -747,7 +603,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[0]
|
||||
'notification' => $text['blog']['delete'][0]
|
||||
]);
|
||||
}
|
||||
// Suppression
|
||||
@ -756,7 +612,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[1],
|
||||
'notification' => $text['blog']['delete'][1],
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -767,24 +623,15 @@ class blog extends common {
|
||||
*/
|
||||
public function edit() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Action non autorisée';
|
||||
$text[1] = 'Modifications enregistrées';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Unauthorised action';
|
||||
$text[1] = 'Changes saved';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Jeton incorrect
|
||||
if ($this->getUrl(3) !== $_SESSION['csrf']) {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[0]
|
||||
'notification' => $text['blog']['edit'][0]
|
||||
]);
|
||||
}
|
||||
// L'article n'existe pas
|
||||
@ -817,7 +664,7 @@ class blog extends common {
|
||||
$articleId, [
|
||||
'comment' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'comment']),
|
||||
'content' => $this->getInput('blogEditContent', null),
|
||||
'picture' => $this->getInput('blogEditPicture', helper::FILTER_STRING_SHORT, true),
|
||||
'picture' => $this->getInput('blogEditPicture', helper::FILTER_STRING_SHORT),
|
||||
'hidePicture' => $this->getInput('blogEditHidePicture', helper::FILTER_BOOLEAN),
|
||||
'pictureSize' => $this->getInput('blogEditPictureSize', helper::FILTER_STRING_SHORT),
|
||||
'picturePosition' => $this->getInput('blogEditPicturePosition', helper::FILTER_STRING_SHORT),
|
||||
@ -840,7 +687,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => $text[1],
|
||||
'notification' => $text['blog']['edit'][1],
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
@ -885,58 +732,8 @@ class blog extends common {
|
||||
*/
|
||||
public function index() {
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = '<br/>Une notification a été envoyée.';
|
||||
$text[1] = '<br/> Erreur de notification : ';
|
||||
$text[4] = 'Nouveau commentaire déposé';
|
||||
$text[5] = 'Bonjour';
|
||||
$text[6] = 'L\'article ';
|
||||
$text[7] = 'a reçu un nouveau commentaire';
|
||||
$text[8] = 'Pas encore de commentaire';
|
||||
$text[9] = 'Ecrire un commentaire';
|
||||
$text[10] = 'Nom';
|
||||
$text[11] = 'Commentaire avec maximum';
|
||||
$text[12] = 'caractères';
|
||||
$text[13] = 'commentaire';
|
||||
$text[14] = 'Commentaire déposé';
|
||||
$text[15] = 'Commentaire déposé en attente d\'approbation';
|
||||
$text[16] = 'Cet article ne reçoit pas de commentaire';
|
||||
$text[17] = 'Connexion';
|
||||
$text[18] = 'Editer';
|
||||
$text[19] = 'Annuler';
|
||||
$text[20] = 'Envoyer';
|
||||
$text[21] = 'Vous avez atteint le maximum de';
|
||||
$text[22] = 'caractères restants';
|
||||
$text[23] = 'Vous alliez dépasser le maximum de ';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = '<br/>A notification has been sent.';
|
||||
$text[1] = '<br/> Notification error : ';
|
||||
$text[4] = 'New comment submitted';
|
||||
$text[5] = 'Hello';
|
||||
$text[6] = 'The article ';
|
||||
$text[7] = ' has received a new comment';
|
||||
$text[8] = 'No comment yet';
|
||||
$text[9] = 'Write a comment';
|
||||
$text[10] = 'Name';
|
||||
$text[11] = 'Comment with maximum';
|
||||
$text[12] = 'characters';
|
||||
$text[13] = 'Comment';
|
||||
$text[14] = 'Comment filed';
|
||||
$text[15] = 'Comment submitted pending approval';
|
||||
$text[16] = 'This article does not receive comments';
|
||||
$text[17] = 'Login';
|
||||
$text[18] = 'Edit';
|
||||
$text[19] = 'Cancel';
|
||||
$text[20] = 'Send';
|
||||
$text[21] = 'You have reached the maximum of';
|
||||
$text[22] = 'Characters left';
|
||||
$text[23] = 'You were about to exceed the maximum of';
|
||||
break;
|
||||
}
|
||||
$param = 'blog';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
// Installation ?
|
||||
if( null === $this->getData(['module', $this->getUrl(0), 'config', 'versionData']) ){
|
||||
$this->setData(['module', $this->getUrl(0), 'config',[
|
||||
@ -946,22 +743,22 @@ class blog extends common {
|
||||
'versionData' => self::VERSION
|
||||
]]);
|
||||
$this->setData(['module', $this->getUrl(0), 'texts',[
|
||||
'NoComment' => $text[8],
|
||||
'Write' => $text[9],
|
||||
'Name' => $text[10],
|
||||
'Maxi' => $text[11],
|
||||
'Cara' => $text[12],
|
||||
'Comment' => $text[13],
|
||||
'CommentOK' => $text[14],
|
||||
'Waiting' => $text[15],
|
||||
'ArticleNoComment' => $text[16],
|
||||
'Connection' => $text[17],
|
||||
'Edit' => $text[18],
|
||||
'Cancel' => $text[19],
|
||||
'Send' => $text[20],
|
||||
'TinymceMaxi' => $text[21],
|
||||
'TinymceCara' => $text[22],
|
||||
'TinymceExceed' => $text[23],
|
||||
'NoComment' => $text['blog']['index'][8],
|
||||
'Write' => $text['blog']['index'][9],
|
||||
'Name' => $text['blog']['index'][10],
|
||||
'Maxi' => $text['blog']['index'][11],
|
||||
'Cara' => $text['blog']['index'][12],
|
||||
'Comment' => $text['blog']['index'][13],
|
||||
'CommentOK' => $text['blog']['index'][14],
|
||||
'Waiting' => $text['blog']['index'][15],
|
||||
'ArticleNoComment' => $text['blog']['index'][16],
|
||||
'Connection' => $text['blog']['index'][17],
|
||||
'Edit' => $text['blog']['index'][18],
|
||||
'Cancel' => $text['blog']['index'][19],
|
||||
'Send' => $text['blog']['index'][20],
|
||||
'TinymceMaxi' => $text['blog']['index'][21],
|
||||
'TinymceCara' => $text['blog']['index'][22],
|
||||
'TinymceExceed' => $text['blog']['index'][23],
|
||||
]]);
|
||||
} else{
|
||||
// Mise à jour des données de module
|
||||
@ -1022,9 +819,9 @@ class blog extends common {
|
||||
foreach($to as $key => $adress){
|
||||
$sent = $this->sendMail(
|
||||
$adress,
|
||||
$text[4],
|
||||
$text[5] . ' <strong>' . $firstname[$key] . ' ' . $lastname[$key] . '</strong>,<br><br>' .
|
||||
$text[6].'<a href="' . helper::baseUrl() . $this->getUrl(0) . '/ ' . $this->getUrl(1) . '">' . $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'title']) . '</a>'.$text[7].'<br><br>',
|
||||
$text['blog']['index'][4],
|
||||
$text['blog']['index'][5] . ' <strong>' . $firstname[$key] . ' ' . $lastname[$key] . '</strong>,<br><br>' .
|
||||
$text['blog']['index'][6].'<a href="' . helper::baseUrl() . $this->getUrl(0) . '/ ' . $this->getUrl(1) . '">' . $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'title']) . '</a>'.$text['blog']['index'][7].'<br><br>',
|
||||
''
|
||||
);
|
||||
if( $sent === false) $error++;
|
||||
@ -1032,7 +829,7 @@ class blog extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl() . '#comment',
|
||||
'notification' => ($error === 0 ? $notification . $text[0] : $notification . $text[1] . $sent),
|
||||
'notification' => ($error === 0 ? $notification . $text['blog']['index'][0] : $notification . $text['blog']['index'][1] . $sent),
|
||||
'state' => ($sent === true ? true : null)
|
||||
]);
|
||||
|
||||
|
196
module/blog/lang/en/lex_blog.php
Normal file
196
module/blog/lang/en/lex_blog.php
Normal file
@ -0,0 +1,196 @@
|
||||
<?php
|
||||
// Lexique du module Blog en anglais
|
||||
$text['blog_view']['add'][0] = 'Back';
|
||||
$text['blog_view']['add'][1] = 'Save as draft';
|
||||
$text['blog_view']['add'][2] = 'Publish';
|
||||
$text['blog_view']['add'][3] = 'General information';
|
||||
$text['blog_view']['add'][4] = 'Title';
|
||||
$text['blog_view']['add'][5] = 'Optional image. Optimal size of cover image : ';
|
||||
$text['blog_view']['add'][6] = 'Cover image';
|
||||
$text['blog_view']['add'][7] = 'Width of image';
|
||||
$text['blog_view']['add'][8] = 'Position';
|
||||
$text['blog_view']['add'][9] = 'The text of the article is adapted around the image';
|
||||
$text['blog_view']['add'][10] = 'Hide image in article';
|
||||
$text['blog_view']['add'][11] = 'Publication options';
|
||||
$text['blog_view']['add'][12] = 'Author';
|
||||
$text['blog_view']['add'][13] = 'The article is not visible until after the scheduled publication date';
|
||||
$text['blog_view']['add'][14] = 'Date of publication';
|
||||
$text['blog_view']['add'][15] = 'Edit / Delete';
|
||||
$text['blog_view']['add'][16] = 'Users in higher groups have unrestricted access to the article';
|
||||
$text['blog_view']['add'][17] = 'Comments';
|
||||
$text['blog_view']['add'][18] = 'Close comments';
|
||||
$text['blog_view']['add'][19] = 'Moderator approval';
|
||||
$text['blog_view']['add'][20] = 'Choice of maximum number of characters for each comment in the article, including html formatting';
|
||||
$text['blog_view']['add'][21] = 'Characters per comment';
|
||||
$text['blog_view']['add'][22] = 'Email notification';
|
||||
$text['blog_view']['add'][23] = 'Optional image';
|
||||
$text['blog_view']['comment'][0] = 'Return';
|
||||
$text['blog_view']['comment'][1] = 'Date';
|
||||
$text['blog_view']['comment'][2] = 'Content';
|
||||
$text['blog_view']['comment'][3] = 'Author';
|
||||
$text['blog_view']['comment'][4] = 'No comments';
|
||||
$text['blog_view']['config'][0] = 'Back';
|
||||
$text['blog_view']['config'][1] = 'Article';
|
||||
$text['blog_view']['config'][2] = 'Save';
|
||||
$text['blog_view']['config'][3] = 'Module settings';
|
||||
$text['blog_view']['config'][4] = 'RSS feed link';
|
||||
$text['blog_view']['config'][5] = 'Label text';
|
||||
$text['blog_view']['config'][6] = 'Articles per page';
|
||||
$text['blog_view']['config'][7] = 'Title';
|
||||
$text['blog_view']['config'][8] = 'Date published';
|
||||
$text['blog_view']['config'][9] = 'Status';
|
||||
$text['blog_view']['config'][10] = 'Comments';
|
||||
$text['blog_view']['config'][11] = 'No article';
|
||||
$text['blog_view']['config'][12] = 'Version No.';
|
||||
$text['blog_view']['config'][13] = 'Texts';
|
||||
$text['blog_view']['config'][14] = "Are you sure you want to delete this article ?";
|
||||
$text['blog_view']['edit'][0] = 'Back';
|
||||
$text['blog_view']['edit'][1] = 'Save as draft';
|
||||
$text['blog_view']['edit'][2] = 'Publish';
|
||||
$text['blog_view']['edit'][3] = 'General information';
|
||||
$text['blog_view']['edit'][4] = 'Title';
|
||||
$text['blog_view']['edit'][5] = 'Optional image. Optimal size of cover image : ';
|
||||
$text['blog_view']['edit'][6] = 'Cover image';
|
||||
$text['blog_view']['edit'][7] = 'Width of image';
|
||||
$text['blog_view']['edit'][8] = 'Position';
|
||||
$text['blog_view']['edit'][9] = 'The text of the article is adapted around the image';
|
||||
$text['blog_view']['edit'][10] = 'Hide image in article';
|
||||
$text['blog_view']['edit'][11] = 'Publication options';
|
||||
$text['blog_view']['edit'][12] = 'Author';
|
||||
$text['blog_view']['edit'][13] = 'The article is not visible until after the scheduled publication date';
|
||||
$text['blog_view']['edit'][14] = 'Date of publication';
|
||||
$text['blog_view']['edit'][15] = 'Edit / Delete';
|
||||
$text['blog_view']['edit'][16] = 'Users in higher groups have unrestricted access to the article';
|
||||
$text['blog_view']['edit'][17] = 'Comments';
|
||||
$text['blog_view']['edit'][18] = 'Close comments';
|
||||
$text['blog_view']['edit'][19] = 'Moderator approval';
|
||||
$text['blog_view']['edit'][20] = 'Choice of the maximum number of characters for each comment in the article, including html formatting.';
|
||||
$text['blog_view']['edit'][21] = 'Characters per comment';
|
||||
$text['blog_view']['edit'][22] = 'Email notification';
|
||||
$text['blog_view']['edit'][23] = 'Editors = editors + administrators<br/> Members = members + editors + administrators';
|
||||
$text['blog_view']['indext'][0] = 'Read more';
|
||||
$text['blog_view']['indext'][1] = 'No article';
|
||||
$text['blog_view']['texts'][0] = 'Back';
|
||||
$text['blog_view']['texts'][1] = 'Adapt these texts into the language of your visitors';
|
||||
$text['blog_view']['texts'][2] = 'Save';
|
||||
$text['blog_view']['texts'][3] = 'No comment yet';
|
||||
$text['blog_view']['texts'][4] = 'Write a comment';
|
||||
$text['blog_view']['texts'][5] = 'Name';
|
||||
$text['blog_view']['texts'][6] = 'Comment with maximum';
|
||||
$text['blog_view']['texts'][7] = 'characters';
|
||||
$text['blog_view']['texts'][8] = 'comment';
|
||||
$text['blog_view']['texts'][9] = 'Comment filed';
|
||||
$text['blog_view']['texts'][10] = 'Comment submitted pending approval';
|
||||
$text['blog_view']['texts'][11] = 'This article does not receive comments';
|
||||
$text['blog_view']['texts'][13] = 'Login';
|
||||
$text['blog_view']['texts'][15] = 'Edit';
|
||||
$text['blog_view']['texts'][16] = 'Cancel';
|
||||
$text['blog_view']['texts'][17] = 'Send';
|
||||
$text['blog_view']['texts'][18] = 'You have reached the maximum of';
|
||||
$text['blog_view']['texts'][19] = 'characters left';
|
||||
$text['blog_view']['texts'][20] = 'You were about to exceed the maximum of ';
|
||||
$text['blog_view']['texts'][25] = 'Version no.';
|
||||
$text['blog_view']['texts'][26] ='Read more';
|
||||
$text['blog_view']['article'][0] = 'en_GB';
|
||||
$text['blog']['config'][0] = 'Saved changes';
|
||||
$text['blog']['config'][1] = 'Module configuration';
|
||||
$text['blog']['config'][2] = ' at ';
|
||||
$text['blog']['index'][0] = '<br/>A notification has been sent.';
|
||||
$text['blog']['index'][1] = '<br/> Notification error : ';
|
||||
$text['blog']['index'][4] = 'New comment submitted';
|
||||
$text['blog']['index'][5] = 'Hello';
|
||||
$text['blog']['index'][6] = 'The article ';
|
||||
$text['blog']['index'][7] = ' has received a new comment';
|
||||
$text['blog']['index'][8] = 'No comment yet';
|
||||
$text['blog']['index'][9] = 'Write a comment';
|
||||
$text['blog']['index'][10] = 'Name';
|
||||
$text['blog']['index'][11] = 'Comment with maximum';
|
||||
$text['blog']['index'][12] = 'characters';
|
||||
$text['blog']['index'][13] = 'Comment';
|
||||
$text['blog']['index'][14] = 'Comment filed';
|
||||
$text['blog']['index'][15] = 'Comment submitted pending approval';
|
||||
$text['blog']['index'][16] = 'This article does not receive comments';
|
||||
$text['blog']['index'][17] = 'Login';
|
||||
$text['blog']['index'][18] = 'Edit';
|
||||
$text['blog']['index'][19] = 'Cancel';
|
||||
$text['blog']['index'][20] = 'Send';
|
||||
$text['blog']['index'][21] = 'You have reached the maximum of';
|
||||
$text['blog']['index'][22] = 'Characters left';
|
||||
$text['blog']['index'][23] = 'You were about to exceed the maximum of';
|
||||
$text['blog']['edit'][0] = 'Unauthorised action';
|
||||
$text['blog']['edit'][1] = 'Changes saved';
|
||||
$text['blog']['delete'][0] = 'Unauthorised action';
|
||||
$text['blog']['delete'][1] = 'Article deleted';
|
||||
$text['blog']['commentApprove'][0] = 'Unauthorised action';
|
||||
$text['blog']['commentApprove'][1] = 'Comment approved';
|
||||
$text['blog']['commentApprove'][2] = 'Comment rejected';
|
||||
$text['blog']['texts'][0] = '';
|
||||
$text['blog']['texts'][1] = '';
|
||||
$text['blog']['texts'][2] = 'Texts visible to a visitor';
|
||||
$text['blog']['add'][0] = 'New article created';
|
||||
$text['blog']['add'][1] = 'New article';
|
||||
$text['blog']['add'][2] = 'en_GB';
|
||||
$text['blog']['add'][3] = 'default';
|
||||
$text['blog']['comment'][0] = 'Delete all';
|
||||
$text['blog']['comment'][1] = 'Comment management : ';
|
||||
$text['blog']['commentDelete'][0] = 'Action not permitted';
|
||||
$text['blog']['commentDelete'][1] = 'Comment deleted';
|
||||
$text['blog']['commentDeleteAll'][0] = 'Action not allowed';
|
||||
$text['blog']['commentDeleteAll'][1] = 'Comments deleted';
|
||||
$states = [
|
||||
false => 'Draft',
|
||||
true => 'Published'
|
||||
];
|
||||
// Nombre d'objets par page
|
||||
$ItemsList = [
|
||||
4 => '4 articles',
|
||||
8 => '8 articles',
|
||||
12 => '12 articles',
|
||||
16 => '16 articles',
|
||||
22 => '22 articles'
|
||||
];
|
||||
$pictureSizes = [
|
||||
'20' => 'Very small',
|
||||
'30' => 'Small',
|
||||
'40' => 'Large',
|
||||
'50' => 'Very large',
|
||||
'100' => 'Full width',
|
||||
];
|
||||
$picturePositions = [
|
||||
'left' => 'Left',
|
||||
'right' => 'Right',
|
||||
];
|
||||
//Paramètre longueur maximale des commentaires en nb de caractères
|
||||
$commentLength = [
|
||||
'500' => '500',
|
||||
'1000' => '1000',
|
||||
'2000' => '2000',
|
||||
'5000' => '5000',
|
||||
'10000' => '10000'
|
||||
];
|
||||
// Permissions d'un article
|
||||
if( $param === 'blog' ){
|
||||
$articleConsent = [
|
||||
self::EDIT_ALL => 'All groups',
|
||||
self::EDIT_GROUP => 'Owner\'s group',
|
||||
self::EDIT_OWNER => 'Owner'
|
||||
];
|
||||
$groupNews = [
|
||||
self::GROUP_MEMBER => 'Member',
|
||||
self::GROUP_MODERATOR => 'Editor',
|
||||
self::GROUP_ADMIN => 'Administrator'
|
||||
];
|
||||
} elseif( $param === 'blog_view' ) {
|
||||
$articleConsent = [
|
||||
$module::EDIT_ALL => 'All groups',
|
||||
$module::EDIT_GROUP => 'Owner\'s group',
|
||||
$module::EDIT_OWNER => 'Owner'
|
||||
];
|
||||
$groupNews = [
|
||||
$module::GROUP_MEMBER => 'Member',
|
||||
$module::GROUP_MODERATOR => 'Editor',
|
||||
$module::GROUP_ADMIN => 'Administrator'
|
||||
];
|
||||
|
||||
}
|
||||
?>
|
193
module/blog/lang/fr/lex_blog.php
Normal file
193
module/blog/lang/fr/lex_blog.php
Normal file
@ -0,0 +1,193 @@
|
||||
<?php
|
||||
// Lexique du module Blog en français
|
||||
$text['blog_view']['add'][0] = 'Retour';
|
||||
$text['blog_view']['add'][1] = 'Enregistrer en brouillon';
|
||||
$text['blog_view']['add'][2] = 'Publier';
|
||||
$text['blog_view']['add'][3] = 'Informations générales';
|
||||
$text['blog_view']['add'][4] = 'Titre';
|
||||
$text['blog_view']['add'][5] = 'Image facultative. Taille optimale de l\'image de couverture : ';
|
||||
$text['blog_view']['add'][6] = 'Image de couverture';
|
||||
$text['blog_view']['add'][7] = 'Largeur de l\'image';
|
||||
$text['blog_view']['add'][8] = 'Position';
|
||||
$text['blog_view']['add'][9] = 'Le texte de l\'article est adapté autour de l\'image';
|
||||
$text['blog_view']['add'][10] = 'Masquer l\'image dans l\'article';
|
||||
$text['blog_view']['add'][11] = 'Options de publication';
|
||||
$text['blog_view']['add'][12] = 'Auteur';
|
||||
$text['blog_view']['add'][13] = 'L\'article n\'est visible qu\'après la date de publication prévue.';
|
||||
$text['blog_view']['add'][14] = 'Date de publication';
|
||||
$text['blog_view']['add'][15] = 'Edition / Suppression';
|
||||
$text['blog_view']['add'][16] = 'Les utilisateurs des groupes supérieurs accèdent à l\'article sans restriction';
|
||||
$text['blog_view']['add'][17] = 'Commentaires';
|
||||
$text['blog_view']['add'][18] = 'Fermer les commentaires';
|
||||
$text['blog_view']['add'][19] = 'Approbation par un modérateur';
|
||||
$text['blog_view']['add'][20] = 'Choix du nombre maximum de caractères pour chaque commentaire de l\'article, mise en forme html comprise.';
|
||||
$text['blog_view']['add'][21] = 'Caractères par commentaire';
|
||||
$text['blog_view']['add'][22] = 'Notification par email';
|
||||
$text['blog_view']['add'][23] = 'Image facultative';
|
||||
$text['blog_view']['comment'][0] = 'Retour';
|
||||
$text['blog_view']['comment'][1] = 'Date';
|
||||
$text['blog_view']['comment'][2] = 'Contenu';
|
||||
$text['blog_view']['comment'][3] = 'Auteur';
|
||||
$text['blog_view']['comment'][4] = 'Aucun commentaire.';
|
||||
$text['blog_view']['config'][0] = 'Retour';
|
||||
$text['blog_view']['config'][1] = 'Article';
|
||||
$text['blog_view']['config'][2] = 'Enregistrer';
|
||||
$text['blog_view']['config'][3] = 'Paramètres du module';
|
||||
$text['blog_view']['config'][4] = 'Lien du flux RSS';
|
||||
$text['blog_view']['config'][5] = 'Texte de l\'étiquette';
|
||||
$text['blog_view']['config'][6] = 'Articles par page';
|
||||
$text['blog_view']['config'][7] = 'Titre';
|
||||
$text['blog_view']['config'][8] = 'Date de publication';
|
||||
$text['blog_view']['config'][9] = 'Etat';
|
||||
$text['blog_view']['config'][10] = 'Commentaires';
|
||||
$text['blog_view']['config'][11] = 'Aucun article.';
|
||||
$text['blog_view']['config'][12] = 'Version n°';
|
||||
$text['blog_view']['config'][13] = 'Textes';
|
||||
$text['blog_view']['config'][14] = "Êtes-vous sûr de vouloir supprimer cet article ?";
|
||||
$text['blog_view']['edit'][0] = 'Retour';
|
||||
$text['blog_view']['edit'][1] = 'Enregistrer en brouillon';
|
||||
$text['blog_view']['edit'][2] = 'Publier';
|
||||
$text['blog_view']['edit'][3] = 'Informations générales';
|
||||
$text['blog_view']['edit'][4] = 'Titre';
|
||||
$text['blog_view']['edit'][5] = 'Image facultative. Taille optimale de l\'image de couverture : ';
|
||||
$text['blog_view']['edit'][6] = 'Image de couverture';
|
||||
$text['blog_view']['edit'][7] = 'Largeur de l\'image';
|
||||
$text['blog_view']['edit'][8] = 'Position';
|
||||
$text['blog_view']['edit'][9] = 'Le texte de l\'article est adapté autour de l\'image';
|
||||
$text['blog_view']['edit'][10] = 'Masquer l\'image dans l\'article';
|
||||
$text['blog_view']['edit'][11] = 'Options de publication';
|
||||
$text['blog_view']['edit'][12] = 'Auteur';
|
||||
$text['blog_view']['edit'][13] = 'L\'article n\'est visible qu\'après la date de publication prévue.';
|
||||
$text['blog_view']['edit'][14] = 'Date de publication';
|
||||
$text['blog_view']['edit'][15] = 'Edition / Suppression';
|
||||
$text['blog_view']['edit'][16] = 'Les utilisateurs des groupes supérieurs accèdent à l\'article sans restriction';
|
||||
$text['blog_view']['edit'][17] = 'Commentaires';
|
||||
$text['blog_view']['edit'][18] = 'Fermer les commentaires';
|
||||
$text['blog_view']['edit'][19] = 'Approbation par un modérateur';
|
||||
$text['blog_view']['edit'][20] = 'Choix du nombre maximum de caractères pour chaque commentaire de l\'article, mise en forme html comprise.';
|
||||
$text['blog_view']['edit'][21] = 'Caractères par commentaire';
|
||||
$text['blog_view']['edit'][22] = 'Notification par email';
|
||||
$text['blog_view']['edit'][23] = 'Editeurs = éditeurs + administrateurs<br/> Membres = membres + éditeurs + administrateurs';
|
||||
$text['blog_view']['indext'][0] = 'Lire la suite';
|
||||
$text['blog_view']['indext'][1] = 'Aucun article';
|
||||
$text['blog_view']['texts'][0] = 'Retour';
|
||||
$text['blog_view']['texts'][1] = 'Adapter ces textes dans la langue de vos visiteurs';
|
||||
$text['blog_view']['texts'][2] = 'Enregistrer';
|
||||
$text['blog_view']['texts'][3] = 'Pas encore de commentaire';
|
||||
$text['blog_view']['texts'][4] = 'Ecrire un commentaire';
|
||||
$text['blog_view']['texts'][5] = 'Nom';
|
||||
$text['blog_view']['texts'][6] = 'Commentaire avec maximum';
|
||||
$text['blog_view']['texts'][7] = 'caractères';
|
||||
$text['blog_view']['texts'][8] = 'commentaire';
|
||||
$text['blog_view']['texts'][9] = 'Commentaire déposé';
|
||||
$text['blog_view']['texts'][10] = 'Commentaire déposé en attente d\'approbation';
|
||||
$text['blog_view']['texts'][11] = 'Cet article ne reçoit pas de commentaire';
|
||||
$text['blog_view']['texts'][13] = 'Connexion';
|
||||
$text['blog_view']['texts'][15] ='Editer';
|
||||
$text['blog_view']['texts'][16] ='Annuler';
|
||||
$text['blog_view']['texts'][17] ='Envoyer';
|
||||
$text['blog_view']['texts'][18] ='Vous avez atteint le maximum de';
|
||||
$text['blog_view']['texts'][19] ='caractères restants';
|
||||
$text['blog_view']['texts'][20] ='Vous alliez dépasser le maximum de ';
|
||||
$text['blog_view']['texts'][25] ='Version n°';
|
||||
$text['blog_view']['texts'][26] ='Lire la suite';
|
||||
$text['blog_view']['article'][0] = 'fr_FR';
|
||||
$text['blog']['config'][0] = 'Modifications enregistrées';
|
||||
$text['blog']['config'][1] = 'Configuration du module';
|
||||
$text['blog']['config'][2] = ' à ';
|
||||
$text['blog']['index'][0] = '<br/>Une notification a été envoyée.';
|
||||
$text['blog']['index'][1] = '<br/> Erreur de notification : ';
|
||||
$text['blog']['index'][4] = 'Nouveau commentaire déposé';
|
||||
$text['blog']['index'][5] = 'Bonjour';
|
||||
$text['blog']['index'][6] = 'L\'article ';
|
||||
$text['blog']['index'][7] = 'a reçu un nouveau commentaire';
|
||||
$text['blog']['index'][8] = 'Pas encore de commentaire';
|
||||
$text['blog']['index'][9] = 'Ecrire un commentaire';
|
||||
$text['blog']['index'][10] = 'Nom';
|
||||
$text['blog']['index'][11] = 'Commentaire avec maximum';
|
||||
$text['blog']['index'][12] = 'caractères';
|
||||
$text['blog']['index'][13] = 'commentaire';
|
||||
$text['blog']['index'][14] = 'Commentaire déposé';
|
||||
$text['blog']['index'][15] = 'Commentaire déposé en attente d\'approbation';
|
||||
$text['blog']['index'][16] = 'Cet article ne reçoit pas de commentaire';
|
||||
$text['blog']['index'][17] = 'Connexion';
|
||||
$text['blog']['index'][18] = 'Editer';
|
||||
$text['blog']['index'][19] = 'Annuler';
|
||||
$text['blog']['index'][20] = 'Envoyer';
|
||||
$text['blog']['index'][21] = 'Vous avez atteint le maximum de';
|
||||
$text['blog']['index'][22] = 'caractères restants';
|
||||
$text['blog']['index'][23] = 'Vous alliez dépasser le maximum de ';
|
||||
$text['blog']['edit'][0] = 'Action non autorisée';
|
||||
$text['blog']['edit'][1] = 'Modifications enregistrées';
|
||||
$text['blog']['delete'][0] = 'Action non autorisée';
|
||||
$text['blog']['delete'][1] = 'Article supprimé';
|
||||
$text['blog']['commentApprove'][0] = 'Action non autorisée';
|
||||
$text['blog']['commentApprove'][1] = 'Commentaire approuvé';
|
||||
$text['blog']['commentApprove'][2] = 'Commentaire rejeté';
|
||||
$text['blog']['texts'][0] = '';
|
||||
$text['blog']['texts'][1] = 'Textes enregistrés';
|
||||
$text['blog']['texts'][2] = 'Textes visibles par un visiteur';
|
||||
$text['blog']['add'][0] = 'Nouvel article créé';
|
||||
$text['blog']['add'][1] = 'Nouvel article';
|
||||
$text['blog']['add'][2] = 'fr_FR';
|
||||
$text['blog']['add'][3] = 'fr';
|
||||
$text['blog']['comment'][0] = 'Tout effacer';
|
||||
$text['blog']['comment'][1] = 'Gestion des commentaires : ';
|
||||
$text['blog']['commentDelete'][0] = 'Action non autorisée';
|
||||
$text['blog']['commentDelete'][1] = 'Commentaire supprimé';
|
||||
$text['blog']['commentDeleteAll'][0] = 'Action non autorisée';
|
||||
$text['blog']['commentDeleteAll'][1] = 'Commentaires supprimés';
|
||||
$states = [
|
||||
false => 'Brouillon',
|
||||
true => 'Publié'
|
||||
];
|
||||
// Nombre d'objets par page
|
||||
$ItemsList = [
|
||||
4 => '4 articles',
|
||||
8 => '8 articles',
|
||||
12 => '12 articles',
|
||||
16 => '16 articles',
|
||||
22 => '22 articles'
|
||||
];
|
||||
$pictureSizes = [
|
||||
'20' => 'Très petite',
|
||||
'30' => 'Petite',
|
||||
'40' => 'Grande',
|
||||
'50' => 'Très Grande',
|
||||
'100' => 'Pleine largeur',
|
||||
];
|
||||
$picturePositions = [
|
||||
'left' => 'à gauche',
|
||||
'right' => 'à droite',
|
||||
];
|
||||
$commentLength = [
|
||||
'500' => '500',
|
||||
'1000' => '1000',
|
||||
'2000' => '2000',
|
||||
'5000' => '5000',
|
||||
'10000' => '10000'
|
||||
];
|
||||
if( $param === 'blog' ){
|
||||
$articleConsent = [
|
||||
self::EDIT_ALL => 'Tous les groupes',
|
||||
self::EDIT_GROUP => 'Groupe du propriétaire',
|
||||
self::EDIT_OWNER => 'Propriétaire'
|
||||
];
|
||||
$groupNews = [
|
||||
self::GROUP_MEMBER => 'Membre',
|
||||
self::GROUP_MODERATOR => 'Éditeur',
|
||||
self::GROUP_ADMIN => 'Administrateur'
|
||||
];
|
||||
} elseif( $param === 'blog_view' ) {
|
||||
$articleConsent = [
|
||||
$module::EDIT_ALL => 'Tous les groupes',
|
||||
$module::EDIT_GROUP => 'Groupe du propriétaire',
|
||||
$module::EDIT_OWNER => 'Propriétaire'
|
||||
];
|
||||
$groupNews = [
|
||||
$module::GROUP_MEMBER => 'Membre',
|
||||
$module::GROUP_MODERATOR => 'Éditeur',
|
||||
$module::GROUP_ADMIN => 'Administrateur'
|
||||
];
|
||||
}
|
||||
?>
|
@ -1,80 +1,22 @@
|
||||
<?php
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Retour';
|
||||
$text[1] = 'Enregistrer en brouillon';
|
||||
$text[2] = 'Publier';
|
||||
$text[3] = 'Informations générales';
|
||||
$text[4] = 'Titre';
|
||||
$text[5] = 'Taille optimale de l\'image de couverture : ';
|
||||
$text[6] = 'Image de couverture';
|
||||
$text[7] = 'Largeur de l\'image';
|
||||
$text[8] = 'Position';
|
||||
$text[9] = 'Le texte de l\'article est adapté autour de l\'image';
|
||||
$text[10] = 'Masquer l\'image dans l\'article';
|
||||
$text[11] = 'Options de publication';
|
||||
$text[12] = 'Auteur';
|
||||
$text[13] = 'L\'article n\'est visible qu\'après la date de publication prévue.';
|
||||
$text[14] = 'Date de publication';
|
||||
$text[15] = 'Edition / Suppression';
|
||||
$text[16] = 'Les utilisateurs des groupes supérieurs accèdent à l\'article sans restriction';
|
||||
$text[17] = 'Commentaires';
|
||||
$text[18] = 'Fermer les commentaires';
|
||||
$text[19] = 'Approbation par un modérateur';
|
||||
$text[20] = 'Choix du nombre maximum de caractères pour chaque commentaire de l\'article, mise en forme html comprise.';
|
||||
$text[21] = 'Caractères par commentaire';
|
||||
$text[22] = 'Notification par email';
|
||||
$pictureSizes = $module::$pictureSizes;
|
||||
$picturePositions = $module::$picturePositions;
|
||||
$articleConsent = $module::$articleConsent;
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Back';
|
||||
$text[1] = 'Save as draft';
|
||||
$text[2] = 'Publish';
|
||||
$text[3] = 'General information';
|
||||
$text[4] = 'Title';
|
||||
$text[5] = 'Optimal size of cover image : ';
|
||||
$text[6] = 'Cover image';
|
||||
$text[7] = 'Width of image';
|
||||
$text[8] = 'Position';
|
||||
$text[9] = 'The text of the article is adapted around the image';
|
||||
$text[10] = 'Hide image in article';
|
||||
$text[11] = 'Publication options';
|
||||
$text[12] = 'Author';
|
||||
$text[13] = 'The article is not visible until after the scheduled publication date';
|
||||
$text[14] = 'Date of publication';
|
||||
$text[15] = 'Edit / Delete';
|
||||
$text[16] = 'Users in higher groups have unrestricted access to the article';
|
||||
$text[17] = 'Comments';
|
||||
$text[18] = 'Close comments';
|
||||
$text[19] = 'Moderator approval';
|
||||
$text[20] = 'Choice of maximum number of characters for each comment in the article, including html formatting';
|
||||
$text[21] = 'Characters per comment';
|
||||
$text[22] = 'Email notification';
|
||||
$pictureSizes = $module::$pictureSizes_en;
|
||||
$picturePositions = $module::$picturePositions_en;
|
||||
$articleConsent = $module::$articleConsent_en;
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<?php echo template::formOpen('blogAddForm'); ?>
|
||||
$param = 'blog_view';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
echo template::formOpen('blogAddForm'); ?>
|
||||
<div class="row">
|
||||
<div class="col2">
|
||||
<?php echo template::button('blogAddBack', [
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'ico' => 'left',
|
||||
'value' => $text[0]
|
||||
'value' => $text['blog_view']['add'][0]
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3 offset5">
|
||||
<?php echo template::button('blogAddDraft', [
|
||||
'uniqueSubmission' => true,
|
||||
'value' => $text[1]
|
||||
'value' => $text['blog_view']['add'][1]
|
||||
]); ?>
|
||||
<?php echo template::hidden('blogAddState', [
|
||||
'value' => true
|
||||
@ -82,7 +24,7 @@ switch ($val) {
|
||||
</div>
|
||||
<div class="col2">
|
||||
<?php echo template::submit('blogAddPublish', [
|
||||
'value' => $text[2],
|
||||
'value' => $text['blog_view']['add'][2],
|
||||
'uniqueSubmission' => true
|
||||
]); ?>
|
||||
</div>
|
||||
@ -90,39 +32,39 @@ switch ($val) {
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo $text[3]; ?></h4>
|
||||
<h4><?php echo $text['blog_view']['add'][3]; ?></h4>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::text('blogAddTitle', [
|
||||
'label' => $text[4]
|
||||
'label' => $text['blog_view']['add'][4]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php $help ='';
|
||||
if( $this->getData(['theme', 'site', 'width']) !== '100%' ) $help = $text[5]. ((int) substr($this->getData(['theme', 'site', 'width']), 0, -2) - (20 * 2)) . ' x 350 pixels.';
|
||||
<?php $help =$text['blog_view']['add'][23];
|
||||
if( $this->getData(['theme', 'site', 'width']) !== '100%' ) $help = $text['blog_view']['add'][5]. ((int) substr($this->getData(['theme', 'site', 'width']), 0, -2) - (20 * 2)) . ' x 350 pixels.';
|
||||
echo template::file('blogAddPicture', [
|
||||
'help' => $help,
|
||||
'label' => $text[6],
|
||||
'label' => $text['blog_view']['add'][6],
|
||||
'type' => 1
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('blogAddPictureSize', $pictureSizes, [
|
||||
'label' => $text[7]
|
||||
'label' => $text['blog_view']['add'][7]
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('blogAddPicturePosition', $picturePositions, [
|
||||
'label' => $text[8],
|
||||
'help' => $text[9]
|
||||
'label' => $text['blog_view']['add'][8],
|
||||
'help' => $text['blog_view']['add'][9]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::checkbox('blogAddHidePicture', true, $text[10], [
|
||||
<?php echo template::checkbox('blogAddHidePicture', true, $text['blog_view']['add'][10], [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'hidePicture'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -136,27 +78,27 @@ switch ($val) {
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo $text[11]; ?></h4>
|
||||
<h4><?php echo $text['blog_view']['add'][11]; ?></h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::select('blogAddUserId', $module::$users, [
|
||||
'label' => $text[12],
|
||||
'label' => $text['blog_view']['add'][12],
|
||||
'selected' => $this->getUser('id'),
|
||||
'disabled' => $this->getUser('group') !== self::GROUP_ADMIN ? true : false
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::date('blogAddPublishedOn', [
|
||||
'help' => $text[13],
|
||||
'label' => $text[14],
|
||||
'help' => $text['blog_view']['add'][13],
|
||||
'label' => $text['blog_view']['add'][14],
|
||||
'value' => time()
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('blogAddConsent', $articleConsent , [
|
||||
'label' => $text[15],
|
||||
'label' => $text['blog_view']['add'][15],
|
||||
'selected' => $module::EDIT_ALL,
|
||||
'help' => $text[16]
|
||||
'help' => $text['blog_view']['add'][16]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
@ -166,27 +108,27 @@ switch ($val) {
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo $text[17]; ?></h4>
|
||||
<h4><?php echo $text['blog_view']['add'][17]; ?></h4>
|
||||
<div class="row">
|
||||
<div class="col4 ">
|
||||
<?php echo template::checkbox('blogAddCommentClose', true, $text[18]); ?>
|
||||
<?php echo template::checkbox('blogAddCommentClose', true, $text['blog_view']['add'][18]); ?>
|
||||
</div>
|
||||
<div class="col4 commentOptionsWrapper ">
|
||||
<?php echo template::checkbox('blogAddCommentApproved', true, $text[19]); ?>
|
||||
<?php echo template::checkbox('blogAddCommentApproved', true, $text['blog_view']['add'][19]); ?>
|
||||
</div>
|
||||
<div class="col4 commentOptionsWrapper">
|
||||
<?php echo template::select('blogAddCommentMaxlength', $module::$commentLength,[
|
||||
'help' => $text[20],
|
||||
'label' => $text[21]
|
||||
<?php echo template::select('blogAddCommentMaxlength', $commentLength,[
|
||||
'help' => $text['blog_view']['add'][20],
|
||||
'label' => $text['blog_view']['add'][21]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col3 commentOptionsWrapper offset2">
|
||||
<?php echo template::checkbox('blogAddCommentNotification', true, $text[22]); ?>
|
||||
<?php echo template::checkbox('blogAddCommentNotification', true, $text['blog_view']['add'][22]); ?>
|
||||
</div>
|
||||
<div class="col4 commentOptionsWrapper">
|
||||
<?php echo template::select('blogAddCommentGroupNotification', $module::$groupNews); ?>
|
||||
<?php echo template::select('blogAddCommentGroupNotification', $groupNews); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,5 +1,9 @@
|
||||
<?php
|
||||
// Adaptation de la langue dans tinymce en fonction de la langue de la page, originale ou en traduction rédigée
|
||||
// Lexique
|
||||
$param = 'blog_view';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// Adaptation de la langue dans tinymce pour la rédaction d'un commentaire en fonction de la langue de la page, originale ou en traduction rédigée
|
||||
$lang = $this->getData(['config', 'i18n', 'langBase']);
|
||||
if ( !empty($_COOKIE["DELTA_I18N_SITE"])) {
|
||||
if( $this->getInput('DELTA_I18N_SITE') !== 'base' ) $lang = $this->getInput('DELTA_I18N_SITE');
|
||||
@ -21,14 +25,7 @@ switch ($lang) {
|
||||
}
|
||||
// Si la langue n'est pas supportée par Tinymce la langue d'administration est utilisée
|
||||
if( ! file_exists( 'core/vendor/tinymce/langs/'.$lang_page.'.js' )){
|
||||
switch ($this->getData(['config', 'i18n', 'langAdmin'])) {
|
||||
case 'en' :
|
||||
$lang_page = 'en_GB';
|
||||
break;
|
||||
case 'fr' :
|
||||
$lang_page = 'fr_FR';
|
||||
break;
|
||||
}
|
||||
$lang_page = $text['blog_view']['article'][0];
|
||||
}
|
||||
echo '<script> var lang_admin = "'.$lang_page.'"; </script>';
|
||||
echo '<script src="'. helper::baseUrl(false).'core/vendor/tinymce/tinymce.min.js"></script>';
|
||||
@ -51,7 +48,8 @@ if( function_exists('datefmt_create') && function_exists('datefmt_create') && ex
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php $pictureSize = $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'pictureSize']) === null ? '100' : $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'pictureSize']); ?>
|
||||
<?php if ($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'hidePicture']) == false) {
|
||||
<?php if ( $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'hidePicture']) === false
|
||||
&& $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'picture']) !=='' ) {
|
||||
echo '<img class="blogArticlePicture blogArticlePicture' . $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'picturePosition']) .
|
||||
' pict' . $pictureSize . '" src="' . helper::baseUrl(false) . self::FILE_DIR.'source/' . $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'picture']) .
|
||||
'" alt="' . $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'picture']) . '">';
|
||||
|
@ -1,23 +1,7 @@
|
||||
<?php
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Retour';
|
||||
$text[1] = 'Date';
|
||||
$text[2] = 'Contenu';
|
||||
$text[3] = 'Auteur';
|
||||
$text[4] = 'Aucun commentaire.';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Return';
|
||||
$text[1] = 'Date';
|
||||
$text[2] = 'Content';
|
||||
$text[3] = 'Author';
|
||||
$text[4] = 'No comments';
|
||||
break;
|
||||
}
|
||||
$param = 'blog_view';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col2">
|
||||
@ -25,7 +9,7 @@ switch ($val) {
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'ico' => 'left',
|
||||
'value' => $text[0]
|
||||
'value' => $text['blog_view']['comment'][0]
|
||||
]); ?>
|
||||
</div>
|
||||
|
||||
@ -35,9 +19,9 @@ switch ($val) {
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php echo template::table([3, 5, 2, 1, 1], $module::$comments, [$text[1], $text[2], $text[3], '', '']); ?>
|
||||
<?php echo template::table([3, 5, 2, 1, 1], $module::$comments, [$text['blog_view']['comment'][1], $text['blog_view']['comment'][2], $text['blog_view']['comment'][3], '', '']); ?>
|
||||
<?php echo $module::$pages.'<br/>'; ?>
|
||||
<?php else: ?>
|
||||
</div>
|
||||
<?php echo template::speech($text[4]); ?>
|
||||
<?php echo template::speech($text['blog_view']['comment'][4]); ?>
|
||||
<?php endif; ?>
|
||||
|
@ -18,14 +18,7 @@
|
||||
*/
|
||||
$(".blogConfigDelete").on("click", function() {
|
||||
var _this = $(this);
|
||||
var text="";
|
||||
<?php if( $this->getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
|
||||
echo 'text = "Êtes-vous sûr de vouloir supprimer cet article ?";' ;
|
||||
}
|
||||
else{
|
||||
echo 'text = "Are you sure you want to delete this article ?";' ;
|
||||
} ?>
|
||||
return core.confirm(text, function() {
|
||||
return core.confirm(textConfirm, function() {
|
||||
$(location).attr("href", _this.attr("href"));
|
||||
});
|
||||
});
|
@ -1,93 +1,59 @@
|
||||
<?php
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Retour';
|
||||
$text[1] = 'Article';
|
||||
$text[2] = 'Enregistrer';
|
||||
$text[3] = 'Paramètres du module';
|
||||
$text[4] = 'Lien du flux RSS';
|
||||
$text[5] = 'Texte de l\'étiquette';
|
||||
$text[6] = 'Articles par page';
|
||||
$text[7] = 'Titre';
|
||||
$text[8] = 'Date de publication';
|
||||
$text[9] = 'Etat';
|
||||
$text[10] = 'Commentaires';
|
||||
$text[11] = 'Aucun article.';
|
||||
$text[12] = 'Version n°';
|
||||
$text[13] = 'Textes';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Back';
|
||||
$text[1] = 'Article';
|
||||
$text[2] = 'Save';
|
||||
$text[3] = 'Module settings';
|
||||
$text[4] = 'RSS feed link';
|
||||
$text[5] = 'Label text';
|
||||
$text[6] = 'Articles per page';
|
||||
$text[7] = 'Title';
|
||||
$text[8] = 'Date published';
|
||||
$text[9] = 'Status';
|
||||
$text[10] = 'Comments';
|
||||
$text[11] = 'No article';
|
||||
$text[12] = 'Version No.';
|
||||
$text[13] = 'Texts';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<?php echo template::formOpen('blogConfig'); ?>
|
||||
$param = 'blog_view';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
echo template::formOpen('blogConfig'); ?>
|
||||
<div class="row">
|
||||
<div class="col2">
|
||||
<?php echo template::button('blogConfigBack', [
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0), 'posts',
|
||||
'ico' => 'left',
|
||||
'value' => $text[0]
|
||||
'value' => $text['blog_view']['config'][0]
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2 offset4">
|
||||
<?php echo template::button('blogConfigTexts', [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/texts',
|
||||
'ico' => '',
|
||||
'value' => $text[13]
|
||||
'value' => $text['blog_view']['config'][13]
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2">
|
||||
<?php echo template::button('blogConfigAdd', [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/add',
|
||||
'ico' => 'plus',
|
||||
'value' => $text[1]
|
||||
'value' => $text['blog_view']['config'][1]
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2">
|
||||
<?php echo template::submit('blogConfigSubmit',[
|
||||
'value' => $text[2]
|
||||
'value' => $text['blog_view']['config'][2]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo $text[3]; ?></h4>
|
||||
<h4><?php echo $text['blog_view']['config'][3]; ?></h4>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::checkbox('blogConfigShowFeeds', true, $text[4], [
|
||||
<?php echo template::checkbox('blogConfigShowFeeds', true, $text['blog_view']['config'][4], [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'config', 'feeds']),
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<?php echo template::text('blogConfigFeedslabel', [
|
||||
'label' => $text[5],
|
||||
'label' => $text['blog_view']['config'][5],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'config', 'feedsLabel'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6 offset6">
|
||||
<?php echo template::select('blogConfigItemsperPage', $module::$ItemsList, [
|
||||
'label' => $text[6],
|
||||
<?php echo template::select('blogConfigItemsperPage', $ItemsList, [
|
||||
'label' => $text['blog_view']['config'][6],
|
||||
'selected' => $this->getData(['module', $this->getUrl(0),'config', 'itemsperPage'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -97,12 +63,15 @@ switch ($val) {
|
||||
</div>
|
||||
<?php echo template::formClose(); ?>
|
||||
<?php if($module::$articles): ?>
|
||||
<?php echo template::table([4, 4, 1, 1, 1, 1], $module::$articles, [$text[7], $text[8], $text[9], $text[10], '','']); ?>
|
||||
<?php echo template::table([4, 4, 1, 1, 1, 1], $module::$articles, [$text['blog_view']['config'][7], $text['blog_view']['config'][8], $text['blog_view']['config'][9], $text['blog_view']['config'][10], '','']); ?>
|
||||
<?php echo $module::$pages; ?>
|
||||
<?php else: ?>
|
||||
<?php echo template::speech($text[11]); ?>
|
||||
<?php echo template::speech($text['blog_view']['config'][11]); ?>
|
||||
<?php endif; ?>
|
||||
<div class="moduleVersion"><?php echo $text[12]; ?>
|
||||
<div class="moduleVersion"><?php echo $text['blog_view']['config'][12]; ?>
|
||||
<?php echo $module::VERSION; ?>
|
||||
</div>
|
||||
<script>
|
||||
var textConfirm = <?php echo '"'.$text['blog_view']['config'][14].'"'; ?>;
|
||||
</script>
|
||||
|
||||
|
@ -1,82 +1,22 @@
|
||||
<?php
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Retour';
|
||||
$text[1] = 'Enregistrer en brouillon';
|
||||
$text[2] = 'Publier';
|
||||
$text[3] = 'Informations générales';
|
||||
$text[4] = 'Titre';
|
||||
$text[5] = 'Taille optimale de l\'image de couverture : ';
|
||||
$text[6] = 'Image de couverture';
|
||||
$text[7] = 'Largeur de l\'image';
|
||||
$text[8] = 'Position';
|
||||
$text[9] = 'Le texte de l\'article est adapté autour de l\'image';
|
||||
$text[10] = 'Masquer l\'image dans l\'article';
|
||||
$text[11] = 'Options de publication';
|
||||
$text[12] = 'Auteur';
|
||||
$text[13] = 'L\'article n\'est visible qu\'après la date de publication prévue.';
|
||||
$text[14] = 'Date de publication';
|
||||
$text[15] = 'Edition / Suppression';
|
||||
$text[16] = 'Les utilisateurs des groupes supérieurs accèdent à l\'article sans restriction';
|
||||
$text[17] = 'Commentaires';
|
||||
$text[18] = 'Fermer les commentaires';
|
||||
$text[19] = 'Approbation par un modérateur';
|
||||
$text[20] = 'Choix du nombre maximum de caractères pour chaque commentaire de l\'article, mise en forme html comprise.';
|
||||
$text[21] = 'Caractères par commentaire';
|
||||
$text[22] = 'Notification par email';
|
||||
$text[23] = 'Editeurs = éditeurs + administrateurs<br/> Membres = membres + éditeurs + administrateurs';
|
||||
$pictureSizes = $module::$pictureSizes;
|
||||
$picturePositions = $module::$picturePositions;
|
||||
$articleConsent = $module::$articleConsent;
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Back';
|
||||
$text[1] = 'Save as draft';
|
||||
$text[2] = 'Publish';
|
||||
$text[3] = 'General information';
|
||||
$text[4] = 'Title';
|
||||
$text[5] = 'Optimal size of cover image : ';
|
||||
$text[6] = 'Cover image';
|
||||
$text[7] = 'Width of image';
|
||||
$text[8] = 'Position';
|
||||
$text[9] = 'The text of the article is adapted around the image';
|
||||
$text[10] = 'Hide image in article';
|
||||
$text[11] = 'Publication options';
|
||||
$text[12] = 'Author';
|
||||
$text[13] = 'The article is not visible until after the scheduled publication date';
|
||||
$text[14] = 'Date of publication';
|
||||
$text[15] = 'Edit / Delete';
|
||||
$text[16] = 'Users in higher groups have unrestricted access to the article';
|
||||
$text[17] = 'Comments';
|
||||
$text[18] = 'Close comments';
|
||||
$text[19] = 'Moderator approval';
|
||||
$text[20] = 'Choice of the maximum number of characters for each comment in the article, including html formatting.';
|
||||
$text[21] = 'Characters per comment';
|
||||
$text[22] = 'Email notification';
|
||||
$text[23] = 'Editors = editors + administrators<br/> Members = members + editors + administrators';
|
||||
$pictureSizes = $module::$pictureSizes_en;
|
||||
$picturePositions = $module::$picturePositions_en;
|
||||
$articleConsent = $module::$articleConsent_en;
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<?php echo template::formOpen('blogEditForm'); ?>
|
||||
$param = 'blog_view';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
echo template::formOpen('blogEditForm'); ?>
|
||||
<div class="row">
|
||||
<div class="col2">
|
||||
<?php echo template::button('blogEditBack', [
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'ico' => 'left',
|
||||
'value' => $text[0]
|
||||
'value' => $text['blog_view']['edit'][0]
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3 offset5">
|
||||
<?php echo template::button('blogEditDraft', [
|
||||
'uniqueSubmission' => true,
|
||||
'value' => $text[1]
|
||||
'value' => $text['blog_view']['edit'][1]
|
||||
]); ?>
|
||||
<?php echo template::hidden('blogEditState', [
|
||||
'value' => true
|
||||
@ -84,7 +24,7 @@ switch ($val) {
|
||||
</div>
|
||||
<div class="col2">
|
||||
<?php echo template::submit('blogEditSubmit', [
|
||||
'value' => $text[2],
|
||||
'value' => $text['blog_view']['edit'][2],
|
||||
'uniqueSubmission' => true,
|
||||
]); ?>
|
||||
</div>
|
||||
@ -92,43 +32,43 @@ switch ($val) {
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo $text[3]; ?></h4>
|
||||
<h4><?php echo $text['blog_view']['edit'][3]; ?></h4>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::text('blogEditTitle', [
|
||||
'label' => $text[4],
|
||||
'label' => $text['blog_view']['edit'][4],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'title'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php $help = '';
|
||||
if( $this->getData(['theme', 'site', 'width']) !== '100%' ) $help = $text[5] . ((int) substr($this->getData(['theme', 'site', 'width']), 0, -2) - (20 * 2)) . ' x 350 pixels.';
|
||||
<?php $help = $text['blog_view']['add'][23];
|
||||
if( $this->getData(['theme', 'site', 'width']) !== '100%' ) $help = $text['blog_view']['edit'][5] . ((int) substr($this->getData(['theme', 'site', 'width']), 0, -2) - (20 * 2)) . ' x 350 pixels.';
|
||||
echo template::file('blogEditPicture', [
|
||||
'help' => $help,
|
||||
'label' => $text[6],
|
||||
'label' => $text['blog_view']['edit'][6],
|
||||
'type' => 1,
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'picture'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::select('blogEditPictureSize', $pictureSizes, [
|
||||
'label' => $text[7],
|
||||
'label' => $text['blog_view']['edit'][7],
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'pictureSize'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::select('blogEditPicturePosition', $picturePositions, [
|
||||
'label' => $text[8],
|
||||
'label' => $text['blog_view']['edit'][8],
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'picturePosition']),
|
||||
'help' => $text[9]
|
||||
'help' => $text['blog_view']['edit'][9]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::checkbox('blogEditHidePicture', true, $text[10], [
|
||||
<?php echo template::checkbox('blogEditHidePicture', true, $text['blog_view']['edit'][10], [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'hidePicture'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -143,27 +83,27 @@ switch ($val) {
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo $text[11]; ?></h4>
|
||||
<h4><?php echo $text['blog_view']['edit'][11]; ?></h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::select('blogEditUserId', $module::$users, [
|
||||
'label' => $text[12],
|
||||
'label' => $text['blog_view']['edit'][12],
|
||||
'selected' => $this->getUser('id'),
|
||||
'disabled' => $this->getUser('group') !== self::GROUP_ADMIN ? true : false
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::date('blogEditPublishedOn', [
|
||||
'help' => $text[13],
|
||||
'label' => $text[14],
|
||||
'help' => $text['blog_view']['edit'][13],
|
||||
'label' => $text['blog_view']['edit'][14],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'publishedOn'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('blogEditConsent', $articleConsent , [
|
||||
'label' => $text[15],
|
||||
'label' => $text['blog_view']['edit'][15],
|
||||
'selected' => is_numeric($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'editConsent'])) ? $module::EDIT_GROUP : $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'editConsent']),
|
||||
'help' => $text[16]
|
||||
'help' => $text['blog_view']['edit'][16]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
@ -173,23 +113,23 @@ switch ($val) {
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo$text[17]; ?></h4>
|
||||
<h4><?php echo$text['blog_view']['edit'][17]; ?></h4>
|
||||
<div class="row">
|
||||
<div class="col4 ">
|
||||
<?php echo template::checkbox('blogEditCommentClose', true, $text[18], [
|
||||
<?php echo template::checkbox('blogEditCommentClose', true, $text['blog_view']['edit'][18], [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'commentClose'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4 commentOptionsWrapper ">
|
||||
<?php echo template::checkbox('blogEditCommentApproved', true, $text[19], [
|
||||
<?php echo template::checkbox('blogEditCommentApproved', true, $text['blog_view']['edit'][19], [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'commentApproved']),
|
||||
''
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4 commentOptionsWrapper">
|
||||
<?php echo template::select('blogEditCommentMaxlength', $module::$commentLength,[
|
||||
'help' => $text[20],
|
||||
'label' => $text[21],
|
||||
<?php echo template::select('blogEditCommentMaxlength', $commentLength,[
|
||||
'help' => $text['blog_view']['edit'][20],
|
||||
'label' => $text['blog_view']['edit'][21],
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'commentMaxlength'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -197,14 +137,14 @@ switch ($val) {
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col3 commentOptionsWrapper offset2">
|
||||
<?php echo template::checkbox('blogEditCommentNotification', true, $text[22], [
|
||||
<?php echo template::checkbox('blogEditCommentNotification', true, $text['blog_view']['edit'][22], [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'commentNotification']),
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4 commentOptionsWrapper">
|
||||
<?php echo template::select('blogEditCommentGroupNotification', $module::$groupNews, [
|
||||
<?php echo template::select('blogEditCommentGroupNotification', $groupNews, [
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'commentGroupNotification']),
|
||||
'help' => $text[23]
|
||||
'help' => $text['blog_view']['edit'][23]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,17 +1,7 @@
|
||||
<?php
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Lire la suite';
|
||||
$text[1] = 'Aucun article';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Read more';
|
||||
$text[1] = 'No article';
|
||||
break;
|
||||
}
|
||||
$param = 'blog_view';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
// Pour les dates suivant la langue de rédaction du site
|
||||
if( function_exists('datefmt_create') && function_exists('datefmt_create') && extension_loaded('intl') ){
|
||||
$zone = 'Europe/Paris';
|
||||
@ -29,24 +19,28 @@ if($module::$articles): ?>
|
||||
<div class="col12">
|
||||
<?php foreach($module::$articles as $articleId => $article): ?>
|
||||
<div class="row rowArticle">
|
||||
<div class="col3">
|
||||
<?php if ( file_exists(self::FILE_DIR . 'source/' . $article['picture']) ): ?>
|
||||
<?php // Déterminer le nom de la miniature
|
||||
$parts = explode('/',$article['picture']);
|
||||
$thumb = str_replace ($parts[(count($parts)-1)],'mini_' . $parts[(count($parts)-1)], $article['picture']);
|
||||
// Créer la miniature si manquante
|
||||
if (!file_exists( self::FILE_DIR . 'thumb/' . $thumb) ) {
|
||||
$this->makeThumb( self::FILE_DIR . 'source/' . $article['picture'],
|
||||
self::FILE_DIR . 'thumb/' . $thumb,
|
||||
self::THUMBS_WIDTH);
|
||||
}
|
||||
?>
|
||||
<a href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/' . $articleId; ?>" class="blogPicture">
|
||||
<img src="<?php echo helper::baseUrl(false) . self::FILE_DIR . 'thumb/' . $thumb; ?>" alt="<?php echo $article['picture']; ?>">
|
||||
</a>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<div class="col9">
|
||||
<?php if( $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'picture']) !=='' ){ ?>
|
||||
<div class="col3">
|
||||
<?php if ( file_exists(self::FILE_DIR . 'source/' . $article['picture']) ): ?>
|
||||
<?php // Déterminer le nom de la miniature
|
||||
$parts = explode('/',$article['picture']);
|
||||
$thumb = str_replace ($parts[(count($parts)-1)],'mini_' . $parts[(count($parts)-1)], $article['picture']);
|
||||
// Créer la miniature si manquante
|
||||
if (!file_exists( self::FILE_DIR . 'thumb/' . $thumb) ) {
|
||||
$this->makeThumb( self::FILE_DIR . 'source/' . $article['picture'],
|
||||
self::FILE_DIR . 'thumb/' . $thumb,
|
||||
self::THUMBS_WIDTH);
|
||||
}
|
||||
?>
|
||||
<a href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/' . $articleId; ?>" class="blogPicture">
|
||||
<img src="<?php echo helper::baseUrl(false) . self::FILE_DIR . 'thumb/' . $thumb; ?>" alt="<?php echo $article['picture']; ?>">
|
||||
</a>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<div class="col9">
|
||||
<?php } else { ?>
|
||||
<div class="col12">
|
||||
<?php } ?>
|
||||
<h2 class="blogTitle">
|
||||
<a href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/' . $articleId; ?>">
|
||||
<?php echo $article['title']; ?>
|
||||
@ -71,7 +65,7 @@ if($module::$articles): ?>
|
||||
</div>
|
||||
<p class="blogContent">
|
||||
<?php echo helper::subword(strip_tags($article['content']), 0, 400); ?>...
|
||||
<a href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/' . $articleId;?>"><?php echo $text[0]; ?></a>
|
||||
<a href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/' . $articleId;?>"><?php echo $this->getData(['module', $this->getUrl(0), 'texts', 'ReadMore']); ?></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -90,5 +84,5 @@ if($module::$articles): ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<?php echo template::speech($text[1]); ?>
|
||||
<?php echo template::speech($text['blog_view']['indext'][1]); ?>
|
||||
<?php endif; ?>
|
||||
|
@ -1,55 +1,9 @@
|
||||
<?php
|
||||
// Lexique
|
||||
$text = [];
|
||||
$val = $this->getData(['config', 'i18n', 'langAdmin']);
|
||||
switch ($val) {
|
||||
case 'fr' :
|
||||
$text[0] = 'Retour';
|
||||
$text[1] = 'Adapter ces textes dans la langue de vos visiteurs';
|
||||
$text[2] = 'Enregistrer';
|
||||
$text[3] = 'Pas encore de commentaire';
|
||||
$text[4] = 'Ecrire un commentaire';
|
||||
$text[5] = 'Nom';
|
||||
$text[6] = 'Commentaire avec maximum';
|
||||
$text[7] = 'caractères';
|
||||
$text[8] = 'commentaire';
|
||||
$text[9] = 'Commentaire déposé';
|
||||
$text[10] = 'Commentaire déposé en attente d\'approbation';
|
||||
$text[11] = 'Cet article ne reçoit pas de commentaire';
|
||||
$text[13] = 'Connexion';
|
||||
$text[15] ='Editer';
|
||||
$text[16] ='Annuler';
|
||||
$text[17] ='Envoyer';
|
||||
$text[18] ='Vous avez atteint le maximum de';
|
||||
$text[19] ='caractères restants';
|
||||
$text[20] ='Vous alliez dépasser le maximum de ';
|
||||
$text[25] ='Version n°';
|
||||
break;
|
||||
case 'en' :
|
||||
$text[0] = 'Back';
|
||||
$text[1] = 'Adapt these texts into the language of your visitors';
|
||||
$text[2] = 'Save';
|
||||
$text[3] = 'No comment yet';
|
||||
$text[4] = 'Write a comment';
|
||||
$text[5] = 'Name';
|
||||
$text[6] = 'Comment with maximum';
|
||||
$text[7] = 'characters';
|
||||
$text[8] = 'comment';
|
||||
$text[9] = 'Comment filed';
|
||||
$text[10] = 'Comment submitted pending approval';
|
||||
$text[11] = 'This article does not receive comments';
|
||||
$text[13] = 'Login';
|
||||
$text[15] = 'Edit';
|
||||
$text[16] = 'Cancel';
|
||||
$text[17] = 'Send';
|
||||
$text[18] = 'You have reached the maximum of';
|
||||
$text[19] = 'characters left';
|
||||
$text[20] = 'You were about to exceed the maximum of ';
|
||||
$text[25] = 'Version no.';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<?php // drapeau pour la langue d'origine ou la langue en traduction rédigée
|
||||
$param = 'blog_view';
|
||||
include('./module/blog/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_blog.php');
|
||||
|
||||
// drapeau pour la langue d'origine ou la langue en traduction rédigée
|
||||
if( $this->getInput('DELTA_I18N_SITE') === '' || $this->getInput('DELTA_I18N_SITE')=== null || $this->getInput('DELTA_I18N_SITE') === 'base'){
|
||||
$flag = $this->getData(['config', 'i18n', 'langBase']);
|
||||
}
|
||||
@ -64,35 +18,35 @@ else{
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . $this->getUrl(0). '/config',
|
||||
'ico' => 'left',
|
||||
'value' => $text[0]
|
||||
'value' => $text['blog_view']['texts'][0]
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2 offset8">
|
||||
<?php echo template::submit('blogTextsSubmit',[
|
||||
'value' => $text[2]
|
||||
'value' => $text['blog_view']['texts'][2]
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo $text[1]; ?><?php echo ' '.template::flag($flag, '20px');?></h4>
|
||||
<h4><?php echo $text['blog_view']['texts'][1]; ?><?php echo ' '.template::flag($flag, '20px');?></h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsNoComment', [
|
||||
'label' => $text[3],
|
||||
'label' => $text['blog_view']['texts'][3],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'NoComment'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsWrite', [
|
||||
'label' => $text[4],
|
||||
'label' => $text['blog_view']['texts'][4],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Write'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsName', [
|
||||
'label' => $text[5],
|
||||
'label' => $text['blog_view']['texts'][5],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Name'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -100,19 +54,19 @@ else{
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsMaxi', [
|
||||
'label' => $text[6],
|
||||
'label' => $text['blog_view']['texts'][6],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Maxi'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsCara', [
|
||||
'label' => $text[7],
|
||||
'label' => $text['blog_view']['texts'][7],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Cara'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsComment', [
|
||||
'label' => $text[8],
|
||||
'label' => $text['blog_view']['texts'][8],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Comment'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -120,19 +74,19 @@ else{
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsCommentOK', [
|
||||
'label' => $text[9],
|
||||
'label' => $text['blog_view']['texts'][9],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'CommentOK'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsWaiting', [
|
||||
'label' => $text[10],
|
||||
'label' => $text['blog_view']['texts'][10],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Waiting'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsArticleNoComment', [
|
||||
'label' => $text[11],
|
||||
'label' => $text['blog_view']['texts'][11],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'ArticleNoComment'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -140,19 +94,19 @@ else{
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsConnection', [
|
||||
'label' => $text[13],
|
||||
'label' => $text['blog_view']['texts'][13],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Connection'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsEdit', [
|
||||
'label' => $text[15],
|
||||
'label' => $text['blog_view']['texts'][15],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Edit'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsCancel', [
|
||||
'label' => $text[16],
|
||||
'label' => $text['blog_view']['texts'][16],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Cancel'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -160,19 +114,19 @@ else{
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsSend', [
|
||||
'label' => $text[17],
|
||||
'label' => $text['blog_view']['texts'][17],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'Send'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsTinymceMaxi', [
|
||||
'label' => $text[18],
|
||||
'label' => $text['blog_view']['texts'][18],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'TinymceMaxi'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsTinymceCara', [
|
||||
'label' => $text[19],
|
||||
'label' => $text['blog_view']['texts'][19],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'TinymceCara'])
|
||||
]); ?>
|
||||
</div>
|
||||
@ -180,16 +134,22 @@ else{
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsTinymceExceed', [
|
||||
'label' => $text[20],
|
||||
'label' => $text['blog_view']['texts'][20],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'TinymceExceed'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('blogTextsReadMore', [
|
||||
'label' => $text['blog_view']['texts'][26],
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'texts', 'ReadMore'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo template::formClose(); ?>
|
||||
<div class="moduleVersion"><?php echo $text[25]; ?>
|
||||
<div class="moduleVersion"><?php echo $text['blog_view']['texts'][25]; ?>
|
||||
<?php echo $module::VERSION; ?>
|
||||
</div>
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
class form extends common {
|
||||
|
||||
const VERSION = '4.1';
|
||||
const VERSION = '4.2';
|
||||
const REALNAME = 'Formulaire';
|
||||
const DELETE = true;
|
||||
const UPDATE = '0.0';
|
||||
@ -115,6 +115,9 @@ class form extends common {
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'uploadTxt',false]);
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','4.1']);
|
||||
}
|
||||
if( version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '4.1', '<') ){
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData', '4.2']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -654,16 +657,7 @@ class form extends common {
|
||||
$sent = false;
|
||||
$redirect = helper::baseUrl() . $this->getUrl(0);
|
||||
}
|
||||
// Passage de la langue d'administration à flatpickr
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
var lang_flatpickr = "<?php echo $lang_flatpickr; ?>";
|
||||
</script>
|
||||
<?php
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'notification' => ($sent === true ? $text[3] : $notice),
|
||||
@ -674,16 +668,7 @@ class form extends common {
|
||||
],
|
||||
]);
|
||||
}
|
||||
// Passage de la langue d'administration à flatpickr
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
var lang_flatpickr = "<?php echo $lang_flatpickr; ?>";
|
||||
</script>
|
||||
<?php
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'showBarEditButton' => true,
|
||||
|
@ -15,6 +15,15 @@
|
||||
*/
|
||||
|
||||
|
||||
/* Passage de la langue d'administration à flatpickr */
|
||||
<?php
|
||||
$lang_flatpickr = 'fr';
|
||||
if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en'){
|
||||
$lang_flatpickr = 'default';
|
||||
}
|
||||
?>
|
||||
var lang_flatpickr = "<?php echo $lang_flatpickr; ?>";
|
||||
|
||||
$( "#formFileReset" ).click(function() {
|
||||
$( "#fileToUpload" ).val('');
|
||||
});
|
||||
|
@ -57,19 +57,17 @@ switch ($val) {
|
||||
<?php echo template::checkbox('formInput[' . $index . ']', true, $input['name'], [
|
||||
'checked' => $this->getData([ 'module', $this->getUrl(0), 'draft', 'checkbox'])
|
||||
]); ?>
|
||||
|
||||
|
||||
|
||||
<?php elseif($input['type'] === $module::TYPE_FILE): ?>
|
||||
<label class='formLabel'> <?php echo $input['name']; ?> </label>
|
||||
<div class="formInputFile">
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="5000000">
|
||||
<input type="file" name="fileToUpload" id="fileToUpload">
|
||||
<input type="button" id="formFileReset" value="X">
|
||||
</div><br>
|
||||
</div>
|
||||
<?php elseif($input['type'] === $module::TYPE_LABEL): ?>
|
||||
<p class='formLabel'> <?php echo $input['name']; ?> </p>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php endforeach; ?>
|
||||
<?php if($this->getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>
|
||||
<div class="row">
|
||||
|
@ -8,7 +8,8 @@ class init extends news {
|
||||
'height' => -1,
|
||||
'versionData' => self::VERSION,
|
||||
'hiddeTitle' => false,
|
||||
'sameHeight' => false
|
||||
'sameHeight' => false,
|
||||
'noMargin' => true
|
||||
];
|
||||
|
||||
public static $defaultTheme = [
|
||||
|
3
module/statislite/ressource/tmp/.htaccess
Normal file
3
module/statislite/ressource/tmp/.htaccess
Normal file
@ -0,0 +1,3 @@
|
||||
<Files "*.json">
|
||||
Require all granted
|
||||
</Files>
|
@ -31,7 +31,7 @@ class statislite extends common {
|
||||
'conversionTime' => self::GROUP_VISITOR
|
||||
];
|
||||
|
||||
const VERSION = '4.3';
|
||||
const VERSION = '4.4';
|
||||
const REALNAME = 'Statislite';
|
||||
const DELETE = true;
|
||||
const UPDATE = '2.6';
|
||||
@ -82,9 +82,12 @@ class statislite extends common {
|
||||
*/
|
||||
private function update() {
|
||||
|
||||
// Installation ou mise à jour vers la version 4.3
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '4.3', '<') ) {
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','4.3']);
|
||||
// Installation ou mise à jour vers la version 4.4
|
||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '4.4', '<') ) {
|
||||
if( file_exists("./site/data/statislite/module/json/.htaccess") ) unlink("./site/data/statislite/module/json/.htaccess");
|
||||
if( file_exists("./site/data/statislite/module/json_sauve/.htaccess") ) unlink("./site/data/statislite/module/json_sauve/.htaccess");
|
||||
copy('./module/statislite/ressource/tmp/.htaccess', self::DATAMODULE.'/tmp/.htaccess');
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData','4.4']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,15 +98,6 @@ class statislite extends common {
|
||||
// Lexique
|
||||
include('./module/statislite/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_statislite.php');
|
||||
|
||||
// Mise à jour des données de module s'il existe
|
||||
if( null !== $this->getData(['module', $this->getUrl(0), 'config', 'versionData']) ) $this->update();
|
||||
|
||||
// Installation des ressources à la création de la page
|
||||
if( $this->getData(['module', $this->getUrl(0), 'config', 'config']) !== true){
|
||||
// Copie des fichiers de module/statislite/ressource/ vers self::DATAMODULE
|
||||
$this->custom_copy('./module/statislite/ressource', self::DATAMODULE);
|
||||
}
|
||||
|
||||
// Détection d'un changement de nom de la page statistique pour mettre à jour listeQS
|
||||
if( is_file( self::$fichiers_json.'filtre_primaire.json')){
|
||||
$json = file_get_contents(self::$fichiers_json.'filtre_primaire.json');
|
||||
@ -445,8 +439,14 @@ class statislite extends common {
|
||||
// Lexique
|
||||
include('./module/statislite/lang/'. $this->getData(['config', 'i18n', 'langAdmin']) . '/lex_statislite.php');
|
||||
|
||||
// Si le module n'existe pas, on le crée avec des valeurs par défaut et on demande une validation de la configuration
|
||||
// Si le module n'existe pas, copie des ressources, on le crée avec des valeurs par défaut et on demande une validation de la configuration
|
||||
if( $this->getData(['module', $this->getUrl(0), 'config', 'config']) !== true){
|
||||
// Copie des fichiers de module/statislite/ressource/ vers self::DATAMODULE
|
||||
if( !is_dir( self::DATAMODULE)) mkdir( self::DATAMODULE, 0755, true);
|
||||
$this->custom_copy('./module/statislite/ressource', self::DATAMODULE);
|
||||
if( !is_dir( self::DATAMODULE.'/json' )) mkdir( self::DATAMODULE.'/json', 0755);
|
||||
if( !is_dir( self::DATAMODULE.'/json_sauve' ))mkdir( self::DATAMODULE.'/json_sauve', 0755);
|
||||
|
||||
$this->setData(['module', $this->getUrl(0), 'config',[
|
||||
'timeVisiteMini' => '30',
|
||||
'timePageMini' => '5',
|
||||
|
@ -1,3 +1 @@
|
||||
# Bloque l'accès aux sauvegardes
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Require all denied
|
||||
|
@ -1,5 +1,3 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files ~ "\.(htaccess|json|log)$">
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
<Files ~ "\.(json|log)$">
|
||||
Require all denied
|
||||
</Files>
|
@ -1,14 +0,0 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files *.txt>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
||||
<Files *.csv>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
||||
# Bloque l'accès htaccess
|
||||
<Files .htaccess>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
@ -1,4 +0,0 @@
|
||||
# Autorise l'accès aux fichiers json par les scripts js
|
||||
<Files *.json>
|
||||
allow from all
|
||||
</Files>
|
@ -1,10 +0,0 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files *.json>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
||||
# Bloque l'accès htaccess
|
||||
<Files .htaccess>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
@ -1,10 +0,0 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files *.json>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
||||
# Bloque l'accès htaccess
|
||||
<Files .htaccess>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
@ -1,4 +0,0 @@
|
||||
# Autorise l'accès de sessionInvalide.json. et robots.json
|
||||
<Files *.json>
|
||||
allow from all
|
||||
</Files>
|
@ -1,14 +0,0 @@
|
||||
# Bloque l'accès aux données
|
||||
<Files *.txt>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
||||
<Files *.csv>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
||||
# Bloque l'accès htaccess
|
||||
<Files .htaccess>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</Files>
|
@ -1,8 +1,4 @@
|
||||
# Bloque l'accès aux données temporaires
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
# Sauf l'accès aux images pour le captcha
|
||||
Require all denied
|
||||
<Files *.png>
|
||||
Order Allow,Deny
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Files>
|
||||
|
Loading…
Reference in New Issue
Block a user