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
|
||||
|
||||
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
|
||||
$GLOBALS['gamuform_objets'] = [ 'auteur' => 'Auteurs'];
|
||||
|
||||
|
||||
// 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',
|
||||
)
|
||||
]
|
||||
];
|
||||
$GLOBALS['gamuform_objets'] = array_merge(
|
||||
$GLOBALS['gamuform_objets'],
|
||||
[ 'osdve_interventions_type' => "Types d'intervention"]
|
||||
);
|
||||
```
|
||||
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:
|
||||
> 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 = '') {
|
||||
$saisies = false;
|
||||
if (gamuform_objet_autoriser($objet)) {
|
||||
$saisies = $GLOBALS['gamuform_'.$objet];
|
||||
$saisies = gamuform_recup_saisies($objet);
|
||||
}
|
||||
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 = '') {
|
||||
|
||||
$saisies = $GLOBALS['gamuform_'.$objet];
|
||||
$saisies = gamuform_recup_saisies($objet);
|
||||
$table = table_objet_sql($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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 {
|
||||
if (
|
||||
!empty($GLOBALS['gamuform_objets'])
|
||||
|
@ -32,11 +53,20 @@ function gamuform_nom_objet($objet):string {
|
|||
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 = [];
|
||||
|
||||
if (gamuform_objet_autoriser($objet)) {
|
||||
$T = $GLOBALS['gamuform_'.$objet];
|
||||
$T = gamuform_recup_saisies($objet);
|
||||
|
||||
if (!empty($T)) {
|
||||
foreach ($T as $s) {
|
||||
if ($keys) {
|
||||
|
@ -50,6 +80,14 @@ function gamuform_recup_champ($objet, $keys = false) {
|
|||
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 {
|
||||
$r = [];
|
||||
if (gamuform_objet_autoriser($objet)) {
|
||||
|
@ -74,7 +112,5 @@ function gamuform_recup_valeurs($objet, $id_objet = 0):array {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
|
|
@ -13,4 +13,5 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
// initialisation de l'objet global
|
||||
$GLOBALS['gamuform_objets'] = [];
|
||||
|
|
Loading…
Add table
Reference in a new issue