From 41340a122c07ad8b53f49ad21af4ffeab67c065f Mon Sep 17 00:00:00 2001 From: "real3t@gmail.com" <> Date: Sat, 1 Apr 2017 09:07:09 +0000 Subject: [PATCH] Passage de la fonction focusimage en image_focus dans la matrice des traitements d'images de SPIP --- .gitattributes | 1 + filtres/images_soyezcreateurs.php | 24 +++++++++++++++++++ noisettes/galerie.html | 2 +- .../sommaire/sommaire_modeportailcognac.html | 16 ++++++------- soyezcreateurs_fonctions.php | 16 ++----------- 5 files changed, 36 insertions(+), 23 deletions(-) create mode 100644 filtres/images_soyezcreateurs.php diff --git a/.gitattributes b/.gitattributes index ee0fd80e..797e7231 100644 --- a/.gitattributes +++ b/.gitattributes @@ -198,6 +198,7 @@ en_travaux/fond.jpg -text exec/agenda_upgrade.php -text /exporter-ical.html -text /favicon.ico.html -text +filtres/images_soyezcreateurs.php -text formulaires/configurer_soyezcreateurs.html -text formulaires/configurer_soyezcreateurs_couleurs.html -text formulaires/configurer_soyezcreateurs_google.html -text diff --git a/filtres/images_soyezcreateurs.php b/filtres/images_soyezcreateurs.php new file mode 100644 index 00000000..2d998919 --- /dev/null +++ b/filtres/images_soyezcreateurs.php @@ -0,0 +1,24 @@ +<?php + +if (!defined("_ECRIRE_INC_VERSION")) return; + +// Permet de recadrer une image en la centrant sur son focus (plugin Centre Image) +function image_focus($img, $largeur, $hauteur, $position = 'center') { + if (!$img) return(''); + + include_spip('filtres_images_lib_mini'); + include_spip('filtres/images_transforme'); + if ((largeur($img) <= $largeur) AND (hauteur($img) <= $hauteur)) { + $img = image_recadre($img, "$largeur:$hauteur", '+', $position, 'transparent'); + image_graver($img); + $img = image_recadre($img, $largeur, $hauteur, $position, 'transparent'); + } else { + $img = image_recadre($img, "$largeur:$hauteur", '-', 'focus', 'transparent'); + image_graver($img); + $img = image_reduire($img, $largeur, $hauteur, $position, 'transparent'); + } + + image_graver($img); + + return $img; +} diff --git a/noisettes/galerie.html b/noisettes/galerie.html index 91a1ff60..7ce173a5 100644 --- a/noisettes/galerie.html +++ b/noisettes/galerie.html @@ -3,7 +3,7 @@ <B_imgs> <div id="galerie" class="surlignable"> <div id="documents_portfolio"> - <BOUCLE_imgs(DOCUMENTS){id_article?}{id_rubrique?}{mode=document}{par num titre}{!par date}{extension IN png,jpg,gif}{vu=non}>[(#SET{grandeversion,[(#FICHIER|copie_locale|image_reduire{1600,0}|image_masque{#CHEMIN{images/copyright_masque.png}})]})][(#SET{lavignette,[(#FICHIER|copie_locale|focusimage{110,110})]})]<a class="mediabox" href="[(#GET{grandeversion}|extraire_attribut{src})]" type="#MIME_TYPE" title="[(#TITRE|attribut_html|sinon{<:info_document:>})]" rel="gal"><img src="[(#GET{lavignette}|extraire_attribut{src})]" width="[(#GET{lavignette}|largeur)]" height="[(#GET{lavignette}|hauteur)]" alt="[(#TITRE|attribut_html|sinon{<:info_document:>})]"[ - (#DESCRIPTIF|attribut_html)]" /></a> + <BOUCLE_imgs(DOCUMENTS){id_article?}{id_rubrique?}{mode=document}{par num titre}{!par date}{extension IN png,jpg,gif}{vu=non}>[(#SET{grandeversion,[(#FICHIER|copie_locale|image_reduire{1600,0}|image_masque{#CHEMIN{images/copyright_masque.png}})]})][(#SET{lavignette,[(#FICHIER|copie_locale|image_focus{110,110})]})]<a class="mediabox" href="[(#GET{grandeversion}|extraire_attribut{src})]" type="#MIME_TYPE" title="[(#TITRE|attribut_html|sinon{<:info_document:>})]" rel="gal"><img src="[(#GET{lavignette}|extraire_attribut{src})]" width="[(#GET{lavignette}|largeur)]" height="[(#GET{lavignette}|hauteur)]" alt="[(#TITRE|attribut_html|sinon{<:info_document:>})]"[ - (#DESCRIPTIF|attribut_html)]" /></a> </BOUCLE_imgs> </div> </div> diff --git a/noisettes/sommaire/sommaire_modeportailcognac.html b/noisettes/sommaire/sommaire_modeportailcognac.html index 7f64d8bb..65759a43 100644 --- a/noisettes/sommaire/sommaire_modeportailcognac.html +++ b/noisettes/sommaire/sommaire_modeportailcognac.html @@ -21,7 +21,7 @@ <div class="slider show-for-medium" role="region" aria-label="Diaporama d'accueil"> <div class="slider-diapo-imgfull"> <a href="#GET{article_url}"[ title="(#DESCRIPTIF|attribut_html)"]> - <img src="[(#FICHIER|copie_locale|focusimage{1920,580}|extraire_attribut{src})]" alt="" /> + <img src="[(#FICHIER|copie_locale|image_focus{1920,580}|extraire_attribut{src})]" alt="" /> </a> </div> </div> @@ -29,7 +29,7 @@ <div class="slider show-for-medium" role="region" aria-label="Diaporama d'accueil"> <div class="slider-diapo-imgfull"> <a href="#GET{article_url}"[ title="(#DESCRIPTIF|attribut_html)"]> - <img src="[(#CHEMIN{images/placeholder.jpg}|focusimage{1920,580}|extraire_attribut{src})]" alt="" /> + <img src="[(#CHEMIN{images/placeholder.jpg}|image_focus{1920,580}|extraire_attribut{src})]" alt="" /> </a> </div> </div> @@ -57,7 +57,7 @@ <div class="row" id="masonry" role="region" aria-label="Actualités"> <div class="grid"> <BOUCLE_articles_recentsAlaUne(ARTICLES){lang}{!par #CONFIG{soyezcreateurs/ordre_quoideneuf,date_modif}}{0,(#CONFIG{soyezcreateurs/nombres_alanune,4})}{doublons}{titre_mot=AlaUne}> - [(#SET{logo,[(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{[(#CHEMIN{images/placeholder.jpg}|focusimage{308,340})]})]})] + [(#SET{logo,[(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{[(#CHEMIN{images/placeholder.jpg}|image_focus{308,340})]})]})] [(#SET{largeur,[(#GET{logo}|largeur|sinon{1})]})] [(#SET{hauteur,[(#GET{logo}|hauteur|sinon{1})]})] [(#SET{ratio,[(#GET{largeur}|div{#GET{hauteur}})]})] @@ -67,7 +67,7 @@ <div class="grid-item[ grid-item-x(#GET{facteur})]"> <div class="content-actus alaune #EDIT{titre}"> <a href="#URL_ARTICLE"[ title="(#DESCRIPTIF|attribut_html)"]> - [<img src="(#GET{logo}|focusimage{#GET{largeur},340}|extraire_attribut{src})" alt="" width="#GET{largeur}" height="340" />] + [<img src="(#GET{logo}|image_focus{#GET{largeur},340}|extraire_attribut{src})" alt="" width="#GET{largeur}" height="340" />] <div class="h2"><span class="titre-actus">#TITRE</span> <span class="icon icon-arrow-right2 icon-lg">➜</span></div> </a> @@ -91,7 +91,7 @@ <span class="dateNombre"><strong>[(#DATE_DEBUT|affdate{d})]</strong> /[(#DATE_DEBUT|affdate{m})]</span> <span class="dateMois display-block">[(#DATE_DEBUT|affdate{Y})]</span> </time> - [<img src="(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{#CHEMIN{images/placeholder.jpg}}|focusimage{180,95}|extraire_attribut{src})" alt="" width="180" height="95" />] + [<img src="(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{#CHEMIN{images/placeholder.jpg}}|image_focus{180,95}|extraire_attribut{src})" alt="" width="180" height="95" />] </header> <div class="h2"><span class="titre-actus">[ (#_DernierEvenementArticle:TITRE|!={#_AgendaDerniersAjouts:TITRE}|?{#TITRE[ : (#_AgendaDerniersAjouts:TITRE)],#TITRE})]</span> <span class="icon icon-arrow-right2 icon-lg">➜</span></div> @@ -106,7 +106,7 @@ <BOUCLE_Rubriques_Exclues(RUBRIQUES){titre_mot=PasDansQuoiDeNeuf}><BOUCLE_Articles_Exclus(ARTICLES){id_rubrique}{doublons}{lang} /></BOUCLE_Rubriques_Exclues> <BOUCLE_exclus(ARTICLES){titre_mot=PasDansQuoiDeNeuf}{doublons} /> <BOUCLE_articles_QuoideNeuf(ARTICLES) {!par #CONFIG{soyezcreateurs/ordre_quoideneuf,date_modif}}{0,(#CONFIG{soyezcreateurs/nombres_quoideneuf,5})}{doublons}{lang}> - [(#SET{logo,[(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{[(#CHEMIN{images/placeholder.jpg}|focusimage{308,340})]})]})] + [(#SET{logo,[(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{[(#CHEMIN{images/placeholder.jpg}|image_focus{308,340})]})]})] [(#SET{largeur,[(#GET{logo}|largeur|sinon{1})]})] [(#SET{hauteur,[(#GET{logo}|hauteur|sinon{1})]})] [(#SET{ratio,[(#GET{largeur}|div{#GET{hauteur}})]})] @@ -116,7 +116,7 @@ <div class="grid-item[ grid-item-x(#GET{facteur})]"> <div class="content-actus quoideneuf #EDIT{titre}"> <a href="#URL_ARTICLE"[ title="(#DESCRIPTIF|attribut_html)"]> - [<img src="(#GET{logo}|focusimage{#GET{largeur},340}|extraire_attribut{src})" alt="" width="#GET{largeur}" height="340" />] + [<img src="(#GET{logo}|image_focus{#GET{largeur},340}|extraire_attribut{src})" alt="" width="#GET{largeur}" height="340" />] <div class="h2"><span class="titre-actus">#TITRE</span> <span class="icon icon-arrow-right2 icon-lg">➜</span></div> </a> @@ -168,7 +168,7 @@ <BOUCLE_BlocsDefilants(ARTICLES){id_rubrique}{par num titre}{lang}> <div class="content-pratique #EDIT{titre}"> <a href="#ARTICLE_URL"[ title="(#DESCRIPTIF|attribut_html)"]> - <img src="[(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{#CHEMIN{images/placeholder.jpg}}|focusimage{280,190}|extraire_attribut{src})]" alt="" /> + <img src="[(#LOGO_ARTICLE_SURVOL|sinon{#LOGO_ARTICLE_NORMAL}|sinon{#CHEMIN{images/placeholder.jpg}}|image_focus{280,190}|extraire_attribut{src})]" alt="" /> <div class="h2"><span class="titre-pratique">#TITRE</span> <span class="icon icon-arrow-right2 icon-lg">➜</span></div> </a> diff --git a/soyezcreateurs_fonctions.php b/soyezcreateurs_fonctions.php index 2f57d719..5e46b579 100644 --- a/soyezcreateurs_fonctions.php +++ b/soyezcreateurs_fonctions.php @@ -843,18 +843,6 @@ function mini_html($texte) { return $texte; } -// Permet de recadrer une image en la centrant sur son focus (plugin Centre Image) -function focusimage($img, $largeur, $hauteur, $position = 'center') { - if (!$img) return(''); - - include_spip('filtres_images_lib_mini'); - include_spip('filtres/images_transforme'); - if ((largeur($img) <= $largeur) AND (hauteur($img) <= $hauteur)) { - $img = image_recadre($img, "$largeur:$hauteur", '+', $position, 'transparent'); - $img = image_recadre($img, $largeur, $hauteur, $position, 'transparent'); - } else { - $img = image_recadre($img, "$largeur:$hauteur", '-', 'focus', 'transparent'); - $img = image_reduire($img, $largeur, $hauteur, $position, 'transparent'); - } - return $img; +if(is_array($GLOBALS['spip_matrice'])){ + $GLOBALS['spip_matrice']['image_focus'] = 'filtres/images_soyezcreateurs.php'; } -- GitLab