bigform/README.md
tofulm 1745f8d854 feat: FORMULAIRE_BIGLOAD - ajout ajaxReload
On ajout une cle dans l'array args pour définir un bloc à recharger via
ajaxReload
2024-07-12 10:22:08 +02:00

105 lines
3.1 KiB
Markdown

# Plugin bigform
> plugin proposant un formulaire CVT pour le plugin bigup
## 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.
> Ne pas hésiter à surcharger la fonction de vérification : formulaires_bigform_verifier()
> en fonction des besoins !
```html
#FORMULAIRE_BIGFORM{objet, id_objet, mode, args (array)}
```
- `mode` (facultatif) : le type d'image si besoin. Valeurs possibles : `auto | logoon | logooff`
- `args` (facultatif) : un array d'options.
- `redirect` qui permet de renvoyer sur la page passée en argument.
- `obfusquer`
- `proteger`
- `charger_js_titre` oui par defaut => permet de ne pas charger le js d'ajout de l'input titre
- `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}}
```
## 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}>
arg: suffix_liste_fichiers=toto qui permet de charger le fichier :inc-bigup_liste_fichiers_toto.html
```
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)
- `multiple=non` (par défaut = oui)
2. dans le formulaire php
```php
// dans le charger :
$valeurs['_bigup_rechercher_fichiers'] = true;
// dans le verifier
// Pour les options :
// https://contrib.spip.net/References-des-verifications#verification_fichiers
// https://git.spip.net/plugin/verifier/src/branch/master/verifier/fichiers.php
$bigform = charger_fonction('bigform_verifier','inc');
$options = ['mime' => 'image_web'];
// si on veut redimensionner les images a 2048 et limiter a 10000 le televersement
// 1. dans options, définir la constante
define('_IMG_MAX_WIDTH', 2048);
// 2. ajouter dans l'appel de verifier des dimension_max
$options = [
'mime' => 'tout_mime',
'dimension_max' => [
'largeur' => 10000,
'hauteur' => 10000,
]
];
$bigform($options,$erreurs);
/*
* traiter
* @param int $id_objet
* @param string $objet
* @param string $mode (facultatif) defaut: auto
* @param bool $secu (true => deplace les fichiers dans IMG/PROTECTED/); defaut : false
*/
$bigform = charger_fonction('bigform_traiter','inc');
$bigform($id_objet, $objet);
// Options de protection des documents :
// - deplacer dans un sous repertoire PROTECTED
// - obfusquer le nom du fichier
//
$secu = [
'proteger' => false,
'obfusquer' => false
];
$bigform = charger_fonction('bigform_traiter','inc');
$bigform($id_objet, $objet, $mode, $secu);
// ou definir la constante pour l'avoir dans tous les formulaires:
define('_BIGFORM_OBFUSQUER', true);
```
> **ATTENTION**
> Il faut ajouter les vérifications pour les différents types de fichiers
> **ATTENTION pour les documents protégés**
> Il faut activer les urls propres : URLs Propres+.html