From 65bdf8121fcb42e72ec8f47fd2fb9a6fdc72d1f5 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 10 Oct 2022 11:28:27 +0200 Subject: [PATCH] form initialisation --- module/form/changes.md | 4 ++- module/form/form.php | 36 ++++++++++++++++++++++++++- module/form/ressource/defaultdata.php | 19 ++++++++++++++ 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 module/form/ressource/defaultdata.php diff --git a/module/form/changes.md b/module/form/changes.md index c8442301..ced081f2 100644 --- a/module/form/changes.md +++ b/module/form/changes.md @@ -1,3 +1,5 @@ +# Version 3.1 + - Initialisation des paramètres personnalisés # Version 3 - Déplacement des options de formulaires - - Gabarit du formulaire sur la page \ No newline at end of file + - Gabarit du formulaire sur la page diff --git a/module/form/form.php b/module/form/form.php index 96483488..153d40eb 100644 --- a/module/form/form.php +++ b/module/form/form.php @@ -28,7 +28,9 @@ class form extends common { 'deleteall' => self::GROUP_MODERATOR, 'index' => self::GROUP_VISITOR, 'export2csv' => self::GROUP_MODERATOR, - 'output2csv' => self::GROUP_MODERATOR + 'output2csv' => self::GROUP_MODERATOR, + 'init' => self::GROUP_MODERATOR, + 'update' => self::GROUP_MODERATOR, ]; public static $data = []; @@ -104,6 +106,10 @@ class form extends common { * Configuration */ public function config() { + + // Mise à jour des données de module + $this->update(); + // Liste des utilisateurs $userIdsFirstnames = helper::arrayColumn($this->getData(['user']), 'firstname'); ksort($userIdsFirstnames); @@ -375,6 +381,10 @@ class form extends common { * Accueil */ public function index() { + + // Mise à jour des données de module + $this->update(); + // Soumission du formulaire if($this->isPost()) { // Check la captcha @@ -491,4 +501,28 @@ class form extends common { ], ]); } + + /** + * Mise à jour du module + * Appelée par les fonctions index et config + */ + private function update() { + + // le module n'est pas initialisé + if ( $this->getData(['module',$this->getUrl(0), 'config']) === NULL ) { + $this->init(); + } + } + + /** + * Initialisation du thème d'un nouveau module + */ + private function init() { + // Données du module absentes + require_once('module/form/ressource/defaultdata.php'); + if ($this->getData(['module', $this->getUrl(0), 'config' ]) === null) { + $this->setData(['module', $this->getUrl(0), 'config', init::$defaultData]); + } + } + } diff --git a/module/form/ressource/defaultdata.php b/module/form/ressource/defaultdata.php new file mode 100644 index 00000000..6dd8bc11 --- /dev/null +++ b/module/form/ressource/defaultdata.php @@ -0,0 +1,19 @@ + '', + 'captcha'=> false, + 'group'=> 0, + 'user'=> '', + 'mail'=> '', + 'pageId'=> '', + 'subject'=> '', + 'replyto'=> false, + 'signature'=> 'text', + 'logoUrl'=> '', + 'logoWidth'=> '40', + 'offset'=> '0', + 'width'=> '12', + 'align'=> '' + ]; +} \ No newline at end of file