action_bigup_dist()
Assez tôt on vérifie si on demande à tester la présence d'un morceau de fichier uploadé
ou si on demande à envoyer un morceau de fichier.
action_bigup_dist() : never
Flow vérifie évidement que l'accès est accrédité !
balise_SAISIE_FICHIER_dist()
Compile la balise `#SAISIE_FICHIER` qui retourne le code HTML de la saisie de formulaire indiquée.
balise_SAISIE_FICHIER_dist(Champ $p) : Champ
Identique à peu de choses près à la balise #SAISIE
- ajoute
form = #ENV{form}
- ajoute
formulaire_args = #ENV{formulaire_args}
- ajoute
fichiers = #ENV{_bigup_fichiers}
Ces 2 premières infos sont utiles à la balise #BIGUP_TOKEN
La liste des fichiers, elle, permet… à la saisie de lister les fichiers déjà présents.
Parameters
-
$p
: Champ
-
-
syntaxe
-
#SAISIE_FICHIER{type,nom[,option=xx,...]}
bigup_upgrade()
Fonction d'installation et de mise à jour du plugin Big Upload.
bigup_upgrade(string $nom_meta_base_version, string $version_cible) : mixed
Parameters
-
$nom_meta_base_version
: string
-
Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
-
$version_cible
: string
-
Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
bigup_vider_tables()
Fonction de désinstallation du plugin Big Upload.
bigup_vider_tables(string $nom_meta_base_version) : mixed
Parameters
-
$nom_meta_base_version
: string
-
Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
balise_BIGUP_TOKEN()
Compile la balise `#BIGUP_TOKEN` qui calcule un token
autorisant l'envoi de fichiers par morceaux
balise_BIGUP_TOKEN(Champ $p) : Champ
À utiliser à l'intérieur d'un formulaire CVT ou dans un fichier de saisies.
Dans une utilisation dans 'saisies/', il faut transmettre form
et formulaire_args
du formulaire pour le calcul.
Le token généré se base sur la valeur de l'attribut name
de l'input que l'on peut recevoir soit :
- en écriture html :
fichiers[images]
- en écriture comprise par Saisies :
fichiers/images
Si l'input est voué à recevoir plusieurs fichiers
(attribut multiple
et name avec []
tel que fichiers[images][]
il faut aussi l'indiquer, soit:
- en écriture html :
fichiers[images][]
- en écriture Saisies :
fichiers/images/
Par habitude d'usage avec le plugin Saisies, on accepte aussi
une forme plus habituelle en transmettant un paramètre multiple
(en 2è paramètre de la balise, valant par défaut #ENV{multiple}
)
indiquant que le token concerne un input recevant plusieurs fichiers.
On l'écrit :
- en écriture html :
fichiers[images]
- en écriture Saisies :
fichiers/images
La balise accepte 4 paramètres, tous automatiquement récupérés dans l'environnement
s'ils ne sont pas renseignés :
- nom : la valeur de l'attribut name. Défaut
#ENV{nom}
- form : le nom du formulaire. Défaut
#ENV{form}
- formulaire_args : hash des arguments du formulaire. Défaut
#ENV{formulaire_args}
- multiple : indication d'un champ multiple, si valeur 'oui' ou 'multiple'. Défaut
#ENV{multiple}
Parameters
-
$p
: Champ
-
Pile au niveau de la balise
-
syntaxe
-
#BIGUP_TOKEN{name, multiple, form, formulaire_args}
-
example
-
#BIGUP_TOKEN
utilisera #ENV{nom}
en nom de champ par défaut
#BIGUP_TOKEN{#ENV{nom}, #ENV{multiple}, #ENV{form}, #ENV{formulaire_args}}
: valeurs par défaut.
#BIGUP_TOKEN{file}
: champ unique
#BIGUP_TOKEN{file\[\]}
: champ multiple
#BIGUP_TOKEN{file/}
: champ multiple
#BIGUP_TOKEN{file, multiple}
: champ multiple
- Le token sera calculé dans la saisie bigup :
[(#SAISIE{bigup, file, form, formulaire_args, label=Fichier, ... })]
- Le token est calculé dans l'appel :
[(#SAISIE{bigup, file, token=#BIGUP_TOKEN{file}, label=Fichier, ... })]
-
see
-
saisies/bigup.html Pour un usage dans une saisie.
-
see
-
balise_SAISIE_FICHIER_dist()
-
note
-
La signature complète est #BIGUP_TOKEN{champ, multiple, form, formulaire_args}
La balise nécessite de connaître le nom du formulaire
(par défaut #ENV{form}
ainsi que le hash de ses arguments
(par défaut #ENV{formulaire_args}
.
Si cette balise est utilisée dans une inclusion (tel que #INCLURE
ou #SAISIE
),
il faut penser à transmettre à l'inclure form
et formulaire_args
.
La balise #SAISIE_FICHIER
s'en occupe.
-
balise
-
-
uses
-
calculer_balise_BIGUP_TOKEN()
Return values
Champ
—
Pile complétée par le code à générer
calculer_balise_BIGUP_TOKEN()
Calcule un token en fonction de l'utilisateur, du champ, du formulaire…
calculer_balise_BIGUP_TOKEN(string $champ, string|bool $multiple, string $form, string $form_args) : string|false
Retourne un token de la forme champ:time:clé
Parameters
-
$champ
: string
-
Nom du champ input du formulaire
-
$multiple
: string|bool
-
Indique si le champ est multiple
-
$form
: string
-
-
$form_args
: string
-
Hash du contexte ajax du formulaire
-
uses
-
calculer_action_auteur()
-
see
-
Flow::verifier_token()
-
used-by
-
balise_BIGUP_TOKEN()
Return values
string|false
—
String : Le token
false : Erreur : un des arguments est vide.
bigup_lister_fichiers()
Retrouve les fichiers correspondant à un name d'input donné, s'il y en a.
bigup_lister_fichiers(array<string|int, mixed> $fichiers, string $nom, string $multiple) : array<string|int, mixed>
Parameters
-
$fichiers
: array<string|int, mixed>
-
-
$nom
: string
-
Name utilisé, tel que 'oiseaux/bleus' ou 'oiseaux[bleus]'
-
$multiple
: string
-
Si contenu, le champ est considéré multiple
Return values
array<string|int, mixed>
bigup_nom2name()
Passer un nom en une valeur compatible avec un `name` de formulaire
bigup_nom2name(string $nom) : mixed
- toto => toto,
- toto/truc => toto[truc],
- toto[truc] => toto[truc]
Parameters
-
$nom
: string
-
bigup_nom2classe()
Passer un nom en une valeur compatible avec une classe css
bigup_nom2classe(string $nom) : mixed
- toto => toto,
- toto/truc => toto_truc,
- toto[truc] => toto_truc
Parameters
-
$nom
: string
-
bigup_name2nom()
Passer un `name` en un format de nom compris de saisies
bigup_name2nom(string $name) : string
- toto => toto,
- toto[truc] => toto/truc,
- toto[truc][] => toto/truc/
- toto/truc => toto/truc
Parameters
-
$name
: string
-
-
see
-
saisie_nom2name()
bigup_get_accept_logos()
Retourne la liste des mimes types acceptés pour des logos / illustrations,
tels qu’attendus par le champ accept.
bigup_get_accept_logos([array{objet: string, id_objet: int} $args = [] ]) : string
Parameters
-
$args
: array{objet: string, id_objet: int}
= []
-
bigup_get_mime_type_extension()
Transforme une extension en mime-type (de façon simpliste)
bigup_get_mime_type_extension(string $extension) : string
Parameters
-
$extension
: string
-
bigup_jquery_plugins()
Charger des scripts jquery
bigup_jquery_plugins(array<string|int, mixed> $scripts) : array<string|int, mixed>
Parameters
-
$scripts
: array<string|int, mixed>
-
-
pipeline
-
Return values
array<string|int, mixed>
—
bigup_insert_head()
Charger des JS dans l’espace public
bigup_insert_head(string $flux) : string
Parameters
-
$flux
: string
-
Code html des styles CSS à charger
-
pipeline
-
bigup_config()
bigup_config() : array<string|int, mixed>
Return values
array<string|int, mixed>
Charger des JS dans l’espace prive
bigup_header_prive(string $flux) : string
Parameters
-
$flux
: string
-
Code html des styles CSS à charger
-
pipeline
-
bigup_insert_head_css()
Charger des styles CSS dans l’espace public
bigup_insert_head_css(string $flux) : string
Parameters
-
$flux
: string
-
Code html des styles CSS à charger
-
pipeline
-
Charger des styles CSS dans l'espace privé
bigup_header_prive_css(string $flux) : string
Parameters
-
$flux
: string
-
Code html des styles CSS à charger
-
pipeline
-
bigup_get_bigup()
Obtenir une instance de la classe bigup pour ce formulaire
bigup_get_bigup(array<string|int, mixed> $flux) : Bigup
Parameters
-
$flux
: array<string|int, mixed>
-
Flux, tel que présent dans les pipelines des formulaires CVT
Recherche de fichiers uploadés pour ce formulaire
bigup_formulaire_charger(array<string|int, mixed> $flux) : array<string|int, mixed>
La recherche est conditionné par la présence dans le contexte
de la clé _bigup_rechercher_fichiers
. Ceci permet d'éviter de chercher
des fichiers pour les formulaires qui n'en ont pas besoin.
Réinsère les fichiers déjà présents pour ce formulaire
dans $_FILES
(a priori assez peu utile dans le chargement)
et ajoute la description des fichiers présents pour chaque champ,
dans l'environnement.
Ajoute également un hidden, qui s'il est posté, demandera à recréer $_FILES
juste avant la fonction verifier(). Voir bigup_formulaire_receptionner()
Parameters
-
$flux
: array<string|int, mixed>
-
-
see
-
bigup_formulaire_receptionner():
Return values
array<string|int, mixed>
Branchement sur la réception d'un formulaire (avant verifier())
bigup_formulaire_receptionner(array<string|int, mixed> $flux) : array<string|int, mixed>
On remet $_FILES
avec les fichiers présents pour ce formulaire,
et avant que la fonction verifier native du formulaire soit utilisée,
de sorte qu'elle ait accès à $_FILES rempli.
Parameters
-
$flux
: array<string|int, mixed>
-
-
pipeline
-
Return values
array<string|int, mixed>
Branchement sur verifier
bigup_formulaire_verifier(array<string|int, mixed> $flux) : array<string|int, mixed>
- Si on a demandé la suppression d'un fichier, le faire
- Nettoyer les fichiers injectés effacés de $_FILES.
Parameters
-
$flux
: array<string|int, mixed>
-
Return values
array<string|int, mixed>
Branchement sur traiter
bigup_formulaire_traiter(array<string|int, mixed> $flux) : array<string|int, mixed>
- Si on a effectué les traitements sans erreur,
tous les fichiers restants doivent disparaître
du cache.
- Nettoyer les fichiers injectés effacés de $_FILES.
Parameters
-
$flux
: array<string|int, mixed>
-
Return values
array<string|int, mixed>
Liste les formulaires où BigUP se charge automatiquement
(necessite un traitement spécifique)
bigup_medias_formulaires_traitements_automatiques() : array<string|int, mixed>
Return values
array<string|int, mixed>
Ajouter bigup sur certains formulaires
bigup_medias_formulaire_charger(array<string|int, mixed> $flux) : array<string|int, mixed>
- le documents du plugin Medias
- le formulaire de logo de SPIP
Parameters
-
$flux
: array<string|int, mixed>
-
Return values
array<string|int, mixed>
Utiliser Bigup sur certains formulaires
bigup_medias_formulaire_fond(array<string|int, mixed> $flux) : array<string|int, mixed>
- le documents du plugin Medias
- le formulaire de logo de SPIP
Parameters
-
$flux
: array<string|int, mixed>
-
Return values
array<string|int, mixed>
inc_bigup_medias_formulaire_joindre_document_dist(array<string|int, mixed> $args, Formulaire $formulaire) : Formulaire
Parameters
-
$args
: array<string|int, mixed>
-
-
$formulaire
: Formulaire
-
inc_bigup_medias_formulaire_editer_document_dist(array<string|int, mixed> $args, Formulaire $formulaire) : Formulaire
Parameters
-
$args
: array<string|int, mixed>
-
-
$formulaire
: Formulaire
-
inc_bigup_medias_formulaire_illustrer_document_dist(array<string|int, mixed> $args, Formulaire $formulaire) : Formulaire
Parameters
-
$args
: array<string|int, mixed>
-
-
$formulaire
: Formulaire
-
inc_bigup_medias_formulaire_editer_logo_dist(array<string|int, mixed> $args, Formulaire $formulaire) : Formulaire
Parameters
-
$args
: array<string|int, mixed>
-
-
$formulaire
: Formulaire
-
inc_bigup_medias_formulaire_formidable_dist(array<string|int, mixed> $args, Formulaire $formulaire) : Formulaire
Parameters
-
$args
: array<string|int, mixed>
-
-
$formulaire
: Formulaire
-
inc_bigup_medias_formulaire_configurer_ecran_connexion_dist(array<string|int, mixed> $args, Formulaire $formulaire) : Formulaire
Parameters
-
$args
: array<string|int, mixed>
-
-
$formulaire
: Formulaire
-
bigup_affiche_milieu()
Ajoute la configuration des documents à la page de configuration des contenus
bigup_affiche_milieu(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
-
$flux
: array<string|int, mixed>
-
-
pipeline
-
Return values
array<string|int, mixed>
L'objectif de ce formulaire de test est de vérifier la simplicité d'usage
de l'envoi de fichier, même des gros.
formulaires_tester_bigup_charger_dist([mixed $id = 0 ]) : mixed
Il y a beaucoup de contraintes à gérer :
- la gestion d'un ou plusieurs champs de type fichier
- la gestion de gros fichiers (envois par morceaux (chunk))
- la gestion d'une zone de glisser déposer
- le stockage des fichiers envoyés avant le traitement du formulaire
- leur nettoyage si l'utilisateur finalement ne soumet pas le formulaire
- la sécurité : ne pas pouvoir exécuter/télécharger les fichiers envoyés directement
- la gestion de plusieurs formulaires sur la même page (avec des appels différents) :
ils ne doivent pas se mélanger les pinceaux.
Parameters
-
$id
: mixed
= 0
-
formulaires_tester_bigup_verifier_dist([mixed $id = 0 ]) : mixed
Parameters
-
$id
: mixed
= 0
-
formulaires_tester_bigup_traiter_dist([mixed $id = 0 ]) : mixed
Parameters
-
$id
: mixed
= 0
-
L'objectif de ce formulaire de test est de vérifier
le fonctionnement de la drop-zone-extended de bgup
formulaires_tester_bigup_extended_charger_dist([mixed $id = 0 ][, mixed $target = '' ][, mixed $bloc = '' ]) : mixed
Parameters
-
$id
: mixed
= 0
-
-
$target
: mixed
= ''
-
-
$bloc
: mixed
= ''
-
formulaires_tester_bigup_extended_verifier_dist([mixed $id = 0 ][, mixed $target = '' ][, mixed $bloc = '' ]) : mixed
Parameters
-
$id
: mixed
= 0
-
-
$target
: mixed
= ''
-
-
$bloc
: mixed
= ''
-
formulaires_tester_bigup_extended_traiter_dist([mixed $id = 0 ][, mixed $target = '' ][, mixed $bloc = '' ]) : mixed
Parameters
-
$id
: mixed
= 0
-
-
$target
: mixed
= ''
-
-
$bloc
: mixed
= ''
-
genie_bigup_nettoyer_repertoire_upload_dist()
Enlève les fichiers du répertoire de travail de bigup qui sont trop vieux
genie_bigup_nettoyer_repertoire_upload_dist(int $last) : int
Parameters
-
$last
: int
-