Documentation du code de SPIP et de ses plugins

Big Upload

Documentation

Table of Contents

Packages

Application
SPIP

Namespaces

Spip

Functions

action_bigup_dist()  : never
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.
balise_SAISIE_FICHIER_dist()  : Champ
Compile la balise `#SAISIE_FICHIER` qui retourne le code HTML de la saisie de formulaire indiquée.
bigup_upgrade()  : void
Fonction d'installation et de mise à jour du plugin Big Upload.
bigup_vider_tables()  : void
Fonction de désinstallation du plugin Big Upload.
balise_BIGUP_TOKEN()  : Champ
Compile la balise `#BIGUP_TOKEN` qui calcule un token autorisant l'envoi de fichiers par morceaux
calculer_balise_BIGUP_TOKEN()  : string|false
Calcule un token en fonction de l'utilisateur, du champ, du formulaire…
bigup_lister_fichiers()  : array<string|int, mixed>
Retrouve les fichiers correspondant à un name d'input donné, s'il y en a.
bigup_nom2name()  : mixed
Passer un nom en une valeur compatible avec un `name` de formulaire
bigup_nom2classe()  : mixed
Passer un nom en une valeur compatible avec une classe css
bigup_name2nom()  : string
Passer un `name` en un format de nom compris de saisies
bigup_get_accept_logos()  : string
Retourne la liste des mimes types acceptés pour des logos / illustrations, tels qu’attendus par le champ accept.
bigup_get_mime_type_extension()  : string
Transforme une extension en mime-type (de façon simpliste)
bigup_jquery_plugins()  : array<string|int, mixed>
Charger des scripts jquery
bigup_insert_head()  : string
Charger des JS dans l’espace public
bigup_config()  : array<string|int, mixed>
bigup_header_prive()  : string
Charger des JS dans l’espace prive
bigup_insert_head_css()  : string
Charger des styles CSS dans l’espace public
bigup_header_prive_css()  : string
Charger des styles CSS dans l'espace privé
bigup_get_bigup()  : Bigup
Obtenir une instance de la classe bigup pour ce formulaire
bigup_formulaire_charger()  : array<string|int, mixed>
Recherche de fichiers uploadés pour ce formulaire
bigup_formulaire_receptionner()  : array<string|int, mixed>
Branchement sur la réception d'un formulaire (avant verifier())
bigup_formulaire_verifier()  : array<string|int, mixed>
Branchement sur verifier
bigup_formulaire_traiter()  : array<string|int, mixed>
Branchement sur traiter
bigup_medias_formulaires_traitements_automatiques()  : array<string|int, mixed>
Liste les formulaires où BigUP se charge automatiquement (necessite un traitement spécifique)
bigup_medias_formulaire_charger()  : array<string|int, mixed>
Ajouter bigup sur certains formulaires
bigup_medias_formulaire_fond()  : array<string|int, mixed>
Utiliser Bigup sur certains formulaires
inc_bigup_medias_formulaire_joindre_document_dist()  : Formulaire
inc_bigup_medias_formulaire_editer_document_dist()  : Formulaire
inc_bigup_medias_formulaire_illustrer_document_dist()  : Formulaire
inc_bigup_medias_formulaire_editer_logo_dist()  : Formulaire
inc_bigup_medias_formulaire_formidable_dist()  : Formulaire
inc_bigup_medias_formulaire_configurer_ecran_connexion_dist()  : Formulaire
bigup_affiche_milieu()  : array<string|int, mixed>
Ajoute la configuration des documents à la page de configuration des contenus
formulaires_tester_bigup_charger_dist()  : 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_verifier_dist()  : mixed
formulaires_tester_bigup_traiter_dist()  : mixed
formulaires_tester_bigup_extended_charger_dist()  : mixed
L'objectif de ce formulaire de test est de vérifier le fonctionnement de la drop-zone-extended de bgup
formulaires_tester_bigup_extended_verifier_dist()  : mixed
formulaires_tester_bigup_extended_traiter_dist()  : mixed
genie_bigup_nettoyer_repertoire_upload_dist()  : int
Enlève les fichiers du répertoire de travail de bigup qui sont trop vieux

Functions

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é !

Return values
never

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
Tags
syntaxe

#SAISIE_FICHIER{type,nom[,option=xx,...]}

Return values
Champ

bigup_upgrade()

Fonction d'installation et de mise à jour du plugin Big Upload.

bigup_upgrade(string $nom_meta_base_version, string $version_cible) : void
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) : void
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

Tags
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

Nom du formulaire

$form_args : string

Hash du contexte ajax du formulaire

Tags
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

return 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

return 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
Tags
see
saisie_nom2name()

pour l'inverse.

Return values
string

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() : string
Return values
string

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
Return values
string

mime type

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>

Liste à charger

Tags
pipeline

jquery_plugins

Return values
array<string|int, mixed>

Liste complétée

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

Tags
pipeline

insert_head_css

Return values
string

Code html complété

bigup_config()

bigup_config() : array<string|int, mixed>
Return values
array<string|int, mixed>

bigup_header_prive()

Charger des JS dans l’espace prive

bigup_header_prive(string $flux) : string
Parameters
$flux : string

Code html des styles CSS à charger

Tags
pipeline

insert_head_css

Return values
string

Code html complété

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

Tags
pipeline

insert_head_css

Return values
string

Code html complété

bigup_header_prive_css()

Charger des styles CSS dans l'espace privé

bigup_header_prive_css(string $flux) : string
Parameters
$flux : string

Code html des styles CSS à charger

Tags
pipeline

insert_head_css

Return values
string

Code html complété

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

Return values
Bigup

bigup_formulaire_charger()

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>
Tags
see

bigup_formulaire_receptionner():

Return values
array<string|int, mixed>

bigup_formulaire_receptionner()

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>
Tags
pipeline

formulaire_receptionner

Return values
array<string|int, mixed>

bigup_formulaire_verifier()

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>

bigup_formulaire_traiter()

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>

bigup_medias_formulaires_traitements_automatiques()

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>

bigup_medias_formulaire_charger()

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>

bigup_medias_formulaire_fond()

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>

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>
Tags
pipeline

affiche_milieu

Return values
array<string|int, mixed>

formulaires_tester_bigup_charger_dist()

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()

formulaires_tester_bigup_verifier_dist([mixed $id = 0 ]) : mixed
Parameters
$id : mixed = 0

formulaires_tester_bigup_traiter_dist()

formulaires_tester_bigup_traiter_dist([mixed $id = 0 ]) : mixed
Parameters
$id : mixed = 0

formulaires_tester_bigup_extended_charger_dist()

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()

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()

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
Return values
int

Search results