Documentation du code de SPIP et de ses plugins

Medias

medias_fonctions.php

Fonctions utiles pour les squelettes et déclarations de boucle pour le compilateur

Table of Contents

Constants

_IMAGE_TAILLE_MINI_AUTOLIEN  = 800

Functions

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

Constants

Functions

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

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

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

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

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

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 = 0 ]) : bool
Parameters
$media : string
$extension : string
$largeur : int
$hauteur : int
$id_document : int|null = 0
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 = 0 ]) : string
Parameters
$num : float
$base : mixed = 2
$string : mixed = 'x'
$remove : int = 0

: 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


        
On this page

Search results