Pour l'usage : insertion dans un formulaire existant => OK

il y a meme un champ titre possible
lire le readme pour le fonctionnement
This commit is contained in:
Christophe 2019-12-06 12:02:37 +01:00
parent 0e0a703800
commit 431dc0bb8c
7 changed files with 59 additions and 18 deletions

View file

@ -1,9 +1,24 @@
# Plugin bigform
> plugin proposant un formulaire CVT pour le plugin bigup
Usage :
## Usage 1 : en formulaire autonome (comme html5_upload)
```html
#FORMULAIRE_BIGFORM{objet, id_objet, mode, args}
```
## Usage 2 : en inclure dans un formulaire
> Ajoute dynamiquement un champ **titre** pour chaque image
1. dans le formulaire html:
```html
<INCLURE{fond=inclure/bigform,env}>
```
2. dans le formulaire php
```php
// dans le charger :
$valeurs['_bigup_rechercher_fichiers'] = true;
// dans le traiter
$bigform = charger_fonction('bigform','inc');
$bigform($id_objet, $objet);
```

View file

@ -1,4 +1,4 @@
[(#ENV{objet_ok})
[(#ENV{objet_ok}|oui)
<div class="formulaire_spip formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
@ -18,14 +18,4 @@
</div></form>
</div>
<script type="text/javascript">
$('input.bigup').bigup({}, {
complete: function(){
$('#valider_bigup').trigger('click');
}
});
</script>
]

View file

@ -11,7 +11,9 @@ function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $ar
'_bigup_rechercher_fichiers' => true,
];
if (intval($id_objet) and $objet) {
$valeurs['objet_ok'] = '';
if (intval($id_objet) > 0 and $objet) {
$valeurs['objet_ok'] = 'ok';
}
@ -26,10 +28,7 @@ function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $a
function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mode = 'auto', $args = array()) {
$bigform = charger_fonction('bigform','inc');
$bigform($id_objet,$objet,$mode);
return [];
}

View file

@ -11,15 +11,26 @@ if (!defined('_ECRIRE_INC_VERSION')){
* @param $mode
* @return array tableau des id_document $Tid_doc
*/
function inc_bigform_dist($id_objet,$objet,$mode) {
function inc_bigform_dist($id_objet,$objet = 'article',$mode='auto') {
include_spip('inc/joindre_document');
set_request('joindre_upload','ok');
$files = joindre_trouver_fichier_envoye();
$Tid_doc = [];
if (count($files)) {
if (is_array($files) and count($files)) {
$ajouter_document = charger_fonction('ajouter_documents', 'action');
$Tid_doc = $ajouter_document('new', $files, $objet, $id_objet,$mode);
}
$html_titre = _request('html_titre');
if (!empty($html_titre) and count($Tid_doc)) {
foreach ($Tid_doc as $i => $id_doc) {
$titre = $html_titre[$i];
if ($titre) {
sql_updateq('spip_documents', array("titre" => $titre), 'id_document='.intval($id_doc));
}
}
}
return $Tid_doc;
}

7
inclure/bigform.html Normal file
View file

@ -0,0 +1,7 @@
[(#SAISIE{bigup, fichiers,
form, formulaire_args,
previsualiser=oui,
accept=image/*,
multiple=oui})]
<INCLURE{fond=js/bigform.js,env}>

16
js/bigform.js.html Normal file
View file

@ -0,0 +1,16 @@
<script type="text/javascript">
jQuery(function () {
bigform();
function bigform() {
$('input.bigup').bigup({}, {
fileSuccess: function (a, b) {
var html_titre = '<label><:bigform:html_titre:> <input type="text" value="" name="html_titre\[\]"/></label>';
$(html_titre).insertAfter($(b.emplacement[0]).children().children('.infos'));
}
});
}
});
</script>

View file

@ -15,6 +15,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_exemple_explication' => 'Explication de cet exemple',
'cfg_titre_parametrages' => 'Paramétrages',
//H
'html_titre' => 'Titre',
// T
'titre_page_configurer_bigform' => 'BigForm',
);