les tableaux des saisies sont maintenant le return d'une fonction dans
gamuform/mon_objet.php. maj de la doc
This commit is contained in:
parent
08ed7119e0
commit
c94f8d2816
5 changed files with 93 additions and 43 deletions
44
README.md
44
README.md
|
@ -1,45 +1,17 @@
|
||||||
# Gamuform
|
# Gamuform
|
||||||
|
|
||||||
Plugin pour générer des formulaires et des vues via gamutable semi automatiquement.
|
Plugin pour générer des formulaires et des vues via gamutable semi automatiquement.
|
||||||
Il suffit de déclarer 2 globals (dans cette exemple pour l'objet auteur)
|
Il suffit de déclarer la globals
|
||||||
|
|
||||||
```php
|
```php
|
||||||
$GLOBALS['gamuform_objets'] = [ 'auteur' => 'Auteurs'];
|
$GLOBALS['gamuform_objets'] = array_merge(
|
||||||
|
$GLOBALS['gamuform_objets'],
|
||||||
|
[ 'osdve_interventions_type' => "Types d'intervention"]
|
||||||
// Génération des saisies pour le formulaire, mais egalement des colonnes pour le gamutable (options/nom et options/libelle)
|
);
|
||||||
$GLOBALS['gamuform_auteur'] = [
|
|
||||||
[
|
|
||||||
'saisie' => 'input',
|
|
||||||
'options' => array(
|
|
||||||
'nom' => 'nom',
|
|
||||||
'libelle' => 'Nom',
|
|
||||||
'label' => 'Votre Nom',
|
|
||||||
'obligatoire' => 'oui',
|
|
||||||
//'fonction' => 'ma_super_fonction'
|
|
||||||
//'modifier' => 'ma_super_fonction_pour_modifier'
|
|
||||||
)
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'saisie' => 'input',
|
|
||||||
'options' => array(
|
|
||||||
'nom' => 'bio',
|
|
||||||
'libelle' => 'Biographie',
|
|
||||||
'label' => 'Votre BIO',
|
|
||||||
'obligatoire' => 'oui',
|
|
||||||
//'fonction' => 'ma_super_fonction'
|
|
||||||
)
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'saisie' => 'input',
|
|
||||||
'options' => array(
|
|
||||||
'nom' => 'nom_site',
|
|
||||||
'libelle' => 'Site Internet',
|
|
||||||
'label' => 'Votre site perso',
|
|
||||||
)
|
|
||||||
]
|
|
||||||
];
|
|
||||||
```
|
```
|
||||||
|
Et de creer une fonction gamuform/mon_objet.php avec une fonction qui renvoie l'array des saisies
|
||||||
|
> il y a un exemple gamuform/exemple.php
|
||||||
|
|
||||||
|
|
||||||
Ensuite, il suffit d'appeler cette page , en paramettre le nom de l'objet voulu:
|
Ensuite, il suffit d'appeler cette page , en paramettre le nom de l'objet voulu:
|
||||||
> spip.php?page=voir_gamuform&objet=auteur
|
> spip.php?page=voir_gamuform&objet=auteur
|
||||||
|
|
|
@ -7,7 +7,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
function formulaires_editer_gamuform_saisies_dist($id_objet = 0, $objet = '', $redirect = '') {
|
function formulaires_editer_gamuform_saisies_dist($id_objet = 0, $objet = '', $redirect = '') {
|
||||||
$saisies = false;
|
$saisies = false;
|
||||||
if (gamuform_objet_autoriser($objet)) {
|
if (gamuform_objet_autoriser($objet)) {
|
||||||
$saisies = $GLOBALS['gamuform_'.$objet];
|
$saisies = gamuform_recup_saisies($objet);
|
||||||
}
|
}
|
||||||
return $saisies;
|
return $saisies;
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ function formulaires_editer_gamuform_verifier_dist($id_objet = 0, $objet = '', $
|
||||||
|
|
||||||
function formulaires_editer_gamuform_traiter_dist($id_objet = 0, $objet = '', $redirect = '') {
|
function formulaires_editer_gamuform_traiter_dist($id_objet = 0, $objet = '', $redirect = '') {
|
||||||
|
|
||||||
$saisies = $GLOBALS['gamuform_'.$objet];
|
$saisies = gamuform_recup_saisies($objet);
|
||||||
$table = table_objet_sql($objet);
|
$table = table_objet_sql($objet);
|
||||||
$id = id_table_objet($objet);
|
$id = id_table_objet($objet);
|
||||||
|
|
||||||
|
|
41
gamuform/exemple.php
Normal file
41
gamuform/exemple.php
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?php
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
function gamuform_exemple_dist(){
|
||||||
|
|
||||||
|
return [
|
||||||
|
[
|
||||||
|
'saisie' => 'input',
|
||||||
|
'options' => array(
|
||||||
|
'nom' => 'type_intervention',
|
||||||
|
'libelle' => 'Type',
|
||||||
|
'label' => "Type d'intervention",
|
||||||
|
'obligatoire' => 'oui',
|
||||||
|
//'fonction' => 'ma_super_fonction'
|
||||||
|
//'modifier' => 'ma_super_fonction_pour_modifier'
|
||||||
|
)
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'saisie' => 'input',
|
||||||
|
'options' => array(
|
||||||
|
'nom' => 'desc_type_intervention',
|
||||||
|
'libelle' => 'Description',
|
||||||
|
'label' => 'Description',
|
||||||
|
'obligatoire' => 'oui',
|
||||||
|
//'fonction' => 'ma_super_fonction'
|
||||||
|
)
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'saisie' => 'radio',
|
||||||
|
'options' => array(
|
||||||
|
'nom' => 'controle_ok',
|
||||||
|
'libelle' => 'Contrôle OK',
|
||||||
|
'label' => 'Contrôle OK',
|
||||||
|
'data' => ['oui' => 'Oui', '' => 'Non']
|
||||||
|
//'fonction' => 'ma_super_fonction'
|
||||||
|
)
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
|
@ -13,6 +13,27 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* recuperation du tableau des saisies d'un objet
|
||||||
|
* dans : gamuform/mon_objet.php
|
||||||
|
*
|
||||||
|
* @param string $objet
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function gamuform_recup_saisies(string $objet):array {
|
||||||
|
$f = charger_fonction($objet, 'gamuform', true);
|
||||||
|
if (!$f) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
$T = $f();
|
||||||
|
if (empty($T)) {
|
||||||
|
$T = [];
|
||||||
|
}
|
||||||
|
return $T;
|
||||||
|
}
|
||||||
|
|
||||||
function gamuform_objet_autoriser(string $objet):bool {
|
function gamuform_objet_autoriser(string $objet):bool {
|
||||||
if (
|
if (
|
||||||
!empty($GLOBALS['gamuform_objets'])
|
!empty($GLOBALS['gamuform_objets'])
|
||||||
|
@ -32,11 +53,20 @@ function gamuform_nom_objet($objet):string {
|
||||||
return $nom;
|
return $nom;
|
||||||
}
|
}
|
||||||
|
|
||||||
function gamuform_recup_champ($objet, $keys = false) {
|
/**
|
||||||
|
* recuperation des champs de l'objet que l'on veut traiter
|
||||||
|
*
|
||||||
|
* @param String $objet
|
||||||
|
* @param Bool $keys (optional) le type de sortie que l'on souhaite
|
||||||
|
*
|
||||||
|
* @return Array
|
||||||
|
*/
|
||||||
|
function gamuform_recup_champ(string $objet, bool $keys = false):array {
|
||||||
$c = [];
|
$c = [];
|
||||||
|
|
||||||
if (gamuform_objet_autoriser($objet)) {
|
if (gamuform_objet_autoriser($objet)) {
|
||||||
$T = $GLOBALS['gamuform_'.$objet];
|
$T = gamuform_recup_saisies($objet);
|
||||||
|
|
||||||
if (!empty($T)) {
|
if (!empty($T)) {
|
||||||
foreach ($T as $s) {
|
foreach ($T as $s) {
|
||||||
if ($keys) {
|
if ($keys) {
|
||||||
|
@ -50,6 +80,14 @@ function gamuform_recup_champ($objet, $keys = false) {
|
||||||
return $c;
|
return $c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* recuperation de(s) ligne(s) de l'objet
|
||||||
|
*
|
||||||
|
* @param String $objet
|
||||||
|
* @param String $id_objet (optional)
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
function gamuform_recup_valeurs($objet, $id_objet = 0):array {
|
function gamuform_recup_valeurs($objet, $id_objet = 0):array {
|
||||||
$r = [];
|
$r = [];
|
||||||
if (gamuform_objet_autoriser($objet)) {
|
if (gamuform_objet_autoriser($objet)) {
|
||||||
|
@ -74,7 +112,5 @@ function gamuform_recup_valeurs($objet, $id_objet = 0):array {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,4 +13,5 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// initialisation de l'objet global
|
||||||
|
$GLOBALS['gamuform_objets'] = [];
|
||||||
|
|
Loading…
Add table
Reference in a new issue