feat: FORMULAIRE_BIGLOAD - ajout ajaxReload
On ajout une cle dans l'array args pour définir un bloc à recharger via ajaxReload
This commit is contained in:
parent
f3e8326650
commit
1745f8d854
4 changed files with 51 additions and 24 deletions
20
README.md
20
README.md
|
@ -1,7 +1,9 @@
|
||||||
# Plugin bigform
|
# Plugin bigform
|
||||||
|
|
||||||
> plugin proposant un formulaire CVT pour le plugin bigup
|
> plugin proposant un formulaire CVT pour le plugin bigup
|
||||||
|
|
||||||
## Usage 1 : en formulaire autonome (comme html5_upload)
|
## Usage 1 : en formulaire autonome (comme html5_upload)
|
||||||
|
|
||||||
> ATTENTION : il n'y a pas de vérification sur le type des fichiers envoyés en PHP.
|
> ATTENTION : il n'y a pas de vérification sur le type des fichiers envoyés en PHP.
|
||||||
> Ne pas hésiter à surcharger la fonction de vérification : formulaires_bigform_verifier()
|
> Ne pas hésiter à surcharger la fonction de vérification : formulaires_bigform_verifier()
|
||||||
> en fonction des besoins !
|
> en fonction des besoins !
|
||||||
|
@ -9,30 +11,39 @@
|
||||||
```html
|
```html
|
||||||
#FORMULAIRE_BIGFORM{objet, id_objet, mode, args (array)}
|
#FORMULAIRE_BIGFORM{objet, id_objet, mode, args (array)}
|
||||||
```
|
```
|
||||||
|
|
||||||
- `mode` (facultatif) : le type d'image si besoin. Valeurs possibles : `auto | logoon | logooff`
|
- `mode` (facultatif) : le type d'image si besoin. Valeurs possibles : `auto | logoon | logooff`
|
||||||
- `args` (facultatif) : un array d'options.
|
- `args` (facultatif) : un array d'options.
|
||||||
- `redirect` qui permet de renvoyer sur la page passée en argument.
|
- `redirect` qui permet de renvoyer sur la page passée en argument.
|
||||||
- `obfusquer`
|
- `obfusquer`
|
||||||
- `proteger`
|
- `proteger`
|
||||||
- `charger_js_titre` oui par defaut => permet de ne pas charger le js d'ajout de l'input titre
|
- `charger_js_titre` oui par defaut => permet de ne pas charger le js d'ajout de l'input titre
|
||||||
Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans une popin :
|
- `ajaxReload` le nom d'un bloc ajax à recharger via ajaxReload. dans ce cas, charger_js_titre = non
|
||||||
|
Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans une popin :
|
||||||
|
|
||||||
```
|
```
|
||||||
#FORMULAIRE_BIGFORM{article, #ID_ARTICLE, logoon, #ARRAY{redirect, #URL_PAGE{equipe}, obfusquer, oui}}
|
#FORMULAIRE_BIGFORM{article, #ID_ARTICLE, logoon, #ARRAY{redirect, #URL_PAGE{equipe}, obfusquer, oui}}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage 2 : en inclure dans un formulaire
|
## Usage 2 : en inclure dans un formulaire
|
||||||
|
|
||||||
> Ajoute dynamiquement un champ **titre** pour chaque image
|
> Ajoute dynamiquement un champ **titre** pour chaque image
|
||||||
|
|
||||||
1. dans le formulaire html:
|
1. dans le formulaire html:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<INCLURE{fond=inclure/bigform,env}>
|
<INCLURE{fond=inclure/bigform,env}>
|
||||||
arg: suffix_liste_fichiers=toto qui permet de charger le fichier :inc-bigup_liste_fichiers_toto.html
|
arg: suffix_liste_fichiers=toto qui permet de charger le fichier :inc-bigup_liste_fichiers_toto.html
|
||||||
```
|
```
|
||||||
|
|
||||||
cet inclure peut accepter 3 arguments facultatifs :
|
cet inclure peut accepter 3 arguments facultatifs :
|
||||||
* `accept=#LISTE{image/*, application/pdf}` ou `accept="image/*"` par défaut tous les fichiers
|
|
||||||
* `previsualiser=non` (par défaut = oui)
|
- `accept=#LISTE{image/*, application/pdf}` ou `accept="image/*"` par défaut tous les fichiers
|
||||||
* `multiple=non` (par défaut = oui)
|
- `previsualiser=non` (par défaut = oui)
|
||||||
|
- `multiple=non` (par défaut = oui)
|
||||||
|
|
||||||
2. dans le formulaire php
|
2. dans le formulaire php
|
||||||
|
|
||||||
```php
|
```php
|
||||||
// dans le charger :
|
// dans le charger :
|
||||||
$valeurs['_bigup_rechercher_fichiers'] = true;
|
$valeurs['_bigup_rechercher_fichiers'] = true;
|
||||||
|
@ -86,6 +97,7 @@ $bigform($id_objet, $objet, $mode, $secu);
|
||||||
define('_BIGFORM_OBFUSQUER', true);
|
define('_BIGFORM_OBFUSQUER', true);
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> **ATTENTION**
|
> **ATTENTION**
|
||||||
> Il faut ajouter les vérifications pour les différents types de fichiers
|
> Il faut ajouter les vérifications pour les différents types de fichiers
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,18 @@
|
||||||
<div class="formulaire_spip formulaire_#FORM">
|
<div class="formulaire_spip formulaire_#FORM">
|
||||||
|
|
||||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
[(#ENV*{message_ok}|oui)
|
||||||
|
<script>
|
||||||
|
ajaxReload("#ENV*{message_ok}");
|
||||||
|
</script>
|
||||||
|
]
|
||||||
|
|
||||||
<form class="form_bigform" id="form_bigform[_(#ENV{objet})][_(#ENV{id_objet})]" name="formulaire_#FORM" action="#ENV{action}" method="post" enctype="multipart/form-data"><div>
|
<form class="form_bigform" id="form_bigform[_(#ENV{objet})][_(#ENV{id_objet})]" name="formulaire_#FORM" action="#ENV{action}" method="post" enctype="multipart/form-data"><div>
|
||||||
#ACTION_FORMULAIRE{#ENV{action}}
|
#ACTION_FORMULAIRE{#ENV{action}}
|
||||||
|
|
||||||
|
[(#ENV{ajaxReload}|non)
|
||||||
<INCLURE{fond=inclure/bigform_doc,env,ajax}>
|
<INCLURE{fond=inclure/bigform_doc,env,ajax}>
|
||||||
|
]
|
||||||
<INCLURE{fond=inclure/bigform,env}>
|
<INCLURE{fond=inclure/bigform,env}>
|
||||||
|
|
||||||
<div class="boutons"><input id="valider_bigup" type="submit" class="submit valider_bigup" value="Envoyer" ></div>
|
<div class="boutons"><input id="valider_bigup" type="submit" class="submit valider_bigup" value="Envoyer" ></div>
|
||||||
|
@ -16,3 +22,13 @@
|
||||||
</div>
|
</div>
|
||||||
]
|
]
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(function() {
|
||||||
|
$('.valider_bigup').css('display','none');
|
||||||
|
$('input.bigup').bigup({}, {
|
||||||
|
complete: function(){
|
||||||
|
$(this).parents('form').submit();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
|
@ -5,12 +5,19 @@ if (!defined('_ECRIRE_INC_VERSION')){
|
||||||
|
|
||||||
|
|
||||||
function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = []) {
|
function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = []) {
|
||||||
|
if (!empty($args['ajaxReload'])) {
|
||||||
|
$ajaxReload = $args['ajaxReload'];
|
||||||
|
$charger_js_titre = 'non';
|
||||||
|
} else {
|
||||||
$charger_js_titre = $args['charger_js_titre'] ?? 'oui';
|
$charger_js_titre = $args['charger_js_titre'] ?? 'oui';
|
||||||
|
$ajaxReload = null;
|
||||||
|
}
|
||||||
$valeurs = [
|
$valeurs = [
|
||||||
'_bigup_rechercher_fichiers' => true,
|
'_bigup_rechercher_fichiers' => true,
|
||||||
'id_objet' => $id_objet,
|
'id_objet' => $id_objet,
|
||||||
'objet' => $objet,
|
'objet' => $objet,
|
||||||
'charger_js_titre' => $charger_js_titre === 'oui' ? 'oui' : 'non'
|
'ajaxReload' => $ajaxReload,
|
||||||
|
'charger_js_titre' => $charger_js_titre === 'oui' ? 'oui' : 'non',
|
||||||
];
|
];
|
||||||
|
|
||||||
$valeurs['objet_ok'] = '';
|
$valeurs['objet_ok'] = '';
|
||||||
|
@ -64,9 +71,12 @@ function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mo
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!empty($args) and !empty($args['redirect'])) {
|
$retour = [];
|
||||||
return ['redirect' => $args['redirect']];
|
if (!empty($args['redirect'])) {
|
||||||
} else {
|
$retour['redirect'] = $args['redirect'];
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
if (!empty($args['ajaxReload'])) {
|
||||||
|
$retour['message_ok'] = $args['ajaxReload'];
|
||||||
|
}
|
||||||
|
return $retour;
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,14 +76,3 @@
|
||||||
</BOUCLE_pdf>
|
</BOUCLE_pdf>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
jQuery(function() {
|
|
||||||
$('.valider_bigup').css('display','none');
|
|
||||||
$('input.bigup').bigup({}, {
|
|
||||||
complete: function(){
|
|
||||||
console.log("on valide [(#ENV{objet})]_[(#ENV{id_objet})]");
|
|
||||||
$(this).parents('form').submit();
|
|
||||||
},
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue