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">&#10140;</span></div>
 					</a>
@@ -91,7 +91,7 @@
 								<span class="dateNombre"><strong>[(#DATE_DEBUT|affdate{d})]</strong>&nbsp;/[(#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[&nbsp;: (#_AgendaDerniersAjouts:TITRE)],#TITRE})]</span>
 							<span class="icon icon-arrow-right2 icon-lg">&#10140;</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">&#10140;</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">&#10140;</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