diff --git a/formulaires/editer_gamuform.html b/formulaires/editer_gamuform.html
index 6eb81ce..23f47f2 100644
--- a/formulaires/editer_gamuform.html
+++ b/formulaires/editer_gamuform.html
@@ -9,6 +9,11 @@
#GENERER_SAISIES{#ENV{_saisies}}
-
+
+
+
diff --git a/formulaires/editer_gamuform.php b/formulaires/editer_gamuform.php
index 989fa29..2f076cc 100644
--- a/formulaires/editer_gamuform.php
+++ b/formulaires/editer_gamuform.php
@@ -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 = gamuform_recup_saisies($objet);
+ $saisies = gamuform_recup_tableau_objet($objet, false);
}
return $saisies;
}
@@ -16,7 +16,7 @@ function formulaires_editer_gamuform_charger_dist($id_objet = 0, $objet = '', $r
$table = table_objet_sql($objet);
$id = id_table_objet($objet);
- $s = gamuform_recup_champ($objet, true);
+ $s = gamuform_recup_champs_saisies($objet);
if (intval($id_objet)) {
$valeurs = sql_fetsel($s, $table, "$id=".intval($id_objet));
@@ -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 = gamuform_recup_saisies($objet);
+ $saisies = gamuform_recup_tableau_objet($objet, false);
$table = table_objet_sql($objet);
$id = id_table_objet($objet);
diff --git a/gamuform/exemple.php b/gamuform/exemple.php
index 916e1f5..23f01ba 100644
--- a/gamuform/exemple.php
+++ b/gamuform/exemple.php
@@ -16,6 +16,7 @@ function gamuform_exemple_dist(){
//'modifier' => 'ma_super_fonction_pour_modifier'
],
'gamutable' => [
+ 'champ' => 'type_intervention',
'header' => 'Type',
'classes' => 'w200p',
'filtreCol' => 'select',
@@ -33,7 +34,8 @@ function gamuform_exemple_dist(){
//'fonction' => 'ma_super_fonction'
],
'gamutable' => [
- 'header' => 'Compétition',
+ 'champ' => 'desc_type_intervention',
+ 'header' => 'Compétition',
'classes' => 'w200p',
]
],
@@ -45,6 +47,20 @@ function gamuform_exemple_dist(){
'label' => 'Contrôle OK',
'data' => ['oui' => 'Oui', '' => 'Non']
//'fonction' => 'ma_super_fonction'
+ ],
+ // la cle gamutable est "normalement" pas obligatoire
+ // 'gamutable' => [
+ // 'champ' => 'desc_type_intervention',
+ // 'header' => 'Compétition',
+ // 'classes' => 'w200p',
+ // ]
+ ],
+ // possible un array avec simplement la cle gamutable, que pour l'affichage
+ [
+ 'gamutable' => [
+ 'champ' => 'maj',
+ 'header' => 'toto',
+ 'filtreCol' => 'input',
]
],
];
diff --git a/gamuform_fonctions.php b/gamuform_fonctions.php
index d3a06e9..22c8e3e 100644
--- a/gamuform_fonctions.php
+++ b/gamuform_fonctions.php
@@ -25,11 +25,12 @@ if (!defined('_ECRIRE_INC_VERSION')) {
*/
function gamufiltre($objet, $champ, $valeur) {
if (gamuform_objet_autoriser($objet)) {
- $T = gamuform_recup_saisies($objet);
+ $T = gamuform_recup_tableau_objet($objet);
if (!empty($T)) {
foreach ($T as $s) {
if (
- $s['options']['nom'] === $champ
+ $champ_tab = $s['gamutable']['champ'] ?? $s['options']['nom']
+ and $champ_tab === $champ
and !empty($s['gamutable']['fonction'])
) {
$filtre = $s['gamutable']['fonction'];
@@ -50,7 +51,7 @@ function gamufiltre($objet, $champ, $valeur) {
* @return array
*
*/
-function gamuform_recup_saisies(string $objet):array {
+function gamuform_recup_tableau_objet(string $objet, bool $all = true):array {
$f = charger_fonction($objet, 'gamuform', true);
if (!$f) {
return [];
@@ -59,9 +60,11 @@ function gamuform_recup_saisies(string $objet):array {
if (empty($T)) {
$T = [];
}
- $T = array_filter($T, function($d){
- return !empty($d['saisie']);
- });
+ if (!$all) {
+ $T = array_filter($T, function($d){
+ return !empty($d['saisie']);
+ });
+ }
return $T;
}
@@ -84,24 +87,45 @@ function gamuform_nom_objet($objet):string {
return $nom;
}
/**
- * recuperation des champs de l'objet
+ * recuperation des champs de l'objet pour les saisies
*
* @param String $objet
*
* @return Array
*/
-function gamuform_recup_champs(string $objet):array {
+function gamuform_recup_champs_gamutable(string $objet):array {
$c = [];
if (gamuform_objet_autoriser($objet)) {
- $T = gamuform_recup_saisies($objet);
+ $T = gamuform_recup_tableau_objet($objet);
+ if (!empty($T)) {
+ foreach ($T as $s) {
+ $c[] = $s['gamutable']['champ'] ?? $s['options']['nom'];
+ }
+ }
+ }
+ return $c;
+}
+/**
+ * recuperation des champs de l'objet pour les saisies
+ *
+ * @param String $objet
+ *
+ * @return Array
+ */
+function gamuform_recup_champs_saisies(string $objet):array {
+ $c = [];
+
+ if (gamuform_objet_autoriser($objet)) {
+ $T = gamuform_recup_tableau_objet($objet, false);
if (!empty($T)) {
foreach ($T as $s) {
$c[] = $s['options']['nom'];
}
}
}
+
return $c;
}
@@ -116,14 +140,17 @@ function gamuform_recup_header(string $objet):array {
$c = [];
if (gamuform_objet_autoriser($objet)) {
- $T = gamuform_recup_saisies($objet);
+ $T = gamuform_recup_tableau_objet($objet);
if (!empty($T)) {
foreach ($T as $s) {
- $c[$s['options']['nom']] = $s['gamutable']['header'] ?? $s['options']['nom'];
+ $champ = $s['gamutable']['champ'] ?? $s['options']['nom'];
+ $c[$champ] = $s['gamutable']['header'] ?? $s['options']['nom'];
+
}
}
}
+
return $c;
}
/**
@@ -137,14 +164,15 @@ function gamuform_recup_crayons(string $objet):array {
$c = [];
if (gamuform_objet_autoriser($objet)) {
- $T = gamuform_recup_saisies($objet);
+ $T = gamuform_recup_tableau_objet($objet);
if (!empty($T)) {
foreach ($T as $s) {
if (
!empty($s['gamutable']['crayons'])
+ and $champ = $s['gamutable']['champ'] ?? $s['options']['nom']
) {
- $c[$s['options']['nom']] = $s['gamutable']['crayons'];
+ $c[$champ] = $s['gamutable']['crayons'];
}
}
}
@@ -162,15 +190,16 @@ function gamuform_recup_filtreCol(string $objet):array {
$c = [];
if (gamuform_objet_autoriser($objet)) {
- $T = gamuform_recup_saisies($objet);
+ $T = gamuform_recup_tableau_objet($objet);
if (!empty($T)) {
foreach ($T as $s) {
if (
!empty($s['gamutable']['filtreCol'])
and in_array($s['gamutable']['filtreCol'], ['input', 'select'])
+ and $champ = $s['gamutable']['champ'] ?? $s['options']['nom']
) {
- $c[$s['options']['nom']] = $s['gamutable']['filtreCol'];
+ $c[$champ] = $s['gamutable']['filtreCol'];
}
}
}
@@ -189,11 +218,12 @@ function gamuform_recup_classes(string $objet):array {
$c = [];
if (gamuform_objet_autoriser($objet)) {
- $T = gamuform_recup_saisies($objet);
+ $T = gamuform_recup_tableau_objet($objet);
if (!empty($T)) {
foreach ($T as $s) {
- $c[$s['options']['nom']] = $s['gamutable']['classes'] ?? '';
+ $champ = $s['gamutable']['champ'] ?? $s['options']['nom'];
+ $c[$champ] = $s['gamutable']['classes'] ?? '';
}
}
}
@@ -213,7 +243,7 @@ function gamuform_recup_valeurs($objet, $id_objet = 0):array {
if (gamuform_objet_autoriser($objet)) {
$table = table_objet_sql($objet);
$id = id_table_objet($objet);
- $s = gamuform_recup_champs($objet);
+ $s = gamuform_recup_champs_gamutable($objet);
$s[] = $id;
if (intval($id_objet)) {
diff --git a/json_gamuform.json.html b/json_gamuform.json.html
index 5e45a85..5cd7d23 100644
--- a/json_gamuform.json.html
+++ b/json_gamuform.json.html
@@ -2,7 +2,7 @@
#SET{header,#ENV{objet}|gamuform_recup_header}
-#SET{champs,#ENV{objet}|gamuform_recup_champs}
+#SET{champs,#ENV{objet}|gamuform_recup_champs_gamutable}
#SET{classes,#ENV{objet}|gamuform_recup_classes}
#SET{filtreCol,#ENV{objet}|gamuform_recup_filtreCol}
#SET{crayons,#ENV{objet}|gamuform_recup_crayons}
diff --git a/lang/gamuform_fr.php b/lang/gamuform_fr.php
index fcb5438..5400df7 100644
--- a/lang/gamuform_fr.php
+++ b/lang/gamuform_fr.php
@@ -8,14 +8,17 @@ if (!defined('_ECRIRE_INC_VERSION')) {
$GLOBALS[$GLOBALS['idx_lang']] = array(
- // A
+ // AA
'ajouter_lien_gamuform' => 'Ajouter ce gamuform',
- // C
+ // CC
'champ_titre_label' => 'Titre',
'confirmer_supprimer_gamuform' => 'Confirmez-vous la suppression de cet gamuform ?',
- // I
+ // EE
+ 'enregistrer' => 'Enregistrer',
+
+ // II
'icone_creer_gamuform' => 'Créer un gamuform',
'icone_modifier_gamuform' => 'Modifier ce gamuform',
'info_1_gamuform' => 'Un gamuform',
@@ -23,14 +26,14 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_gamuforms_auteur' => 'Les gamuforms de cet auteur',
'info_nb_gamuforms' => '@nb@ gamuforms',
- // R
+ // RR
'retirer_lien_gamuform' => 'Retirer ce gamuform',
'retirer_tous_liens_gamuforms' => 'Retirer tous les gamuforms',
- // S
+ // SS
'supprimer_gamuform' => 'Supprimer cet gamuform',
- // T
+ // TT
'texte_ajouter_gamuform' => 'Ajouter un gamuform',
'texte_changer_statut_gamuform' => 'Ce gamuform est :',
'texte_creer_associer_gamuform' => 'Créer et associer un gamuform',