bigform/README.md

2.8 KiB

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 !

#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 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:
<INCLURE{fond=inclure/bigform,env}>

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)
  1. dans le formulaire 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