Compare commits

...

27 Commits

Author SHA1 Message Date
9356a75946 Bug User Import userId undefine 2025-01-09 19:56:40 +01:00
845afe7dbb 1.17.01 2025-01-08 22:49:46 +01:00
8bfcb0163a Merge branch 'master' of https://forge.chapril.org/ZwiiCMS-Team/ZwiiCampus 2025-01-08 22:46:54 +01:00
057b5f7dd8 Bug de redirection 2025-01-08 22:46:15 +01:00
Fred Tempez
549f752aea Readme 17 2025-01-06 18:15:38 +01:00
Fred Tempez
07d57d83ac readme 16.1 2025-01-06 18:15:09 +01:00
Fred Tempez
85f6c43d79 revert sitemapgenerator v5 2025-01-06 18:08:00 +01:00
Fred Tempez
8a07bf69a7 revert sitemapGenerator v5 2025-01-06 18:07:42 +01:00
Fred Tempez
978bfb2cdc 1.17 RFM $fldr non défini 2025-01-06 17:38:20 +01:00
Fred Tempez
b297e2072d Update sitemap v5 2025-01-06 16:39:49 +01:00
Fred Tempez
018b3ebc5e 1.17 siteMap v5 2025-01-06 16:37:32 +01:00
Fred Tempez
b74f0a8949 1.16.02 erreur de type $db 2025-01-06 16:24:01 +01:00
Fred Tempez
d12d7b6ddb 1.16.02 Remplacement du nom générique de classe dans les vues. 2025-01-06 16:20:55 +01:00
Fred Tempez
1a746acfec Remplacement du nom générique de classe dans les vues des modules 2025-01-06 16:19:43 +01:00
Fred Tempez
b147f44776 - Remplacement du nom générique de classe dans les vues. 2025-01-06 16:17:44 +01:00
Fred Tempez
9b92e29a96 Libellé : clé de sécurité 2025-01-06 15:54:20 +01:00
Fred Tempez
6104123582 Suscribe 2.6 2025-01-05 18:00:52 +01:00
Fred Tempez
3736c2ebc9 suscribe 2.6 2025-01-05 17:58:54 +01:00
384dc2503b Supprime détection erreur objet db 2025-01-03 22:09:37 +01:00
b5ba4e755b 1.16.01 bug installation page par défaut 2025-01-03 21:59:43 +01:00
Fred Tempez
2a44e130f5 Editeur et admins ont accès aux stattistiques 2025-01-02 16:48:51 +01:00
Fred Tempez
65c9aa167d 1.16 Nom des espaces en clair dans la gestion des espaces
Lecture des statitiques par les membres :
- pas depuis un espace ouvert
- pas d'export pour les membres
2025-01-01 15:58:45 +01:00
Fred Tempez
fb06720a00 Consultation par les utilisateurs de leur rapport de stat WIP
Manque l'export du rapport
2024-12-31 16:39:00 +01:00
Fred Tempez
23187d463f La hauteur du menu est géré par lquery et non par le theme 2024-12-31 09:22:27 +01:00
Fred Tempez
aa9c231327 1.16 Fixe la hauteur maximale de la barre de menu 2024-12-30 23:21:45 +01:00
Fred Tempez
3b661fa9e2 1.16.00
- Nouvelle option de masquage des pages dans le menu lorsque les pages sont listées dans une barre latérale et que le menu ne doit afficher que les commandes extra
- Remplace les variables $module par le nom de la classe
2024-12-30 20:52:41 +01:00
1899d2f260 1.15.04 bug formulaire config 2024-12-23 21:11:54 +01:00
127 changed files with 1875 additions and 1709 deletions

View File

@ -1,4 +1,4 @@
# ZwiiCampus 1.15.03
# ZwiiCampus 1.17.01
ZwiiCampus (Learning Management System) est logiciel auteur destiné à mettre en ligne des tutoriels. Il dispose de plusieurs modalités d'ouverture et d'accès des contenus. Basé sur la version 13 du CMS Zwii, la structure logicielle est solide, le framework de Zwii est éprouvé.

View File

@ -21,7 +21,7 @@ class Dot implements \ArrayAccess, \Iterator, \Countable
*
* @param array|null $data Data
*/
public function __construct(array $data = null)
public function __construct(?array $data = null)
{
if (is_array($data)) {
$this->data = $data;
@ -101,7 +101,7 @@ class Dot implements \ArrayAccess, \Iterator, \Countable
}
} else {
// Iterate path
$keys = explode('.', (string) $key);
$keys = explode('.', (string)$key);
if ($pop === true) {
array_pop($keys);
}
@ -199,7 +199,7 @@ class Dot implements \ArrayAccess, \Iterator, \Countable
*/
public function has($key)
{
$keys = explode('.', (string) $key);
$keys = explode('.', (string)$key);
$data = &$this->data;
foreach ($keys as $key) {
if (!isset($data[$key])) {
@ -371,7 +371,7 @@ class Dot implements \ArrayAccess, \Iterator, \Countable
*/
public function isEmpty(): bool
{
return !(bool) count($this->data);
return !(bool)count($this->data);
}
/**
@ -391,7 +391,7 @@ class Dot implements \ArrayAccess, \Iterator, \Countable
*/
public function toJson()
{
return json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
return json_encode($this->data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
}
/**

View File

@ -496,7 +496,7 @@ class layout extends common
public function showMenu()
{
// Met en forme les items du menu
$itemsLeft = $this->formatMenu(false);
$itemsLeft = $this->formatMenu();
// Menu extra
$itemsRight = $this->formatMenu(true);
@ -519,6 +519,46 @@ class layout extends common
}
}
/**
* Affiche le bouton d'affichage des rapports individuels de consultation
*/
if (
$this->getData(['theme', 'menu', 'userReport']) === true
&& self::$siteContent !== 'home'
// Pas de statistiques pour les espaces ouverts
&& $this->getData(['course', self::$siteContent, 'enrolment']) >= 1
) {
$href = '';
switch ($this->getUser('group')) {
case self::GROUP_MEMBER:
$href = helper::baseUrl() . 'course/userReport/' . self::$siteContent . '/' . $this->getUser('id');
break;
case self::GROUP_EDITOR:
if (
$this->getData(['enrolment', self::$siteContent ]) && ($this->getUser('id') === $this->getData(['course', self::$siteContent , 'author']))
// Permission d'accéder aux espaces dans lesquels le membre est inscrit
||
($this->getData(['enrolment', self::$siteContent ])
&& $this->getUser('permission', __CLASS__, 'tutor') === true
&& array_key_exists($this->getUser('id'), $this->getData(['enrolment', self::$siteContent ])))
)
{
$href = helper::baseUrl() . 'course/users/' . self::$siteContent;
}
break;
case self::GROUP_ADMIN:
$href = helper::baseUrl() . 'course/users/' . self::$siteContent;
}
if ($href) {
$itemsRight .= '<li>' . template::ico('chart-line', [
'help' => 'Rapport des consultations',
'margin' => 'all',
'href' => $href
]) . '</li>';
}
}
/**
* Commandes pour les membres simples
* Affichage des boutons gestionnaire de fichiers et mon compte
@ -589,7 +629,7 @@ class layout extends common
// Menu extra ou standard
if (
// Absence de la position extra, la page est toujours affichée à gauche.
// Absence de la position extra, la page est toujours affichée à gauche.
($this->getData(['page', $parentPageId, 'extraPosition']) !== NULL || $extra === true)
&&
$this->getData(['page', $parentPageId, 'extraPosition']) !== $extra
@ -1231,7 +1271,6 @@ class layout extends common
if ($style) {
echo '<style type="text/css">' . helper::minifyCss(htmlspecialchars_decode($style)) . '</style>';
}
}
}
}
@ -1363,4 +1402,4 @@ class layout extends common
$items .= '</div></div></div>';
echo $items;
}
}
}

View File

@ -251,6 +251,25 @@ class core extends common
}
$css .= '#toggle span,#menu a{padding:' . $this->getData(['theme', 'menu', 'height']) . ';font-family:' . $fonts[$this->getData(['theme', 'menu', 'font'])] . ';font-weight:' . $this->getData(['theme', 'menu', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'menu', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'menu', 'textTransform']) . '}';
// Déterminer la hauteur max du menu pour éviter les débordements
$padding = $this->getData(['theme', 'menu', 'height']); // Par exemple, "10px 20px"
$fontSize = (float) $this->getData(['theme', 'text', 'fontSize']); // Taille de référence en pixels
$menuFontSize = (float) $this->getData(['theme', 'menu', 'fontSize']); // Taille du menu en em
// Extraire la première valeur du padding (par exemple "10px 20px" -> "10px")
$firstPadding = (float) explode(" ", $padding)[0]; // Nous prenons la première valeur, supposée être en px
// Convertir menuFontSize (en em) en pixels
$menuFontSizeInPx = $menuFontSize * $fontSize;
// Calculer la hauteur totale
$totalHeight = $firstPadding + $fontSize + $menuFontSizeInPx;
// Fixer la hauteur maximale de la barre de menu
// $css .= '#menuLeft, nav, a.active {max-height:' . $totalHeight . 'px}';
// Pied de page
$colors = helper::colorVariants($this->getData(['theme', 'footer', 'backgroundColor']));
if ($this->getData(['theme', 'footer', 'margin'])) {
@ -533,7 +552,7 @@ class core extends common
and $this->getData(['course', self::$siteContent, 'enrolment']) > 0
) {
$_SESSION['ZWII_SITE_CONTENT'] = 'home';
header(header: 'Location:' . helper::baseUrl(true) . 'swap/' . self::$siteContent);
header('Location:' . helper::baseUrl(true) . 'swap/' . self::$siteContent);
exit();
}
}
@ -629,7 +648,6 @@ class core extends common
'inlineStyle' => $inlineStyle,
'inlineScript' => $inlineScript,
]);
}
// Importe le module
else {
@ -858,8 +876,7 @@ class core extends common
// Pour éviter une 404, bascule dans l'espace correct si la page existe dans cet espace.
// Parcourir les espaces y compris l'accueil
foreach (array_merge(['home' => []], $this->getData(['course'])) as $courseId => $value) {
;
foreach (array_merge(['home' => []], $this->getData(['course'])) as $courseId => $value) {;
if (
// l'espace existe
is_dir(common::DATA_DIR . $courseId) &&
@ -914,25 +931,25 @@ class core extends common
]);
}
switch ($this->output['display']) {
// Layout brut
// Layout brut
case common::DISPLAY_RAW:
echo $this->output['content'];
break;
// Layout vide
// Layout vide
case common::DISPLAY_LAYOUT_BLANK:
require 'core/layout/blank.php';
break;
// Affichage en JSON
// Affichage en JSON
case common::DISPLAY_JSON:
header('Content-Type: application/json');
echo json_encode($this->output['content']);
break;
// RSS feed
// RSS feed
case common::DISPLAY_RSS:
header('Content-type: application/rss+xml; charset=UTF-8');
echo $this->output['content'];
break;
// Layout allégé
// Layout allégé
case common::DISPLAY_LAYOUT_LIGHT:
ob_start();
require 'core/layout/light.php';
@ -943,7 +960,7 @@ class core extends common
$content = preg_replace('/[\t ]+/u', ' ', $content);
echo $content;
break;
// Layout principal
// Layout principal
case common::DISPLAY_LAYOUT_MAIN:
ob_start();
require 'core/layout/main.php';
@ -956,4 +973,4 @@ class core extends common
break;
}
}
}
}

View File

@ -221,7 +221,6 @@ core.start = function () {
var e = new Date();
e.setFullYear(e.getFullYear() + 1);
var expires = "expires=" + e.toUTCString() + ";";
// Stocke le cookie d'acceptation
document.cookie = "ZWII_COOKIE_CONSENT=true; samesite=lax; " + domain + path + expires;
});
@ -254,8 +253,6 @@ core.start = function () {
}
});
/**
* Choix de page dans la barre de membre
*/
@ -372,9 +369,33 @@ core.start = function () {
}
}
}).trigger("resize");
/**
* Masque les pages du menu si demandé dans la configuration du thème du menu
*/
// Option active
var hidePages = "<?php echo $this->getData(['theme', 'menu', 'hidePages'])?>";
// Récupérer les valeurs de dimensions
var padding = "<?php echo $this->getData(['theme', 'menu', 'height'])?>";
var firstPadding = parseFloat(padding.split(" ")[0]); // Convertir la première valeur en nombre
var fontSize = parseFloat("<?php echo $this->getData(['theme', 'text', 'fontSize'])?>"); // Taille du texte
var menuFontSize = parseFloat("<?php echo $this->getData(['theme', 'menu', 'fontSize'])?>"); // Taille du menu
// Convertir menuFontSize en pixels
var menuFontSizeInPx = menuFontSize * fontSize;
// Calculer la hauteur totale
var totalHeight = firstPadding + fontSize + menuFontSizeInPx;
if (hidePages == 1) {
$("#menuLeft").css({
"visibility": "hidden",
"overflow": "hidden",
"max-width": "10px"
});
// Par défaut pour tous les thèmes.
$("#menuLeft, nav").css("max-height", totalHeight + "px");
}
};

View File

@ -51,7 +51,7 @@ class common
const ACCESS_TIMER = 1800;
// Numéro de version
const ZWII_VERSION = '1.15.03';
const ZWII_VERSION = '1.17.01';
// URL autoupdate
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/campus-update/raw/branch/master/';
@ -202,20 +202,20 @@ class common
// Descripteur de données Entrées / Sorties
// Liste ici tous les fichiers de données
public $dataFiles = [
'admin' => '',
'blacklist' => '',
'config' => '',
'core' => '',
'course' => '',
'font' => '',
'module' => '',
'page' => '',
'theme' => '',
'user' => '',
'language' => '',
'profil' => '',
'enrolment' => '',
'category' => '',
'admin' => null,
'blacklist' => null,
'config' => null,
'core' => null,
'course' => null,
'font' => null,
'module' => null,
'page' => null,
'theme' => null,
'user' => null,
'language' => null,
'profil' => null,
'enrolment' => null,
'category' => null,
];
private $configFiles = [
@ -393,7 +393,6 @@ class common
$this->initData($stageId, self::$siteContent);
}
}
}
// Récupère un utilisateur connecté
@ -413,11 +412,11 @@ class common
: 'fr_FR';
} else {
// Par défaut la langue définie par défaut à l'installation
if ($this->getData(['config','defaultLanguageUI'])) {
self::$i18nUI = $this->getData(['config','defaultLanguageUI']);
if ($this->getData(['config', 'defaultLanguageUI'])) {
self::$i18nUI = $this->getData(['config', 'defaultLanguageUI']);
} else {
self::$i18nUI = 'fr_FR';
$this->setData(['config','defaultLanguageUI', 'fr_FR']);
$this->setData(['config', 'defaultLanguageUI', 'fr_FR']);
}
}
@ -491,7 +490,6 @@ class common
// Mise à jour des données core
include('core/include/update.inc.php');
}
/**
@ -547,7 +545,7 @@ class common
}
// Effacer la donnée
$success = $db->delete($query, true);
return is_object($success);
return $success;
}
/**
@ -584,7 +582,7 @@ class common
$query .= '.' . $keys[$i];
}
// Appliquer la modification, le dernier élément étant la donnée à sauvegarder
$success = is_object($db->set($query, $keys[count($keys) - 1], $save));
$success = $db->set($query, $keys[count($keys) - 1], $save);
}
return $success;
}
@ -707,7 +705,6 @@ class common
// Instanciation de l'objet et stockage dans dataFiles
$this->dataFiles[$module] = new \Prowebcraft\JsonDb($config);
}
@ -754,12 +751,11 @@ class common
if ($module === 'page') {
$content = $path === 'home' ? init::$siteContent : init::$courseContent;
foreach ($content as $key => $value) {
$this->setPage($key, $value, $path);
$this->setPage($key, $value['content'], $path);
}
}
common::$coreNotices[] = $module;
}
/**
* Initialisation des données
@ -1123,6 +1119,7 @@ class common
* @param string Valeurs possibles
*/
public function updateSitemap()
{
// Le drapeau prend true quand au moins une page est trouvée
@ -1239,9 +1236,9 @@ class common
}
return (file_exists('sitemap.xml') && file_exists('robots.txt'));
}
/*
* Création d'une miniature
* Fonction utilisée lors de la mise à jour d'une version 9 à une version 10
@ -1546,7 +1543,7 @@ class common
foreach ($courses as $courseId => $value) {
// Affiche les espaces gérés par l'éditeur, les espaces où il participe et les espaces anonymes
if (
// le membre est inscrit
// le membre est inscrit
($this->getData(['enrolment', $courseId]) && array_key_exists($this->getUser('id'), $this->getData(['enrolment', $courseId])))
// Il est l'auteur
|| $this->getUser('id') === $this->getData(['course', $courseId, 'author'])
@ -1599,5 +1596,4 @@ class common
return $this->getData(['user', $userId, 'firstname']);
}
}
}
}

View File

@ -26,13 +26,13 @@
</div>
<div class="row">
<div class="col3">
<?php echo template::select('connectAttempt', $module::$connectAttempt, [
<?php echo template::select('connectAttempt', config::$connectAttempt, [
'label' => 'Limitation des tentatives',
'selected' => $this->getData(['config', 'connect', 'attempt'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('connectTimeout', $module::$connectTimeout, [
<?php echo template::select('connectTimeout', config::$connectTimeout, [
'label' => 'Blocage après échecs',
'selected' => $this->getData(['config', 'connect', 'timeout'])
]); ?>
@ -73,7 +73,7 @@
]); ?>
</div>
<div class="col3">
<?php echo template::select('connectCaptchaType', $module::$captchaTypes, [
<?php echo template::select('connectCaptchaType', config::$captchaTypes, [
'label' => 'Type de captcha',
'selected' => $this->getData(['config', 'connect', 'captchaType'])
]); ?>
@ -96,7 +96,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('connectAnonymousIp', $module::$anonIP, [
<?php echo template::select('connectAnonymousIp', config::$anonIP, [
'label' => 'Anonymat des adresses IP',
'selected' => $this->getData(['config', 'connect', 'anonymousIp']),
'help' => 'La règlementation française impose un anonymat de niveau 2'

View File

@ -66,11 +66,11 @@ $(document).ready(function () {
$("#connectCaptchaStrong").prop("checked", false);
}
var configLayout = "<?php echo $this->getData(['user', $this->getUser('id'), 'view', 'config']);?>";
// Non défini, valeur par défaut
if (configLayout == "") {
configLayout = "setup";
}
let configLayout = "<?php echo $this->getData(['user', $this->getUser('id'), 'view', 'config']);?>";
// Non défini, valeur par défaut
if (configLayout == "") {
configLayout = "setup";
}
$("#localeContainer").hide();
$("#socialContainer").hide();
@ -84,6 +84,16 @@ $(document).ready(function () {
// Gestion des événements
//---------------------------------------------------------------------------------------------------------------------
/**
* Transmet le bouton de l'onglet sélectionné avant la soumission
*/
// Mettre à jour le champ caché avant la soumission
$('#configForm').on('submit', function () {
$('#containerSelected').val(configLayout);
});
/**
* Afficher et masquer options smtp
*/
@ -157,14 +167,14 @@ $(document).ready(function () {
/**
* Sélection de la page de configuration à afficher
*/
*/
$("#configLocaleButton").on("click", function () {
$("#setupContainer").hide();
$("#socialContainer").hide();
$("#connectContainer").hide();
$("#networkContainer").hide();
$("#localeContainer").show();
document.getElementById("containerSelected").value = "locale";
configLayout = "locale";
$("#configSetupButton").removeClass("activeButton");
$("#configLocaleButton").addClass("activeButton");
$("#configSocialButton").removeClass("activeButton");
@ -177,7 +187,7 @@ $(document).ready(function () {
$("#connectContainer").hide();
$("#networkContainer").hide();
$("#setupContainer").show();
document.getElementById("containerSelected").value = "setup";
configLayout = "setup";
$("#configSetupButton").addClass("activeButton");
$("#configLocaleButton").removeClass("activeButton");
$("#configSocialButton").removeClass("activeButton");
@ -191,7 +201,7 @@ $(document).ready(function () {
$("#localeContainer").hide();
$("#networkContainer").hide();
$("#socialContainer").show();
document.getElementById("containerSelected").value = "social";
configLayout = "social";
$("#configSetupButton").removeClass("activeButton");
$("#configLocaleButton").removeClass("activeButton");
$("#configSocialButton").addClass("activeButton");
@ -204,7 +214,7 @@ $(document).ready(function () {
$("#socialContainer").hide();
$("#networkContainer").hide();
$("#connectContainer").show();
document.getElementById("containerSelected").value = "connect";
configLayout = "connect";
$("#configSetupButton").removeClass("activeButton");
$("#configLocaleButton").removeClass("activeButton");
$("#configSocialButton").removeClass("activeButton");
@ -217,7 +227,7 @@ $(document).ready(function () {
$("#socialContainer").hide();
$("#connectContainer").hide();
$("#networkContainer").show();
document.getElementById("containerSelected").value = "network";
configLayout = "network";
$("#configSetupButton").removeClass("activeButton");
$("#configLocaleButton").removeClass("activeButton");
$("#configSocialButton").removeClass("activeButton");
@ -247,7 +257,7 @@ $(document).ready(function () {
// Contrôle l'image Open Screen Graph
// Type d'image
$("span#screenType").each(function(){
$("span#screenType").each(function () {
var text = $(this).text();
if (text.includes("jpg") || text.includes("jpeg") || text.includes("png")) {
$(this).css("color", "green");
@ -256,7 +266,7 @@ $(document).ready(function () {
}
});
// La largeur
$("span#screenWide").each(function(){
$("span#screenWide").each(function () {
var screenId = parseInt($(this).text());
if (screenId >= 1200) {
$(this).css("color", "green");
@ -265,7 +275,7 @@ $(document).ready(function () {
}
});
// La hauteur
$("span#screenHeight").each(function(){
$("span#screenHeight").each(function () {
var screenId = parseInt($(this).text());
if (screenId >= 630) {
$(this).css("color", "green");
@ -274,7 +284,7 @@ $(document).ready(function () {
}
});
// Le ratio
$('span#screenRatio').each(function(){
$('span#screenRatio').each(function () {
var ratio = parseFloat($(this).text());
if (ratio >= 1.90 && ratio <= 1.92) {
$(this).css("color", "green");
@ -285,17 +295,17 @@ $(document).ready(function () {
}
});
// Le poids
$('span#screenWeight').each(function(index){
$('span#screenWeight').each(function (index) {
var weight = parseFloat($(this).text());
var fileType = $('span#screenType').eq(index).text();
if ((fileType === "jpg" || fileType === "jpeg") && weight < 5000000) {
$(this).css("color", "green");
} else {
$(this).css("color", "red");
$(this).css("color", "red");
}
});
$('span#screenWeight').each(function(index){
$('span#screenWeight').each(function (index) {
var weight = parseFloat($(this).text());
var fileType = $('span#screenType').eq(index).text();

View File

@ -44,21 +44,21 @@
</h4>
<div class="row">
<div class="col4">
<?php echo template::select('configLocaleHomePageId', helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC'), [
<?php echo template::select('configLocaleHomePageId', helper::arrayColumn(config::$pagesList, 'title', 'SORT_ASC'), [
'label' => 'Page d\'accueil de la plate-forme',
'selected' => $this->homePageId(),
'help' => 'Ce n\'est pas la page d\'accueil d\'un espace.'
]); ?>
</div>
<div class="col4">
<?php echo template::select('configLocalePage403', array_merge(['none' => 'Page par défaut'], helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [
<?php echo template::select('configLocalePage403', array_merge(['none' => 'Page par défaut'], helper::arrayColumn(config::$orphansList, 'title', 'SORT_ASC')), [
'label' => 'Accès interdit, erreur 403',
'selected' => $this->getData(['config', 'page403']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
]); ?>
</div>
<div class="col4">
<?php echo template::select('configLocalePage404', array_merge(['none' => 'Page par défaut'], helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [
<?php echo template::select('configLocalePage404', array_merge(['none' => 'Page par défaut'], helper::arrayColumn(config::$orphansList, 'title', 'SORT_ASC')), [
'label' => 'Page inexistante, erreur 404',
'selected' => $this->getData(['config', 'page404']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
@ -67,14 +67,14 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('configLocaleLegalPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC')), [
<?php echo template::select('configLocaleLegalPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn(config::$pagesList, 'title', 'SORT_ASC')), [
'label' => 'Mentions légales',
'selected' => $this->getData(['config', 'legalPageId']),
'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.'
]); ?>
</div>
<div class="col4">
<?php echo template::select('configLocaleSearchPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC')), [
<?php echo template::select('configLocaleSearchPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn(config::$pagesList, 'title', 'SORT_ASC')), [
'label' => 'Recherche dans le site',
'selected' => $this->getData(['config', 'searchPageId']),
'help' => 'Sélectionnez une page contenant le module \'Recherche\'. Une option du pied de page ajoute un lien discret vers cette page.'
@ -82,7 +82,7 @@
</div>
<div class="col4">
<?php
echo template::select('configLocalePage302', array_merge(['none' => 'Page par défaut'], helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [
echo template::select('configLocalePage302', array_merge(['none' => 'Page par défaut'], helper::arrayColumn(config::$orphansList, 'title', 'SORT_ASC')), [
'label' => 'Site en maintenance',
'selected' => $this->getData(['config', 'page302']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'

View File

@ -7,7 +7,7 @@
</h4>
<div class="row">
<div class="col2">
<?php echo template::select('configProxyType', $module::$proxyType, [
<?php echo template::select('configProxyType', config::$proxyType, [
'label' => 'Type de proxy',
'selected' => $this->getData(['config', 'proxyType'])
]); ?>
@ -69,7 +69,7 @@
]); ?>
</div>
<div class="col2">
<?php echo template::select('smtpAuth', $module::$SMTPauth, [
<?php echo template::select('smtpAuth', config::$SMTPauth, [
'label' => 'Authentification',
'selected' => $this->getData(['config', 'smtp', 'auth'])
]); ?>
@ -91,7 +91,7 @@
]); ?>
</div>
<div class="col2">
<?php echo template::select('smtpSecure', $module::$SMTPEnc, [
<?php echo template::select('smtpSecure', config::$SMTPEnc, [
'label' => 'Sécurité',
'selected' => $this->getData(['config', 'smtp', 'secure'])
]); ?>

View File

@ -26,7 +26,7 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('configTimezone', $module::$timezones, [
<?php echo template::select('configTimezone', config::$timezones, [
'label' => 'Fuseau horaire',
'selected' => $this->getData(['config', 'timezone']),
'help' => 'Le fuseau horaire est utile au bon référencement'
@ -44,7 +44,7 @@
<?php echo template::checkbox('configRewrite', true, 'Apache URL intelligentes', [
'checked' => helper::checkRewrite(),
'help' => 'Supprime le point d\'interrogation dans les URL, l\'option est indisponible avec les autres serveurs Web',
'disabled' => helper::checkServerSoftware() === false and $module->isModRewriteEnabled()
'disabled' => helper::checkServerSoftware() === false and config->isModRewriteEnabled()
]); ?>
</div>
</div>
@ -74,7 +74,7 @@
</div>
<div class="row">
<div class="col3">
<?php echo template::select('configAutoUpdateDelay', $module::$updateDelay, [
<?php echo template::select('configAutoUpdateDelay', config::$updateDelay, [
'label' => 'Fréquence de recherche',
'selected' => $this->getData(['config', 'autoUpdateDelay']),
]); ?>
@ -87,7 +87,7 @@
<?php echo template::button('configUpdateForced', [
'ico' => 'download-cloud',
'href' => helper::baseUrl() . 'install/update',
'value' => $module::$updateButtonText,
'value' => config::$updateButtonText,
'class' => 'buttonRed',
]); ?>
</div>

View File

@ -24,18 +24,18 @@
</div>
<div class="row">
<div class="col10 textAlignCenter">
<?php if (!empty($module::$imageOpenGraph['type'])): ?>
<?php if (!empty(config::$imageOpenGraph['type'])): ?>
<p>
<?php echo sprintf('%s : <span id="screenType">%s</span>', helper::translate('Format'), $module::$imageOpenGraph['type']); ?>
<?php echo sprintf('%s : <span id="screenType">%s</span>', helper::translate('Format'), config::$imageOpenGraph['type']); ?>
</p>
<p>
<?php echo sprintf('%s : <span id="screenWide">%s</span> x <span id="screenHeight">%s</span> pixels', helper::translate('Dimensions minimales'), $module::$imageOpenGraph['wide'], $module::$imageOpenGraph['height']); ?>
<?php echo sprintf('%s : <span id="screenWide">%s</span> x <span id="screenHeight">%s</span> pixels', helper::translate('Dimensions minimales'), config::$imageOpenGraph['wide'], config::$imageOpenGraph['height']); ?>
</p>
<p>
<?php echo sprintf('%s : <span id="screenRatio">%s</span><span id="screenFract">:1</span>', helper::translate('Ratio'), round($module::$imageOpenGraph['ratio'], 2)); ?>
<?php echo sprintf('%s : <span id="screenRatio">%s</span><span id="screenFract">:1</span>', helper::translate('Ratio'), round(config::$imageOpenGraph['ratio'], 2)); ?>
</p>
<p>
<?php echo sprintf('%s : <span id="screenWeight">%s</span>', helper::translate('Poids'), $module::$imageOpenGraph['size']); ?>
<?php echo sprintf('%s : <span id="screenWeight">%s</span>', helper::translate('Poids'), config::$imageOpenGraph['size']); ?>
</p>
<?php endif; ?>
</div>

View File

@ -28,7 +28,7 @@ class course extends common
'usersDelete' => self::GROUP_EDITOR, //Fait
'usersReportExport' => self::GROUP_EDITOR, //fait
'userDelete' => self::GROUP_EDITOR, //Fait
'userReport' => self::GROUP_EDITOR, //Fait
'userReport' => self::GROUP_MEMBER, //Fait
'userReportExport' => self::GROUP_EDITOR, //Fait
'backup' => self::GROUP_EDITOR, // Fait
'restore' => self::GROUP_EDITOR, //Fait
@ -109,7 +109,7 @@ class course extends common
? sprintf('%s %s', $this->getData(['user', $this->getData(['course', $courseId, 'author']), 'firstname']), $this->getData(['user', $this->getData(['course', $courseId, 'author']), 'lastname']))
: '';
$categorieUrl = helper::baseUrl() . 'course/swap/' . $courseId;
$info = sprintf(' <a href="%s">%s</a><br />Auteur : %s<br />Id : %s<br />', $categorieUrl, $this->getData(['course', $courseId, 'title']), $author, $courseId, );
$info = sprintf(' <a href="%s">%s</a><br />Auteur : %s<br />Id : %s<br />', $categorieUrl, $this->getData(['course', $courseId, 'title']), $author, $courseId,);
$enrolment = sprintf(
'Accès : %s<br />Inscription : %s<br />',
self::$courseAccess[$this->getData(['course', $courseId, 'access'])],
@ -337,7 +337,7 @@ class course extends common
// Valeurs en sortie
$this->addOutput([
'title' => sprintf('%s id : %s', helper::translate('Éditer l\'espace'), $this->getUrl(2)),
'title' => sprintf('%s %s (%s)', helper::translate('Editer l\'espace'), $this->getData(['course', $courseId, 'title' ]), $this->getUrl(2)),
'view' => 'edit'
]);
}
@ -396,7 +396,7 @@ class course extends common
// Valeurs en sortie
$this->addOutput([
'title' => sprintf('%s id : %s', helper::translate('Gérer l\'espace'), $this->getUrl(2)),
'title' => sprintf('%s %s (%s)', helper::translate('Gérer l\'espace'), $this->getData(['course', $courseId, 'title' ]), $this->getUrl(2)),
'view' => 'manage'
]);
}
@ -462,7 +462,6 @@ class course extends common
$success = $this->deleteDir(self::DATA_DIR . $courseId);
$this->deleteData(['course', $courseId]);
$this->deleteData(['enrolment', $courseId]);
}
// Dossier du gestionnaire de fichier
if (is_dir(self::FILE_DIR . 'source/' . $courseId)) {
@ -476,7 +475,6 @@ class course extends common
'state' => $success
]);
}
}
/**
@ -551,7 +549,6 @@ class course extends common
'title' => helper::translate('Ajouter une catégorie'),
'view' => 'categoryAdd'
]);
}
public function categoryEdit()
@ -618,7 +615,6 @@ class course extends common
'state' => $state
]);
}
}
public function users()
@ -627,7 +623,6 @@ class course extends common
$courseId = $this->getUrl(2);
// Accès limité au propriétaire, admin ou éditeurs isncrits
if (
$this->permissionControl(__FUNCTION__, $courseId) === false
) {
@ -721,18 +716,18 @@ class course extends common
0;
// Construction du tableau
if ($this->getdata(['course', $courseId, 'report']) === true) {
$reportButton = template::button('userReport' . $userId, [
'href' => helper::baseUrl() . 'course/userReport/' . $courseId . '/' . $userId,
'value' => (array_key_exists('progress', $userValue) && is_int($userValue['progress']))
? number_format($userValue['progress']) . ' %'
: ($viewPages ? min(round(($viewPages * 100) / $sumPages, 1), 100) . ' %' : '0%'),
? template::ico('chart-line', ['margin' => 'right']) . number_format($userValue['progress']) . ' %'
: template::ico('chart-line', ['margin' => 'right']) . ($viewPages ? min(round(($viewPages * 100) / $sumPages, 1), 100) . ' %' : '0%'),
'disable' => empty($userValue['datePageView']),
]);
} else {
$reportButton = template::button('userReport' . $userId, [
'value' =>'-',
'value' => template::ico('chart-line'),
'disable' => true,
'help' => 'Rapport désactivé',
]);
@ -741,14 +736,14 @@ class course extends common
//$userId,
$this->getData(['user', $userId, 'firstname']) . ' ' . $this->getData(['user', $userId, 'lastname']),
array_key_exists('lastPageView', $userValue) && isset($pages[$userValue['lastPageView']]['title'])
? $pages[$userValue['lastPageView']]['title']
: '',
? $pages[$userValue['lastPageView']]['title']
: '',
array_key_exists('lastPageView', $userValue)
? helper::dateUTF8('%d/%m/%Y', $userValue['datePageView'])
: '',
? helper::dateUTF8('%d/%m/%Y', $userValue['datePageView'])
: '',
array_key_exists('datePageView', $userValue)
? helper::dateUTF8('%H:%M', $userValue['datePageView'])
: '',
? helper::dateUTF8('%H:%M', $userValue['datePageView'])
: '',
$this->getData(['user', $userId, 'tags']),
$reportButton,
template::button('userDelete' . $userId, [
@ -847,7 +842,6 @@ class course extends common
if (is_array($suscribers)) {
$suscribers = array_keys($suscribers);
$users = array_diff_key($users, array_flip($suscribers));
}
// Tri du tableau par défaut par $userId
@ -899,7 +893,6 @@ class course extends common
$this->getData(['user', $userId, 'lastname']),
$this->getData(['user', $userId, 'tags']),
];
}
// Ajoute les effectifs aux profils du sélecteur
@ -1063,7 +1056,6 @@ class course extends common
$this->getData(['user', $userId, 'lastname']),
$this->getData(['user', $userId, 'tags']),
];
}
}
@ -1124,7 +1116,6 @@ class course extends common
'notification' => helper::translate('Espace réinitialisé'),
'state' => true
]);
}
/*
@ -1190,13 +1181,13 @@ class course extends common
) {
// Gérer les modalités d'inscription
switch ($this->getData(['course', $courseId, 'enrolment'])) {
// Anonyme
// Anonyme
case self::COURSE_ENROLMENT_GUEST:
$_SESSION['ZWII_SITE_CONTENT'] = $courseId;
// Accès direct à la page
$redirect = helper::baseUrl() . $pageId;
break;
// Auto avec ou sans clé
// Auto avec ou sans clé
case self::COURSE_ENROLMENT_SELF:
//L'étudiant doit disposer d'un compte
if ($this->getUser('id')) {
@ -1215,7 +1206,7 @@ class course extends common
$state = false;
}
break;
// Par le prof
// Par le prof
case self::COURSE_ENROLMENT_MANDATORY:
$message = helper::translate('L\'enseignant doit vous inscrire');
$state = false;
@ -1230,7 +1221,6 @@ class course extends common
'notification' => helper::translate($message),
'state' => $state,
]);
}
/**
@ -1244,7 +1234,10 @@ class course extends common
// Accès limité au propriétaire ou éditeurs inscrits ou admin
if (
// Droits consentis
$this->permissionControl(__FUNCTION__, $courseId) === false
// Le compte du membre doit etre celui de l'url
and $this->getUser('id') !== $this->getUrl(3)
) {
// Valeurs en sortie
$this->addOutput([
@ -1329,13 +1322,13 @@ class course extends common
// Valeurs en sortie
$this->addOutput([
'title' => helper::translate('Historique ') . $this->getData(['user', $userId, 'firstname']) . ' ' . $this->getData(['user', $userId, 'lastname']),
'title' => sprintf(helper::translate('Rapport des consultations : %s'), $this->getData(['course', $courseId, 'title'])) .
sprintf(helper::translate('%s Participant : %s %s'), '<br />', $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
'view' => 'userReport',
'vendor' => [
"plotly"
]
]);
}
public function usersReportExport()
@ -1415,8 +1408,8 @@ class course extends common
$this->getData(['user', $userId, 'lastname']),
$this->getData(['user', $userId, 'mail']),
isset($pages[$this->getData(['enrolment', $courseId, $userId, 'lastPageView'])])
? $pages[$this->getData(['enrolment', $courseId, $userId, 'lastPageView'])]
: $this->getData(['enrolment', $courseId, $userId, 'lastPageView']) . ' (supprimée)',
? $pages[$this->getData(['enrolment', $courseId, $userId, 'lastPageView'])]
: $this->getData(['enrolment', $courseId, $userId, 'lastPageView']) . ' (supprimée)',
helper::dateUTF8('%d/%d/%Y', $this->getData(['enrolment', $courseId, $userId, 'datePageView'])),
helper::dateUTF8('%H:%M', $this->getData(['enrolment', $courseId, $userId, 'datePageView'])),
/** La lecture de la progression s'effectue selon la nouvelle méthode (progression dans la base des enrolements)
@ -1424,8 +1417,8 @@ class course extends common
* TRANSITOIRE A SUPPRIMER EN FIN D'ANNEE
**/
array_key_exists('progress', $userValue)
? $userValue['progress']
: ($viewPages ? min(round(($viewPages * 100) / $sumPages, 1), 100) . ' %' : '0%'),
? $userValue['progress']
: ($viewPages ? min(round(($viewPages * 100) / $sumPages, 1), 100) . ' %' : '0%'),
//number_format(min(round(($viewPages * 100) / $sumPages, 1) / 100, 1), 2, ','),
];
@ -1450,7 +1443,6 @@ class course extends common
'notification' => 'Création ' . basename($filename) . ' dans le dossier "Export"',
'state' => true,
]);
}
}
}
@ -1550,8 +1542,6 @@ class course extends common
'notification' => 'Création ' . basename($filename) . ' dans le dossier "Export"',
'state' => true,
]);
}
// Génération du message d'inscription
@ -1656,7 +1646,6 @@ class course extends common
'notification' => helper::translate('Désinscription'),
'state' => true,
]);
}
}
@ -1722,7 +1711,6 @@ class course extends common
'notification' => $message,
]);
}
}
// Générer un fichier externe contenant le contenu des pages
@ -1852,10 +1840,9 @@ class course extends common
// Valeurs en sortie
$this->addOutput([
'title' => sprintf('%s id : %s', helper::translate('Export des pages de l\'espace'), $this->getUrl(2)),
'title' => sprintf('%s %s (%s)', helper::translate('Export des pages de l\'espace'), $this->getData(['course', $courseId, 'title' ]), $this->getUrl(2)),
'view' => 'export'
]);
}
// Fonction utilisé par l'export en html pour corriger les URL des ressources
@ -1929,8 +1916,7 @@ class course extends common
if (file_exists(self::TEMP_DIR . $tempFolder . '/course.json')) {
$courseData = json_decode(file_get_contents(self::TEMP_DIR . $tempFolder . '/course.json'), true);
// Lire l'id du cours
$courseIds = array_keys($courseData);
;
$courseIds = array_keys($courseData);;
$courseId = $courseIds[0];
$success = true;
} else {
@ -1987,7 +1973,6 @@ class course extends common
'state' => $success,
'notification' => $notification,
]);
}
// Valeurs en sortie
@ -1996,7 +1981,6 @@ class course extends common
'state' => $success,
'notification' => $notification,
]);
}
// Valeurs en sortie
$this->addOutput([
@ -2023,12 +2007,12 @@ class course extends common
$this->getUser('permission', __CLASS__, $function)
&& $this->getUser('group') === self::$actions[$function]
&&
// Permission d'accéder aux espaces dans lesquels le membre auteur
// Permission d'accéder aux espaces dans lesquels le membre auteur
(
$this->getData(['enrolment', $courseId]) && ($this->getUser('id') === $this->getData(['course', $courseId, 'author']))
)
||
( // Permission d'accéder aux espaces dans lesquels le membre est inscrits
( // Permission d'accéder aux espaces dans lesquels le membre est inscrit
$this->getData(['enrolment', $courseId])
&& $this->getUser('permission', __CLASS__, 'tutor') === true
&& array_key_exists($this->getUser('id'), $this->getData(['enrolment', $courseId]))
@ -2067,7 +2051,7 @@ class course extends common
return true;
case self::COURSE_ACCESS_DATE:
return (
time() >= $this->getData(['course', $courseId, 'openingDate']) &&
time() >= $this->getData(['course', $courseId, 'openingDate']) &&
time() <= $this->getData(['course', $courseId, 'closingDate'])
);
case self::COURSE_ACCESS_CLOSE:
@ -2096,12 +2080,12 @@ class course extends common
0;
// Nombre de pages totales
$sumPages = $this->countPages($this->getData(['page']));
// Calcule le ratio
$ratio = ($viewPages * 100) / $sumPages;
$ratio = ($viewPages * 100) / $sumPages;
// Arrondi le ratio à deux décimales
$ratio = round($ratio, 2);
return $ratio;
}
@ -2111,14 +2095,15 @@ class course extends common
* @param mixed $userId id de l'utilisateur
* @return float nombre de pages vues
*/
public function setUserProgress($courseId, $userId): float {
// Stocke le rapport en CSV
$file = fopen(common::DATA_DIR . $courseId. '/report.csv', 'a+');
fputcsv($file, [$userId, $this->getUrl(0), time()], ';');
fclose($file);
public function setUserProgress($courseId, $userId): float
{
// Stocke le rapport en CSV
$file = fopen(common::DATA_DIR . $courseId . '/report.csv', 'a+');
fputcsv($file, [$userId, $this->getUrl(0), time()], ';');
fclose($file);
// Retourne le nombre de page vues
return ($this->getUserProgress($courseId, $userId));
// Retourne le nombre de page vues
return ($this->getUserProgress($courseId, $userId));
}
/**
@ -2173,7 +2158,7 @@ class course extends common
$r = in_array($userId, array_keys($this->getData(['enrolment', $courseId])));
}
break;
// Visiteur non connecté
// Visiteur non connecté
case self::GROUP_VISITOR:
case null:
$r = $this->getData(['course', $courseId, 'enrolment']) === self::COURSE_ENROLMENT_GUEST;

View File

@ -31,19 +31,19 @@
]); ?>
</div>
<div class="col5">
<?php echo template::select('courseAddAuthor', $module::$courseTeachers, [
<?php echo template::select('courseAddAuthor', course::$courseTeachers, [
'label' => 'Auteur'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::select('courseAddTheme', $module::$courses, [
<?php echo template::select('courseAddTheme', course::$courses, [
'label' => 'Copier le thème depuis',
]); ?>
</div>
<div class="col6">
<?php echo template::select('courseAddCategorie', $module::$courseCategories, [
<?php echo template::select('courseAddCategorie', course::$courseCategories, [
'label' => 'Catégorie',
]); ?>
</div>
@ -57,7 +57,7 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('courseAddAccess', $module::$courseAccess, [
<?php echo template::select('courseAddAccess', course::$courseAccess, [
'label' => 'Accès'
]); ?>
</div>
@ -76,7 +76,7 @@
</div>
<div class="row">
<div class="col6">
<?php echo template::select('courseAddEnrolment', $module::$courseEnrolment, [
<?php echo template::select('courseAddEnrolment', course::$courseEnrolment, [
'label' => 'Participation'
]); ?>
</div>

View File

@ -15,8 +15,8 @@
</div>
</div>
<?php if($module::$courseCategories): ?>
<?php echo template::table([5,5,1,1], $module::$courseCategories, ['Id', 'Titre', '','']); ?>
<?php if(course::$courseCategories): ?>
<?php echo template::table([5,5,1,1], course::$courseCategories, ['Id', 'Titre', '','']); ?>
<?php else: ?>
<?php echo template::speech('Aucune catégorie'); ?>
<?php endif; ?>

View File

@ -25,7 +25,7 @@
]); ?>
</div>
<div class="col5">
<?php echo template::select('courseEditAuthor', $module::$courseTeachers, [
<?php echo template::select('courseEditAuthor', course::$courseTeachers, [
'label' => 'Auteur',
'selected' => $this->getdata(['course', $this->getUrl(2), 'author'])
]); ?>
@ -33,13 +33,13 @@
</div>
<div class="row">
<div class="col6">
<?php echo template::select('courseEditHomePageId', helper::arrayColumn($module::$pagesList, 'title'), [
<?php echo template::select('courseEditHomePageId', helper::arrayColumn(course::$pagesList, 'title'), [
'label' => 'Page d\'accueil',
'selected' => $this->getdata(['course', $this->getUrl(2), 'homePageId']),
]); ?>
</div>
<div class="col6">
<?php echo template::select('courseEditCategorie', $module::$courseCategories, [
<?php echo template::select('courseEditCategorie', course::$courseCategories, [
'label' => 'Catégorie',
'selected' => $this->getdata(['course', $this->getUrl(2), 'category'])
]); ?>
@ -55,7 +55,7 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('courseEditAccess', $module::$courseAccess, [
<?php echo template::select('courseEditAccess', course::$courseAccess, [
'label' => 'Disponibilité',
'selected' => $this->getdata(['course', $this->getUrl(2), 'access'])
]); ?>
@ -77,7 +77,7 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('courseEditEnrolment', $module::$courseEnrolment, [
<?php echo template::select('courseEditEnrolment', course::$courseEnrolment, [
'label' => 'Participation',
'selected' => $this->getdata(['course', $this->getUrl(2), 'enrolment'])
]); ?>

View File

@ -31,7 +31,7 @@
<h4><?php echo helper::translate('Sélection des pages de l\'espace') ?></h4>
<div class='row'>
<div class='col10 offset2'>
<?php foreach ($module::$pagesList as $key => $value) {
<?php foreach (course::$pagesList as $key => $value) {
echo $value;
}
?>

View File

@ -36,8 +36,8 @@
</div>
</div>
<?php if ($module::$courses): ?>
<?php echo template::table([4, 3, 3, 1, 1], $module::$courses, ['Titre court', 'Description', 'Inscription', '', '',], ['id' => 'dataTables']); ?>
<?php if (course::$courses): ?>
<?php echo template::table([4, 3, 3, 1, 1], course::$courses, ['Titre court', 'Description', 'Inscription', '', '',], ['id' => 'dataTables']); ?>
<?php else: ?>
<?php echo template::speech('Aucun espace'); ?>
<?php endif; ?>

View File

@ -98,14 +98,14 @@
<div class="col6">
<?php echo template::text('courseManageHomePageId', [
'label' => 'Page d\'accueil',
'value' => $module::$pagesList[$this->getdata(['course', $this->getUrl(2), 'homePageId'])]['shortTitle'],
'value' => course::$pagesList[$this->getdata(['course', $this->getUrl(2), 'homePageId'])]['shortTitle'],
'readonly' => true,
]); ?>
</div>
<div class="col6">
<?php echo template::text('courseManageCategorie', [
'label' => 'Catégorie',
'value' => $module::$courseCategories[$this->getdata(['course', $this->getUrl(2), 'category'])],
'value' => course::$courseCategories[$this->getdata(['course', $this->getUrl(2), 'category'])],
'readonly' => true,
]); ?>
</div>
@ -123,7 +123,7 @@
<div class="col4">
<?php echo template::text('courseManageAccess', [
'label' => 'Disponibilité',
'value' => $module::$courseAccess[$this->getdata(['course', $this->getUrl(2), 'access'])],
'value' => course::$courseAccess[$this->getdata(['course', $this->getUrl(2), 'access'])],
'readonly' => true,
]); ?>
</div>
@ -148,7 +148,7 @@
<div class="col4">
<?php echo template::text('courseManageEnrolment', [
'label' => 'Participation',
'value' => $module::$courseEnrolment[$this->getdata(['course', $this->getUrl(2), 'enrolment'])],
'value' => course::$courseEnrolment[$this->getdata(['course', $this->getUrl(2), 'enrolment'])],
'readonly' => true,
]); ?>
</div>

View File

@ -4,14 +4,14 @@
<?php echo "<h3>Auteur : " . $this->signature($this->getData(['course', $this->getUrl(2), 'author'])) . "</h3>"; ?>
<?php echo "<p>Description : " . $this->getData(['course', $this->getUrl(2), 'description']) . "</p>"; ?>
<!--Restriction de date limite d'ouverture-->
<?php echo "<p>Disponibilité : " . $module::$courseAccess[$this->getData(['course', $this->getUrl(2), 'access'])]; ?>
<?php if ($this->getData(['course', $this->getUrl(2), 'access']) === $module::COURSE_ACCESS_DATE): ?>
<?php echo "<p>Disponibilité : " . course::$courseAccess[$this->getData(['course', $this->getUrl(2), 'access'])]; ?>
<?php if ($this->getData(['course', $this->getUrl(2), 'access']) === course::COURSE_ACCESS_DATE): ?>
<?php $from = helper::dateUTF8('%d %B %Y', $this->getData(['course', $this->getUrl(2), 'openingDate']), self::$i18nUI) . helper::translate(' à ') . helper::dateUTF8('%H:%M', $this->getData(['course', $this->getUrl(2), 'openingDate']), self::$i18nUI); ?>
<?php $to = helper::dateUTF8('%d %B %Y', $this->getData(['course', $this->getUrl(2), 'closingDate']), self::$i18nUI) . helper::translate(' à ') . helper::dateUTF8('%H:%M', $this->getData(['course', $this->getUrl(2), 'closingDate']), self::$i18nUI); ?>
<?php echo sprintf(helper::translate(' du %s au %s'), $from, $to); ?>
<?php endif; ?>
<?php echo '</p>'; ?>
<?php echo "<p>Inscription : " . $module::$courseEnrolment[$this->getData(['course', $this->getUrl(2), 'enrolment'])] . '.'; ?>
<?php echo "<p>Inscription : " . course::$courseEnrolment[$this->getData(['course', $this->getUrl(2), 'enrolment'])] . '.'; ?>
<!--Restriction de date limite d'insription-->
<?php if ($this->getData(['course', $this->getUrl(2), 'limitEnrolment']) === true && $this->getData(['course', $this->getUrl(2), 'limitEnrolmentDate']) <= time()):?>
<?php echo helper::translate(' Les inscriptions sont closes depuis le ') ?>
@ -22,12 +22,12 @@
</div>
<div class="row">
<div class="col12">
<?php if ($module::$swapMessage['enrolmentKey']) {
echo $module::$swapMessage['enrolmentKey'];
<?php if (course::$swapMessage['enrolmentKey']) {
echo course::$swapMessage['enrolmentKey'];
}
?>
<?php if ($module::$swapMessage['enrolmentMessage']) {
echo $module::$swapMessage['enrolmentMessage'];
<?php if (course::$swapMessage['enrolmentMessage']) {
echo course::$swapMessage['enrolmentMessage'];
}
?>
</div>
@ -40,7 +40,7 @@
'value' => template::ico('left')
]); ?>
</div>
<?php if ($module::$swapMessage['submitLabel'] === 'Connexion'): ?>
<?php if (course::$swapMessage['submitLabel'] === 'Connexion'): ?>
<div class="col2 offset8">
<?php echo template::button('courseConnect', [
'href' => helper::baseUrl(true) . 'user/login',
@ -51,8 +51,8 @@
<?php else: ?>
<div class="col3 offset7">
<?php echo template::submit('courseSwapSubmit', [
'value' => $module::$swapMessage['submitLabel'],
'disabled' => !($module->courseIsAvailable($this->getUrl(2))
'value' => course::$swapMessage['submitLabel'],
'disabled' => !(course->courseIsAvailable($this->getUrl(2))
&& !($this->getData(['course', $this->getUrl(2), 'limitEnrolment']) === true
&& $this->getData(['course', $this->getUrl(2), 'limitEnrolmentDate']) <= time())
),

View File

@ -13,9 +13,9 @@
$(document).ready((function () {
var dataX = <?php echo json_encode(array_map(function ($item) { return $item[0]; }, $module::$userGraph)); ?>;
var dataY = <?php echo json_encode(array_map(function ($item) { return $item[1];}, $module::$userGraph)); ?>;
var dataText = <?php echo json_encode(array_map(function ($item) { return $item[2];}, $module::$userGraph)); ?>;
var dataX = <?php echo json_encode(array_map(function ($item) { return $item[0]; }, course::$userGraph)); ?>;
var dataY = <?php echo json_encode(array_map(function ($item) { return $item[1];}, course::$userGraph)); ?>;
var dataText = <?php echo json_encode(array_map(function ($item) { return $item[2];}, course::$userGraph)); ?>;
var data = [{
x: dataX,

View File

@ -2,15 +2,18 @@
<div class="col1">
<?php echo template::button('courseUserHistoryBack', [
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'course/users/' . $this->getUrl(2),
// Le retour est différent selon que c'est un admin ou un tuteur ou l'utilisateur lui-même
'href' => $this->getUser('group') === self::GROUP_MEMBER ? helper::baseUrl(false) : helper::baseUrl() . 'course/users/' . $this->getUrl(2),
'value' => template::ico('left')
]); ?>
</div>
<div class="col1 offset10">
<?php echo template::button('userDeleteAll', [
<?php echo template::button('userReportExportAll', [
'href' => helper::baseUrl() . 'course/userReportExport/' . $this->getUrl(2) . '/' . $this->getUrl(3),
'value' => template::ico('download'),
'help' => 'Exporter rapport',
// Le memebre ne peut pas exporter
'disabled' => $this->getUser('group') === self::GROUP_MEMBER
]) ?>
</div>
</div>
@ -20,7 +23,7 @@
</div>
</div>
</div>
<?php if ($module::$userReport): ?>
<?php if (course::$userReport): ?>
<div class="row">
<div class="col4 offset2">
<?php if ($this->getData(['course', $this->getUrl(2), 'access']) === self::COURSE_ACCESS_DATE): ?>
@ -34,19 +37,19 @@
</div>
<div class="col4">
<p>Commencé le :
<?php echo $module::$userStat['floor']; ?>
<?php echo course::$userStat['floor']; ?>
</p>
<p>Terminé le :
<?php echo $module::$userStat['top']; ?>
<?php echo course::$userStat['top']; ?>
</p>
<p>Temps passé :
<?php echo $module::$userStat['time']; ?>
<?php echo course::$userStat['time']; ?>
</p>
</div>
</div>
<div class="row textAlignCenter">
<div class="col8">
<?php echo template::table([6, 3, 3], $module::$userReport, ['Page', 'Début de Consultation', 'Temps consultation']); ?>
<?php echo template::table([6, 3, 3], course::$userReport, ['Page', 'Début de Consultation', 'Temps consultation']); ?>
</div>
</div>
<?php else: ?>

View File

@ -33,27 +33,27 @@
<?php echo template::formOpen('courseFilterUserForm'); ?>
<div class="row" id="Bfrtip">
<div class="col3">
<?php echo template::select('courseFilterGroup', $module::$courseGroups, [
<?php echo template::select('courseFilterGroup', course::$courseGroups, [
'label' => 'Groupes / Profils',
'selected' => isset($_POST['courseFilterGroup']) ? $_POST['courseFilterGroup'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('courseFilterFirstName', $module::$alphabet, [
<?php echo template::select('courseFilterFirstName', course::$alphabet, [
'label' => 'Prénom commence par',
'selected' => isset($_POST['courseFilterFirstName']) ? $_POST['courseFilterFirstName'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('courseFilterLastName', $module::$alphabet, [
<?php echo template::select('courseFilterLastName', course::$alphabet, [
'label' => 'Nom commence par',
'selected' => isset($_POST['courseFilterLastName']) ? $_POST['courseFilterLastName'] : 'all',
]); ?>
</div>
</div>
<?php echo template::formClose(); ?>
<?php if ($module::$courseUsers): ?>
<?php echo template::table([3, 4, 1, 1, 1, 1, 1], $module::$courseUsers, ['Nom Prénom', 'Dernière page vue', 'Date' , 'Heure', 'Étiquettes', 'Progression', ''], ['id' => 'dataTables']); ?>
<?php if (course::$courseUsers): ?>
<?php echo template::table([3, 4, 1, 1, 1, 1, 1], course::$courseUsers, ['Nom Prénom', 'Dernière page vue', 'Date' , 'Heure', 'Étiquettes', 'Progression', ''], ['id' => 'dataTables']); ?>
<?php else: ?>
<?php echo template::speech('Aucun participant'); ?>
<?php endif; ?>

View File

@ -16,19 +16,19 @@
</div>
<div class="row" id="Bfrtip">
<div class="col3">
<?php echo template::select('courseFilterGroup', $module::$courseGroups, [
<?php echo template::select('courseFilterGroup', course::$courseGroups, [
'label' => 'Groupes / Profils',
'selected' => isset($_POST['courseFilterGroup']) ? $_POST['courseFilterGroup'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('courseFilterFirstName', $module::$alphabet, [
<?php echo template::select('courseFilterFirstName', course::$alphabet, [
'label' => 'Prénom commence par',
'selected' => isset($_POST['courseFilterFirstName']) ? $_POST['courseFilterFirstName'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('courseFilterLastName', $module::$alphabet, [
<?php echo template::select('courseFilterLastName', course::$alphabet, [
'label' => 'Nom commence par',
'selected' => isset($_POST['courseFilterLastName']) ? $_POST['courseFilterLastName'] : 'all',
]); ?>
@ -46,8 +46,8 @@
]); ?>
</div>
</div>
<?php if ($module::$courseUsers): ?>
<?php echo template::table([1, 2, 3, 3, 3], $module::$courseUsers, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php if (course::$courseUsers): ?>
<?php echo template::table([1, 2, 3, 3, 3], course::$courseUsers, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php else: ?>
<?php echo template::speech('Aucun inscrit'); ?>
<?php endif; ?>

View File

@ -17,19 +17,19 @@
</div>
<div class="row" id="Bfrtip">
<div class="col3">
<?php echo template::select('courseFilterGroup', $module::$courseGroups, [
<?php echo template::select('courseFilterGroup', course::$courseGroups, [
'label' => 'Groupes / Profils',
'selected' => isset($_POST['courseFilterGroup']) ? $_POST['courseFilterGroup'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('courseFilterFirstName', $module::$alphabet, [
<?php echo template::select('courseFilterFirstName', course::$alphabet, [
'label' => 'Prénom commence par',
'selected' => isset($_POST['courseFilterFirstName']) ? $_POST['courseFilterFirstName'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('courseFilterLastName', $module::$alphabet, [
<?php echo template::select('courseFilterLastName', course::$alphabet, [
'label' => 'Nom commence par',
'selected' => isset($_POST['courseFilterLastName']) ? $_POST['courseFilterLastName'] : 'all',
]); ?>
@ -47,8 +47,8 @@
]); ?>
</div>
</div>
<?php if ($module::$courseUsers): ?>
<?php echo template::table([1, 2, 3, 3, 3], $module::$courseUsers, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php if (course::$courseUsers): ?>
<?php echo template::table([1, 2, 3, 3, 3], course::$courseUsers, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php else: ?>
<?php echo template::speech('Aucun inscrit'); ?>
<?php endif; ?>

View File

@ -700,7 +700,7 @@
"Connexion réussie": "Login successful",
"Erreur de mot de passe": "Password error",
"Erreur de captcha": "Captcha error",
"Clé envoyée par message": "Key sent via message",
"Clé de sécurité": "Security key",
"Message de test": "Test message",
"Clé d'authentification envoyée à votre adresse mail %s": "Authentication key sent to your email address %s"
}

View File

@ -700,7 +700,7 @@
"Connexion réussie": "Conexión exitosa",
"Erreur de mot de passe": "Error de contraseña",
"Erreur de captcha": "Error de captcha",
"Clé envoyée par message": "Clave enviada por mensaje",
"Clé de sécurité": "Clave de seguridad",
"Message de test": "Mensaje de prueba",
"Clé d'authentification envoyée à votre adresse mail %s": "Clave de autenticación enviada a su dirección de correo electrónico %s"
}

View File

@ -700,7 +700,7 @@
"Connexion réussie": "",
"Erreur de mot de passe": "",
"Erreur de captcha": "",
"Clé envoyée par message": "",
"Clé de sécurité": "",
"Message de test": "",
"Clé d'authentification envoyée à votre adresse mail %s": ""
}

View File

@ -4,7 +4,7 @@
</h3>
<div class="row">
<div class="col6 offset3">
<?php echo template::select('installLanguage', $module::$i18nFiles, [
<?php echo template::select('installLanguage', install::$i18nFiles, [
'label' => 'Langues installées',
'selected' => isset(self::$i18nUI) ? self::$i18nUI : 'fr_FR',
]); ?>

View File

@ -65,7 +65,7 @@
</summary>
<div class="row">
<div class="col3">
<?php echo template::select('installProxyType', $module::$proxyType, [
<?php echo template::select('installProxyType', install::$proxyType, [
'label' => 'Type de proxy'
]); ?>
</div>

View File

@ -5,7 +5,7 @@
<?php echo self::ZWII_VERSION; ?>
<?php echo helper::translate('vers'); ?>
&nbsp;
<?php echo $module::$newVersion; ?>
<?php echo install::$newVersion; ?>
</strong></p>
<p>
<?php echo helper::translate('Afin d\'assurer le bon fonctionnement de Zwii, veuillez ne pas fermer cette page avant la fin de l\'opération.'); ?>

View File

@ -18,7 +18,7 @@
</h4>
<div class="row">
<div class="col4 offset4">
<?php echo template::select('translateAddContent', $module::$i18nFiles, [
<?php echo template::select('translateAddContent', language::$i18nFiles, [
'label' => 'Langues disponibles'
]); ?>
</div>

View File

@ -20,12 +20,12 @@
</h4>
<div class="row">
<div class="col6">
<?php echo template::select('translateFormCopySource', $module::$languagesInstalled, [
<?php echo template::select('translateFormCopySource', language::$languagesInstalled, [
'label' => 'Source'
]); ?>
</div>
<div class="col6">
<?php echo template::select('translateFormCopyTarget', $module::$languagesTarget, [
<?php echo template::select('translateFormCopyTarget', language::$languagesTarget, [
'label' => 'Cible'
]); ?>
</div>

View File

@ -39,7 +39,7 @@
<div class="col12">
<div class="block">
<div class="row">
<?php foreach ($module::$dialogues as $key => $value) : ?>
<?php foreach (language::$dialogues as $key => $value) : ?>
<div class="col6">
<?php echo sprintf('%g -', $key); ?>
<?php echo $value['source']; ?>
@ -52,7 +52,7 @@
</div>
<?php endforeach; ?>
</div>
<?php echo $module::$pages; ?>
<?php echo language::$pages; ?>
</div>
</div>
</div>

View File

@ -23,8 +23,8 @@
<h4>
<?php echo helper::translate('Langues installées'); ?>
</h4>
<?php if ($module::$languagesUiInstalled): ?>
<?php echo template::table([2, 1, 1, 4, 1, 1, 1], $module::$languagesUiInstalled, ['Langues', 'Version', 'Date', '', '', '', '']); ?>
<?php if (language::$languagesUiInstalled): ?>
<?php echo template::table([2, 1, 1, 4, 1, 1, 1], language::$languagesUiInstalled, ['Langues', 'Version', 'Date', '', '', '', '']); ?>
<?php endif; ?>
</div>
</div>
@ -35,8 +35,8 @@
<h4>
<?php echo helper::translate('Catalogue'); ?>
</h4>
<?php if ($module::$languagesStore): ?>
<?php echo template::table([2, 1, 2, 6, 1], $module::$languagesStore, ['Langues', 'Version', 'Date', '', '']); ?>
<?php if (language::$languagesStore): ?>
<?php echo template::table([2, 1, 2, 6, 1], language::$languagesStore, ['Langues', 'Version', 'Date', '', '']); ?>
<?php endif; ?>
</div>
</div>

View File

@ -128,14 +128,14 @@
'value' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditParentPageId', $module::$pagesNoParentId, [
<?php echo template::select('pageEditParentPageId', page::$pagesNoParentId, [
'label' => 'Page parent',
'selected' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
]); ?>
<?php endif; ?>
</div>
<div class="col4">
<?php echo template::select('pageEditExtraPosition', $module::$extraPosition, [
<?php echo template::select('pageEditExtraPosition', page::$extraPosition, [
'label' => 'Emplacement',
'selected' => $this->getData(['page', $this->getUrl(2), 'extraPosition']),
'help' => 'Le menu accessoire est aligné à droite de la barre de menu, c\'est un emplacement réservé aux drapeaux et au bouton de connexion.'
@ -168,7 +168,7 @@
<div class="blockContainer">
<div class="row">
<div class="col3">
<?php echo template::select('pageTypeMenu', $module::$typeMenu, [
<?php echo template::select('pageTypeMenu', page::$typeMenu, [
'label' => 'Apparence',
'selected' => $this->getData(['page', $this->getUrl(2), 'typeMenu'])
]); ?>
@ -212,14 +212,14 @@
<div class="row">
<div class="col10">
<?php echo template::hidden('pageEditModuleRedirect'); ?>
<?php echo template::select('pageEditModuleId', $module::$moduleIds, [
<?php echo template::select('pageEditModuleId', page::$moduleIds, [
'help' => 'En cas de changement de module, les données du module précédent seront supprimées.',
'label' => 'Module',
'selected' => $this->getData(['page', $this->getUrl(2), 'moduleId'])
]); ?>
<?php echo template::hidden('pageEditModuleIdOld', ['value' => $this->getData(['page', $this->getUrl(2), 'moduleId'])]); ?>
<?php echo template::hidden('pageEditModuleIdOldText', [
'value' => array_key_exists($this->getData(['page', $this->getUrl(2), 'moduleId']), $module::$moduleIds) ? $module::$moduleIds[$this->getData(['page', $this->getUrl(2), 'moduleId'])] : ucfirst($this->getData(['page', $this->getUrl(2), 'moduleId']))
'value' => array_key_exists($this->getData(['page', $this->getUrl(2), 'moduleId']), page::$moduleIds) ? page::$moduleIds[$this->getData(['page', $this->getUrl(2), 'moduleId'])] : ucfirst($this->getData(['page', $this->getUrl(2), 'moduleId']))
]); ?>
</div>
<div class="col2 verticalAlignBottom">
@ -232,7 +232,7 @@
</div>
<div class="row">
<div class="col12">
<?php echo template::select('pageModulePosition', $module::$modulePosition, [
<?php echo template::select('pageModulePosition', page::$modulePosition, [
'help' => 'En position libre ajoutez le module en plaçant [MODULE] à l\'endroit voulu dans votre page.',
'label' => 'Position du module',
'selected' => $this->getData(['page', $this->getUrl(2), 'modulePosition'])
@ -282,7 +282,7 @@
<div class="col6">
<div class="row">
<div class="col12">
<?php echo template::select('pageEditBlock', $module::$pageBlocks, [
<?php echo template::select('pageEditBlock', page::$pageBlocks, [
'label' => 'Gabarits de page - Barre latérale',
'help' => 'Pour définir la page comme barre latérale, choisissez l\'option dans la liste.',
'selected' => $this->getData(['page', $this->getUrl(2), 'block'])
@ -297,7 +297,7 @@
'value' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditBarLeft', $module::$pagesBarId, [
<?php echo template::select('pageEditBarLeft', page::$pagesBarId, [
'label' => 'Barre latérale gauche :',
'selected' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
]); ?>
@ -307,12 +307,12 @@
'value' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditBarRight', $module::$pagesBarId, [
<?php echo template::select('pageEditBarRight', page::$pagesBarId, [
'label' => 'Barre latérale droite :',
'selected' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
<?php endif; ?>
<?php echo template::select('pageEditDisplayMenu', $module::$displayMenu, [
<?php echo template::select('pageEditDisplayMenu', page::$displayMenu, [
'label' => 'Contenu du menu vertical',
'selected' => $this->getData(['page', $this->getUrl(2), 'displayMenu']),
'help' => 'Par défaut le menu est affiché APRES le contenu de la page. Pour le positionner à un emplacement précis, insérez [MENU] dans le contenu de la page.'
@ -321,19 +321,19 @@
</div>
<div class="row navSelect">
<div class="col4">
<?php echo template::select('pageEditNavLeft', $module::$navIconPosition, [
<?php echo template::select('pageEditNavLeft', page::$navIconPosition, [
'label' => 'Bouton de navigation gauche',
'selected' => $this->getData(['page', $this->getUrl(2), 'navLeft']),
]); ?>
</div>
<div class="col4">
<?php echo template::select('pageEditNavTemplate', $module::$navIconTemplate, [
<?php echo template::select('pageEditNavTemplate', page::$navIconTemplate, [
'label' => 'Modèle',
'selected' => $this->getData(['page', $this->getUrl(2), 'navTemplate']),
]); ?>
</div>
<div class="col4">
<?php echo template::select('pageEditNavRight', $module::$navIconPosition, [
<?php echo template::select('pageEditNavRight', page::$navIconPosition, [
'label' => 'Bouton de navigation droit',
'selected' => $this->getData(['page', $this->getUrl(2), 'navRight']),
]); ?>
@ -364,7 +364,7 @@
<div class="col6">
<div class="pageEditGroupProfil displayNone"
id="pageEditGroupProfil<?php echo self::GROUP_MEMBER; ?>">
<?php echo template::select('pageEditProfil' . self::GROUP_MEMBER, $module::$userProfils[self::GROUP_MEMBER], [
<?php echo template::select('pageEditProfil' . self::GROUP_MEMBER, page::$userProfils[self::GROUP_MEMBER], [
'label' => 'Profil minimal pour accéder à la page',
'selected' => $this->getData(['page', $this->getUrl(2), 'profil']),
'help' => 'Les profils de niveau supérieur accèdent à la page.',
@ -372,7 +372,7 @@
</div>
<div class="pageEditGroupProfil displayNone"
id="pageEditGroupProfil<?php echo self::GROUP_EDITOR; ?>">
<?php echo template::select('pageEditProfil' . self::GROUP_EDITOR, $module::$userProfils[self::GROUP_EDITOR], [
<?php echo template::select('pageEditProfil' . self::GROUP_EDITOR, page::$userProfils[self::GROUP_EDITOR], [
'label' => 'Profil minimal pour accéder à la page',
'selected' => $this->getData(['page', $this->getUrl(2), 'profil']),
'help' => 'Les profils de niveau supérieur accèdent à la page.',

View File

@ -30,28 +30,28 @@
]); ?>
</div>
</div>
<?php if ($module::$modulesInstalled): ?>
<?php if (plugin::$modulesInstalled): ?>
<div class="row">
<div class="col12">
<div class="block">
<h4>
<?php echo helper::translate('Sauvegarde'); ?>
</h4>
<?php echo template::table([2, 2, 1, 5, 1, 1], $module::$modulesInstalled, ['Module', 'Identifiant', 'Version', '', '', '']); ?>
<?php echo template::table([2, 2, 1, 5, 1, 1], plugin::$modulesInstalled, ['Module', 'Identifiant', 'Version', '', '', '']); ?>
</div>
</div>
</div>
<?php else: ?>
<?php echo template::speech('Aucun module installé.'); ?>
<?php endif; ?>
<?php if ($module::$modulesOrphan): ?>
<?php if (plugin::$modulesOrphan): ?>
<div class="row">
<div class="col12">
<div class="block">
<h4>
<?php echo helper::translate('Modules orphelins'); ?>
</h4>
<?php echo template::table([2, 2, 1, 6, 1], $module::$modulesOrphan, ['Module', 'Identifiant', 'Version', '', '']); ?>
<?php echo template::table([2, 2, 1, 6, 1], plugin::$modulesOrphan, ['Module', 'Identifiant', 'Version', '', '']); ?>
</div>
</div>
</div>

View File

@ -2,33 +2,33 @@
<div class="col9">
<div class="row">
<div class="col12">
<?php echo $module::$storeItem['content']; ?>
<?php echo plugin::$storeItem['content']; ?>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<?php
echo '<img class="downloadItemPicture" src="' . $module::BASEURL_STORE . 'site/file/source/' . $module::$storeItem['picture'] .
'" alt="' . $module::$storeItem['picture'] . '">';
echo '<img class="downloadItemPicture" src="' . plugin::BASEURL_STORE . 'site/file/source/' . plugin::$storeItem['picture'] .
'" alt="' . plugin::$storeItem['picture'] . '">';
?>
</div>
</div>
<div class="row">
<div class="col12 textAlignCenter">
<?php echo helper::translate('Version n°') . $module::$storeItem['fileVersion']; ?>
<?php echo helper::translate('Version n°') . plugin::$storeItem['fileVersion']; ?>
</div>
</div>
<div class="row">
<div class="col12 textAlignCenter">
&nbsp;<?php echo helper::translate('date') . '&nbsp;' . $module::$storeItem['fileDate']; ?>
&nbsp;<?php echo helper::translate('date') . '&nbsp;' . plugin::$storeItem['fileDate']; ?>
</div>
</div>
<div class="row">
<div class="col12 textAlignCenter">
<span>
<?php echo helper::translate('Auteur :'); ?>
<?php echo $module::$storeItem['fileAuthor']; ?>
<?php echo plugin::$storeItem['fileAuthor']; ?>
</span>
</div>
</div>
@ -37,7 +37,7 @@
<span>
<?php echo helper::translate('Licence'); ?>
&nbsp;
<?php echo $module::$storeItem['fileLicense']; ?>
<?php echo plugin::$storeItem['fileLicense']; ?>
</span>
</div>
</div>

View File

@ -7,8 +7,8 @@
]); ?>
</div>
</div>
<?php if ($module::$storeList) : ?>
<?php echo template::table([2, 2, 1, 2, 2, 1], $module::$storeList, ['Catégorie', 'Module', 'Version', 'Date', 'Page', '']); ?>
<?php if (plugin::$storeList) : ?>
<?php echo template::table([2, 2, 1, 2, 2, 1], plugin::$storeList, ['Catégorie', 'Module', 'Version', 'Date', 'Page', '']); ?>
<?php else : ?>
<?php echo template::speech('Le catalogue est vide.'); ?>
<?php endif; ?>

View File

@ -1,4 +1,4 @@
<?php
echo "<div id='siteMap'>";
echo $module::$siteMap;
echo sitemap::$siteMap;
echo "</div>";

View File

@ -597,10 +597,14 @@ class theme extends common
'burgerTitle' => $this->getInput('themeMenuBurgerTitle', helper::FILTER_BOOLEAN),
'memberBar' => $this->getInput('themeMenuMemberBar', helper::FILTER_BOOLEAN),
'selectSpace' => $this->getInput('themeMenuSelectSpace', helper::FILTER_BOOLEAN),
'hidePages' => $this->getInput('themeMenuHidePages', helper::FILTER_BOOLEAN),
'userReport' => $this->getInput('themeMenuUserReport', helper::FILTER_BOOLEAN),
'burgerLogo' => $this->getInput('themeMenuBurgerLogo'),
'burgerContent' => $this->getInput('themeMenuBurgerContent')
'burgerContent' => $this->getInput('themeMenuBurgerContent'),
]
]);
// Active le rapport des consultations si options active dans le thème
$this->setData(['course', self::$siteContent, 'report', true]);
// Valeurs en sortie
$this->addOutput([
'notification' => helper::translate('Modifications enregistrées'),
@ -677,14 +681,14 @@ class theme extends common
'value' => template::ico('pencil'),
//'disabled' => !empty($fontUsed[$fontId])
])
: '',
: '',
$type !== 'websafe' ? template::button('themeFontDelete' . $fontId, [
'class' => 'themeFontDelete buttonRed',
'href' => helper::baseUrl() . $this->getUrl(0) . '/fontDelete/' . $type . '/' . $fontId,
'value' => template::ico('cancel'),
'disabled' => !empty($fontUsed[$fontId])
])
: ''
: ''
];
}
}
@ -1011,8 +1015,7 @@ class theme extends common
'notification' => $data['notification'],
'state' => $data['success'],
'view' => 'manage'
]);
;
]);;
}
}
@ -1417,4 +1420,4 @@ class theme extends common
// Enregistre la personnalisation
file_put_contents(self::DATA_DIR . 'font/font.css', $fileContentCss);
}
}
}

View File

@ -36,7 +36,7 @@
</h4>
<div class="row">
<div class="col3">
<?php echo template::select('adminSiteWidth', $module::$siteWidths, [
<?php echo template::select('adminSiteWidth', theme::$siteWidths, [
'label' => 'Largeur',
'selected' => $this->getData(['admin', 'width'])
]); ?>
@ -136,23 +136,23 @@
</h4>
<div class="row">
<div class="col4">
<?php echo template::select('adminFontText', $module::$fonts['name'], [
<?php echo template::select('adminFontText', theme::$fonts['name'], [
'label' => 'Police du texte',
'selected' => $this->getData(['admin', 'fontText']),
'font' => $module::$fonts['family']
'font' => theme::$fonts['family']
]); ?>
</div>
<div class="col4">
<?php echo template::select('adminFontTextSize', $module::$siteFontSizes, [
<?php echo template::select('adminFontTextSize', theme::$siteFontSizes, [
'label' => 'Taille',
'selected' => $this->getData(['admin', 'fontSize'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('adminFontTitle', $module::$fonts['name'], [
<?php echo template::select('adminFontTitle', theme::$fonts['name'], [
'label' => 'Police des titres',
'selected' => $this->getData(['admin', 'fontTitle']),
'font' => $module::$fonts['family']
'font' => theme::$fonts['family']
]); ?>
</div>
</div>

View File

@ -68,13 +68,13 @@
<div id="themeBodyImageOptions" class="displayNone">
<div class="row">
<div class="col6">
<?php echo template::select('themeBodyImageRepeat', $module::$repeats, [
<?php echo template::select('themeBodyImageRepeat', theme::$repeats, [
'label' => 'Répétition',
'selected' => $this->getData(['theme', 'body', 'imageRepeat'])
]); ?>
</div>
<div class="col6">
<?php echo template::select('themeBodyImagePosition', $module::$imagePositions, [
<?php echo template::select('themeBodyImagePosition', theme::$imagePositions, [
'label' => 'Position',
'selected' => $this->getData(['theme', 'body', 'imagePosition'])
]); ?>
@ -82,13 +82,13 @@
</div>
<div class="row">
<div class="col6">
<?php echo template::select('themeBodyImageAttachment', $module::$attachments, [
<?php echo template::select('themeBodyImageAttachment', theme::$attachments, [
'label' => 'Défilement',
'selected' => $this->getData(['theme', 'body', 'imageAttachment'])
]); ?>
</div>
<div class="col6">
<?php echo template::select('themeBodyImageSize', $module::$bodySizes, [
<?php echo template::select('themeBodyImageSize', theme::$bodySizes, [
'label' => 'Taille',
'selected' => $this->getData(['theme', 'body', 'imageSize'])
]); ?>

View File

@ -23,8 +23,8 @@
]); ?>
</div>
</div>
<?php if ($module::$fontsDetail) : ?>
<?php echo template::table([2, 2, 3, 2, 1, 1, 1], $module::$fontsDetail, ['FontId', 'Nom', 'Famille', 'Affectation', 'Origine', '', ''], ['id' => 'dataTables']); ?>
<?php if (theme::$fontsDetail) : ?>
<?php echo template::table([2, 2, 3, 2, 1, 1, 1], theme::$fontsDetail, ['FontId', 'Nom', 'Famille', 'Affectation', 'Origine', '', ''], ['id' => 'dataTables']); ?>
<?php else : ?>
<?php echo template::speech('Aucune fonte !'); ?>
<?php endif; ?>

View File

@ -27,13 +27,13 @@
</h4>
<div class="row">
<div class="col6">
<?php echo template::select('themeFooterPosition', $module::$footerPositions, [
<?php echo template::select('themeFooterPosition', theme::$footerPositions, [
'label' => 'Position',
'selected' => $this->getData(['theme', 'footer', 'position'])
]); ?>
</div>
<div class="col6">
<?php echo template::select('themeFooterHeight', $module::$footerHeights, [
<?php echo template::select('themeFooterHeight', theme::$footerHeights, [
'label' => 'Marges verticales',
'selected' => $this->getData(['theme', 'footer', 'height'])
]); ?>
@ -137,7 +137,7 @@
]); ?>
</div>
<div class="col3">
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC')), [
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn(theme::$pagesList, 'title', 'SORT_ASC')), [
'label' => helper::translate('Mentions légales') ,
'selected' => $this->getData(['config', 'legalPageId'])
]); ?>
@ -151,7 +151,7 @@
]); ?>
</div>
<div class="col3">
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC')), [
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn(theme::$pagesList, 'title', 'SORT_ASC')), [
'label' => helper::translate('Rechercher dans le site'),
'selected' => $this->getData(['config', 'searchPageId'])
]); ?>
@ -177,27 +177,27 @@
</h4>
<div class="row">
<div class="col3">
<?php echo template::select('themeFooterFont', $module::$fonts['name'], [
<?php echo template::select('themeFooterFont', theme::$fonts['name'], [
'label' => 'Fonte',
'selected' => $this->getData(['theme', 'footer', 'font']),
'font' => $module::$fonts['family']
'font' => theme::$fonts['family']
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeFooterFontSize', $module::$footerFontSizes, [
<?php echo template::select('themeFooterFontSize', theme::$footerFontSizes, [
'label' => 'Taille',
'help' => 'Proportionnelle à la taille définie dans le site.',
'selected' => $this->getData(['theme', 'footer', 'fontSize'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeFooterFontWeight', $module::$fontWeights, [
<?php echo template::select('themeFooterFontWeight', theme::$fontWeights, [
'label' => 'Style',
'selected' => $this->getData(['theme', 'footer', 'fontWeight'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeFooterTextTransform', $module::$textTransforms, [
<?php echo template::select('themeFooterTextTransform', theme::$textTransforms, [
'label' => 'Casse',
'selected' => $this->getData(['theme', 'footer', 'textTransform'])
]); ?>
@ -214,8 +214,8 @@
</h4>
<div class="row">
<div class="col4">
<?php $footerBlockPosition = is_null($this->getData(['theme', 'footer', 'template'])) ? $module::$footerblocks[3] : $module::$footerblocks[$this->getData(['theme', 'footer', 'template'])]; ?>
<?php echo template::select('themeFooterTemplate', $module::$footerTemplate, [
<?php $footerBlockPosition = is_null($this->getData(['theme', 'footer', 'template'])) ? theme::$footerblocks[3] : theme::$footerblocks[$this->getData(['theme', 'footer', 'template'])]; ?>
<?php echo template::select('themeFooterTemplate', theme::$footerTemplate, [
'label' => 'Répartition',
'selected' => is_null($this->getData(['theme', 'footer', 'template'])) ? 4 : $this->getData(['theme', 'footer', 'template'])
]); ?>
@ -239,7 +239,7 @@
</div>
<div class="row">
<div class="col12">
<?php echo template::select('themeFooterTextAlign', $module::$aligns, [
<?php echo template::select('themeFooterTextAlign', theme::$aligns, [
'label' => 'Alignement',
'selected' => $this->getData(['theme', 'footer', 'textAlign'])
]); ?>
@ -263,7 +263,7 @@
</div>
<div class="row">
<div class="col12">
<?php echo template::select('themeFooterSocialsAlign', $module::$aligns, [
<?php echo template::select('themeFooterSocialsAlign', theme::$aligns, [
'label' => 'Alignement',
'selected' => $this->getData(['theme', 'footer', 'socialsAlign'])
]); ?>
@ -287,7 +287,7 @@
</div>
<div class="row">
<div class="col12">
<?php echo template::select('themeFooterCopyrightAlign', $module::$aligns, [
<?php echo template::select('themeFooterCopyrightAlign', theme::$aligns, [
'label' => 'Alignement',
'selected' => $this->getData(['theme', 'footer', 'copyrightAlign'])
]); ?>

View File

@ -18,20 +18,20 @@
</h4>
<div class="row">
<div class="col4">
<?php echo template::select('themeHeaderPosition', $module::$headerPositions, [
<?php echo template::select('themeHeaderPosition', theme::$headerPositions, [
'label' => 'Position',
'selected' => $this->getData(['theme', 'header', 'position'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeHeaderFeature', $module::$headerFeatures, [
<?php echo template::select('themeHeaderFeature', theme::$headerFeatures, [
'label' => 'Contenu',
'selected' => $this->getData(['theme', 'header', 'feature'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeHeaderHeight', $module::$headerHeights, [
<?php echo template::select('themeHeaderHeight', theme::$headerHeights, [
'label' => 'Hauteur maximale',
'selected' => $this->getData(['theme', 'header', 'height']),
]); ?>
@ -39,7 +39,7 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('themeHeaderWide', $module::$containerWides, [
<?php echo template::select('themeHeaderWide', theme::$containerWides, [
'label' => 'Largeur',
'selected' => $this->getData(['theme', 'header', 'wide'])
]); ?>
@ -102,33 +102,33 @@
</div>
<div class="row">
<div class="col3">
<?php echo template::select('themeHeaderFont', $module::$fonts['name'], [
<?php echo template::select('themeHeaderFont', theme::$fonts['name'], [
'label' => 'Fonte',
'selected' => $this->getData(['theme', 'header', 'font']),
'font' => $module::$fonts['family']
'font' => theme::$fonts['family']
]); ?>
</div>
<div class="col2">
<?php echo template::select('themeHeaderFontSize', $module::$headerFontSizes, [
<?php echo template::select('themeHeaderFontSize', theme::$headerFontSizes, [
'label' => 'Taille',
'help' => 'Proportionnelle à la taille définie dans le site.',
'selected' => $this->getData(['theme', 'header', 'fontSize'])
]); ?>
</div>
<div class="col2">
<?php echo template::select('themeHeaderFontWeight', $module::$fontWeights, [
<?php echo template::select('themeHeaderFontWeight', theme::$fontWeights, [
'label' => 'Style',
'selected' => $this->getData(['theme', 'header', 'fontWeight'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeHeaderTextTransform', $module::$textTransforms, [
<?php echo template::select('themeHeaderTextTransform', theme::$textTransforms, [
'label' => 'Casse',
'selected' => $this->getData(['theme', 'header', 'textTransform'])
]); ?>
</div>
<div class="col2">
<?php echo template::select('themeHeaderTextAlign', $module::$aligns, [
<?php echo template::select('themeHeaderTextAlign', theme::$aligns, [
'label' => 'Alignement',
'selected' => $this->getData(['theme', 'header', 'textAlign'])
]); ?>
@ -169,19 +169,19 @@
<div class="themeHeaderImageOptions" class="displayNone">
<div class="row">
<div class="col3">
<?php echo template::select('themeHeaderImageRepeat', $module::$repeats, [
<?php echo template::select('themeHeaderImageRepeat', theme::$repeats, [
'label' => 'Répétition',
'selected' => $this->getData(['theme', 'header', 'imageRepeat'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeHeaderImageContainer', $module::$headerWide, [
<?php echo template::select('themeHeaderImageContainer', theme::$headerWide, [
'label' => 'Adaptation',
'selected' => $this->getData(['theme', 'header', 'imageContainer']),
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeHeaderImagePosition', $module::$imagePositions, [
<?php echo template::select('themeHeaderImagePosition', theme::$imagePositions, [
'label' => 'Position',
'selected' => $this->getData(['theme', 'header', 'imagePosition'])
]); ?>

View File

@ -21,12 +21,12 @@
<div class="col6">
<?php
if ($this->getData(['theme', 'header', 'position']) == "site") {
echo template::select('themeMenuPosition', $module::$menuPositionsSite, [
echo template::select('themeMenuPosition', theme::$menuPositionsSite, [
'label' => 'Position',
'selected' => $this->getData(['theme', 'menu', 'position'])
]);
} else {
echo template::select('themeMenuPosition', $module::$menuPositionsBody, [
echo template::select('themeMenuPosition', theme::$menuPositionsBody, [
'label' => 'Position',
'selected' => $this->getData(['theme', 'menu', 'position'])
]);
@ -34,7 +34,7 @@
?>
</div>
<div class="col6">
<?php echo template::select('themeMenuWide', $module::$containerWides, [
<?php echo template::select('themeMenuWide', theme::$containerWides, [
'label' => 'Largeur',
'selected' => $this->getData(['theme', 'menu', 'wide'])
]); ?>
@ -42,20 +42,20 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('themeMenuRadius', $module::$menuRadius, [
<?php echo template::select('themeMenuRadius', theme::$menuRadius, [
'label' => 'Bords arrondis',
'selected' => $this->getData(['theme', 'menu', 'radius']),
'help' => 'Autour de la page sélectionnée'
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeMenuHeight', $module::$menuHeights, [
<?php echo template::select('themeMenuHeight', theme::$menuHeights, [
'label' => 'Hauteur',
'selected' => $this->getData(['theme', 'menu', 'height'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeMenuTextAlign', $module::$aligns, [
<?php echo template::select('themeMenuTextAlign', theme::$aligns, [
'label' => 'Alignement',
'selected' => $this->getData(['theme', 'menu', 'textAlign'])
]); ?>
@ -82,30 +82,41 @@
</h4>
<div class="row">
<div class="col3">
<?php echo template::checkbox('themeMenuLoginLink', true, 'Lien de connexion', [
'checked' => $this->getData(['theme', 'menu', 'loginLink'])
<?php echo template::checkbox('themeMenuHidePages', true, 'Masquer toutes les pages', [
'checked' => $this->getData(['theme', 'menu', 'hidePages']),
'help' => 'Cette option est à utiliser lorsque les pages sont listées dans une barre latérale.'
]); ?>
</div>
<div class="col3">
<div class="col2">
<?php echo template::checkbox('themeMenuSelectSpace', true, 'Sélecteur d\'espaces', [
'checked' => $this->getData(['theme', 'menu', 'selectSpace']),
]); ?>
</div>
<div class="col3">
<?php echo template::checkbox('themeMenuUserReport', true, 'Rapport des consultations', [
'checked' => $this->getData(['theme', 'menu', 'userReport']),
]); ?>
</div>
<div class="col2">
<?php echo template::checkbox('themeMenuMemberBar', true, 'Barre de membre', [
'checked' => $this->getData(['theme', 'menu', 'memberBar']),
]); ?>
</div>
<div class="col2">
<?php echo template::checkbox('themeMenuLoginLink', true, 'Lien de connexion', [
'checked' => $this->getData(['theme', 'menu', 'loginLink'])
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::select('themeMenuBurgerContent', $module::$burgerContent, [
<?php echo template::select('themeMenuBurgerContent', theme::$burgerContent, [
'label' => 'Menu burger dans écran réduit',
'selected' => $this->getData(['theme', 'menu', 'burgerContent']),
]); ?>
</div>
<div class="col6" id="themeMenuBurgerLogoId" class="<?php if ($this->getData(['theme', 'menu', 'burgerContent']) !== 'logo')
echo 'displayNone'; ?>">
echo 'displayNone'; ?>">
<?php $imageFile = file_exists(self::FILE_DIR . 'source/' . $this->getData(['theme', 'menu', 'burgerLogo'])) ? $this->getData(['theme', 'menu', 'burgerLogo']) : ""; ?>
<?php echo template::file('themeMenuBurgerLogo', [
'help' => 'Sélectionner une image de dimensions adaptées',
@ -188,27 +199,27 @@
</h4>
<div class="row">
<div class="col3">
<?php echo template::select('themeMenuFont', $module::$fonts['name'], [
<?php echo template::select('themeMenuFont', theme::$fonts['name'], [
'label' => 'Fonte',
'selected' => $this->getData(['theme', 'menu', 'font']),
'font' => $module::$fonts['family']
'font' => theme::$fonts['family']
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeMenuFontSize', $module::$menuFontSizes, [
<?php echo template::select('themeMenuFontSize', theme::$menuFontSizes, [
'label' => 'Taille',
'help' => 'Proportionnelle à la taille définie dans le site.',
'selected' => $this->getData(['theme', 'menu', 'fontSize'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeMenuFontWeight', $module::$fontWeights, [
<?php echo template::select('themeMenuFontWeight', theme::$fontWeights, [
'label' => 'Style',
'selected' => $this->getData(['theme', 'menu', 'fontWeight'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('themeMenuTextTransform', $module::$textTransforms, [
<?php echo template::select('themeMenuTextTransform', theme::$textTransforms, [
'label' => 'Casse',
'selected' => $this->getData(['theme', 'menu', 'textTransform'])
]); ?>

View File

@ -27,19 +27,19 @@
</h4>
<div class="row">
<div class="col4">
<?php echo template::select('themeSiteWidth', $module::$siteWidths, [
<?php echo template::select('themeSiteWidth', theme::$siteWidths, [
'label' => 'Largeur',
'selected' => $this->getData(['theme', 'site', 'width'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeSiteRadius', $module::$radius, [
<?php echo template::select('themeSiteRadius', theme::$radius, [
'label' => 'Arrondi des angles',
'selected' => $this->getData(['theme', 'site', 'radius'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeSiteShadow', $module::$shadows, [
<?php echo template::select('themeSiteShadow', theme::$shadows, [
'label' => 'Ombre',
'selected' => $this->getData(['theme', 'site', 'shadow'])
]); ?>
@ -138,14 +138,14 @@
<div class="row">
<div class="col6">
<?php
echo template::select('themeTextFont', $module::$fonts['name'], [
echo template::select('themeTextFont', theme::$fonts['name'], [
'label' => 'Fonte',
'selected' => $this->getData(['theme', 'text', 'font']),
'font' => $module::$fonts['family']
'font' => theme::$fonts['family']
]); ?>
</div>
<div class="col6">
<?php echo template::select('themeTextFontSize', $module::$siteFontSizes, [
<?php echo template::select('themeTextFontSize', theme::$siteFontSizes, [
'label' => 'Taille',
'help' => 'Les tailles des polices de la bannière, de menu et de pied de page sont proportionnelles à cette taille.',
'selected' => $this->getData(['theme', 'text', 'fontSize'])
@ -161,20 +161,20 @@
</h4>
<div class="row">
<div class="col4">
<?php echo template::select('themeTitleFont', $module::$fonts['name'], [
<?php echo template::select('themeTitleFont', theme::$fonts['name'], [
'label' => 'Fonte',
'selected' => $this->getData(['theme', 'title', 'font']),
'font' => $module::$fonts['family']
'font' => theme::$fonts['family']
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeTitleFontWeight', $module::$fontWeights, [
<?php echo template::select('themeTitleFontWeight', theme::$fontWeights, [
'label' => 'Style',
'selected' => $this->getData(['theme', 'title', 'fontWeight'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('themeTitleTextTransform', $module::$textTransforms, [
<?php echo template::select('themeTitleTextTransform', theme::$textTransforms, [
'label' => 'Casse',
'selected' => $this->getData(['theme', 'title', 'textTransform'])
]); ?>

View File

@ -1675,12 +1675,13 @@ class user extends common
$item['groupe'] = ($item['groupe'] >= self::GROUP_BANNED and $item['groupe'] <= self::GROUP_ADMIN)
? $item['groupe'] : 1;
// L'utilisateur existe
if ($this->getData(['user', helper::filter($item['id'], helper::FILTER_ID)])) {
$userId = helper::filter($item['id'], helper::FILTER_ID);
if ($this->getData(['user', $userId])) {
// Notification du doublon
$item['notification'] = template::ico('cancel');
// Création du tableau de confirmation
self::$users[] = [
helper::filter($item['id'], helper::FILTER_ID),
$userId,
$item['nom'],
$item['prenom'],
self::$groups[$item['groupe']],
@ -1695,7 +1696,6 @@ class user extends common
// L'utilisateur n'existe pas
} else {
// Nettoyage de l'identifiant
$userId = helper::filter($item['id'], helper::FILTER_ID);
// Enregistre le user
$create = $this->setData([
'user',
@ -1761,7 +1761,7 @@ class user extends common
}
// Sauvegarde la base manuellement
$this->saveDB(module: 'user');
$this->saveDB('user');
if (empty(self::$users)) {
$notification = helper::translate('Rien à importer, erreur de format ou fichier incorrect');
$success = false;
@ -1836,7 +1836,7 @@ class user extends common
}
}
// Sauvegarde la base manuellement
$this->saveDB(module: 'user');
$this->saveDB('user');
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'user/tag',

View File

@ -40,7 +40,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('userAddSignature', $module::$signature, [
<?php echo template::select('userAddSignature', user::$signature, [
'label' => 'Signature',
'selected' => 1
]); ?>
@ -54,7 +54,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('userAddLanguage', $module::$languagesInstalled, [
<?php echo template::select('userAddLanguage', user::$languagesInstalled, [
'label' => 'Langues'
]); ?>
</div>
@ -112,13 +112,13 @@
<div class="col6">
<div class="userAddGroupProfil displayNone"
id="userAddGroupProfil<?php echo self::GROUP_MEMBER; ?>">
<?php echo template::select('userAddProfil' . self::GROUP_MEMBER, $module::$userProfils[self::GROUP_MEMBER], [
<?php echo template::select('userAddProfil' . self::GROUP_MEMBER, user::$userProfils[self::GROUP_MEMBER], [
'label' => 'Profil',
]); ?>
</div>
<div class="userAddGroupProfil displayNone"
id="userAddGroupProfil<?php echo self::GROUP_EDITOR; ?>">
<?php echo template::select('userAddProfil' . self::GROUP_EDITOR, $module::$userProfils[self::GROUP_EDITOR], [
<?php echo template::select('userAddProfil' . self::GROUP_EDITOR, user::$userProfils[self::GROUP_EDITOR], [
'label' => 'Profil',
]); ?>
</div>
@ -128,20 +128,20 @@
<div id="userCommentProfil<?php echo self::GROUP_MEMBER; ?>"
class="col12 displayNone userCommentProfil">
<?php echo template::textarea('useraddProfilComment' . self::GROUP_MEMBER, [
"value" => implode("\n", $module::$userProfilsComments[self::GROUP_MEMBER])
"value" => implode("\n", user::$userProfilsComments[self::GROUP_MEMBER])
]);
?>
</div>
<div id="userCommentProfil<?php echo self::GROUP_EDITOR; ?>"
class="col12 displayNone userCommentProfil">
<?php echo template::textarea('useraddProfilComment2' . self::GROUP_EDITOR, [
"value" => implode("\n", $module::$userProfilsComments[self::GROUP_EDITOR])
"value" => implode("\n", user::$userProfilsComments[self::GROUP_EDITOR])
]);
?>
</div>
<div id="userCommentProfil<?php echo self::GROUP_ADMIN; ?>" class="col12 displayNone userCommentProfil">
<?php echo template::textarea('useraddProfilComment' . self::GROUP_ADMIN, [
"value" => implode("\n", $module::$userProfilsComments[self::GROUP_ADMIN])
"value" => implode("\n", user::$userProfilsComments[self::GROUP_ADMIN])
]);
?>
</div>

View File

@ -52,7 +52,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('userEditSignature', $module::$signature, [
<?php echo template::select('userEditSignature', user::$signature, [
'label' => 'Signature',
'selected' => $this->getData(['user', $this->getUrl(2), 'signature'])
]); ?>
@ -67,7 +67,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('userEditLanguage', $module::$languagesInstalled, [
<?php echo template::select('userEditLanguage', user::$languagesInstalled, [
'label' => 'Langue',
'selected' => $this->getData(['user', $this->getUrl(2), 'language'])
]); ?>
@ -140,14 +140,14 @@
</div>
<div class="col12">
<div class="userEditGroupProfil" id="userEditGroupProfil<?php echo self::GROUP_MEMBER; ?>">
<?php echo template::select('userEditProfil' . self::GROUP_MEMBER, $module::$userProfils[self::GROUP_MEMBER], [
<?php echo template::select('userEditProfil' . self::GROUP_MEMBER, user::$userProfils[self::GROUP_MEMBER], [
'label' => 'Profil',
'selected' => $this->getData(['user', $this->getUrl(2), 'profil']),
'disabled' => $this->getUser('group') !== self::GROUP_ADMIN,
]); ?>
</div>
<div class="userEditGroupProfil" id="userEditGroupProfil<?php echo self::GROUP_EDITOR; ?>">
<?php echo template::select('userEditProfil' . self::GROUP_EDITOR, $module::$userProfils[self::GROUP_EDITOR], [
<?php echo template::select('userEditProfil' . self::GROUP_EDITOR, user::$userProfils[self::GROUP_EDITOR], [
'label' => 'Profil',
'selected' => $this->getData(['user', $this->getUrl(2), 'profil']),
'disabled' => $this->getUser('group') !== self::GROUP_ADMIN,
@ -159,7 +159,7 @@
<div id="userCommentProfil<?php echo self::GROUP_MEMBER; ?>" class="col12 userCommentProfil">
<?php echo template::textarea('userEditProfilComment' . self::GROUP_MEMBER, [
'label' => 'Commentaire',
'value' => implode("\n", $module::$userProfilsComments[self::GROUP_MEMBER]),
'value' => implode("\n", user::$userProfilsComments[self::GROUP_MEMBER]),
'disabled' => true,
]);
@ -168,7 +168,7 @@
<div id="userCommentProfil<?php echo self::GROUP_EDITOR; ?>" class="col12 userCommentProfil">
<?php echo template::textarea('userEditProfilComment' . self::GROUP_EDITOR, [
'label' => 'Commentaire',
'value' => implode("\n", $module::$userProfilsComments[self::GROUP_EDITOR]),
'value' => implode("\n", user::$userProfilsComments[self::GROUP_EDITOR]),
'disabled' => true,
]);
@ -177,7 +177,7 @@
<div id="userCommentProfil<?php echo self::GROUP_ADMIN; ?>" class="col12 userCommentProfil">
<?php echo template::textarea('userEditProfilComment' . self::GROUP_ADMIN, [
'label' => 'Commentaire',
'value' => implode("\n", $module::$userProfilsComments[self::GROUP_ADMIN]),
'value' => implode("\n", user::$userProfilsComments[self::GROUP_ADMIN]),
'disabled' => true,
]);
?>

View File

@ -42,7 +42,7 @@
]); ?>
</div>
<div class="col2">
<?php echo template::select('userImportSeparator', $module::$separators, [
<?php echo template::select('userImportSeparator', user::$separators, [
'label' => 'Séparateur'
]); ?>
</div>
@ -58,10 +58,10 @@
</div>
</div>
<?php echo template::formClose(); ?>
<?php if ($module::$users): ?>
<?php if (user::$users): ?>
<div class="row">
<div class="col12 textAlignCenter">
<?php echo template::table([1, 2, 2, 1, 1, 1, 2, 1, 1], $module::$users, ['Id', 'Nom', 'Prénom', 'Groupe', 'Profil', 'Pseudo', 'eMail', 'Étiquettes', '']); ?>
<?php echo template::table([1, 2, 2, 1, 1, 1, 2, 1, 1], user::$users, ['Id', 'Nom', 'Prénom', 'Groupe', 'Profil', 'Pseudo', 'eMail', 'Étiquettes', '']); ?>
<?php echo template::ico('check'); ?> Compte créé |
<?php echo template::ico('mail'); ?> Compte créé et notifié |
<?php echo template::ico('cancel'); ?> Erreur dans le fichier ou le compte existe.

View File

@ -49,23 +49,23 @@
<?php echo template::formOpen('userFilterUserForm'); ?>
<div class="row">
<div class="col3">
<?php echo template::select('userFilterGroup', $module::$usersGroups, [
<?php echo template::select('userFilterGroup', user::$usersGroups, [
'label' => 'Groupes / Profils',
'selected' => isset($_POST['userFilterGroup']) ? $_POST['userFilterGroup'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('userFilterFirstName', $module::$alphabet, [
<?php echo template::select('userFilterFirstName', user::$alphabet, [
'label' => 'Prénom commence par',
'selected' => isset($_POST['userFilterFirstName']) ? $_POST['userFilterFirstName'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('userFilterLastName', $module::$alphabet, [
<?php echo template::select('userFilterLastName', user::$alphabet, [
'label' => 'Nom commence par',
'selected' => isset($_POST['userFilterLastName']) ? $_POST['userFilterLastName'] : 'all',
]); ?>
</div>
</div>
<?php echo template::formClose(); ?>
<?php echo template::table([3, 2, 2, 2, 2, 1, 1], $module::$users, ['Nom', 'Groupe', 'Profil', 'Étiquettes', 'Date dernière vue', '', ''], ['id' => 'dataTables']); ?>
<?php echo template::table([3, 2, 2, 2, 2, 1, 1], user::$users, ['Nom', 'Groupe', 'Profil', 'Étiquettes', 'Date dernière vue', '', ''], ['id' => 'dataTables']); ?>

View File

@ -3,7 +3,7 @@
<div class="col6">
<?php echo template::text('userLoginId', [
'label' => 'Identifiant',
'value' => $module::$userId
'value' => user::$userId
]); ?>
</div>
<div class="col6">
@ -31,7 +31,7 @@
<div class="row">
<div class="col8">
<?php echo template::checkbox('userLoginLongTime', true, 'Rester connecté sur ce navigateur', [
'checked' => $module::$userLongtime
'checked' => user::$userLongtime
]); ?>
</div>
<div class="col4 textAlignRight">

View File

@ -15,4 +15,4 @@
]); ?>
</div>
</div>
<?php echo template::table([1, 4, 5, 1, 1], $module::$userGroups, ['#', 'Nom', 'Commentaire', '', '']); ?>
<?php echo template::table([1, 4, 5, 1, 1], user::$userGroups, ['#', 'Nom', 'Commentaire', '', '']); ?>

View File

@ -27,7 +27,7 @@
]); ?>
</div>
<div class="col12">
<?php echo template::select('profilAddGroup', $module::$groupProfils, [
<?php echo template::select('profilAddGroup', user::$groupProfils, [
'label' => 'Groupe associé',
'selected' => $this->getUrl(2)
]); ?>
@ -69,13 +69,13 @@
<?php echo template::checkbox('profilAddFileManager', true, 'Autorisé'); ?>
</div>
<div class="col5">
<?php echo template::select('profilAddCoursePath', $module::$sharePath, [
<?php echo template::select('profilAddCoursePath', user::$sharePath, [
'label' => 'Dossier depuis un espace',
'class' => 'filemanager',
]); ?>
</div>
<div class="col5">
<?php echo template::select('profilAddHomePath', $module::$sharePath, [
<?php echo template::select('profilAddHomePath', user::$sharePath, [
'label' => 'Dossier depuis l\'accueil',
'class' => 'filemanager',
]); ?>

View File

@ -29,7 +29,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('profilEditProfil', $module::$profils, [
<?php echo template::select('profilEditProfil', user::$profils, [
'label' => 'Hiérarchie',
'help' => 'Rang 9 > rang 1. Le profil de rang 1 n\'est pas modifiable.',
'selected' => $this->getUrl(3),
@ -93,7 +93,7 @@
]); ?>
</div>
<div class="col5">
<?php echo template::select('profilEditCoursePath', $module::$sharePath, [
<?php echo template::select('profilEditCoursePath', user::$sharePath, [
'label' => 'Dossier depuis un espace',
'class' => 'filemanager',
/*
@ -104,7 +104,7 @@
]); ?>
</div>
<div class="col5">
<?php echo template::select('profilEditHomePath', $module::$sharePath, [
<?php echo template::select('profilEditHomePath', user::$sharePath, [
'label' => 'Dossier depuis l\'accueil',
'class' => 'filemanager',
// 'none' interdit l'accès au gestionnaire de fichier au niveau de l'accueil

View File

@ -27,19 +27,19 @@
</div>
<div class="row" id="Bfrtip">
<div class="col3">
<?php echo template::select('usersFilterGroup', $module::$usersGroups, [
<?php echo template::select('usersFilterGroup', user::$usersGroups, [
'label' => 'Groupes / Profils',
'selected' => isset($_POST['usersFilterGroup']) ? $_POST['usersFilterGroup'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('usersFilterFirstName', $module::$alphabet, [
<?php echo template::select('usersFilterFirstName', user::$alphabet, [
'label' => 'Prénom commence par',
'selected' => isset($_POST['usersFilterFirstName']) ? $_POST['usersFilterFirstName'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('usersFilterLastName', $module::$alphabet, [
<?php echo template::select('usersFilterLastName', user::$alphabet, [
'label' => 'Nom commence par',
'selected' => isset($_POST['usersFilterLastName']) ? $_POST['usersFilterLastName'] : 'all',
]); ?>
@ -57,8 +57,8 @@
]); ?>
</div>
</div>
<?php if ($module::$users): ?>
<?php echo template::table([1, 2, 3, 3, 3], $module::$users, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php if (user::$users): ?>
<?php echo template::table([1, 2, 3, 3, 3], user::$users, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php else: ?>
<?php echo template::speech('Aucun inscrit'); ?>
<?php endif; ?>

View File

@ -17,19 +17,19 @@
</div>
<div class="row" id="Bfrtip">
<div class="col3">
<?php echo template::select('usersFilterGroup', $module::$usersGroups, [
<?php echo template::select('usersFilterGroup', user::$usersGroups, [
'label' => 'Groupes / Profils',
'selected' => isset($_POST['usersFilterGroup']) ? $_POST['usersFilterGroup'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('usersFilterFirstName', $module::$alphabet, [
<?php echo template::select('usersFilterFirstName', user::$alphabet, [
'label' => 'Prénom commence par',
'selected' => isset($_POST['usersFilterFirstName']) ? $_POST['usersFilterFirstName'] : 'all',
]); ?>
</div>
<div class="col3">
<?php echo template::select('usersFilterLastName', $module::$alphabet, [
<?php echo template::select('usersFilterLastName', user::$alphabet, [
'label' => 'Nom commence par',
'selected' => isset($_POST['usersFilterLastName']) ? $_POST['usersFilterLastName'] : 'all',
]); ?>
@ -47,8 +47,8 @@
]); ?>
</div>
</div>
<?php if ($module::$users): ?>
<?php echo template::table([1, 2, 3, 3, 3], $module::$users, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php if (user::$users): ?>
<?php echo template::table([1, 2, 3, 3, 3], user::$users, ['', 'Id', 'Prénom', 'Nom', 'Étiquettes'], ['id' => 'dataTables']); ?>
<?php else: ?>
<?php echo template::speech('Aucun inscrit'); ?>
<?php endif; ?>

View File

@ -19,7 +19,7 @@ setlocale(LC_CTYPE, $lang);
/* Lecture du groupe de l'utilisateur connecté pour attribuer les droits et les dossiers */
$userId = $_COOKIE['ZWII_USER_ID'];
$courseId = $_GET['fldr'];
$courseId = isset($_GET['fldr']) ? $_GET['fldr'] : '';
$u = json_decode(file_get_contents('../../../site/data/user.json'), true);
$g = json_decode(file_get_contents('../../../site/data/profil.json'), true);

View File

@ -16,7 +16,7 @@
class blog extends common
{
const VERSION = '8.1';
const VERSION = '8.2';
const REALNAME = 'Blog';
const DELETE = true;
const UPDATE = '0.0';

View File

@ -1,4 +1,6 @@
# Version 8.01
# Version 8.2
- Remplacement du nom générique de classe dans les vues.
# Version 8.1
- Un mail de notification est seulement envoyé lorsque le captcha est passé et que le commentaire est déposé.
- Le mail de notification contient désormais le nom de l'auteur du commentaire ainsi que le commentaire.
# Version 8.00

View File

@ -49,12 +49,12 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('blogAddPictureSize', $module::$pictureSizes, [
<?php echo template::select('blogAddPictureSize', blog::$pictureSizes, [
'label' => 'Largeur de l\'image'
]); ?>
</div>
<div class="col4">
<?php echo template::select('blogAddPicturePosition', $module::$picturePositions, [
<?php echo template::select('blogAddPicturePosition', blog::$picturePositions, [
'label' => 'Position',
'help' => 'Le texte de l\'article est adapté autour de l\'image'
]); ?>
@ -79,7 +79,7 @@
<h4><?php echo helper::translate('Options de publication'); ?></h4>
<div class="row">
<div class="col4">
<?php echo template::select('blogAddUserId', $module::$users, [
<?php echo template::select('blogAddUserId', blog::$users, [
'label' => 'Auteur',
'selected' => $this->getUser('id'),
'disabled' => $this->getUser('group') !== self::GROUP_ADMIN ? true : false
@ -95,9 +95,9 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('blogAddConsent', $module::$articleConsent , [
<?php echo template::select('blogAddConsent', blog::$articleConsent , [
'label' => 'Édition - Suppression',
'selected' => $module::EDIT_ALL,
'selected' => blog::EDIT_ALL,
'help' => 'Les utilisateurs des groupes supérieurs accèdent à l\'article sans restriction'
]); ?>
</div>
@ -117,7 +117,7 @@
<?php echo template::checkbox('blogAddCommentApproved', true, 'Approbation par un modérateur'); ?>
</div>
<div class="col4 commentOptionsWrapper">
<?php echo template::select('blogAddCommentMaxlength', $module::$commentsLength,[
<?php echo template::select('blogAddCommentMaxlength', blog::$commentsLength,[
'help' => 'Choix du nombre maximum de caractères pour chaque commentaire de l\'article, mise en forme html comprise.',
'label' => 'Caractères par commentaire'
]); ?>
@ -128,7 +128,7 @@
<?php echo template::checkbox('blogAddCommentNotification', true, 'Notification par email'); ?>
</div>
<div class="col4 commentOptionsWrapper">
<?php echo template::select('blogAddCommentGroupNotification', $module::$groupNews); ?>
<?php echo template::select('blogAddCommentGroupNotification', blog::$groupNews); ?>
</div>
</div>
</div>

View File

@ -34,7 +34,7 @@
<?php echo template::ico('calendar-empty', ['margin' => 'left']); ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true): ?>
<?php echo helper::dateUTF8($module::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(blog::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true
@ -43,14 +43,14 @@
<?php echo '&nbsp;-&nbsp;'; ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showTime']) === true): ?>
<?php echo helper::dateUTF8($module::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(blog::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<!-- Bloc edition -->
<?php if (
$this->isConnected() === true
and
( // Propriétaire
($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'editConsent']) === $module::EDIT_OWNER
($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'editConsent']) === blog::EDIT_OWNER
and ($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'userId']) === $this->getUser('id')
or $this->getUser('group') === self::GROUP_ADMIN)
)
@ -62,8 +62,8 @@
)
or (
// Tout le monde
$this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'editConsent']) === $module::EDIT_ALL
and $this->getUser('group') >= $module::$actions['config']
$this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'editConsent']) === blog::EDIT_ALL
and $this->getUser('group') >= blog::$actions['config']
)
)
): ?>
@ -95,8 +95,8 @@
<h3>
<?php
echo template::ico('comment', ['margin' => 'right']);
if ($module::$nbCommentsApproved > 0) {
echo $module::$nbCommentsApproved . ' commentaire' . ($module::$nbCommentsApproved > 1 ? 's' : '');
if (blog::$nbCommentsApproved > 0) {
echo blog::$nbCommentsApproved . ' commentaire' . (blog::$nbCommentsApproved > 1 ? 's' : '');
} else {
echo 'Pas encore de commentaire';
}
@ -114,7 +114,7 @@
<?php echo template::text('blogArticleUserName', [
'label' => 'Nom',
'readonly' => true,
'value' => $module::$editCommentSignature
'value' => blog::$editCommentSignature
]); ?>
<?php echo template::hidden('blogArticleUserId', [
'value' => $this->getUser('id')
@ -172,17 +172,17 @@
<?php endif; ?>
<div class="row">
<div class="col12">
<?php foreach ($module::$comments as $commentId => $comment): ?>
<?php foreach (blog::$comments as $commentId => $comment): ?>
<div class="block">
<h4>
<?php echo template::ico('user'); ?>
<?php echo $module::$commentsSignature[$commentId]; ?>
<?php echo blog::$commentsSignature[$commentId]; ?>
<?php echo template::ico('calendar-empty'); ?>
<?php echo helper::dateUTF8($module::$dateFormat, $comment['createdOn'], self::$i18nUI) . ' - ' . helper::dateUTF8($module::$timeFormat, $comment['createdOn'], self::$i18nUI); ?>
<?php echo helper::dateUTF8(blog::$dateFormat, $comment['createdOn'], self::$i18nUI) . ' - ' . helper::dateUTF8(blog::$timeFormat, $comment['createdOn'], self::$i18nUI); ?>
</h4>
<?php echo $comment['content']; ?>
</div>
<?php endforeach; ?>
</div>
</div>
<?php echo $module::$pages; ?>
<?php echo blog::$pages; ?>

View File

@ -8,14 +8,14 @@
]); ?>
</div>
<?php if($module::$comments): ?>
<?php if(blog::$comments): ?>
<div class="col2 offset8">
<?php echo $module::$commentsDelete; ?>
<?php echo blog::$commentsDelete; ?>
</div>
</div>
<?php echo template::table([3, 5, 2, 1, 1], $module::$comments, ['Date', 'Contenu', 'Auteur', '', '']); ?>
<?php echo $module::$pages.'<br/>'; ?>
<?php echo template::table([3, 5, 2, 1, 1], blog::$comments, ['Date', 'Contenu', 'Auteur', '', '']); ?>
<?php echo blog::$pages.'<br/>'; ?>
<?php else: ?>
</div>
<?php echo template::speech('Aucun commentaire'); ?>

View File

@ -25,13 +25,13 @@
</div>
</div>
<?php echo template::formClose(); ?>
<?php if($module::$articles): ?>
<?php echo template::table([4, 4, 1, 1, 1, 1], $module::$articles, ['Titre', 'Publication', 'État', 'Commentaires', '','']); ?>
<?php echo $module::$pages; ?>
<?php if(blog::$articles): ?>
<?php echo template::table([4, 4, 1, 1, 1, 1], blog::$articles, ['Titre', 'Publication', 'État', 'Commentaires', '','']); ?>
<?php echo blog::$pages; ?>
<?php else: ?>
<?php echo template::speech('Aucun article'); ?>
<?php endif; ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo blog::VERSION; ?>
</div>

View File

@ -53,13 +53,13 @@
]); ?>
</div>
<div class="col3">
<?php echo template::select('blogEditPictureSize', $module::$pictureSizes, [
<?php echo template::select('blogEditPictureSize', blog::$pictureSizes, [
'label' => 'Largeur de l\'image',
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'pictureSize'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('blogEditPicturePosition', $module::$picturePositions, [
<?php echo template::select('blogEditPicturePosition', blog::$picturePositions, [
'label' => 'Position',
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'picturePosition']),
'help' => 'Le texte de l\'article est adapté autour de l\'image'
@ -86,7 +86,7 @@
<h4><?php echo helper::translate('Options de publication'); ?></h4>
<div class="row">
<div class="col4">
<?php echo template::select('blogEditUserId', $module::$users, [
<?php echo template::select('blogEditUserId', blog::$users, [
'label' => 'Auteur',
'selected' => $this->getUser('id'),
'disabled' => $this->getUser('group') !== self::GROUP_ADMIN ? true : false
@ -101,9 +101,9 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('blogEditConsent', $module::$articleConsent, [
<?php echo template::select('blogEditConsent', blog::$articleConsent, [
'label' => 'Édition - Suppression',
'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']),
'selected' => is_numeric($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'editConsent'])) ? blog::EDIT_GROUP : $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'editConsent']),
'help' => 'Les utilisateurs des groupes supérieurs accèdent à l\'article sans restriction'
]); ?>
</div>
@ -128,7 +128,7 @@
]); ?>
</div>
<div class="col4 commentOptionsWrapper">
<?php echo template::select('blogEditCommentMaxlength', $module::$commentsLength, [
<?php echo template::select('blogEditCommentMaxlength', blog::$commentsLength, [
'help' => 'Choix du nombre maximum de caractères pour chaque commentaire de l\'article, mise en forme html comprise.',
'label' => 'Caractères par commentaire',
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'commentMaxlength'])
@ -143,7 +143,7 @@
]); ?>
</div>
<div class="col4 commentOptionsWrapper">
<?php echo template::select('blogEditCommentGroupNotification', $module::$groupNews, [
<?php echo template::select('blogEditCommentGroupNotification', blog::$groupNews, [
'selected' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'commentGroupNotification']),
]); ?>
</div>

View File

@ -8,9 +8,9 @@
</a>
</div>
<?php endif; ?>
<?php if ($module::$articles): ?>
<?php if (blog::$articles): ?>
<article id="article">
<?php foreach ($module::$articles as $articleId => $article): ?>
<?php foreach (blog::$articles as $articleId => $article): ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'layout']) === true): ?>
<div class="readMoreModernContainer">
<div class="row">
@ -39,7 +39,7 @@
<?php echo template::ico('calendar-empty', ['margin' => 'left']); ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true): ?>
<?php echo helper::dateUTF8($module::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(blog::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true
@ -48,7 +48,7 @@
<?php echo '&nbsp;-&nbsp;'; ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showTime']) === true): ?>
<?php echo helper::dateUTF8($module::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(blog::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
</div>
</div>
@ -75,7 +75,7 @@
$this->isConnected() === true
and
( // Propriétaire
($this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'editConsent']) === $module::EDIT_OWNER
($this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'editConsent']) === blog::EDIT_OWNER
and ($this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'userId']) === $this->getUser('id')
or $this->getUser('group') === self::GROUP_ADMIN)
)
@ -87,8 +87,8 @@
)
or (
// Tout le monde
$this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'editConsent']) === $module::EDIT_ALL
and $this->getUser('group') >= $module::$actions['config']
$this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'editConsent']) === blog::EDIT_ALL
and $this->getUser('group') >= blog::$actions['config']
)
)
): ?>
@ -104,9 +104,9 @@
<p>
<?php echo template::ico('comment', ['margin' => 'right']); ?>
<?php
if ($module::$comments[$articleId] > 0) {
if (blog::$comments[$articleId] > 0) {
echo '<a href="' . helper::baseUrl() . $this->getUrl(0) . '/' . $articleId . '">';
echo $module::$comments[$articleId] . ' commentaire' . ($module::$comments[$articleId] > 1 ? 's' : '');
echo blog::$comments[$articleId] . ' commentaire' . (blog::$comments[$articleId] > 1 ? 's' : '');
echo '</a>';
} else {
echo 'Pas encore de commentaire';
@ -153,8 +153,8 @@
</h2>
<div class="blogComment">
<a href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/' . $articleId; ?>#comment">
<?php if ($module::$comments[$articleId]): ?>
<?php echo $module::$comments[$articleId]; ?>
<?php if (blog::$comments[$articleId]): ?>
<?php echo blog::$comments[$articleId]; ?>
<?php echo template::ico('comment', ['margin' => 'left']); ?>
<?php endif; ?>
</a>
@ -174,7 +174,7 @@
<?php echo template::ico('calendar-empty', ['margin' => 'left']); ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true): ?>
<?php echo helper::dateUTF8($module::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(blog::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true
@ -183,7 +183,7 @@
<?php echo '&nbsp;-&nbsp;'; ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showTime']) === true): ?>
<?php echo helper::dateUTF8($module::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(blog::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $articleId, 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<div class="blogContent">
<?php $lenght = $this->getData(['module', $this->getUrl(0), 'config', 'articlesLenght']); ?>
@ -207,7 +207,7 @@
<?php endif; ?>
<?php endforeach; ?>
</article>
<?php echo $module::$pages; ?>
<?php echo blog::$pages; ?>
<?php else: ?>
<?php echo template::speech('Aucun article'); ?>
<?php endif; ?>

View File

@ -36,7 +36,7 @@
]); ?>
</div>
<div class="col3">
<?php echo template::select('blogOptionDateFormat', $module::$dateFormats, [
<?php echo template::select('blogOptionDateFormat', blog::$dateFormats, [
'label' => 'Format des dates',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'dateFormat'])
]); ?>
@ -47,7 +47,7 @@
]); ?>
</div>
<div class="col3 timeWrapper">
<?php echo template::select('blogOptionTimeFormat', $module::$timeFormats, [
<?php echo template::select('blogOptionTimeFormat', blog::$timeFormats, [
'label' => 'Format des heures',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'timeFormat'])
]); ?>
@ -55,19 +55,19 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('blogOptionArticlesLayout', $module::$articlesLayout, [
<?php echo template::select('blogOptionArticlesLayout', blog::$articlesLayout, [
'label' => 'Disposition',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'layout'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('blogOptionArticlesLenght', $module::$articlesLenght, [
<?php echo template::select('blogOptionArticlesLenght', blog::$articlesLenght, [
'label' => 'Aperçus',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'articlesLenght'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('blogOptionItemsperPage', $module::$ArticlesListed, [
<?php echo template::select('blogOptionItemsperPage', blog::$ArticlesListed, [
'label' => 'Articles par page',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'itemsperPage'])
]); ?>
@ -91,5 +91,5 @@
</div>
<?php echo template::formClose(); ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo blog::VERSION; ?>
</div>

View File

@ -1,4 +1,6 @@
# Versions 4.4
# Version 4.5
- Remplacement du nom générique de classe dans les vues.
# Version 4.4
- Le sélecteur de fichier affiche par défaut le chemin vers le fichier présent dans le champ.
# Version 4.3
- Contrôle de la variable de session liée au contenu. Evite des erreurs lorsque plusieurs onglets sont ouverts.

View File

@ -17,7 +17,7 @@
class form extends common
{
const VERSION = '4.4';
const VERSION = '4.5';
const REALNAME = 'Formulaire';
const DATADIRECTORY = ''; // Contenu localisé inclus par défaut (page.json et module.json)
@ -503,6 +503,8 @@ class form extends common
'notification' => ($sent === true ? helper::translate('Formulaire soumis') : $sent),
'redirect' => $redirect ? helper::baseUrl() . $redirect : '',
'state' => ($sent === true ? true : false),
'vendor' => [
],
]);
}
// Valeurs en sortie

View File

@ -16,7 +16,7 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('formConfigType[]', $module::$types, [
<?php echo template::select('formConfigType[]', form::$types, [
'class' => 'formConfigType'
]); ?>
</div>
@ -93,5 +93,5 @@
</div>
<?php echo template::formClose(); ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo form::VERSION; ?>
</div>

View File

@ -22,12 +22,12 @@
]); ?>
</div>
</div>
<?php if($module::$data): ?>
<?php echo template::table([11, 1], $module::$data, ['Données', '']); ?>
<?php echo $module::$pages; ?>
<?php if(form::$data): ?>
<?php echo template::table([11, 1], form::$data, ['Données', '']); ?>
<?php echo form::$pages; ?>
<?php else: ?>
<?php echo template::speech('Aucune donnée'); ?>
<?php endif; ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo form::VERSION; ?>
</div>

View File

@ -6,12 +6,12 @@
?>">
<?php echo template::formOpen('formForm'); ?>
<?php foreach ($this->getData(['module', $this->getUrl(0), 'input']) as $index => $input): ?>
<?php if ($input['type'] === $module::TYPE_MAIL): ?>
<?php if ($input['type'] === form::TYPE_MAIL): ?>
<?php echo template::mail('formInput[' . $index . ']', [
'id' => 'formInput_' . $index,
'label' => $input['name']
]); ?>
<?php elseif ($input['type'] === $module::TYPE_SELECT): ?>
<?php elseif ($input['type'] === form::TYPE_SELECT): ?>
<?php
$values = array_flip(explode(',', $input['values']));
foreach ($values as $value => $key) {
@ -22,28 +22,28 @@
'id' => 'formInput_' . $index,
'label' => $input['name']
]); ?>
<?php elseif ($input['type'] === $module::TYPE_TEXT): ?>
<?php elseif ($input['type'] === form::TYPE_TEXT): ?>
<?php echo template::text('formInput[' . $index . ']', [
'id' => 'formInput_' . $index,
'label' => $input['name']
]); ?>
<?php elseif ($input['type'] === $module::TYPE_TEXTAREA): ?>
<?php elseif ($input['type'] === form::TYPE_TEXTAREA): ?>
<?php echo template::textarea('formInput[' . $index . ']', [
'id' => 'formInput_' . $index,
'label' => $input['name']
]); ?>
<?php elseif ($input['type'] === $module::TYPE_DATETIME): ?>
<?php elseif ($input['type'] === form::TYPE_DATETIME): ?>
<?php echo template::date('formInput[' . $index . ']', [
'id' => 'formInput_' . $index,
'label' => $input['name'],
'type' => 'date',
]); ?>
<?php elseif ($input['type'] === $module::TYPE_CHECKBOX): ?>
<?php elseif ($input['type'] === form::TYPE_CHECKBOX): ?>
<?php echo template::checkbox(
'formInput[' . $index . ']',
true, $input['name']
); ?>
<?php elseif ($input['type'] === $module::TYPE_LABEL): ?>
<?php elseif ($input['type'] === form::TYPE_LABEL): ?>
<h3 class='formLabel'>
<?php echo $input['name']; ?>
<hr class="formLabel">

View File

@ -36,7 +36,7 @@
]); ?>
</div>
<div class="col5">
<?php echo template::select('formOptionPageId', $module::$pages, [
<?php echo template::select('formOptionPageId', form::$pages, [
'classWrapper' => 'displayNone',
'label' => 'Page du site',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'pageId'])
@ -52,7 +52,7 @@
<h4><?php echo helper::translate('Gabarit'); ?></h4>
<div class="row">
<div class="col6">
<?php echo template::select('formOptionAlign', $module::$optionAlign, [
<?php echo template::select('formOptionAlign', form::$optionAlign, [
'label' => 'Alignement du formulaire',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'align'])
]); ?>
@ -60,13 +60,13 @@
</div>
<div class="row">
<div class="col6">
<?php echo template::select('formOptionOffset', $module::$optionOffset, [
<?php echo template::select('formOptionOffset', form::$optionOffset, [
'label' => 'Décalage à gauche',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'offset'])
]); ?>
</div>
<div class="col6">
<?php echo template::select('formOptionWidth', $module::$optionWidth, [
<?php echo template::select('formOptionWidth', form::$optionWidth, [
'label' => 'Largeur',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'width'])
]); ?>
@ -97,7 +97,7 @@
</div>
<?php
// Element 0 quand aucun membre a été sélectionné
$groupMembers = [''] + $module::$groupNews;
$groupMembers = [''] + form::$groupNews;
?>
<div class="row">
<div class="col4">
@ -107,9 +107,9 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('formOptionUser', $module::$listUsers, [
<?php echo template::select('formOptionUser', form::$listUsers, [
'label' => 'A un membre',
'selected' => array_search($this->getData(['module', $this->getUrl(0), 'config', 'user']), $module::$listUsers)
'selected' => array_search($this->getData(['module', $this->getUrl(0), 'config', 'user']), form::$listUsers)
]); ?>
</div>
<div class="col4">
@ -121,7 +121,7 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('formOptionSignature', $module::$signature, [
<?php echo template::select('formOptionSignature', form::$signature, [
'label' => 'Type de signature',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'signature'])
]); ?>
@ -135,7 +135,7 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('formOptionLogoWidth', $module::$logoWidth, [
<?php echo template::select('formOptionLogoWidth', form::$logoWidth, [
'label' => 'Largeur du logo',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'logoWidth'])
]); ?>

View File

@ -1,3 +1,5 @@
# Version 4.3
- Remplacement du nom générique de classe dans les vues.
# Version 4.2
- Contrôle de la variable de session liée au contenu. Evite des erreurs lorsque plusieurs onglets sont ouverts.
# Version 4.1

View File

@ -18,7 +18,7 @@ class gallery extends common
{
const VERSION = '4.2';
const VERSION = '4.3';
const REALNAME = 'Galerie';
const DATADIRECTORY = self::DATA_DIR . 'gallery/';

View File

@ -35,7 +35,7 @@
</div>
<div class="row">
<div class="col3">
<?php echo template::select('galleryAddSort', $module::$sort, [
<?php echo template::select('galleryAddSort', gallery::$sort, [
'selected' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'sort']),
'label' => 'Tri des images',
'help' => 'Tri manuel : déplacez le images dans le tableau ci-dessous. L\'ordre est sauvegardé automatiquement.'

View File

@ -31,14 +31,14 @@
<?php echo template::formClose(); ?>
<div class="row">
<div class="col12">
<?php if($module::$galleries): ?>
<?php echo template::table([1, 4, 5, 1, 1], $module::$galleries, ['#','Nom', 'Dossier cible', '', ''], ['id' => 'galleryTable'],$module::$galleriesId); ?>
<?php if(gallery::$galleries): ?>
<?php echo template::table([1, 4, 5, 1, 1], gallery::$galleries, ['#','Nom', 'Dossier cible', '', ''], ['id' => 'galleryTable'],gallery::$galleriesId); ?>
<?php echo template::hidden('galleryConfigFilterResponse'); ?>
<?php else: ?>
<?php echo template::speech('Aucune galerie'); ?>
<?php endif; ?>
</div>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo gallery::VERSION; ?>
</div>
</div>

View File

@ -19,8 +19,8 @@
</div>
<div class="row">
<div class="col12">
<?php if($module::$pictures): ?>
<?php echo template::table([1, 4, 1, 5, 1], $module::$pictures, ['#','Image', 'Couverture','Légende',''],['id' => 'galleryTable'], $module::$picturesId ); ?>
<?php if(gallery::$pictures): ?>
<?php echo template::table([1, 4, 1, 5, 1], gallery::$pictures, ['#','Image', 'Couverture','Légende',''],['id' => 'galleryTable'], gallery::$picturesId ); ?>
<?php echo template::hidden('galleryEditFormResponse'); ?>
<?php echo template::hidden('galleryEditSort',['value' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'sort' ])]);?>
<?php echo template::hidden('galleryEditFormGalleryName',['value' => $this->getUrl(2)]); ?>
@ -30,6 +30,6 @@
</div>
<?php echo template::formClose(); ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo gallery::VERSION; ?>
</div>

View File

@ -1,4 +1,4 @@
<div class="row <?php echo $module::$config['backAlign'] . ' ' . $module::$config['backPositionTop'];?>">
<div class="row <?php echo gallery::$config['backAlign'] . ' ' . gallery::$config['backPositionTop'];?>">
<div class="col1">
<?php echo template::button('galleryGalleryBack', [
'href' => helper::baseUrl() . $this->getUrl(0),
@ -6,14 +6,14 @@
]); ?>
</div>
</div>
<div id="pictureContainer" class="row galleryRow <?php echo ($module::$config['fullScreen']);?> ">
<?php foreach($module::$pictures as $picture => $legend): ?>
<div id="pictureContainer" class="row galleryRow <?php echo (gallery::$config['fullScreen']);?> ">
<?php foreach(gallery::$pictures as $picture => $legend): ?>
<div class="colPicture">
<a
href="<?php echo helper::baseUrl(false) . $picture; ?>"
<?php if ( strpos($picture, $module::$config['homePicture']) > 1) { echo 'id="homePicture"'; } ?>
<?php if ( strpos($picture, gallery::$config['homePicture']) > 1) { echo 'id="homePicture"'; } ?>
class="galleryGalleryPicture"
style="background-image:url('<?php echo helper::baseUrl(false) . $module::$thumbs[$picture]; ?>')"
style="background-image:url('<?php echo helper::baseUrl(false) . gallery::$thumbs[$picture]; ?>')"
data-caption="<?php echo $legend; ?>"
>
<?php if($legend): ?>
@ -23,7 +23,7 @@
</div>
<?php endforeach; ?>
</div>
<div class="row <?php echo $module::$config['backAlign'] . ' ' . $module::$config['backPositionBottom'];?>">
<div class="row <?php echo gallery::$config['backAlign'] . ' ' . gallery::$config['backPositionBottom'];?>">
<div class="col1">
<?php echo template::button('galleryGalleryBack', [
'href' => helper::baseUrl() . $this->getUrl(0),

View File

@ -1,11 +1,11 @@
<?php if($module::$galleries): ?>
<?php if(gallery::$galleries): ?>
<div class="row galleryRow">
<?php foreach($module::$galleries as $galleryId => $gallery): ?>
<?php foreach(gallery::$galleries as $galleryId => $gallery): ?>
<div class="colPicture" div="pos<?php echo $gallery['config']['position']; ?>" >
<a
href="<?php echo helper::baseUrl() . $this->getUrl(0); ?>/<?php echo $galleryId; ?>"
class="galleryPicture"
style="background-image:url('<?php echo $module::$firstPictures[$galleryId];?>')"
style="background-image:url('<?php echo gallery::$firstPictures[$galleryId];?>')"
>
<div class="galleryName"><?php echo $gallery['config']['name']; ?></div>
</a>

View File

@ -11,7 +11,7 @@
<?php echo template::submit('galleriesOptionSubmit'); ?>
</div>
</div>
<?php if($module::$formOptionSelect === 'galleries'): ?>
<?php if(gallery::$formOptionSelect === 'galleries'): ?>
<div class="row">
<div class="col12">
<div class="block">
@ -29,7 +29,7 @@
</div>
<div class="row" id="containerBackOptions">
<div class="col6">
<?php echo template::select('galleryOptionBackPosition', $module::$galleryOptionBackPosition, [
<?php echo template::select('galleryOptionBackPosition', gallery::$galleryOptionBackPosition, [
'label' => 'Position du bouton de retour à l\'index des galeries',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery']) === true
? 'none'
@ -40,7 +40,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('galleryOptionBackAlign', $module::$galleryOptionBackAlign, [
<?php echo template::select('galleryOptionBackAlign', gallery::$galleryOptionBackAlign, [
'label' => 'Alignement du bouton de retour',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery']) === true
? 'none'
@ -54,7 +54,7 @@
</div>
</div>
</div>
<?php elseif($module::$formOptionSelect === 'gallery'): ?>
<?php elseif(gallery::$formOptionSelect === 'gallery'): ?>
<div class="row">
<div class="col12">
<div class="block">
@ -81,7 +81,7 @@
</div>
<div class="row">
<div class="col3">
<?php echo template::select('galleryEditSort', $module::$sort, [
<?php echo template::select('galleryEditSort', gallery::$sort, [
'selected' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'sort']),
'label' => 'Tri des images',
'help' => 'Tri manuel : déplacez le images dans le tableau ci-dessous. L\'ordre est sauvegardé automatiquement.'
@ -114,7 +114,7 @@
<div class="row">
<div class="col12">
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo gallery::VERSION; ?>
</div>
</div>
</div>

View File

@ -17,25 +17,25 @@
<h4><?php echo helper::translate('Vignettes');?></h4>
<div class="row">
<div class="col3">
<?php echo template::select('galleryThemeThumbWidth', $module::$galleryThemeSizeWidth, [
<?php echo template::select('galleryThemeThumbWidth', gallery::$galleryThemeSizeWidth, [
'label' => 'Largeur',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbWidth'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('galleryThemeThumbHeight', $module::$galleryThemeSizeHeight, [
<?php echo template::select('galleryThemeThumbHeight', gallery::$galleryThemeSizeHeight, [
'label' => 'Hauteur',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbHeight'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('galleryThemeThumbAlign', $module::$galleryThemeFlexAlign, [
<?php echo template::select('galleryThemeThumbAlign', gallery::$galleryThemeFlexAlign, [
'label' => 'Alignement',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbAlign'])
]); ?>
</div>
<div class="col2">
<?php echo template::select('galleryThemeThumbMargin', $module::$galleryThemeMargin, [
<?php echo template::select('galleryThemeThumbMargin', gallery::$galleryThemeMargin, [
'label' => 'Marge',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbMargin'])
]); ?>
@ -43,7 +43,7 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('galleryThemeThumbBorder', $module::$galleryThemeBorder, [
<?php echo template::select('galleryThemeThumbBorder', gallery::$galleryThemeBorder, [
'label' => 'Bordure',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbBorder'])
]); ?>
@ -57,7 +57,7 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('galleryThemeThumbRadius', $module::$galleryThemeRadius, [
<?php echo template::select('galleryThemeThumbRadius', gallery::$galleryThemeRadius, [
'label' => 'Arrondi des angles',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbRadius'])
]); ?>
@ -65,7 +65,7 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('galleryThemeThumbShadows', $module::$galleryThemeShadows, [
<?php echo template::select('galleryThemeThumbShadows', gallery::$galleryThemeShadows, [
'label' => 'Ombre',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbShadows'])
]); ?>
@ -79,7 +79,7 @@
]); ?>
</div>
<div class="col4">
<?php echo template::select('galleryThemeThumbOpacity', $module::$galleryThemeOpacity, [
<?php echo template::select('galleryThemeThumbOpacity', gallery::$galleryThemeOpacity, [
'label' => 'Opacité au survol',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbOpacity'])
]); ?>
@ -110,13 +110,13 @@
]); ?>
</div>
<div class="col3">
<?php echo template::select('galleryThemeLegendHeight', $module::$galleryThemeLegendHeight, [
<?php echo template::select('galleryThemeLegendHeight', gallery::$galleryThemeLegendHeight, [
'label' => 'Hauteur',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','legendHeight'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('galleryThemeLegendAlign', $module::$galleryThemeAlign, [
<?php echo template::select('galleryThemeLegendAlign', gallery::$galleryThemeAlign, [
'label' => 'Alignement',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','legendAlign'])
]); ?>
@ -128,7 +128,7 @@
<div class="row">
<div class="col12">
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo gallery::VERSION; ?>
</div>
</div>
</div>

View File

@ -1,5 +1,7 @@
# Versions 6.0
- Ajoute deux nouvelles options pour afficher ou masquer la date et l'heure de l'article.
# Version 6.1
- Remplacement du nom générique de classe dans les vues.
# Version 6.0
- Ajoute trois nouvelles options pour afficher ou masquer la signature, la date et l'heure de l'article.
- Corrige un mauvais format de la propriété buttonBack non stockée au type booléen.
# Versions 5.9
- Largeur d'un bouton de retour.

View File

@ -16,7 +16,7 @@
class news extends common
{
const VERSION = '6.0';
const VERSION = '6.1';
const REALNAME = 'News';
const DATADIRECTORY = self::DATA_DIR . 'news/';
@ -316,6 +316,7 @@ class news extends common
'buttonBack' => $this->getInput('newsOptionButtonBack', helper::FILTER_BOOLEAN),
'showDate' => $this->getInput('newsOptionShowDate', helper::FILTER_BOOLEAN),
'showTime' => $this->getInput('newsOptionShowTime', helper::FILTER_BOOLEAN),
'showPseudo' => $this->getInput('newsOptionShowPseudo', helper::FILTER_BOOLEAN),
'versionData' => $this->getData(['module', $this->getUrl(0), 'config', 'versionData']),
]
]);
@ -621,6 +622,7 @@ class news extends common
$this->setData(['module', $this->getUrl(0), 'config', 'buttonBack', true]);
$this->setData(['module', $this->getUrl(0), 'config', 'showTime', true]);
$this->setData(['module', $this->getUrl(0), 'config', 'showDate', true]);
$this->setData(['module', $this->getUrl(0), 'config', 'showPseudo', true]);
// Mettre à jour la version
$this->setData(['module', $this->getUrl(0), 'config', 'versionData', '6.0']);
}

View File

@ -42,7 +42,7 @@
<h4><?php echo helper::translate('Options de publication');?></h4>
<div class="row">
<div class="col4">
<?php echo template::select('newsAddUserId', $module::$users, [
<?php echo template::select('newsAddUserId', news::$users, [
'label' => 'Auteur',
'selected' => $this->getUser('id')
]); ?>

View File

@ -13,8 +13,12 @@
</div>
<div class="col6 newsDate textAlignRight">
<!-- bloc signature -->
<?php echo template::ico('user'); ?>
<?php echo $module::$articleSignature; ?>
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showPseudo']) === true
): ?>
<?php echo template::ico('user'); ?>
<?php echo $this->signature($this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'userId'])); ?>
<?php endif; ?>
<!-- bloc date -->
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true
@ -23,7 +27,7 @@
<?php echo template::ico('calendar-empty', ['margin' => 'left']); ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true): ?>
<?php echo helper::dateUTF8($module::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(news::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true
@ -32,8 +36,8 @@
<?php echo '&nbsp;-&nbsp;'; ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showTime']) === true): ?>
<?php echo helper::dateUTF8($module::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?> <!-- Bloc edition -->
<?php echo helper::dateUTF8(news::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?> <!-- Bloc edition -->
<?php if (
$this->isConnected() === true
and
@ -51,7 +55,7 @@
<div id="rssFeed">
<a type="application/rss+xml" href="<?php echo helper::baseUrl() . $this->getUrl(0) . '/rss'; ?>"
target="_blank">
<img src='module/news/ressource/feed-icon-16.gif' />
&nbsp;<img src='module/news/ressource/feed-icon-16.gif' />
<?php
echo '<p>' . $this->getData(['module', $this->getUrl(0), 'config', 'feedsLabel']) . '</p>';
?>

View File

@ -24,13 +24,13 @@
</div>
</div>
<?php if($module::$news): ?>
<?php echo template::table([4, 2, 2, 2, 1, 1], $module::$news, ['Titre', 'Publication', 'Fin de publication', 'État', '', '']); ?>
<?php echo $module::$pages; ?>
<?php if(news::$news): ?>
<?php echo template::table([4, 2, 2, 2, 1, 1], news::$news, ['Titre', 'Publication', 'Fin de publication', 'État', '', '']); ?>
<?php echo news::$pages; ?>
<?php else: ?>
<?php echo template::speech('Aucun article'); ?>
<?php endif; ?>
<?php echo template::formClose(); ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo news::VERSION; ?>
</div>

View File

@ -44,7 +44,7 @@
<h4><?php echo helper::translate('Options de publication');?></h4>
<div class="row">
<div class="col4">
<?php echo template::select('newsEditUserId', $module::$users, [
<?php echo template::select('newsEditUserId', news::$users, [
'label' => 'Auteur',
'selected' => $this->getUser('id')
]); ?>

View File

@ -1,4 +1,4 @@
<?php if ($module::$news): ?>
<?php if (news::$news): ?>
<link rel="stylesheet" type="text/css"
href="<?php echo helper::baseUrl(false) . $this->getData(['module', $this->getUrl(0), 'theme', 'style']); ?> " />
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'feeds'])): ?>
@ -14,16 +14,20 @@
<article>
<div class="row">
<?php foreach ($module::$news as $newsId => $news): ?>
<div class="col<?php echo $module::$nbrCol; ?>">
<?php foreach (news::$news as $newsId => $news): ?>
<div class="col<?php echo news::$nbrCol; ?>">
<div class="newsFrame">
<h2 class="newsTitle" id="<?php echo $newsId; ?>">
<?php echo '<a href="' . helper::baseUrl(true) . $this->getUrl(0) . '/' . $newsId . '">' . $news['title'] . '</a>'; ?>
</h2>
<div class="newsSignature">
<!-- bloc signature -->
<?php echo template::ico('user'); ?>
<?php echo $news['userId']; ?>
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showPseudo']) === true
): ?>
<?php echo template::ico('user'); ?>
<?php echo $this->signature($this->getData(['module', $this->getUrl(0), 'posts', $newsId, 'userId'])); ?>
<?php endif; ?>
<!-- bloc Date -->
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true
@ -32,7 +36,7 @@
<?php echo template::ico('calendar-empty', ['margin' => 'left']); ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true): ?>
<?php echo helper::dateUTF8($module::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(news::$dateFormat, $this->getData(['module', $this->getUrl(0), 'posts', $newsId, 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<?php if (
$this->getData(['module', $this->getUrl(0), 'config', 'showDate']) === true
@ -41,7 +45,7 @@
<?php echo '&nbsp;-&nbsp;'; ?>
<?php endif; ?>
<?php if ($this->getData(['module', $this->getUrl(0), 'config', 'showTime']) === true): ?>
<?php echo helper::dateUTF8($module::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(1), 'publishedOn']), self::$i18nUI); ?>
<?php echo helper::dateUTF8(news::$timeFormat, $this->getData(['module', $this->getUrl(0), 'posts', $newsId, 'publishedOn']), self::$i18nUI); ?>
<?php endif; ?>
<!-- Bloc edition -->
<?php if (
@ -70,7 +74,7 @@
<?php endforeach; ?>
</div>
</article>
<?php echo $module::$pages; ?>
<?php echo news::$pages; ?>
<?php else: ?>
<?php echo template::speech('Aucune news'); ?>
<?php endif; ?>

View File

@ -15,6 +15,18 @@
<div class="col12">
<div class="block">
<h4><?php echo helper::translate('Paramètres'); ?></h4>
<div class="row">
<div class="col6">
<?php echo template::checkbox('newsOptionButtonBack', true, 'Bouton de retour', [
'checked' => $this->getData(['module', $this->getUrl(0), 'config', 'buttonBack'])
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('newsOptionShowPseudo', true, 'Signature', [
'checked' => $this->getData(['module', $this->getUrl(0), 'config', 'showPseudo'])
]); ?>
</div>
</div>
<div class="row">
<div class="col3">
<?php echo template::checkbox('newsOptionShowDate', true, 'Afficher la date', [
@ -22,7 +34,7 @@
]); ?>
</div>
<div class="col3">
<?php echo template::select('newsOptionDateFormat', $module::$dateFormats, [
<?php echo template::select('newsOptionDateFormat', news::$dateFormats, [
'label' => 'Format des dates',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'dateFormat'])
]); ?>
@ -33,7 +45,7 @@
]); ?>
</div>
<div class="col3 timeWrapper">
<?php echo template::select('newsOptionTimeFormat', $module::$timeFormats, [
<?php echo template::select('newsOptionTimeFormat', news::$timeFormats, [
'label' => 'Format des heures',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'timeFormat'])
]); ?>
@ -41,31 +53,26 @@
</div>
<div class="row">
<div class="col4">
<?php echo template::select('newsOptionItemsperCol', $module::$columns, [
<?php echo template::select('newsOptionItemsperCol', news::$columns, [
'label' => 'Nombre de colonnes',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'itemsperCol'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('newsOptionItemsperPage', $module::$itemsList, [
<?php echo template::select('newsOptionItemsperPage', news::$itemsList, [
'label' => 'Articles par page',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'itemsperPage'])
]); ?>
</div>
<div class="col4">
<?php echo template::select('newsOptionHeight', $module::$height, [
<?php echo template::select('newsOptionHeight', news::$height, [
'label' => 'Abrégé de l\'article',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'height'])
]); ?>
</div>
</div>
<div class="row">
<div class="col3">
<?php echo template::checkbox('newsOptionButtonBack', true, 'Bouton de retour', [
'checked' => $this->getData(['module', $this->getUrl(0), 'config', 'buttonBack'])
]); ?>
</div>
<div class="col3">
<div class="col6">
<?php echo template::checkbox('newsOptionShowFeeds', true, 'Lien du flux RSS', [
'checked' => $this->getData(['module', $this->getUrl(0), 'config', 'feeds']),
'help' => 'Flux limité aux articles de la première page.'
@ -87,13 +94,13 @@
<h4><?php echo helper::translate('Thème'); ?></h4>
<div class="row">
<div class="col3">
<?php echo template::select('newsThemeBorderStyle', $module::$borderStyle, [
<?php echo template::select('newsThemeBorderStyle', news::$borderStyle, [
'label' => 'Bordure',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme', 'borderStyle'])
]); ?>
</div>
<div class="col3">
<?php echo template::select('newsThemeBorderWidth', $module::$borderWidth, [
<?php echo template::select('newsThemeBorderWidth', news::$borderWidth, [
'label' => 'Épaisseur',
'selected' => $this->getData(['module', $this->getUrl(0), 'theme', 'borderWidth'])
]); ?>
@ -120,5 +127,5 @@
</div>
<?php echo template::formClose(); ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo news::VERSION; ?>
</div>

View File

@ -1,5 +1,5 @@
# Version 3.3
- Une seule lecture du fichier module.json
- Remplacement du nom générique de classe dans les vues.
# Version 3.2
- Contrôle de la variable de session liée au contenu. Evite des erreurs lorsque plusieurs onglets sont ouverts.
# Version 3.1

View File

@ -172,43 +172,40 @@ class search extends common
public function index()
{
// Initialise un module non configuré
$this->init();
if ($this->isPost()) {
if (
$this->isPost()
) {
//Initialisations variables
$success = true;
$result = [];
$notification = '';
$total = '';
// Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués
self::$motclef = $this->getInput('searchMotphraseclef');
// Variable de travail, on conserve la variable globale pour l'affichage du résultat
$motclef = self::$motclef;
// Suppression des mots < 3 caractères et des articles > 2 caractères de la chaîne $motclef
// Suppression des mots < 3 caractères et des articles > 2 caractères de la chaîne $motclef
$arraymotclef = explode(' ', $motclef);
$motclef = '';
foreach ($arraymotclef as $key => $value) {
if (strlen($value) > 2 && $value !== 'les' && $value !== 'des' && $value !== 'une' && $value !== 'aux') {
if (strlen($value) > 2 && $value !== 'les' && $value !== 'des' && $value !== 'une' && $value !== 'aux')
$motclef .= $value . ' ';
}
}
// Suppression du dernier ' '
if ($motclef !== '') {
if ($motclef !== '')
$motclef = substr($motclef, 0, strlen($motclef) - 1);
}
// Récupération de l'état de l'option mot entier passé par le même formulaire
self::$motentier = $this->getInput('searchMotentier', helper::FILTER_BOOLEAN);
// Lecture unique des données du module
$moduleData = $this->getData(['module']);
if ($motclef !== '') {
foreach ($this->getHierarchy(null, false, null) as $parentId => $childIds) {
// Vérification des conditions pour la page parente
if (
$this->getData(['page', $parentId, 'disable']) === false &&
$this->getUser('group') >= $this->getData(['page', $parentId, 'group']) &&
@ -216,6 +213,7 @@ class search extends common
) {
$url = $parentId;
$titre = $this->getData(['page', $parentId, 'title']);
//$content = file_get_contents(self::DATA_DIR . self::$siteContent . '/content/' . $this->getData(['page', $parentId, 'content']));
$content = $this->getPage($parentId, self::$siteContent);
$content = $titre . ' ' . $content;
// Pages sauf pages filles et articles de blog
@ -224,9 +222,9 @@ class search extends common
$result[] = $tempData;
}
}
// Vérification des sous-pages et articles de sous-pages
foreach ($childIds as $childId) {
// Sous page
if (
$this->getData(['page', $childId, 'disable']) === false &&
$this->getUser('group') >= $this->getData(['page', $parentId, 'group']) &&
@ -234,21 +232,24 @@ class search extends common
) {
$url = $childId;
$titre = $this->getData(['page', $childId, 'title']);
//$content = file_get_contents(self::DATA_DIR . self::$siteContent . '/content/' . $this->getData(['page', $childId, 'content']));
$content = $this->getPage($childId, self::$siteContent);
$content = $titre . ' ' . $content;
//Pages filles
$tempData = $this->occurrence($url, $titre, $content, $motclef, self::$motentier);
if (is_array($tempData)) {
$result[] = $tempData;
}
}
// Articles d'une sous-page blog ou de news
if (isset($moduleData[$childId]['posts'])) {
foreach ($moduleData[$childId]['posts'] as $articleId => $article) {
if ($article['state'] === true) {
if ($this->getData(['module', $childId, 'posts'])) {
foreach ($this->getData(['module', $childId, 'posts']) as $articleId => $article) {
if ($this->getData(['module', $childId, 'posts', $articleId, 'state']) === true) {
$url = $childId . '/' . $articleId;
$titre = $article['title'];
$contenu = ' ' . $titre . ' ' . $article['content'];
// Articles de sous-page de type blog
$tempData = $this->occurrence($url, $titre, $contenu, $motclef, self::$motentier);
if (is_array($tempData)) {
$result[] = $tempData;
@ -257,11 +258,12 @@ class search extends common
}
}
}
// Articles d'un blog ou de news
if (isset($moduleData[$parentId]['posts'])) {
foreach ($moduleData[$parentId]['posts'] as $articleId => $article) {
if ($article['state'] === true) {
if ($this->getData(['module', $parentId, 'posts'])) {
foreach ($this->getData(['module', $parentId, 'posts']) as $articleId => $article) {
if ($this->getData(['module', $parentId, 'posts', $articleId, 'state']) === true) {
$url = $parentId . '/' . $articleId;
$titre = $article['title'];
$contenu = ' ' . $titre . ' ' . $article['content'];
@ -273,21 +275,22 @@ class search extends common
}
}
}
// Message de synthèse de la recherche
if (count($result) === 0) {
self::$resultTitle = helper::translate('Aucun résultat');
self::$resultError = helper::translate('Avez-vous pensé aux accents ?');
} else {
self::$resultError = '';
//self::$resultTitle = sprintf(' %s',helper::translate('Résultat de votre recherche'));
rsort($result);
foreach ($result as $key => $value) {
$r[] = $value['preview'];
}
// Générer une chaine de caractères
self::$resultList = implode("", $r);
}
}
// Valeurs en sortie, affichage du résultat
$this->addOutput([
'view' => 'index',
@ -306,8 +309,6 @@ class search extends common
]);
}
}
// Fonction de recherche des occurrences dans $contenu

View File

@ -23,7 +23,7 @@
]); ?>
</div>
<div class="col6">
<?php echo template::select('searchPreviewLength', $module::$previewLength, [
<?php echo template::select('searchPreviewLength', search::$previewLength, [
'label' => 'Dimension de l\'aperçu',
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'previewLength'])
]); ?>
@ -66,5 +66,5 @@
</div>
<?php echo template::formClose(); ?>
<div class="moduleVersion">Version
<?php echo $module::VERSION; ?>
<?php echo search::VERSION; ?>
</div>

View File

@ -5,7 +5,7 @@
<div class="col9 verticalAlignMiddle">
<?php echo template::text('searchMotphraseclef', [
'placeholder' => $this->getData(['module', $this->getUrl(0), 'config', 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'config', 'placeHolder']) : 'Un ou plusieurs mots clef séparés par un espace',
'value' => $module::$motclef
'value' => search::$motclef
]); ?>
</div>
<?php $col = empty($this->getData(['module', $this->getUrl(0), 'config', 'submitText'])) ? 'col1' : 'col3'; ?>
@ -19,7 +19,7 @@
<div class="row">
<div class="col12">
<?php echo template::checkbox('searchMotentier', true, 'Mots approchants', [
'checked' => $module::$motentier,
'checked' => search::$motentier,
]); ?>
</div>
</div>
@ -27,14 +27,14 @@
</div>
<div class="row">
<div class="col12">
<?php if ($module::$resultTitle)
echo $module::$resultTitle;
<?php if (search::$resultTitle)
echo search::$resultTitle;
?>
<?php if ($module::$resultList)
echo '<p>' . $module::$resultList . '</p>';
<?php if (search::$resultList)
echo '<p>' . search::$resultList . '</p>';
?>
<?php if ($module::$resultError)
echo '<p>' . $module::$resultError . '</p>';
<?php if (search::$resultError)
echo '<p>' . search::$resultError . '</p>';
?>
</div>
</div>

View File

@ -1,5 +1,9 @@
# Version 7.3
- Remplacement du nom générique de classe dans les vues.
# Version 7.2
- Le dossier sélectionné est affiché par défaut dans la page update.
# Version 7.1
- Améliore le desgin du module
# Version 7.0
- Ajoute un affichage de la légende sous l'image
- Corrige un tri inversé

View File

@ -27,7 +27,7 @@ class slider extends common
'index' => self::GROUP_VISITOR
];
const VERSION = '7.1';
const VERSION = '7.3';
const REALNAME = 'Carrousel';
const DELETE = true;
const UPDATE = '0.0';

View File

@ -38,8 +38,8 @@
</div>
<div class="row">
<div class="col12">
<?php if ($module::$pictures): ?>
<?php echo template::table([3, 4, 4, 1], $module::$pictures, ['Image', 'Texte alternatif', 'Hyperlien vers une page', '']); ?>
<?php if (slider::$pictures): ?>
<?php echo template::table([3, 4, 4, 1], slider::$pictures, ['Image', 'Texte alternatif', 'Hyperlien vers une page', '']); ?>
<?php else: ?>
<?php echo template::speech('Aucune image dans ce dossier'); ?>
<?php endif; ?>
@ -50,5 +50,5 @@
</div>
<?php echo template::formClose(); ?>
<div class="moduleVersion">Module Slider version
<?php echo $module::VERSION; ?>
<?php echo slider::VERSION; ?>
</div>

View File

@ -1,8 +1,8 @@
<?php if ($module::$pictures): ?>
<?php if (slider::$pictures): ?>
<div id="wrapper">
<div class="rslides_container">
<ul class="rslides" id="sliders">
<?php foreach ($module::$pictures as $picture => $options): ?>
<?php foreach (slider::$pictures as $picture => $options): ?>
<?php if (!empty($options['uri'])): ?>
<a href="<?php echo helper::baseUrl() . $options['uri']; ?>">
<?php endif; ?>

Some files were not shown because too many files have changed in this diff Show More