_BOUTON_MODE_IMAGE
public
mixed
_BOUTON_MODE_IMAGE
= \true
public
mixed
_BOUTON_MODE_IMAGE
= \true
public
mixed
_IMAGE_TAILLE_MINI_AUTOLIEN
= 800
public
mixed
_TITRER_DOCUMENTS
= false
public
mixed
_TMP_DIR
= creer_repertoire_documents(md5($path . $GLOBALS['visiteur_session']['id_auteur']))
public
mixed
_TMP_ZIP
= $path
public
mixed
CHARSET_JOINT
= 'iso-8859-1'
action_acceder_document_dist() : mixed
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>
Document à remplacer, ou pour une vignette, l'id_document de maman 0 ou 'new' pour une insertion
Tableau de tableaux de propriétés pour chaque document à insérer
Objet auquel associer le document
id_objet
Mode par défaut si pas precisé pour le document
Liste des id_documents inserés
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
Document à remplacer, ou pour une vignette, l'id_document de maman 0 ou 'new' pour une insertion
Propriétes au format $_FILE étendu :
Objet auquel associer le document
id_objet
Mode par défaut si pas precisé pour le document
Sous-repertoire dans lequel on stocke le document en regle general $ext/ sauf pour les logo
determiner_sous_dossier_document(mixed $ext, mixed $fichier, mixed $mode) : mixed
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à
Nom du fichier
Mode d'inclusion du fichier, si connu
Tester le type de document
fixer_fichier_upload(array<string|int, mixed> $file[, string $mode = '' ]) : array<string|int, mixed>|string
Le zipper si necessaire
Au format $_FILES
Mode d'inclusion du fichier, si connu
Verifier si le fichier respecte les contraintes de tailles
verifier_taille_document_acceptable(array<string|int, mixed> &$infos) : bool|mixed|string
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 ]) : mixed
action_changer_mode_document_post(mixed $id_document, mixed $mode) : mixed
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.
action_copier_local_post(mixed $id_document) : bool|mixed|string
Désordonner des documents
action_desordonner_liens_documents_dist([string $arg = null ]) : mixed
fournit les arguments de la fonction dissocier_document
sous la forme $id_objet-$objet-$document-suppr-safe
Désordonner des documents
desordonner_liens_documents(int|string $document, string $objet, mixed $id_objet) : mixed
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 duquel dissocier
id_objet duquel dissocier
Désordonner un document
desordonner_liens_document(int $id_document, string $objet, mixed $id_objet) : mixed
id_document a désordonner
objet duquel dissocier
id_objet duquel dissocier
Dissocier un document
action_dissocier_document_dist([string $arg = null ]) : mixed
fournit les arguments de la fonction dissocier_document
sous la forme $id_objet-$objet-$document-suppr-safe
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
si true, le document est supprime si plus lie a aucun objet
si true, on verifie les documents references dans le texte de l'objet et on les associe si pas deja fait
Dissocier un ou des documents
dissocier_document(int|string $document, string $objet, mixed $id_objet[, bool $supprime = false ][, bool $check = false ]) : mixed
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 duquel dissocier
id_objet duquel dissocier
supprimer les documents orphelins apres dissociation
verifier le texte des documents et relier les documents references dans l'objet
Action editer_document
action_editer_document_dist([int $arg = null ]) : array<string|int, mixed>
Creer un nouveau document
document_inserer([int $id_parent = null ][, array<string|int, mixed>|null $set = null ]) : int
inutilise, pas de parent pour les documents
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())
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
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
Supprimer le logo d'un objet
logo_supprimer(string $objet, int $id_objet, string $etat) : mixed
on
ou off
Modifier le logo d'un objet
logo_modifier(string $objet, int $id_objet, string $etat, string|array<string|int, mixed> $source) : string
on
ou off
$_FILE
issu de l'uploadtmp/upload
)Erreur, sinon ''
Migration des logos en documents.
Migrer le site & les logos / tables dans un SPIP 4.x ou 5.x
logo_migrer_en_base(string $objet, int $time_limit) : mixed
Cette migration est effectuée à partir de SPIP 4.0 et la fonction doit être appelée pour chaque plugin qui aurait utilisé des logos sur des objets éditoriaux.
Type d’objet spip, tel que 'article'
Retourne le type de logo tel que `art` depuis le nom de clé primaire de l'objet
MAIS NE PAS SUPPRIMER CAR SERT POUR L'UPGRADE des logos et leur mise en base
type_du_logo(string $_id_objet) : string
C'est par défaut le type d'objet, mais il existe des exceptions historiques
déclarées par la globale $table_logos
Nom de la clé primaire de l'objet
Type du logo
action_ordonner_liens_documents_dist() : mixed
action_ordonner_liens_dist() : mixed
envoyer_json_envoi(mixed $data) : mixed
envoyer_json_erreur(mixed $msg) : mixed
action_supprimer_document_dist([mixed $id_document = 0 ]) : mixed
action_supprimer_tous_orphelins() : mixed
Tourner un document
action_tourner_dist([int $id_document = null ][, int $angle = null ]) : mixed
lorsque les arguments sont passes dans arg en GET : id_document-angle
angle de rotation en degre>0
Tourner un document
action_tourner_post(int $id_document, int $angle) : mixed
angle de rotation en degre>0
Verifier tous les fichiers brises
action_verifier_documents_brises_dist() : mixed
Vérifier tous les fichiers brisés
action_verifier_documents_liens_dist([int|null $id_document = null ]) : mixed
Indique le document cible de l'action, sinon il sera obtenu par la clé d'action sécurisée.
Compile la balise dynamique `#ID_LOGO_xx` qui retourne l'identifiant du document utilisé comme logo pour un objet éditorial de SPIP.
balise_ID_LOGO__dist(Champ $p) : Champ
Le type d'objet est récupéré dans le nom de la balise, tel que
ID_LOGO_ARTICLE
ou ID_LOGO_SITE
.
Ces balises ont quelques options :
ID_LOGO_ARTICLE_NORMAL
ou ID_LOGO_ARTICLE_SURVOL
.ID_LOGO_ARTICLE_RUBRIQUE
Pile au niveau de la balise
Pile complétée par le code à générer
Calcule le code HTML pour l'image ou l'information sur un logo
generer_code_logo(string $id_objet, string $_id_objet, string $type, string $align, mixed $_lien, Champ $p, string $suite[, string $champ = '' ]) : string
Nom de la clé primaire de l'objet (id_article, ...)
Code pour la compilation permettant de récupérer la valeur de l'identifiant
Type d'objet
Alignement demandé du logo
Pile au niveau de la balise
Suite éventuelle de la balise logo, telle que _SURVOL
, _NORMAL
ou _RUBRIQUE
.
Indique un type de champ à retourner (fichier, src, titre, descriptif, credits, id, alt)
Code compilé retournant le chemin du logo ou le code HTML du logo.
Compile la balise dynamique `#LOGO_xx` qui retourne le code HTML pour afficher l'image de logo d'un objet éditorial de SPIP.
balise_LOGO__dist(Champ $p) : Champ
Le type d'objet est récupéré dans le nom de la balise, tel que
LOGO_ARTICLE
ou LOGO_SITE
.
Ces balises ont quelques options :
LOGO_ARTICLE_NORMAL
ou LOGO_ARTICLE_SURVOL
.LOGO_ARTICLE_RUBRIQUE
LOGO_ARTICLE*
ajoute un lien sur l'image du logo vers l'objet éditorialLOGO_ARTICLE**
retourne le nom du fichier de logo.LOGO_ARTICLE{right}
. Valeurs possibles : top left right center bottomLOGO_DOCUMENT{icone}
. Valeurs possibles : auto icone apercu vignetteLOGO_ARTICLE{200, 0}
. Redimensionnement indiquéPour récupérer l’identifiant du document sous-jacent voir la balise ID_LOGO_...
Pile au niveau de la balise
Pile complétée par le code à générer
Interfaces des tables documents pour le compilateur
medias_declarer_tables_interfaces(array<string|int, mixed> $interfaces) : array<string|int, mixed>
Table principale spip_documents et spip_types_documents
medias_declarer_tables_principales(array<string|int, mixed> $tables_principales) : array<string|int, mixed>
Table des liens documents-objets spip_documents_liens
medias_declarer_tables_auxiliaires(array<string|int, mixed> $tables_auxiliaires) : array<string|int, mixed>
Declarer le surnom des breves
medias_declarer_tables_objets_surnoms(array<string|int, mixed> $surnoms) : array<string|int, mixed>
medias_declarer_tables_objets_sql(mixed $tables) : mixed
Creer la table des types de document
creer_base_types_doc([string $serveur = '' ][, string $champ_media = 'media_defaut' ]) : mixed
Optimiser la base de données en supprimant les liens orphelins
medias_optimiser_base_disparus(array<string|int, mixed> $flux) : array<string|int, mixed>
Chargement du formulaire de configuration des documents
formulaires_configurer_documents_charger_dist() : array<string|int, mixed>
Environnement du formulaire
Traitement du formulaire de configuration des documents
formulaires_configurer_documents_traiter_dist() : array<string|int, mixed>
Retours du traitement
formulaires_editer_document_charger_dist([mixed $id_document = 'new' ][, mixed $id_parent = '' ][, mixed $retour = '' ][, mixed $lier_trad = 0 ][, mixed $config_fonc = 'documents_edit_config' ][, mixed $row = [] ][, mixed $hidden = '' ]) : mixed
documents_edit_config(mixed $row) : mixed
formulaires_editer_document_verifier_dist([mixed $id_document = 'new' ][, mixed $id_parent = '' ][, mixed $retour = '' ][, mixed $lier_trad = 0 ][, mixed $config_fonc = 'documents_edit_config' ][, mixed $row = [] ][, mixed $hidden = '' ]) : mixed
formulaires_editer_document_traiter_dist([mixed $id_document = 'new' ][, mixed $id_parent = '' ][, mixed $retour = '' ][, mixed $lier_trad = 0 ][, mixed $config_fonc = 'documents_edit_config' ][, mixed $row = [] ][, mixed $hidden = '' ]) : mixed
formulaires_illustrer_document_charger_dist(mixed $id_document) : mixed
formulaires_illustrer_document_verifier_dist(mixed $id_document) : mixed
formulaires_illustrer_document_traiter_dist(mixed $id_document) : mixed
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
Le mode passé au formulaire
L'identifiant numérique du document à remplacer ou "new" par défaut
Le type d'objet sur lequel ajouter le document
Le mode définitif
Indique si une galerie demandée est valide
(SPIP 4.1) L’inclusion de galerie est déprécié (non utilisé depuis SPIP 3.0). Préferez ajax_reload() après upload.
joindre_document_galerie_valide(string|null $galerie) : bool
Le fichier de galerie désiré
Chargement du formulaire
formulaires_joindre_document_charger_dist([int|string $id_document = 'new' ][, int $id_objet = 0 ][, string $objet = '' ][, string $mode = 'auto' ][, string $galerie = false ][, bool|string $proposer_media = true ][, bool|string $proposer_ftp = true ]) : array<string|int, mixed>
L'identidiant numérique du document s'il est à remplacer, sinon "new"
L'identifiant numérique de l'objet sur lequel on ajoute le document
Le type de l'objet sur lequel on ajoute le document
Le mode du document (auto,choix,document,image,vignette...), par défaut auto
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')
Doit on afficher la médiathèque ? par défaut oui Valeurs possibles si string : false,'non','no'.
Doit on afficher le ftp ? par défaut oui Valeurs possibles si string : false,'non','no'.
Les valeurs chargées dans le formulaire
Vérification du formulaire
formulaires_joindre_document_verifier_dist([int|string $id_document = 'new' ][, int $id_objet = 0 ][, string $objet = '' ][, string $mode = 'auto' ][, string $galerie = false ][, bool|string $proposer_media = true ][, bool|string $proposer_ftp = true ]) : array<string|int, mixed>
L'identidiant numérique du document s'il est à remplacer, sinon "new"
L'identifiant numérique de l'objet sur lequel on ajoute le document
Le type de l'objet sur lequel on ajoute le document
Le mode du document (auto,choix,document,image,vignette...), par défaut auto
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')
Doit on afficher la médiathèque ? par défaut oui Valeurs possibles si string : false,'non','no'.
Doit on afficher le ftp ? par défaut oui Valeurs possibles si string : false,'non','no'.
Les erreurs éventuelles dans un tableau
Traitement du formulaire
formulaires_joindre_document_traiter_dist([int|string $id_document = 'new' ][, int $id_objet = 0 ][, string $objet = '' ][, string $mode = 'auto' ][, string $galerie = false ][, bool|string $proposer_media = true ][, bool|string $proposer_ftp = true ]) : array<string|int, mixed>
L'identidiant numérique du document s'il est à remplacer, sinon "new"
L'identifiant numérique de l'objet sur lequel on ajoute le document
Le type de l'objet sur lequel on ajoute le document
Le mode du document (auto,choix,document,image,vignette...), par défaut auto
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')
Doit on afficher la médiathèque ? par défaut oui Valeurs possibles si string : false,'non','no'.
Doit on afficher le ftp ? par défaut oui Valeurs possibles si string : false,'non','no'.
Le tableau renvoyé par les CVT avec le message et editable
Retourner le contenu du select HTML d'utilisation de fichiers envoyes par le serveur
joindre_options_upload_ftp(string $dir[, string $mode = 'document' ]) : string
Le répertoire de recherche des documents
Le mode d'ajout de document
Le contenu HTML du selecteur de documents
Lister les fichiers contenus dans un zip
joindre_liste_contenu_tailles_archive(array<string|int, mixed> $files) : string
La liste des fichiers
La liste HTML des fichiers
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
La liste des erreurs
Le code HTML des erreurs
Enlève les fichiers trop vieux du répertoire tmp/upload
genie_medias_nettoyer_repertoire_upload_dist(int $last) : int
inc_calculer_mime_type_application_mp4_dist(int $id_document, string $extension, string $mime_type) : mixed
Cherche le logo d'un élément d'objet
inc_chercher_logo_dist(int $id, string $_id_objet[, string $mode = 'on' ][, bool $compat_old_logos = false ]) : array<string|int, mixed>
Identifiant de l'objet
Nom de la clé primaire de l'objet
Mode de survol du logo désiré (on ou off)
(unused) @deprecated 5.0
Choisir le mode du document : image/document
inc_choisir_mode_document(array<string|int, mixed> $infos, bool $type_inclus_image, string $objet) : string
Informations sur le document (en base + prises sur le fichier)
Type d'inclusion demandée : true si image
Objet sur lequel est placé le document
Mode du 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
Retourne le code HTML du portfolio, liste des documents et formulaire d'ajout de documents
inc_documenter_objet_dist(int $id, string $type) : string
Identifiant de l'objet
Type d'objet
code HTML
Donne le chemin du fichier relatif à `_DIR_IMG` pour stockage 'tel quel' dans la base de données
set_spip_doc(string|null $fichier) : string
Donne le chemin complet du fichier
get_spip_doc(string|null $fichier) : bool|string
Copier un document `$source` dans un dossier `IMG/$ext/$orig.$ext` ou `IMG/$subdir/$orig.$ext` si `$subdir` est fourni en numérotant éventuellement si un fichier de même nom existe déjà
copier_document(string $ext, string $orig, string $source[, string $subdir = null ]) : bool|mixed|string
Efface le répertoire de manière récursive !
effacer_repertoire_temporaire(string $nom) : mixed
contenu_document(mixed $arg[, mixed $charset = '' ]) : mixed
generer_url_document_dist(mixed $id_document[, mixed $args = '' ][, mixed $ancre = '' ]) : mixed
vignette_automatique(mixed $img, mixed $doc, mixed $lien[, mixed $x = 0 ][, mixed $y = 0 ][, mixed $align = '' ][, mixed $class = null ][, mixed $connect = null ]) : mixed
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
Chemin de l’image
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
Type de raccourcis : doc,img,emb...
Identifiant du document
Alignement du document : left,center,right
Réduire le texte affiché à la valeur de 'align'
Texte du raccourcis
Traite l'erreur d'un upload trop gros
erreur_upload_trop_gros() : never
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
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
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([mixed $name = null ]) : array<string|int, mixed>|string
: nom de l'input qu'on veut recuperer si on ne veut pas tous les fichiers
string en cas d'erreur
joindre_upload_error(mixed $error) : mixed
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) : mixed
Retourne [liste des fichiers, liste des erreurs, chemin du 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) : mixed
joindre_deballer_lister_zip(mixed $path, mixed $tmp_dir) : 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
fixer_extension_document(array{name: string, type: string} $doc) : array<string|int, string>
Gestion des fichiers ZIP
accepte_fichier_upload(string $f) : bool|int
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.
Couples [champ => valeur] connus de l'objet
Identifiant de l'objet
Type d'objet éditorial (ex: article)
Nom de la clé primaire sur la table sql de l'objet
Nom de l'objet éditorial (ex: articles)
Nom de la table sql de l'objet
Description de l'objet, si déjà calculé
Serveur sql utilisé.
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
URL du document
Informations sur le fichier distant, sinon message d'erreur. Sans erreur, retourne un tableau :
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
Le fichier à examiner
L'extension du fichier à examiner
Indique que le fichier peut etre distant, on essaiera alors d'en recuperer un bout pour en lire les meta infos
sanitizer_document(string $fichier, string $ext) : bool
inc_verifier_document_mode_image_dist(mixed $infos) : mixed
inc_verifier_document_mode_vignette_dist(mixed $infos) : mixed
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
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
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
Vignette pour une extension de document
inc_vignette_dist(string $ext[, string $media = '' ][, bool $loop = true ]) : string|null
Recherche les fichiers d'icones au format SVG pour l'extension demandée. On cherche prive/vignettes/ext.svg dans le path.
Extension du fichier. Exemple : png
Permet de retourner une variante de la vignette adaptee au media cas des mp4 par exemple que l'on decline quand c'est un audio
Autoriser la fonction à s'appeler sur elle-même (paramètre interne).
null si l'image n'est pas trouvée Chaîne (chemin vers l'image) si on ne demande pas de taille
verifier et maj le statut des documents
medias_check_statuts([bool $affiche = false ]) : mixed
Mise a jour de la BDD
medias_upgrade(string $nom_meta_base_version, string $version_cible) : mixed
Nettoyer la meta mise en place lors de la migratiopn des dimensions des images en mode portrait porteuses d'un EXIF d'orientation
medias_upgrade_images_exif_orientation_menage() : void
Gérer la migration des hauteur et largeur des images en mode portrait porteuses d'un EXIF d'orientation
medias_upgrade_images_exif_orientation() : void
Upgrader les logos objet vers des documents
medias_upgrade_logo_objet(mixed $objet) : mixed
Maj des meta documents
medias_maj_meta_documents() : mixed
medias_peuple_media_document([mixed $champ_media = 'media_defaut' ]) : mixed
Maj des date de publication des documents cf ticket #3329, z104221
medias_maj_date_publication_documents() : mixed
Fonction d'appel pour le pipeline
medias_autoriser() : mixed
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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 !
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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é.
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation bool $htaccess : true pour tester l'autorisation de voir via le htaccess
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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.
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
Autoriser a associer des documents a un objet : il faut avoir le droit de modifier cet objet
autoriser_associerdocuments_dist(mixed $faire, mixed $type, mixed $id, mixed $qui, mixed $opt) : bool
Autoriser a dissocier des documents a un objet : il faut avoir le droit de modifier cet objet
autoriser_dissocierdocuments_dist(mixed $faire, mixed $type, mixed $id, mixed $qui, mixed $opt) : bool
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(mixed $modele, mixed $id) : string
Retourne la taille en octet d'une valeur de configuration php
medias_inigetoctets(string $var) : int|string
Clé de configuration ; valeur récupérée par ini_get()
. Exemple post_max_size
Taille en octet, sinon chaine vide.
Afficher la puce de statut pour les documents
medias_puce_statut_document(int $id_document, string $statut) : string
Identifiant du document
Statut du document
Code HTML de l'image de puce
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)>
Identifiant de la boucle
AST du squelette
Code PHP compilé de la boucle
critere {orphelins} selectionne les documents sans liens avec un objet editorial
critere_DOCUMENTS_orphelins_dist(string $idb, object &$boucles, object $crit) : mixed
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
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
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
Balise `#MIME_TYPE`
balise_MIME_TYPE_dist(Champ $p) : Champ
Calculer la balise mime_type qui peut avoir un contenu variable pour une meme extension cf mp4 notamment
medias_mime_type_document(int $id_document[, string $extension = '' ]) : string
filtre_titre_mime_type_dist(int $id_document, string $extension) : string
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
).
L'extension du fichier, exemple : png ou pdf
false pour obtenir une balise img de l'image, true pour obtenir seulement le chemin du fichier
Balise HTML <img...> ou chemin du fichier
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>
duree_en_secondes(mixed $duree[, mixed $precis = false ]) : mixed
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é :
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
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|null $largeur, int|null $hauteur[, int|null $id_document = 0 ]) : bool
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
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
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 = 0 ]) : string
: Nombre de caractères à enlever.
Des x
balise_URL_DOCUMENT_FICHIER_dist(mixed $p) : mixed
medias_ieconfig_metas(mixed $table) : mixed
Traiter le cas pathologique d'un upload de document ayant echoué car étant trop gros
medias_detecter_fond_par_defaut(string $fond) : string
Nom du squelette par défaut qui sera utilisé
Nom du squelette par défaut qui sera utilisé
À 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>
Données du pipeline
Données du pipeline
Ajoute la configuration des documents à la page de configuration des contenus
medias_affiche_milieu(array<string|int, mixed> $flux) : array<string|int, mixed>
Définir les meta de configuration liées aux documents
medias_configurer_liste_metas(array<string|int, mixed> $config) : array<string|int, mixed>
Couples nom de la méta => valeur par défaut
Couples nom de la méta => valeur par défaut
Compléter un début de traduction avec le logo de l’objet que l’on traduit
medias_pre_edition(array<string|int, mixed> $flux) : array<string|int, mixed>
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>
Données du pipeline
Données du pipeline
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
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>
Données du pipeline
Données du pipeline
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
Données du pipeline
Données du pipeline
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
Données du pipeline
Données du pipeline
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
.
Données du pipeline
Données du pipeline
Compter les documents dans un objet
medias_objet_compte_enfants(array<string|int, mixed> $flux) : array<string|int, mixed>
Afficher le nombre de documents dans chaque rubrique
medias_boite_infos(array<string|int, mixed> $flux) : 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_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
Données du pipeline
Données du pipeline
Publier une rubrique ayant un document joint…
medias_calculer_rubriques(array<string|int, mixed> $flux) : 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)
metadata_audio(string $file) : array<string|int, mixed>
Le chemin du fichier à analyser
Le tableau comprenant les différentes metas à mettre en base
enlever les scripts de html si necessaire on utilise safehtml
medata_html_dist(string $file) : array<string|int, mixed>
metadata_image_dist(mixed $fichier) : mixed
Convertit le type numerique retourne par getimagesize() en extension fichier
decoder_type_image(int $type[, bool $strict = false ]) : string
metadata_mp4_dist(mixed $file) : mixed
metadata_swf_dist(mixed $file) : 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)
metadata_video(string $file) : array<string|int, mixed>
Le chemin du fichier à analyser
Le tableau comprenant les différentes metas à mettre en base
medias_raccourcis_doc(mixed $id_document, mixed $titre, mixed $descriptif, mixed $inclus, mixed $largeur, mixed $hauteur, mixed $mode, mixed $vu[, mixed $media = null ]) : mixed
medias_raccourcis_doc_groupe(mixed $doc, mixed $id_document) : string
liste_extensions_utilisees(mixed $media) : mixed
Retourne le logo d'un objet, éventuellement par héritage
@param bool $flag Lorsque le drapeau est évalué comme "true", la fonction ne renvoie que le chemin du fichier, sinon elle renvoie le tableau plus complet.
quete_logo(string $cle_objet, string $onoff, int $id, int $id_rubrique[, mixed $flag = false ]) : array<string|int, mixed>|string
Si flag != false, retourne le chemin du fichier, sinon retourne un tableau de 3 elements : le chemin du fichier, celui du logo de survol, l'attribut style=w/h.
Nom de la clé de l'objet dont on veut chercher le logo.
Sélectionne quel(s) logo(s) : "on" pour le logo normal, "off" pour le logo de survol, ou "ON" pour l'ensemble.
Identifiant de l'objet dont on veut chercher le logo.
Identifiant de la rubrique parente si l'on veut aller chercher son logo dans le cas où l'objet demandé n'en a pas.
Retourne soit un tableau, soit le chemin du fichier.
Chercher le logo d'un contenu précis
quete_logo_objet(int $id_objet, string $objet, string $mode) : bool|array<string|int, mixed>
Idenfiant de l'objet dont on cherche le logo
Type de l'objet dont on cherche le logo
"on" ou "off" suivant le logo normal ou survol
Retourne le logo d’un fichier (document spip) sinon la vignette du type du fichier
quete_logo_file(array<string|int, mixed> $row[, string $connect = null ]) : bool|string
Fonction appeleé par la balise #LOGO_DOCUMENT
Trouver l'image logo d'un document
quete_logo_document(array<string|int, mixed> $row, mixed $lien, mixed $align, mixed $mode_logo, mixed $x, mixed $y[, string $connect = '' ]) : string
description du document, issue de la base
url de lien
alignement left/right
mode du logo : '' => automatique (vignette sinon apercu sinon icone) icone => icone du type du fichier apercu => apercu de l'image exclusivement, meme si une vignette existe vignette => vignette exclusivement, ou rien si elle n'existe pas
largeur maxi
hauteur maxi
serveur
Recuperer le HTML du logo d'apres ses infos
quete_html_logo(array<string|int, mixed> $logo, string $align, string $lien) : string
Retourne le chemin d’un document lorsque le connect est précisé
document_spip_externe(string $fichier, string $connect) : string|false
Sur un connecteur distant, voir si on connait l’adresse du site (spip distant) et l’utiliser le cas échéant.
Chemin
Nom du connecteur
Retourne la vignette explicitement attachee a un document le resutat est un fichier local existant, ou une URL ou vide si pas de vignette
vignette_logo_document(array<string|int, mixed> $row[, string $connect = '' ]) : string
Retourne le fichier d'un document
quete_fichier(int $id_document[, string $serveur = '' ]) : array<string|int, mixed>|bool|null
Toute les infos sur un document
quete_document(int $id_document[, string $serveur = '' ]) : array<string|int, mixed>|bool
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
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
Generer l'url du fichier d'un document dans l'espace public, en prenant en compte les autorisations fonction du statut du document
urls_generer_url_document_fichier_dist(int $id[, string $args = '' ][, string $ancre = '' ][, string $public = null ][, string $connect = '' ]) : string
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