From a174a686a1a908d1f2adb0aed1628dead14fd3ca Mon Sep 17 00:00:00 2001 From: "marcimat@rezo.net" <> Date: Wed, 12 Jul 2017 16:12:05 +0000 Subject: [PATCH] =?UTF-8?q?Suite=20de=20https://core.spip.net/projects/spi?= =?UTF-8?q?p/repository/revisions/23663=20sur=20le=20calcul=20de=20la=20vi?= =?UTF-8?q?gnette=20d=E2=80=99un=20document=20utilis=C3=A9=20en=20mod?= =?UTF-8?q?=C3=A8le=20sur=20un=20SPIP=20distant.=20Il=20faut=20transmettre?= =?UTF-8?q?=20le=20$connect=20et=20tester=20si=20le=20connect=20et=20dista?= =?UTF-8?q?nt=20et=20retourner=20l=E2=80=99URL=20en=20cons=C3=A9quence.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/documents.php | 32 ++++++++++++++++++++++---------- modeles/img.html | 2 +- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/inc/documents.php b/inc/documents.php index 6259c3e5..ec6a0ba3 100644 --- a/inc/documents.php +++ b/inc/documents.php @@ -112,14 +112,16 @@ function generer_url_document_dist($id_document, $args = '', $ancre = '') { // // A noter : dans le portfolio prive on pousse le vice jusqu'a reduire la taille // de la vignette -> c'est a ca que sert la variable $portfolio -// https://code.spip.net/@vignette_automatique -function vignette_automatique($img, $doc, $lien, $x = 0, $y = 0, $align = '', $class = 'spip_logo spip_logos') { +function vignette_automatique($img, $doc, $lien, $x = 0, $y = 0, $align = '', $class = null, $connect = null) { include_spip('inc/distant'); include_spip('inc/texte'); include_spip('inc/filtres_images_mini'); + if (is_null($class)) { + $class = 'spip_logo spip_logos'; + } $e = $doc['extension']; if (!$img) { - if ($img = image_du_document($doc)) { + if ($img = image_du_document($doc, $connect)) { if (!$x and !$y) { // eviter une double reduction $img = image_reduire($img); @@ -162,13 +164,21 @@ function vignette_automatique($img, $doc, $lien, $x = 0, $y = 0, $align = '', $c return "<a href='$lien' type='$mime' title='$titre'>$img</a>"; } -// Trouve une image caracteristique d'un document. -// 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). -// Autrement retourner la vignette fournie par SPIP pour ce type MIME -// Resultat: un fichier local existant - -function image_du_document($document) { +/** + * Trouve une image caractéristique d'un document. + * + * 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 + * + * @param array $document + * @param null|string $connect + * @return string Chemin de l’image + */ +function image_du_document($document, $connect = null) { if ($e = $document['extension'] and isset($GLOBALS['meta']['formats_graphiques']) and (strpos($GLOBALS['meta']['formats_graphiques'], $e) !== false) @@ -177,6 +187,8 @@ function image_du_document($document) { ) { if ($document['distant'] == 'oui') { $image = _DIR_RACINE . copie_locale($document['fichier']); + } elseif ($image = document_spip_externe($document['fichier'], $connect)) { + return $image; } else { $image = get_spip_doc($document['fichier']); } diff --git a/modeles/img.html b/modeles/img.html index 018f4372..0ef76e60 100644 --- a/modeles/img.html +++ b/modeles/img.html @@ -21,7 +21,7 @@ - sinon alt vide Dans le cas mode "document", le contenu de l'attribut - alt et title se construit selon le même schema a ceci pres + alt et title se construit selon le meme schema a ceci pres qu'on ajoute #TYPE_DOCUMENT - #TAILLE sauf si #ENV{lien} est passe -- GitLab