Skip to content
Extraits de code Groupes Projets
Valider ae58d415 rédigé par cerdic's avatar cerdic Validation de marcimat
Parcourir les fichiers

Fix #4857 : on utilise un filtre (surchargeable) et un define pour determiner...

Fix #4857 : on utilise un filtre (surchargeable) et un define pour determiner le comportement autolien des images, ce qui donne toute latitude de personalisation (en fonction du media, de l'extension, de la taille voir du id_document eventuellement fourni)

(cherry picked from commit 7ca969c7)
parent faf9f777
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -412,6 +412,29 @@ function medias_trouver_modele_emb($extension, $mime_type, $modele_base = 'file'
return $modele_base;
}
/**
* 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
*
* @param string $media
* @param string $extension
* @param int $largeur
* @param int $hauteur
* @param int|null $id_document
* @return bool
*/
function media_determine_autolien(string $media, string $extension, int $largeur, int $hauteur, ?int $id_document=0): bool {
if ($media !== 'image') {
return false;
}
if (!defined('_IMAGE_TAILLE_MINI_AUTOLIEN')) {
define('_IMAGE_TAILLE_AUTOLIEN', 800);
}
if ($largeur >= _IMAGE_TAILLE_AUTOLIEN or $hauteur >=_IMAGE_TAILLE_AUTOLIEN) {
return true;
}
return false;
}
/**
* Liste les classes standards des modèles de documents SPIP.
......
......@@ -4,7 +4,7 @@
]
<BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout}>
[(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})]
[(#SET{autolien,#MEDIA|media_determine_autolien{#EXTENSION,#LARGEUR,#HAUTEUR,#ID_DOCUMENT}|oui})]
[(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{
[(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})],
[<img src='(#URL_DOCUMENT)'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})]
......
......@@ -4,7 +4,7 @@
]
<BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout} {extension=svg}>
[(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})]
[(#SET{autolien,#MEDIA|media_determine_autolien{#EXTENSION,#LARGEUR,#HAUTEUR,#ID_DOCUMENT}|oui})]
[(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{
[(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}}|extraire_attribut{src})],
[(#FICHIER)]})]})]
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter