Documentation du code de SPIP et de ses plugins

Medias

Documentation

Packages

Application
SPIP

Table of Contents

_BOUTON_MODE_IMAGE  = \true
_IMAGE_TAILLE_MINI_AUTOLIEN  = 800
_TITRER_DOCUMENTS  = false
_TMP_DIR  = creer_repertoire_documents(md5($path . $GLOBALS['visiteur_session']['id_auteur']))
_TMP_ZIP  = $path
CHARSET_JOINT  = 'iso-8859-1'
action_acceder_document_dist()  : mixed
action_ajouter_documents_dist()  : array<string|int, mixed>
Ajouter des documents
action_ajouter_un_document_dist()  : array<string|int, mixed>|bool|int|mixed|string|unknown
Ajouter un document (au format $_FILES)
determiner_sous_dossier_document()  : mixed
Sous-repertoire dans lequel on stocke le document en regle general $ext/ sauf pour les logo
verifier_upload_autorise()  : array<string|int, mixed>|bool|string
Vérifie la possibilité d'uploader une extension
fixer_fichier_upload()  : array<string|int, mixed>|string
Tester le type de document
verifier_taille_document_acceptable()  : bool|mixed|string
Verifier si le fichier respecte les contraintes de tailles
action_changer_mode_document_dist()  : void
Cette action permet de basculer du mode image au mode document et vice versa
action_changer_mode_document_post()  : mixed
action_copier_local_dist()  : bool|mixed|string
Fonction appellee lorsque l'utilisateur clique sur le bouton 'copier en local' (document/portfolio).
action_copier_local_post()  : bool|mixed|string
action_desordonner_liens_documents_dist()  : void
Désordonner des documents
desordonner_liens_documents()  : void
Désordonner des documents
desordonner_liens_document()  : void
Désordonner un document
action_dissocier_document_dist()  : void
Dissocier un document
supprimer_lien_document()  : bool
Supprimer un lien entre un document et un objet
dissocier_document()  : void
Dissocier un ou des documents
action_editer_document_dist()  : array<string|int, mixed>
Action editer_document
document_inserer()  : int
Creer un nouveau document
document_modifier()  : string|null
Enregistre une revision de document.
document_instituer()  : bool
determiner le statut d'un document : prepa/publie si on trouve un element joint sans champ statut ou avec un statut='publie' alors le doc est publie aussi
medias_revision_document_parents()  : mixed
Revision des parents d'un document chaque parent est liste au format objet|id_objet
action_ordonner_liens_documents_dist()  : mixed
action_ordonner_liens_dist()  : mixed
envoyer_json_envoi()  : mixed
envoyer_json_erreur()  : mixed
action_supprimer_document_dist()  : mixed
action_supprimer_tous_orphelins()  : mixed
action_tourner_dist()  : void
Tourner un document
action_tourner_post()  : mixed
Tourner un document
tourner_selon_exif_orientation()  : mixed
action_verifier_documents_brises_dist()  : mixed
Verifier tous les fichiers brises
action_verifier_documents_liens_dist()  : mixed
Vérifier tous les fichiers brisés
medias_declarer_tables_interfaces()  : array<string|int, mixed>
Interfaces des tables documents pour le compilateur
medias_declarer_tables_principales()  : array<string|int, mixed>
Table principale spip_documents et spip_types_documents
medias_declarer_tables_auxiliaires()  : array<string|int, mixed>
Table des liens documents-objets spip_documents_liens
medias_declarer_tables_objets_surnoms()  : array<string|int, mixed>
Declarer le surnom des breves
medias_declarer_tables_objets_sql()  : mixed
creer_base_types_doc()  : void
Creer la table des types de document
medias_optimiser_base_disparus()  : array<string|int, mixed>
Optimiser la base de données en supprimant les liens orphelins
formulaires_configurer_documents_charger_dist()  : array<string|int, mixed>
Chargement du formulaire de configuration des documents
formulaires_configurer_documents_traiter_dist()  : array<string|int, mixed>
Traitement du formulaire de configuration des documents
formulaires_editer_document_charger_dist()  : mixed
documents_edit_config()  : mixed
formulaires_editer_document_verifier_dist()  : mixed
formulaires_editer_document_traiter_dist()  : mixed
formulaires_illustrer_document_charger_dist()  : mixed
formulaires_illustrer_document_verifier_dist()  : mixed
formulaires_illustrer_document_traiter_dist()  : mixed
joindre_determiner_mode()  : string
Déterminer le mode d'upload si la valeur au chargement du formulaire est "auto"
joindre_document_galerie_valide()  : bool
Indique si une galerie demandée est valide
formulaires_joindre_document_charger_dist()  : array<string|int, mixed>
Chargement du formulaire
formulaires_joindre_document_verifier_dist()  : array<string|int, mixed>
Vérification du formulaire
formulaires_joindre_document_traiter_dist()  : array<string|int, mixed>
Traitement du formulaire
joindre_options_upload_ftp()  : string
Retourner le contenu du select HTML d'utilisation de fichiers envoyes par le serveur
joindre_liste_contenu_tailles_archive()  : string
Lister les fichiers contenus dans un zip
joindre_liste_erreurs_to_li()  : string
Lister les erreurs dans une archive jointe Utilisé formulaires/inc-lister_archive_jointe.html
inc_choisir_mode_document()  : string
Choisir le mode du document : image/document
inc_determiner_statut_document()  : array<string|int, mixed>|false
Determiner le statut automatique d'un document
inc_documenter_objet_dist()  : string
Retourne le code HTML du portfolio, liste des documents et formulaire d'ajout de documents
contenu_document()  : mixed
generer_url_document_dist()  : mixed
vignette_automatique()  : mixed
image_du_document()  : string
Trouve une image caractéristique d'un document.
affiche_raccourci_doc()  : string
Affiche le code d'un raccourcis de document, tel que <doc123|left>
erreur_upload_trop_gros()  : mixed
Traite l'erreur d'un upload trop gros
joindre_trouver_fichier_envoye()  : string|array<string|int, mixed>
Recuperer le nom du fichier selon le mode d'upload choisi et mettre cela au format $_FILES
joindre_trouver_http_post_files()  : array<string|int, mixed>|string
Récupérer et mettre en forme la liste des fichiers postes que ce soit via plusieurs input file ou via un input file multiple
joindre_upload_error()  : mixed
joindre_verifier_zip()  : string
Verifier si le fichier poste est un zip Si on sait le deballer, proposer les options necessaires
joindre_decrire_contenu_zip()  : array<string|int, mixed>
Verifier et decrire les fichiers de l'archive, en deux listes : - une liste des noms de fichiers ajoutables - une liste des erreurs (fichiers refuses)
joindre_deballer_lister_zip()  : mixed
fixer_extension_document()  : array<string|int, mixed>
Cherche dans la base le type-mime du tableau representant le document et corrige le nom du fichier ; retourne array(extension, nom corrige) s'il ne trouve pas, retourne '' et le nom inchange
accepte_fichier_upload()  : bool|int
Gestion des fichiers ZIP
inc_marquer_doublons_doc_dist()  : void|null
Trouver les documents utilisés dans le texte d'un objet et enregistrer cette liaison comme vue.
renseigner_source_distante()  : array<string|int, mixed>|string
Récuperer les infos distantes d'une URL, et renseigner pour une insertion en base
renseigner_taille_dimension_image()  : array<string|int, mixed>|string
Renseigner les informations de taille et dimension d'un document
sanitizer_document()  : bool
inc_verifier_document_mode_image_dist()  : mixed
inc_verifier_document_mode_vignette_dist()  : mixed
inc_verifier_taille_document_acceptable_dist()  : bool|mixed|string
Verifier si le fichier respecte les contraintes de tailles
medias_verifier_largeur_hauteur_image()  : bool|string
Verifier largeur maxi et hauteur maxi d'une image + largeur mini et hauteur mini
medias_verifier_poids_fichier()  : bool|string
verifier le poids maxi d'une image
inc_vignette_dist()  : array<string|int, mixed>|bool|string
Vignette pour une extension de document
medias_check_statuts()  : mixed
verifier et maj le statut des documents
medias_upgrade()  : mixed
Mise a jour de la BDD
medias_upgrade_logo_objet()  : mixed
Upgrader les logos objet vers des documents
medias_maj_meta_documents()  : mixed
Maj des meta documents
medias_peuple_media_document()  : mixed
medias_maj_date_publication_documents()  : mixed
Maj des date de publication des documents cf ticket #3329, z104221
medias_autoriser()  : mixed
Fonction d'appel pour le pipeline
autoriser_documents_voir_dist()  : bool
Autorisation de voir la page documents
autoriser_documents_menu_dist()  : bool
Autorisation de voir le bouton Documents dans le menu
autoriser_document_tailler_dist()  : bool
Autoriser le changement des dimensions sur un document
autoriser_joindredocument_dist()  : bool
Autorisation de joindre un document
autoriser_document_modifier_dist()  : bool
Autorisation de modifier un document
autoriser_document_supprimer_dist()  : bool
Autorisation de supprimer un document
autoriser_document_voir_dist()  : bool
Autorisation de voir un document
autoriser_autoassocierdocument_dist()  : bool
Autorisation d'auto-association de documents à du contenu editorial qui le référence
autoriser_orphelins_supprimer_dist()  : bool
Autoriser à nettoyer les orphelins de la base des documents
autoriser_associerdocuments_dist()  : bool
Autoriser a associer des documents a un objet : il faut avoir le droit de modifier cet objet
autoriser_dissocierdocuments_dist()  : bool
Autoriser a dissocier des documents a un objet : il faut avoir le droit de modifier cet objet
medias_modeles_styliser()  : string
Styliser le modele media : reroute les <img> <doc> <emb> vers <image>, <audio>, <video>, <file> selon le media du document si le document n'est pas trouve c'est <file> qui s'applique
medias_inigetoctets()  : int|string
Retourne la taille en octet d'une valeur de configuration php
medias_puce_statut_document()  : string
Afficher la puce de statut pour les documents
boucle_DOCUMENTS()  : string
Compile la boucle `DOCUMENTS` qui retourne une liste de documents multimédia
critere_DOCUMENTS_orphelins_dist()  : mixed
critere {orphelins} selectionne les documents sans liens avec un objet editorial
critere_DOCUMENTS_portrait_dist()  : mixed
critere {portrait} qui selectionne - les documents dont les dimensions sont connues - les documents dont la hauteur est superieure a la largeur
critere_DOCUMENTS_paysage_dist()  : mixed
critere {paysage} qui selectionne - les documents dont les dimensions sont connues - les documents dont la hauteur est inferieure a la largeur
critere_DOCUMENTS_carre_dist()  : mixed
critere {carre} qui selectionne - les documents dont les dimensions sont connues - les documents dont la hauteur est egale a la largeur
filtre_vignette_dist()  : string
Calcule la vignette d'une extension (l'image du type de fichier)
medias_lister_methodes_upload()  : array<string|int, mixed>
Determiner les methodes upload en fonction du env de inc-upload_document
duree_en_secondes()  : mixed
medias_trouver_modele_emb()  : string
Trouver le fond pour embarquer un document - avec une extension - avec un mime_type donne
media_determine_autolien()  : bool
Determiner si un media doit etre mis en autolien dans les modeles document Par defaut utilisé uniquement sur les media image, mais le filtre peut être surchargé pour étendre son fonctionnement
filtre_medias_modele_document_standard_classes_dist()  : string
Liste les classes standards des modèles de documents SPIP.
filtre_medias_modele_document_standard_attributs_dist()  : string
Liste les attributs data standards des modèles de documents SPIP.
medias_str_repeat_log()  : string
Retourne une chaine répétée d'autant de fois le logarithme
medias_ieconfig_metas()  : mixed
medias_detecter_fond_par_defaut()  : string
Traiter le cas pathologique d'un upload de document ayant echoué car étant trop gros
medias_post_insertion()  : array<string|int, mixed>
À chaque insertion d'un nouvel objet editorial auquel on a attaché des documents, restituer l'identifiant du nouvel objet crée sur les liaisons documents/objet, qui ont ponctuellement un identifiant id_objet négatif.
medias_affiche_milieu()  : array<string|int, mixed>
Ajoute la configuration des documents à la page de configuration des contenus
medias_configurer_liste_metas()  : array<string|int, mixed>
Définir les meta de configuration liées aux documents
medias_post_edition()  : array<string|int, mixed>
Institue ou met à jour les liens de documents après l'édition d'un objet
medias_afficher_complement_objet()  : array<string|int, mixed>
Ajouter le portfolio et ajout de document sur les fiches objet
medias_affiche_gauche()  : array<string|int, mixed>
Ajoute le formulaire d'ajout de document au formulaire d'édition d'un objet (lorsque cet objet peut recevoir des documents).
medias_document_desc_actions()  : array<string|int, mixed>
Utilisation du pipeline document_desc_actions
medias_editer_document_actions()  : array<string|int, mixed>
Utilisation du pipeline editer_document_actions
medias_renseigner_document_distant()  : array<string|int, mixed>
Utilisation du pipeline renseigner_document_distant
medias_objet_compte_enfants()  : array<string|int, mixed>
Compter les documents dans un objet
medias_boite_infos()  : array<string|int, mixed>
Afficher le nombre de documents dans chaque rubrique
medias_revisions_chercher_label()  : array<string|int, mixed>
Insertion dans le pipeline revisions_chercher_label (Plugin révisions) Trouver le bon label à afficher sur les champs dans les listes de révisions
medias_calculer_rubriques()  : array<string|int, mixed>
Publier une rubrique ayant un document joint…
metadata_audio()  : array<string|int, mixed>
Fonction de récupération des métadonnées sur les fichiers audio appelée à l'insertion en base dans le plugin medias (inc/renseigner_document)
medata_html_dist()  : array<string|int, mixed>
enlever les scripts de html si necessaire on utilise safehtml
metadata_image_dist()  : mixed
decoder_type_image()  : string
Convertit le type numerique retourne par getimagesize() en extension fichier
metadata_swf_dist()  : mixed
metadata_video()  : array<string|int, mixed>
Fonction de récupération des métadonnées sur les fichiers vidéo appelée à l'insertion en base dans le plugin medias (inc/renseigner_document)
affiche_bouton_mode_image_portfolio()  : mixed
medias_raccourcis_doc()  : mixed
medias_raccourcis_doc_groupe()  : string
liste_extensions_utilisees()  : mixed
puce_statut_document_dist()  : string
Afficher la puce statut d'un document : en fait juste une icone independante du statut
urls_generer_url_document_dist()  : string
Generer l'url d'un document dans l'espace public, fonction du statut du document
urls_generer_url_ecrire_document_dist()  : string
Generer l'url d'un document dans l'espace prive, fonction du statut du document

Constants

_TMP_DIR

public mixed _TMP_DIR = creer_repertoire_documents(md5($path . $GLOBALS['visiteur_session']['id_auteur']))

Functions

action_ajouter_documents_dist()

Ajouter des documents

action_ajouter_documents_dist(int $id_document, array<string|int, mixed> $files, string $objet, int $id_objet, string $mode) : array<string|int, mixed>
Parameters
$id_document : int

Document à remplacer, ou pour une vignette, l'id_document de maman 0 ou 'new' pour une insertion

$files : array<string|int, mixed>

Tableau de tableaux de propriétés pour chaque document à insérer

$objet : string

Objet auquel associer le document

$id_objet : int

id_objet

$mode : string

Mode par défaut si pas precisé pour le document

Return values
array<string|int, mixed>

Liste des id_documents inserés

action_ajouter_un_document_dist()

Ajouter un document (au format $_FILES)

action_ajouter_un_document_dist(int $id_document, array<string|int, mixed> $file, string $objet, int $id_objet, string $mode) : array<string|int, mixed>|bool|int|mixed|string|unknown
Parameters
$id_document : int

Document à remplacer, ou pour une vignette, l'id_document de maman 0 ou 'new' pour une insertion

$file : array<string|int, mixed>

Propriétes au format $_FILE étendu :

  • string tmp_name : source sur le serveur
  • string name : nom du fichier envoye
  • bool titrer : donner ou non un titre a partir du nom du fichier
  • bool distant : pour utiliser une source distante sur internet
  • string mode : vignette|image|documents|choix
$objet : string

Objet auquel associer le document

$id_objet : int

id_objet

$mode : string

Mode par défaut si pas precisé pour le document

Return values
array<string|int, mixed>|bool|int|mixed|string|unknown
  • int : l'id_document ajouté (opération réussie)
  • string : une erreur s'est produit, la chaine est le message d'erreur

determiner_sous_dossier_document()

Sous-repertoire dans lequel on stocke le document en regle general $ext/ sauf pour les logo

determiner_sous_dossier_document( $ext,  $fichier,  $mode) : mixed
Parameters
$ext :
$fichier :
$mode :
Return values
mixed

verifier_upload_autorise()

Vérifie la possibilité d'uploader une extension

verifier_upload_autorise(string $source[, string $mode = '' ]) : array<string|int, mixed>|bool|string

Vérifie aussi si l'extension est autorisée pour le mode demandé si on connait le mode à ce moment là

Parameters
$source : string

Nom du fichier

$mode : string = ''

Mode d'inclusion du fichier, si connu

Return values
array<string|int, mixed>|bool|string
  • array : extension acceptée (tableau descriptif). Avec un index 'autozip' si il faut zipper
  • false ou message d'erreur si l'extension est refusée

fixer_fichier_upload()

Tester le type de document

fixer_fichier_upload(array<string|int, mixed> $file[, string $mode = '' ]) : array<string|int, mixed>|string
  • le document existe et n'est pas de taille 0 ?
  • interdit a l'upload ?
  • quelle extension dans spip_types_documents ?
  • est-ce "inclus" comme une image ?

Le zipper si necessaire

Parameters
$file : array<string|int, mixed>

Au format $_FILES

$mode : string = ''

Mode d'inclusion du fichier, si connu

Return values
array<string|int, mixed>|string

verifier_taille_document_acceptable()

Verifier si le fichier respecte les contraintes de tailles

verifier_taille_document_acceptable(array<string|int, mixed> &$infos) : bool|mixed|string
Parameters
$infos : array<string|int, mixed>
Return values
bool|mixed|string

action_changer_mode_document_dist()

Cette action permet de basculer du mode image au mode document et vice versa

action_changer_mode_document_dist([int $id_document = null ][, string $mode = null ]) : void
Parameters
$id_document : int = null
$mode : string = null
Return values
void

action_changer_mode_document_post()

action_changer_mode_document_post(mixed $id_document, mixed $mode) : mixed
Parameters
$id_document : mixed
$mode : mixed
Return values
mixed

action_copier_local_dist()

Fonction appellee lorsque l'utilisateur clique sur le bouton 'copier en local' (document/portfolio).

action_copier_local_dist([null $id_document = null ]) : bool|mixed|string

Il s'agit de la partie logique, c'est a dire que cette fonction realise la copie.

Parameters
$id_document : null = null
Return values
bool|mixed|string

action_copier_local_post()

action_copier_local_post( $id_document) : bool|mixed|string
Parameters
$id_document :
Return values
bool|mixed|string

action_desordonner_liens_documents_dist()

Désordonner des documents

action_desordonner_liens_documents_dist([string $arg = null ]) : void
Parameters
$arg : string = null

fournit les arguments de la fonction dissocier_document sous la forme $id_objet-$objet-$document-suppr-safe

  • 4eme arg : suppr = true, false sinon
  • 5eme arg : safe = true, false sinon
Return values
void

desordonner_liens_documents()

Désordonner des documents

desordonner_liens_documents(int|string $document, string $objet,  $id_objet) : void
Parameters
$document : int|string

id_document a désordonner I/image pour dissocier les images en mode Image I/document pour dissocier les images en mode document D/document pour dissocier les documents non image en mode document

$objet : string

objet duquel dissocier

$id_objet :

id_objet duquel dissocier

Return values
void

desordonner_liens_document()

Désordonner un document

desordonner_liens_document(int $id_document, string $objet,  $id_objet) : void
Parameters
$id_document : int

id_document a désordonner

$objet : string

objet duquel dissocier

$id_objet :

id_objet duquel dissocier

Return values
void

action_dissocier_document_dist()

Dissocier un document

action_dissocier_document_dist([string $arg = null ]) : void
Parameters
$arg : string = null

fournit les arguments de la fonction dissocier_document sous la forme $id_objet-$objet-$document-suppr-safe

  • 4eme arg : suppr = true, false sinon
  • 5eme arg : safe = true, false sinon
Return values
void

supprimer_lien_document()

Supprimer un lien entre un document et un objet

supprimer_lien_document(int $id_document, string $objet, int $id_objet[, bool $supprime = false ][, bool $check = false ]) : bool
Parameters
$id_document : int
$objet : string
$id_objet : int
$supprime : bool = false

si true, le document est supprime si plus lie a aucun objet

$check : bool = false

si true, on verifie les documents references dans le texte de l'objet et on les associe si pas deja fait

Return values
bool

dissocier_document()

Dissocier un ou des documents

dissocier_document(int|string $document, string $objet,  $id_objet[, bool $supprime = false ][, bool $check = false ]) : void
Parameters
$document : int|string

id_document a dissocier I/image pour dissocier les images en mode Image I/document pour dissocier les images en mode document D/document pour dissocier les documents non image en mode document

$objet : string

objet duquel dissocier

$id_objet :

id_objet duquel dissocier

$supprime : bool = false

supprimer les documents orphelins apres dissociation

$check : bool = false

verifier le texte des documents et relier les documents references dans l'objet

Return values
void

action_editer_document_dist()

Action editer_document

action_editer_document_dist([int $arg = null ]) : array<string|int, mixed>
Parameters
$arg : int = null
Return values
array<string|int, mixed>

document_inserer()

Creer un nouveau document

document_inserer([int $id_parent = null ][, array<string|int, mixed>|null $set = null ]) : int
Parameters
$id_parent : int = null

inutilise, pas de parent pour les documents

$set : array<string|int, mixed>|null = null
Return values
int

document_modifier()

Enregistre une revision de document.

document_modifier(int $id_document[, array<string|int, mixed>|null $set = null ]) : string|null

$set est un contenu (par defaut on prend le contenu via _request())

Parameters
$id_document : int
$set : array<string|int, mixed>|null = null
Return values
string|null

document_instituer()

determiner le statut d'un document : prepa/publie si on trouve un element joint sans champ statut ou avec un statut='publie' alors le doc est publie aussi

document_instituer(int $id_document[, array<string|int, mixed> $champs = [] ]) : bool
Parameters
$id_document : int
$champs : array<string|int, mixed> = []
Return values
bool

medias_revision_document_parents()

Revision des parents d'un document chaque parent est liste au format objet|id_objet

medias_revision_document_parents(int $id_document[, array<string|int, mixed> $parents = null ][, bool $ajout = false ]) : mixed
Parameters
$id_document : int
$parents : array<string|int, mixed> = null
$ajout : bool = false
Return values
mixed

action_supprimer_document_dist()

action_supprimer_document_dist(mixed $id_document) : mixed
Parameters
$id_document : mixed
Return values
mixed

action_tourner_dist()

Tourner un document

action_tourner_dist([int $id_document = null ][, int $angle = null ]) : void

lorsque les arguments sont passes dans arg en GET : id_document-angle

Parameters
$id_document : int = null
$angle : int = null

angle de rotation en degre>0

Return values
void

action_tourner_post()

Tourner un document

action_tourner_post(int $id_document, int $angle) : mixed
Parameters
$id_document : int
$angle : int

angle de rotation en degre>0

Return values
mixed

tourner_selon_exif_orientation()

tourner_selon_exif_orientation(mixed $id_document, mixed $fichier) : mixed
Parameters
$id_document : mixed
$fichier : mixed
Return values
mixed

action_verifier_documents_brises_dist()

Verifier tous les fichiers brises

action_verifier_documents_brises_dist() : mixed
Return values
mixed

action_verifier_documents_liens_dist()

Vérifier tous les fichiers brisés

action_verifier_documents_liens_dist([int|null $id_document = null ]) : mixed
Parameters
$id_document : int|null = null

Indique le document cible de l'action, sinon il sera obtenu par la clé d'action sécurisée.

Return values
mixed

medias_declarer_tables_interfaces()

Interfaces des tables documents pour le compilateur

medias_declarer_tables_interfaces(array<string|int, mixed> $interfaces) : array<string|int, mixed>
Parameters
$interfaces : array<string|int, mixed>
Return values
array<string|int, mixed>

medias_declarer_tables_principales()

Table principale spip_documents et spip_types_documents

medias_declarer_tables_principales(array<string|int, mixed> $tables_principales) : array<string|int, mixed>
Parameters
$tables_principales : array<string|int, mixed>
Return values
array<string|int, mixed>

medias_declarer_tables_auxiliaires()

Table des liens documents-objets spip_documents_liens

medias_declarer_tables_auxiliaires(array<string|int, mixed> $tables_auxiliaires) : array<string|int, mixed>
Parameters
$tables_auxiliaires : array<string|int, mixed>
Return values
array<string|int, mixed>

medias_declarer_tables_objets_surnoms()

Declarer le surnom des breves

medias_declarer_tables_objets_surnoms(array<string|int, mixed> $surnoms) : array<string|int, mixed>
Parameters
$surnoms : array<string|int, mixed>
Return values
array<string|int, mixed>

medias_declarer_tables_objets_sql()

medias_declarer_tables_objets_sql(mixed $tables) : mixed
Parameters
$tables : mixed
Return values
mixed

creer_base_types_doc()

Creer la table des types de document

creer_base_types_doc([string $serveur = '' ][, string $champ_media = 'media_defaut' ]) : void
Parameters
$serveur : string = ''
$champ_media : string = 'media_defaut'
Return values
void

medias_optimiser_base_disparus()

Optimiser la base de données en supprimant les liens orphelins

medias_optimiser_base_disparus(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

formulaires_configurer_documents_charger_dist()

Chargement du formulaire de configuration des documents

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

Environnement du formulaire

formulaires_configurer_documents_traiter_dist()

Traitement du formulaire de configuration des documents

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

Retours du traitement

formulaires_editer_document_charger_dist()

formulaires_editer_document_charger_dist([mixed $id_document = 'new' ][, mixed $id_parent = '' ][, mixed $retour = '' ], mixed $lier_trad[, mixed $config_fonc = 'documents_edit_config' ][, mixed $row = [] ][, mixed $hidden = '' ]) : mixed
Parameters
$id_document : mixed = 'new'
$id_parent : mixed = ''
$retour : mixed = ''
$lier_trad : mixed
$config_fonc : mixed = 'documents_edit_config'
$row : mixed = []
$hidden : mixed = ''
Return values
mixed

documents_edit_config()

documents_edit_config(mixed $row) : mixed
Parameters
$row : mixed
Return values
mixed

formulaires_editer_document_verifier_dist()

formulaires_editer_document_verifier_dist([mixed $id_document = 'new' ][, mixed $id_parent = '' ][, mixed $retour = '' ], mixed $lier_trad[, mixed $config_fonc = 'documents_edit_config' ][, mixed $row = [] ][, mixed $hidden = '' ]) : mixed
Parameters
$id_document : mixed = 'new'
$id_parent : mixed = ''
$retour : mixed = ''
$lier_trad : mixed
$config_fonc : mixed = 'documents_edit_config'
$row : mixed = []
$hidden : mixed = ''
Return values
mixed

formulaires_editer_document_traiter_dist()

formulaires_editer_document_traiter_dist([mixed $id_document = 'new' ][, mixed $id_parent = '' ][, mixed $retour = '' ], mixed $lier_trad[, mixed $config_fonc = 'documents_edit_config' ][, mixed $row = [] ][, mixed $hidden = '' ]) : mixed
Parameters
$id_document : mixed = 'new'
$id_parent : mixed = ''
$retour : mixed = ''
$lier_trad : mixed
$config_fonc : mixed = 'documents_edit_config'
$row : mixed = []
$hidden : mixed = ''
Return values
mixed

formulaires_illustrer_document_charger_dist()

formulaires_illustrer_document_charger_dist(mixed $id_document) : mixed
Parameters
$id_document : mixed
Return values
mixed

formulaires_illustrer_document_verifier_dist()

formulaires_illustrer_document_verifier_dist(mixed $id_document) : mixed
Parameters
$id_document : mixed
Return values
mixed

formulaires_illustrer_document_traiter_dist()

formulaires_illustrer_document_traiter_dist(mixed $id_document) : mixed
Parameters
$id_document : mixed
Return values
mixed

joindre_determiner_mode()

Déterminer le mode d'upload si la valeur au chargement du formulaire est "auto"

joindre_determiner_mode(string $mode, int|string $id_document, string $objet) : string
Parameters
$mode : string

Le mode passé au formulaire

$id_document : int|string

L'identifiant numérique du document à remplacer ou "new" par défaut

$objet : string

Le type d'objet sur lequel ajouter le document

Return values
string

$mode Le mode définitif

joindre_document_galerie_valide()

Indique si une galerie demandée est valide

joindre_document_galerie_valide(string|null $galerie) : bool
Parameters
$galerie : string|null

Le fichier de galerie désiré

Tags
deprecated
4.0

(SPIP 4.1) L’inclusion de galerie est déprécié (non utilisé depuis SPIP 3.0). Préferez ajax_reload() après upload.

global

array medias_deprecated_liste_galeries Liste de chemins de fichiers depuis la racine SPIP autorisés.

Return values
bool

formulaires_joindre_document_charger_dist()

Chargement du formulaire

formulaires_joindre_document_charger_dist([int|string $id_document = 'new' ], int $id_objet[, string $objet = '' ][, string $mode = 'auto' ][, string $galerie = false ][, bool|string $proposer_media = true ][, bool|string $proposer_ftp = true ]) : array<string|int, mixed>
Parameters
$id_document : int|string = 'new'

L'identidiant numérique du document s'il est à remplacer, sinon "new"

$id_objet : int

L'identifiant numérique de l'objet sur lequel on ajoute le document

$objet : string = ''

Le type de l'objet sur lequel on ajoute le document

$mode : string = 'auto'

Le mode du document (auto,choix,document,image,vignette...), par défaut auto

$galerie : string = false

Deprecated 4.0 (SPIP 4.1) Passer optionnellement une galerie jointe au form, plus utilise nativement, on prefere la mise a jour apres upload par ajaxReload('documents')

$proposer_media : bool|string = true

Doit on afficher la médiathèque ? par défaut oui Valeurs possibles si string : false,'non','no'.

$proposer_ftp : bool|string = true

Doit on afficher le ftp ? par défaut oui Valeurs possibles si string : false,'non','no'.

Return values
array<string|int, mixed>

$valeurs Les valeurs chargées dans le formulaire

formulaires_joindre_document_verifier_dist()

Vérification du formulaire

formulaires_joindre_document_verifier_dist([int|string $id_document = 'new' ], int $id_objet[, string $objet = '' ][, string $mode = 'auto' ][, string $galerie = false ][, bool|string $proposer_media = true ][, bool|string $proposer_ftp = true ]) : array<string|int, mixed>
Parameters
$id_document : int|string = 'new'

L'identidiant numérique du document s'il est à remplacer, sinon "new"

$id_objet : int

L'identifiant numérique de l'objet sur lequel on ajoute le document

$objet : string = ''

Le type de l'objet sur lequel on ajoute le document

$mode : string = 'auto'

Le mode du document (auto,choix,document,image,vignette...), par défaut auto

$galerie : string = false

Deprecated 4.0 (SPIP 4.1) Passer optionnellement une galerie jointe au form, plus utilise nativement, on prefere la mise a jour apres upload par ajaxReload('documents')

$proposer_media : bool|string = true

Doit on afficher la médiathèque ? par défaut oui Valeurs possibles si string : false,'non','no'.

$proposer_ftp : bool|string = true

Doit on afficher le ftp ? par défaut oui Valeurs possibles si string : false,'non','no'.

Return values
array<string|int, mixed>

$erreurs Les erreurs éventuelles dans un tableau

formulaires_joindre_document_traiter_dist()

Traitement du formulaire

formulaires_joindre_document_traiter_dist([int|string $id_document = 'new' ], int $id_objet[, string $objet = '' ][, string $mode = 'auto' ][, string $galerie = false ][, bool|string $proposer_media = true ][, bool|string $proposer_ftp = true ]) : array<string|int, mixed>
Parameters
$id_document : int|string = 'new'

L'identidiant numérique du document s'il est à remplacer, sinon "new"

$id_objet : int

L'identifiant numérique de l'objet sur lequel on ajoute le document

$objet : string = ''

Le type de l'objet sur lequel on ajoute le document

$mode : string = 'auto'

Le mode du document (auto,choix,document,image,vignette...), par défaut auto

$galerie : string = false

Deprecated 4.0 (SPIP 4.1) Passer optionnellement une galerie jointe au form, plus utilise nativement, on prefere la mise a jour apres upload par ajaxReload('documents')

$proposer_media : bool|string = true

Doit on afficher la médiathèque ? par défaut oui Valeurs possibles si string : false,'non','no'.

$proposer_ftp : bool|string = true

Doit on afficher le ftp ? par défaut oui Valeurs possibles si string : false,'non','no'.

Return values
array<string|int, mixed>

$res Le tableau renvoyé par les CVT avec le message et editable

joindre_options_upload_ftp()

Retourner le contenu du select HTML d'utilisation de fichiers envoyes par le serveur

joindre_options_upload_ftp(string $dir[, string $mode = 'document' ]) : string
Parameters
$dir : string

Le répertoire de recherche des documents

$mode : string = 'document'

Le mode d'ajout de document

Return values
string

$texte Le contenu HTML du selecteur de documents

joindre_liste_contenu_tailles_archive()

Lister les fichiers contenus dans un zip

joindre_liste_contenu_tailles_archive(array<string|int, mixed> $files) : string
Parameters
$files : array<string|int, mixed>

La liste des fichiers

Return values
string

$res La liste HTML des fichiers

  • ...
  • joindre_liste_erreurs_to_li()

    Lister les erreurs dans une archive jointe Utilisé formulaires/inc-lister_archive_jointe.html

    joindre_liste_erreurs_to_li(array<string|int, mixed> $erreurs) : string
    Parameters
    $erreurs : array<string|int, mixed>

    La liste des erreurs

    Return values
    string

    $res Le code HTML des erreurs

    inc_choisir_mode_document()

    Choisir le mode du document : image/document

    inc_choisir_mode_document(array<string|int, mixed> $infos, bool $type_inclus_image, string $objet) : string
    Parameters
    $infos : array<string|int, mixed>

    Informations sur le document (en base + prises sur le fichier)

    $type_inclus_image : bool

    Type d'inclusion demandée : true si image

    $objet : string

    Objet sur lequel est placé le document

    Return values
    string

    Mode du document

    inc_determiner_statut_document()

    Determiner le statut automatique d'un document

    inc_determiner_statut_document(int $id_document, string $statut_ancien, string $date_publication_ancienne) : array<string|int, mixed>|false
    Parameters
    $id_document : int
    $statut_ancien : string
    $date_publication_ancienne : string
    Return values
    array<string|int, mixed>|false

    inc_documenter_objet_dist()

    Retourne le code HTML du portfolio, liste des documents et formulaire d'ajout de documents

    inc_documenter_objet_dist(int $id, string $type) : string
    Parameters
    $id : int

    Identifiant de l'objet

    $type : string

    Type d'objet

    Tags
    note

    Marque les documents vus dans les textes de l'objet avant le calcul !

    uses
    inc_marquer_doublons_doc_dist()
    Return values
    string

    code HTML

    contenu_document()

    contenu_document(mixed $arg[, mixed $charset = '' ]) : mixed
    Parameters
    $arg : mixed
    $charset : mixed = ''
    Return values
    mixed

    generer_url_document_dist()

    generer_url_document_dist(mixed $id_document[, mixed $args = '' ][, mixed $ancre = '' ]) : mixed
    Parameters
    $id_document : mixed
    $args : mixed = ''
    $ancre : mixed = ''
    Return values
    mixed

    vignette_automatique()

    vignette_automatique(mixed $img, mixed $doc, mixed $lien, mixed $x, mixed $y[, mixed $align = '' ][, mixed $class = null ][, mixed $connect = null ]) : mixed
    Parameters
    $img : mixed
    $doc : mixed
    $lien : mixed
    $x : mixed
    $y : mixed
    $align : mixed = ''
    $class : mixed = null
    $connect : mixed = null
    Return values
    mixed

    image_du_document()

    Trouve une image caractéristique d'un document.

    image_du_document(array<string|int, mixed> $document[, null|string $connect = null ]) : string

    Si celui-ci est une image et que les outils graphiques sont dispos, retourner le document (en exploitant sa copie locale s'il est distant).

    Si on a un connecteur externe, on utilise l’URL externe.

    Autrement retourner la vignette fournie par SPIP pour ce type MIME

    Parameters
    $document : array<string|int, mixed>
    $connect : null|string = null
    Return values
    string

    Chemin de l’image

    affiche_raccourci_doc()

    Affiche le code d'un raccourcis de document, tel que <doc123|left>

    affiche_raccourci_doc(string $doc, int $id[, string $align = '' ][, bool $short = false ]) : string

    Affiche un code de raccourcis de document, et l'insère dans le textarea principal de l'objet (champ 'texte') sur un double-clic

    Parameters
    $doc : string

    Type de raccourcis : doc,img,emb...

    $id : int

    Identifiant du document

    $align : string = ''

    Alignement du document : left,center,right

    $short : bool = false

    Réduire le texte affiché à la valeur de 'align'

    Return values
    string

    Texte du raccourcis

    erreur_upload_trop_gros()

    Traite l'erreur d'un upload trop gros

    erreur_upload_trop_gros() : mixed

    L'erreur est appelée depuis public.php et medias_detecter_fond_par_defaut et affiche un minipres avec la taille limite de documents possibles

    Tags
    see
    minipres()
    Return values
    mixed

    joindre_trouver_fichier_envoye()

    Recuperer le nom du fichier selon le mode d'upload choisi et mettre cela au format $_FILES

    joindre_trouver_fichier_envoye() : string|array<string|int, mixed>

    Renvoie une liste de fichier ou un message en cas d'erreur

    Return values
    string|array<string|int, mixed>

    joindre_trouver_http_post_files()

    Récupérer et mettre en forme la liste des fichiers postes que ce soit via plusieurs input file ou via un input file multiple

    joindre_trouver_http_post_files([ $name = null ]) : array<string|int, mixed>|string
    Parameters
    $name : = null

    : nom de l'input qu'on veut recuperer si on ne veut pas tous les fichiers

    Return values
    array<string|int, mixed>|string

    string en cas d'erreur

    joindre_upload_error()

    joindre_upload_error(mixed $error) : mixed
    Parameters
    $error : mixed
    Return values
    mixed

    joindre_verifier_zip()

    Verifier si le fichier poste est un zip Si on sait le deballer, proposer les options necessaires

    joindre_verifier_zip(array<string|int, mixed> $files) : string
    Parameters
    $files : array<string|int, mixed>
    Return values
    string

    joindre_decrire_contenu_zip()

    Verifier et decrire les fichiers de l'archive, en deux listes : - une liste des noms de fichiers ajoutables - une liste des erreurs (fichiers refuses)

    joindre_decrire_contenu_zip(mixed $infos) : array<string|int, mixed>
    Parameters
    $infos : mixed
    Return values
    array<string|int, mixed>

    joindre_deballer_lister_zip()

    joindre_deballer_lister_zip(mixed $path, mixed $tmp_dir) : mixed
    Parameters
    $path : mixed
    $tmp_dir : mixed
    Return values
    mixed

    fixer_extension_document()

    Cherche dans la base le type-mime du tableau representant le document et corrige le nom du fichier ; retourne array(extension, nom corrige) s'il ne trouve pas, retourne '' et le nom inchange

    fixer_extension_document(array<string|int, mixed> $doc) : array<string|int, mixed>
    Parameters
    $doc : array<string|int, mixed>
    Return values
    array<string|int, mixed>

    accepte_fichier_upload()

    Gestion des fichiers ZIP

    accepte_fichier_upload(sring $f) : bool|int
    Parameters
    $f : sring
    Return values
    bool|int

    inc_marquer_doublons_doc_dist()

    Trouver les documents utilisés dans le texte d'un objet et enregistrer cette liaison comme vue.

    inc_marquer_doublons_doc_dist(array<string|int, mixed> $champs, int $id, string $type, string $id_table_objet, string $table_objet, string $spip_table_objet[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ]) : void|null

    La liste des champs susceptibles de contenir des documents ou images est indiquée par la globale medias_liste_champs (un tableau).

    Le contenu de ces champs (du moins ceux qui existent pour l'objet demandé) est récupéré et analysé. La présence d'un modèle de document dans ces contenus, tel que imgXX, docXX ou embXX indique que le document est utilisé et doit être lié à l'objet, avec le champ vu=oui

    S'il y avait des anciens liens avec vu=oui qui n'ont plus lieu d'être, ils passent à non.

    Parameters
    $champs : array<string|int, mixed>

    Couples [champ => valeur] connus de l'objet

    $id : int

    Identifiant de l'objet

    $type : string

    Type d'objet éditorial (ex: article)

    $id_table_objet : string

    Nom de la clé primaire sur la table sql de l'objet

    $table_objet : string

    Nom de l'objet éditorial (ex: articles)

    $spip_table_objet : string

    Nom de la table sql de l'objet

    $desc : array<string|int, mixed> = []

    Description de l'objet, si déjà calculé

    $serveur : string = ''

    Serveur sql utilisé.

    Tags
    note

    La fonction pourrait avoir bien moins d'arguments : seuls $champs, $id, $type ou $objet, $desc, $serveur sont nécessaires. On calcule $desc s'il est absent, et il contient toutes les infos…

    Return values
    void|null

    renseigner_source_distante()

    Récuperer les infos distantes d'une URL, et renseigner pour une insertion en base

    renseigner_source_distante(string $source[, mixed $callback_valider_url = '' ]) : array<string|int, mixed>|string

    Utilise une variable static car appellée plusieurs fois au cours du même hit (vérification puis traitement)

    Un plugin peut avec le pipeline renseigner_document_distant renseigner les informations fichier et mode avant l'analyse et traitement par ce plugin, qui dans ce cas ne les fera pas. Exemple : OEmbed

    Parameters
    $source : string

    URL du document

    $callback_valider_url : mixed = ''
    Tags
    pipeline_appel

    renseigner_document_distant

    Return values
    array<string|int, mixed>|string

    Informations sur le fichier distant, sinon message d'erreur. Sans erreur, retourne un tableau :

    • source : URL du fichier
    • distant : Est-ce un fichier distant ?
    • mode : Mode d'inclusion
    • fichier : Chemin local du fichier s'il a été recopié

    renseigner_taille_dimension_image()

    Renseigner les informations de taille et dimension d'un document

    renseigner_taille_dimension_image(string $fichier, string $ext[, bool $distant = false ]) : array<string|int, mixed>|string

    Récupère les informations de taille (largeur / hauteur / type_image / taille) d'un document Utilise pour cela les fonctions du répertoire metadatas/*

    Ces fonctions de récupérations peuvent retourner d'autres champs si ces champs sont définis comme editable dans la déclaration de la table spip_documents

    Parameters
    $fichier : string

    Le fichier à examiner

    $ext : string

    L'extension du fichier à examiner

    $distant : bool = false

    Indique que le fichier peut etre distant, on essaiera alors d'en recuperer un bout pour en lire les meta infos

    Tags
    todo

    Renommer cette fonction sans "_image"

    Return values
    array<string|int, mixed>|string

    $infos

    • Si c'est une chaîne, c'est une erreur
    • Si c'est un tableau, l'ensemble des informations récupérées du fichier

    sanitizer_document()

    sanitizer_document(string $fichier, string $ext) : bool
    Parameters
    $fichier : string
    $ext : string
    Return values
    bool

    inc_verifier_document_mode_image_dist()

    inc_verifier_document_mode_image_dist(mixed $infos) : mixed
    Parameters
    $infos : mixed
    Return values
    mixed

    inc_verifier_document_mode_vignette_dist()

    inc_verifier_document_mode_vignette_dist(mixed $infos) : mixed
    Parameters
    $infos : mixed
    Return values
    mixed

    inc_verifier_taille_document_acceptable_dist()

    Verifier si le fichier respecte les contraintes de tailles

    inc_verifier_taille_document_acceptable_dist(array<string|int, mixed> &$infos[, bool $is_logo = false ]) : bool|mixed|string
    Parameters
    $infos : array<string|int, mixed>
    $is_logo : bool = false
    Return values
    bool|mixed|string

    medias_verifier_largeur_hauteur_image()

    Verifier largeur maxi et hauteur maxi d'une image + largeur mini et hauteur mini

    medias_verifier_largeur_hauteur_image(array<string|int, mixed> &$infos[, null|int $max_width = null ][, null|int $max_height = null ][, null|int $min_width = null ][, null|int $min_height = null ]) : bool|string
    Parameters
    $infos : array<string|int, mixed>
    $max_width : null|int = null
    $max_height : null|int = null
    $min_width : null|int = null
    $min_height : null|int = null
    Return values
    bool|string

    medias_verifier_poids_fichier()

    verifier le poids maxi d'une image

    medias_verifier_poids_fichier(array<string|int, mixed> $infos[, null|int $max_size = null ][, mixed $is_image = false ]) : bool|string
    Parameters
    $infos : array<string|int, mixed>
    $max_size : null|int = null
    $is_image : mixed = false
    Return values
    bool|string

    inc_vignette_dist()

    Vignette pour une extension de document

    inc_vignette_dist(string $ext[, bool $size = true ][, bool $loop = true ]) : array<string|int, mixed>|bool|string

    Recherche les fichiers d'icones au format SVG pour l'extension demandée. On cherche prive/vignettes/ext.svg dans le path.

    Parameters
    $ext : string

    Extension du fichier. Exemple : png

    $size : bool = true

    true pour retourner un tableau avec les tailles de la vignette false pour retourner uniquement le chemin du fichier

    $loop : bool = true

    Autoriser la fonction à s'appeler sur elle-même (paramètre interne).

    Return values
    array<string|int, mixed>|bool|string

    False si l'image n'est pas trouvée Chaîne (chemin vers l'image) si on ne demande pas de taille Tableau (chemin, largeur, hauteur) si on demande avec la taille.

    medias_check_statuts()

    verifier et maj le statut des documents

    medias_check_statuts([bool $affiche = false ]) : mixed
    Parameters
    $affiche : bool = false
    Return values
    mixed

    medias_upgrade()

    Mise a jour de la BDD

    medias_upgrade(string $nom_meta_base_version, string $version_cible) : mixed
    Parameters
    $nom_meta_base_version : string
    $version_cible : string
    Return values
    mixed

    medias_upgrade_logo_objet()

    Upgrader les logos objet vers des documents

    medias_upgrade_logo_objet( $objet) : mixed
    Parameters
    $objet :
    Return values
    mixed

    medias_peuple_media_document()

    medias_peuple_media_document([mixed $champ_media = 'media_defaut' ]) : mixed
    Parameters
    $champ_media : mixed = 'media_defaut'
    Return values
    mixed

    medias_maj_date_publication_documents()

    Maj des date de publication des documents cf ticket #3329, z104221

    medias_maj_date_publication_documents() : mixed
    Return values
    mixed

    medias_autoriser()

    Fonction d'appel pour le pipeline

    medias_autoriser() : mixed
    Tags
    pipeline

    autoriser

    Return values
    mixed

    autoriser_documents_voir_dist()

    Autorisation de voir la page documents

    autoriser_documents_voir_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_documents_menu_dist()

    Autorisation de voir le bouton Documents dans le menu

    autoriser_documents_menu_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_document_tailler_dist()

    Autoriser le changement des dimensions sur un document

    autoriser_document_tailler_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $options) : bool
    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $options : array<string|int, mixed>

    Options de cette autorisation

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_joindredocument_dist()

    Autorisation de joindre un document

    autoriser_joindredocument_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

    On ne peut joindre un document qu'a un objet qu'on a le droit d'editer mais il faut prevoir le cas d'une creation par un redacteur, qui correspond au hack id_objet = 0-id_auteur

    Il faut aussi que les documents aient ete actives sur les objets concernes ou que ce soit un article, sur lequel on peut toujours uploader des images

    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_document_modifier_dist()

    Autorisation de modifier un document

    autoriser_document_modifier_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

    On ne peut modifier un document que s'il n'est pas lie a un objet qu'on n'a pas le droit d'editer

    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Tags
    staticvar

    $m

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_document_supprimer_dist()

    Autorisation de supprimer un document

    autoriser_document_supprimer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

    On ne peut supprimer un document que s'il n'est lie a aucun objet ET qu'on a le droit de le modifier !

    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_document_voir_dist()

    Autorisation de voir un document

    autoriser_document_voir_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

    Peut-on voir un document dans _DIR_IMG ?

    Tout le monde (y compris les visiteurs non enregistrés), puisque par défaut ce repertoire n'est pas protégé ; si une extension comme acces_restreint a positionné creer_htaccess, on regarde si le document est lié à un élément publié.

    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Tags
    todo

    À revoir car c'est dommage de sortir de l'API true/false

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_autoassocierdocument_dist()

    Autorisation d'auto-association de documents à du contenu editorial qui le référence

    autoriser_autoassocierdocument_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

    Par defaut true pour tous les objets

    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_orphelins_supprimer_dist()

    Autoriser à nettoyer les orphelins de la base des documents

    autoriser_orphelins_supprimer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

    Réservé aux admins complets.

    Parameters
    $faire : string

    Action demandée

    $type : string

    Type d'objet sur lequel appliquer l'action

    $id : int

    Identifiant de l'objet

    $qui : array<string|int, mixed>

    Description de l'auteur demandant l'autorisation

    $opt : array<string|int, mixed>

    Options de cette autorisation

    Return values
    bool

    true s'il a le droit, false sinon

    autoriser_associerdocuments_dist()

    Autoriser a associer des documents a un objet : il faut avoir le droit de modifier cet objet

    autoriser_associerdocuments_dist( $faire,  $type,  $id,  $qui,  $opt) : bool
    Parameters
    $faire :
    $type :
    $id :
    $qui :
    $opt :
    Return values
    bool

    autoriser_dissocierdocuments_dist()

    Autoriser a dissocier des documents a un objet : il faut avoir le droit de modifier cet objet

    autoriser_dissocierdocuments_dist( $faire,  $type,  $id,  $qui,  $opt) : bool
    Parameters
    $faire :
    $type :
    $id :
    $qui :
    $opt :
    Return values
    bool

    medias_modeles_styliser()

    Styliser le modele media : reroute les <img> <doc> <emb> vers <image>, <audio>, <video>, <file> selon le media du document si le document n'est pas trouve c'est <file> qui s'applique

    medias_modeles_styliser( $modele,  $id) : string
    Parameters
    $modele :
    $id :
    Return values
    string

    medias_inigetoctets()

    Retourne la taille en octet d'une valeur de configuration php

    medias_inigetoctets(string $var) : int|string
    Parameters
    $var : string

    Clé de configuration ; valeur récupérée par ini_get(). Exemple post_max_size

    Return values
    int|string

    Taille en octet, sinon chaine vide.

    medias_puce_statut_document()

    Afficher la puce de statut pour les documents

    medias_puce_statut_document(int $id_document, string $statut) : string
    Parameters
    $id_document : int

    Identifiant du document

    $statut : string

    Statut du document

    Return values
    string

    Code HTML de l'image de puce

    boucle_DOCUMENTS()

    Compile la boucle `DOCUMENTS` qui retourne une liste de documents multimédia

    boucle_DOCUMENTS(string $id_boucle, array<string|int, mixed> &$boucles) : string

    <BOUCLE(DOCUMENTS)>

    Parameters
    $id_boucle : string

    Identifiant de la boucle

    $boucles : array<string|int, mixed>

    AST du squelette

    Return values
    string

    Code PHP compilé de la boucle

    critere_DOCUMENTS_orphelins_dist()

    critere {orphelins} selectionne les documents sans liens avec un objet editorial

    critere_DOCUMENTS_orphelins_dist(string $idb, object &$boucles, object $crit) : mixed
    Parameters
    $idb : string
    $boucles : object
    $crit : object
    Return values
    mixed

    critere_DOCUMENTS_portrait_dist()

    critere {portrait} qui selectionne - les documents dont les dimensions sont connues - les documents dont la hauteur est superieure a la largeur

    critere_DOCUMENTS_portrait_dist(string $idb, object &$boucles, object $crit) : mixed

    {!portrait} exclus ces documents

    Parameters
    $idb : string
    $boucles : object
    $crit : object
    Return values
    mixed

    critere_DOCUMENTS_paysage_dist()

    critere {paysage} qui selectionne - les documents dont les dimensions sont connues - les documents dont la hauteur est inferieure a la largeur

    critere_DOCUMENTS_paysage_dist(string $idb, object &$boucles, object $crit) : mixed

    {!paysage} exclus ces documents

    Parameters
    $idb : string
    $boucles : object
    $crit : object
    Return values
    mixed

    critere_DOCUMENTS_carre_dist()

    critere {carre} qui selectionne - les documents dont les dimensions sont connues - les documents dont la hauteur est egale a la largeur

    critere_DOCUMENTS_carre_dist(string $idb, object &$boucles, object $crit) : mixed

    {!carre} exclus ces documents

    Parameters
    $idb : string
    $boucles : object
    $crit : object
    Return values
    mixed

    filtre_vignette_dist()

    Calcule la vignette d'une extension (l'image du type de fichier)

    filtre_vignette_dist([string $extension = 'defaut' ][, bool $get_chemin = false ]) : string

    Utile dans une boucle DOCUMENTS pour afficher une vignette du type du document (balise #EXTENSION) alors que ce document a déjà une vignette personnalisée (affichable par #LOGO_DOCUMENT).

    Parameters
    $extension : string = 'defaut'

    L'extension du fichier, exemple : png ou pdf

    $get_chemin : bool = false

    false pour obtenir une balise img de l'image, true pour obtenir seulement le chemin du fichier

    Tags
    example

    [(#EXTENSION|vignette)] produit une balise <img ... /> [(#EXTENSION|vignette{true})] retourne le chemin de l'image

    Return values
    string

    Balise HTML <img...> ou chemin du fichier

    medias_lister_methodes_upload()

    Determiner les methodes upload en fonction du env de inc-upload_document

    medias_lister_methodes_upload(string|array<string|int, mixed> $env) : array<string|int, mixed>
    Parameters
    $env : string|array<string|int, mixed>
    Return values
    array<string|int, mixed>

    duree_en_secondes()

    duree_en_secondes(mixed $duree[, mixed $precis = false ]) : mixed
    Parameters
    $duree : mixed
    $precis : mixed = false
    Return values
    mixed

    medias_trouver_modele_emb()

    Trouver le fond pour embarquer un document - avec une extension - avec un mime_type donne

    medias_trouver_modele_emb(string $extension, string $mime_type[, mixed $modele_base = 'file' ]) : string

    En priorité :

    • modeles/{modele_base}emb{extension}.html si il existe
    • modeles/{modele_base}emb{mimetype}.html si il existe, dans {mimetype}, les caractères non alphanumériques (typiquement '/') ont été remplacés par '_'. Par exemple "text/css" devient "text_css"
    • modeles/{modele_base}emb{mimetypeprincipal}.html si il existe {mimetypeprincipal} est la partie du mimetype avant le '/'. C'est par exemple 'text' pour 'text/css'
    • modeles/{modele_base} sinon

    Pour une image jpg cela donne par priorité : modeles/image_emb_jpg.html modeles/image_emb_image_jpeg.html modeles/image_emb_image.html modeles/image.html

    Parameters
    $extension : string
    $mime_type : string
    $modele_base : mixed = 'file'
    Return values
    string

    media_determine_autolien()

    Determiner si un media doit etre mis en autolien dans les modeles document Par defaut utilisé uniquement sur les media image, mais le filtre peut être surchargé pour étendre son fonctionnement

    media_determine_autolien(string $media, string $extension, int $largeur, int $hauteur, int|null $id_document) : bool
    Parameters
    $media : string
    $extension : string
    $largeur : int
    $hauteur : int
    $id_document : int|null
    Return values
    bool

    filtre_medias_modele_document_standard_classes_dist()

    Liste les classes standards des modèles de documents SPIP.

    filtre_medias_modele_document_standard_classes_dist(array<string|int, mixed> $Pile, int $id_document, string $media) : string
    Parameters
    $Pile : array<string|int, mixed>
    $id_document : int
    $media : string
    Tags
    note

    le nomage au pluriel est historique. préférer au singulier pour toute nouvelle classe.

    Return values
    string

    filtre_medias_modele_document_standard_attributs_dist()

    Liste les attributs data standards des modèles de documents SPIP.

    filtre_medias_modele_document_standard_attributs_dist(array<string|int, mixed> $Pile, int $id_document, string $media) : string
    Parameters
    $Pile : array<string|int, mixed>
    $id_document : int
    $media : string
    Return values
    string

    medias_str_repeat_log()

    Retourne une chaine répétée d'autant de fois le logarithme

    medias_str_repeat_log(float $num[, mixed $base = 2 ][, mixed $string = 'x' ], int $remove) : string
    Parameters
    $num : float
    $base : mixed = 2
    $string : mixed = 'x'
    $remove : int

    : Nombre de caractères à enlever.

    Tags
    example

    medias_str_repeat_log(124, 2)

    Avec $base = 2 et $remove = 0

    0 => 2 => x 4 => xx 8 => xxx 16 => xxxx 32 => xxxxx 64 => xxxxxx

    example

    medias_str_repeat_log(124, 2, "x", 4)

    Avec $base = 2 et $remove = 4

    0 => 2 => 4 => 8 => 16 => 32 => x 64 => xx

    note

    L'inverse (nb caractères => valeur) est donc pow($base, $nb_char)

    En partant du nombre de "x" on retrouve la fourchette du nombre de départ. Si $base = 2 et $remove = 4 :

    • "xxx" = 2 ^ (strlen("xxx") + 4) = 2 ^ (3 + 4) = 128
    • "xxxxx" = 2 ^ (5 + 4) = 512

    x = 32, xx = 64 xxx = 128 xxxx = 256 xxxxx = 512 ...

    Ce qui veut dire que "xxx" provient d'une valeur entre 128 et 255.

    note

    C'est surtout utile pour une sélection en CSS (car CSS ne permet pas de sélecteur "lower than" ou "greater than") :

    <div class='demo' data-demo-lenx='[(#TEXTE|textebrut|spip_strlen|medias_str_repeat_log{2,x,4})]'>...</div>`
    
    .demo[data-demo-lenx^="xxxx"] {
       // le contenu fait au moins 256 caractères
    }
    .demo:not([data-demo-lenx^="xxxx"]) {
       // le contenu fait au moins 256 caractères
    }
    
    Return values
    string

    Des x

    medias_ieconfig_metas()

    medias_ieconfig_metas(mixed $table) : mixed
    Parameters
    $table : mixed
    Return values
    mixed

    medias_detecter_fond_par_defaut()

    Traiter le cas pathologique d'un upload de document ayant echoué car étant trop gros

    medias_detecter_fond_par_defaut(string $fond) : string
    Parameters
    $fond : string

    Nom du squelette par défaut qui sera utilisé

    Tags
    uses
    erreur_upload_trop_gros()
    pipeline

    detecter_fond_par_defaut

    Return values
    string

    Nom du squelette par défaut qui sera utilisé

    medias_post_insertion()

    À chaque insertion d'un nouvel objet editorial auquel on a attaché des documents, restituer l'identifiant du nouvel objet crée sur les liaisons documents/objet, qui ont ponctuellement un identifiant id_objet négatif.

    medias_post_insertion(array<string|int, mixed> $flux) : array<string|int, mixed>
    Parameters
    $flux : array<string|int, mixed>

    Données du pipeline

    Tags
    see
    medias_affiche_gauche()
    pipeline

    post_insertion

    Return values
    array<string|int, mixed>

    Données du pipeline

    medias_affiche_milieu()

    Ajoute la configuration des documents à la page de configuration des contenus

    medias_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>

    medias_configurer_liste_metas()

    Définir les meta de configuration liées aux documents

    medias_configurer_liste_metas(array<string|int, mixed> $config) : array<string|int, mixed>
    Parameters
    $config : array<string|int, mixed>

    Couples nom de la méta => valeur par défaut

    Tags
    pipeline

    configurer_liste_metas

    Return values
    array<string|int, mixed>

    Couples nom de la méta => valeur par défaut

    medias_post_edition()

    Institue ou met à jour les liens de documents après l'édition d'un objet

    medias_post_edition(array<string|int, mixed> $flux) : array<string|int, mixed>
    Parameters
    $flux : array<string|int, mixed>

    Données du pipeline

    Tags
    pipeline

    post_edition

    Return values
    array<string|int, mixed>

    Données du pipeline

    medias_afficher_complement_objet()

    Ajouter le portfolio et ajout de document sur les fiches objet

    medias_afficher_complement_objet(array<string|int, mixed> $flux) : array<string|int, mixed>

    Uniquement sur les objets pour lesquelles les medias ont été activés

    Parameters
    $flux : array<string|int, mixed>
    Tags
    pipeline

    afficher_complement_objet

    Return values
    array<string|int, mixed>

    medias_affiche_gauche()

    Ajoute le formulaire d'ajout de document au formulaire d'édition d'un objet (lorsque cet objet peut recevoir des documents).

    medias_affiche_gauche(array<string|int, mixed> $flux) : array<string|int, mixed>
    Parameters
    $flux : array<string|int, mixed>

    Données du pipeline

    Tags
    note

    HACK : Lors d'une première création de l'objet, celui-ci n'ayant pas encore d'identifiant tant que le formulaire d'édition n'est pas enregistré, les liaisions entre les documents liés et l'objet à créer sauvegardent un identifiant d'objet négatif de la valeur de id_auteur (l'auteur connecte). Ces liaisons seront corrigées après validation dans le pipeline medias_post_insertion()

    pipeline

    affiche_gauche

    see
    medias_post_insertion()
    Return values
    array<string|int, mixed>

    Données du pipeline

    medias_document_desc_actions()

    Utilisation du pipeline document_desc_actions

    medias_document_desc_actions(array<string|int, mixed> $flux) : array<string|int, mixed>

    Ne fait rien ici.

    Ce pipeline permet aux plugins d'ajouter de boutons d'action supplémentaires sur les formulaires d'ajouts de documents

    Parameters
    $flux : array<string|int, mixed>

    Données du pipeline

    Tags
    pipeline

    document_desc_actions

    Return values
    array<string|int, mixed>

    Données du pipeline

    medias_editer_document_actions()

    Utilisation du pipeline editer_document_actions

    medias_editer_document_actions(array<string|int, mixed> $flux) : array<string|int, mixed>

    Ne fait rien ici.

    Ce pipeline permet aux plugins d'ajouter de boutons d'action supplémentaires sur les formulaires d'édition de documents

    Parameters
    $flux : array<string|int, mixed>

    Données du pipeline

    Tags
    pipeline

    editer_document_actions

    Return values
    array<string|int, mixed>

    Données du pipeline

    medias_renseigner_document_distant()

    Utilisation du pipeline renseigner_document_distant

    medias_renseigner_document_distant(array<string|int, mixed> $flux) : array<string|int, mixed>

    Ne fait rien ici.

    Ce pipeline permet aux plugins de renseigner les clés fichier et mode d'un document distant à partir de l'URL du fichier dans la clé source.

    Parameters
    $flux : array<string|int, mixed>

    Données du pipeline

    Tags
    see
    renseigner_source_distante()
    pipeline

    renseigner_document_distant

    Return values
    array<string|int, mixed>

    Données du pipeline

    medias_objet_compte_enfants()

    Compter les documents dans un objet

    medias_objet_compte_enfants(array<string|int, mixed> $flux) : array<string|int, mixed>
    Parameters
    $flux : array<string|int, mixed>
    Tags
    pipeline

    objet_compte_enfants

    Return values
    array<string|int, mixed>

    medias_boite_infos()

    Afficher le nombre de documents dans chaque rubrique

    medias_boite_infos(array<string|int, mixed> $flux) : array<string|int, mixed>
    Parameters
    $flux : array<string|int, mixed>
    Tags
    pipeline

    boite_infos

    Return values
    array<string|int, mixed>

    medias_revisions_chercher_label()

    Insertion dans le pipeline revisions_chercher_label (Plugin révisions) Trouver le bon label à afficher sur les champs dans les listes de révisions

    medias_revisions_chercher_label(array<string|int, mixed> $flux) : array<string|int, mixed>

    Si un champ est un champ extra, son label correspond au label défini du champs extra

    Parameters
    $flux : array<string|int, mixed>

    Données du pipeline

    Tags
    pipeline

    revisions_chercher_label

    Return values
    array<string|int, mixed>

    Données du pipeline

    medias_calculer_rubriques()

    Publier une rubrique ayant un document joint…

    medias_calculer_rubriques(array<string|int, mixed> $flux) : array<string|int, mixed>
    Parameters
    $flux : array<string|int, mixed>
    Return values
    array<string|int, mixed>

    metadata_audio()

    Fonction de récupération des métadonnées sur les fichiers audio appelée à l'insertion en base dans le plugin medias (inc/renseigner_document)

    metadata_audio(string $file) : array<string|int, mixed>
    Parameters
    $file : string

    Le chemin du fichier à analyser

    Return values
    array<string|int, mixed>

    $metas Le tableau comprenant les différentes metas à mettre en base

    medata_html_dist()

    enlever les scripts de html si necessaire on utilise safehtml

    medata_html_dist(string $file) : array<string|int, mixed>
    Parameters
    $file : string
    Return values
    array<string|int, mixed>

    metadata_image_dist()

    metadata_image_dist(mixed $fichier) : mixed
    Parameters
    $fichier : mixed
    Return values
    mixed

    decoder_type_image()

    Convertit le type numerique retourne par getimagesize() en extension fichier

    decoder_type_image(int $type[, bool $strict = false ]) : string
    Parameters
    $type : int
    $strict : bool = false
    Return values
    string

    metadata_swf_dist()

    metadata_swf_dist(mixed $file) : mixed
    Parameters
    $file : mixed
    Return values
    mixed

    metadata_video()

    Fonction de récupération des métadonnées sur les fichiers vidéo appelée à l'insertion en base dans le plugin medias (inc/renseigner_document)

    metadata_video(string $file) : array<string|int, mixed>
    Parameters
    $file : string

    Le chemin du fichier à analyser

    Return values
    array<string|int, mixed>

    $metas Le tableau comprenant les différentes metas à mettre en base

    affiche_bouton_mode_image_portfolio()

    affiche_bouton_mode_image_portfolio(mixed $inclus) : mixed
    Parameters
    $inclus : mixed
    Return values
    mixed

    medias_raccourcis_doc()

    medias_raccourcis_doc(mixed $id_document, mixed $titre, mixed $descriptif, mixed $inclus, mixed $largeur, mixed $hauteur, mixed $mode, mixed $vu[, mixed $media = null ]) : mixed
    Parameters
    $id_document : mixed
    $titre : mixed
    $descriptif : mixed
    $inclus : mixed
    $largeur : mixed
    $hauteur : mixed
    $mode : mixed
    $vu : mixed
    $media : mixed = null
    Return values
    mixed

    medias_raccourcis_doc_groupe()

    medias_raccourcis_doc_groupe(mixed $doc, mixed $id_document) : string
    Parameters
    $doc : mixed
    $id_document : mixed
    Return values
    string

    puce_statut_document_dist()

    Afficher la puce statut d'un document : en fait juste une icone independante du statut

    puce_statut_document_dist(int $id, string $statut, int $id_rubrique, string $type[, string $ajax = '' ]) : string
    Parameters
    $id : int
    $statut : string
    $id_rubrique : int
    $type : string
    $ajax : string = ''
    Return values
    string

    urls_generer_url_document_dist()

    Generer l'url d'un document dans l'espace public, fonction du statut du document

    urls_generer_url_document_dist(int $id[, string $args = '' ][, string $ancre = '' ][, string $public = null ][, string $connect = '' ]) : string
    Parameters
    $id : int
    $args : string = ''
    $ancre : string = ''
    $public : string = null
    $connect : string = ''
    Return values
    string

    urls_generer_url_ecrire_document_dist()

    Generer l'url d'un document dans l'espace prive, fonction du statut du document

    urls_generer_url_ecrire_document_dist(int $id[, string $args = '' ][, string $ancre = '' ][, string $public = null ][, string $connect = '' ]) : string
    Parameters
    $id : int
    $args : string = ''
    $ancre : string = ''
    $public : string = null
    $connect : string = ''
    Return values
    string

    Search results