From 46a6174dc1b4446cb2ff345a4ff803885cf70c20 Mon Sep 17 00:00:00 2001
From: "cedric@yterium.com" <>
Date: Thu, 30 May 2013 21:09:12 +0000
Subject: [PATCH] =?UTF-8?q?Report=20de=20r73073=20:=20une=20coquille=20emp?=
 =?UTF-8?q?echait=20la=20prise=20en=20charge=20des=20svg=20=C3=A0=20l'uplo?=
 =?UTF-8?q?ad=20(lecture=20des=20dimensions,=20protection=20des=20js=20inc?=
 =?UTF-8?q?lus)=20(Sebastien)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 inc/renseigner_document.php |  2 +-
 metadata/svg.php            | 40 +++++++++++++++++++------------------
 paquet.xml                  |  2 +-
 3 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/inc/renseigner_document.php b/inc/renseigner_document.php
index 2ae2c2ab..44a72572 100644
--- a/inc/renseigner_document.php
+++ b/inc/renseigner_document.php
@@ -110,7 +110,7 @@ function renseigner_taille_dimension_image($fichier,$ext){
 			spip_log ("Echec copie du fichier $fichier");
 			return _T('medias:erreur_copie_fichier',array('nom'=> $fichier));
 	}
-	
+
 	// chercher une fonction de description
 	$meta = array();
 	if ($metadata = charger_fonction($ext,"metadata",true)){
diff --git a/metadata/svg.php b/metadata/svg.php
index 259f4507..562d3e47 100644
--- a/metadata/svg.php
+++ b/metadata/svg.php
@@ -29,43 +29,45 @@ include_spip('inc/autoriser');
  * @param string $file
  * @return array Tableau (largeur, hauteur)
  */
-function medata_svg_dist($file){
+function metadata_svg_dist($file){
 	$meta = array();
 
 	$texte = spip_file_get_contents($file);
 
 	// Securite si pas autorise : virer les scripts et les references externes
 	// sauf si on est en mode javascript 'ok' (1), cf. inc_version
-	if ($GLOBALS['filtrer_javascript'] < 1
-	  AND !autoriser('televerser','script')) {
+	if ($GLOBALS['filtrer_javascript']<1
+		AND !autoriser('televerser', 'script')
+	){
 		include_spip('inc/texte');
 		$new = trim(safehtml($texte));
 		// petit bug safehtml
-		if (substr($new,0,2) == ']>') $new = ltrim(substr($new,2));
-		if ($new != $texte) ecrire_fichier($file, $texte = $new);
+		if (substr($new, 0, 2)==']>') $new = ltrim(substr($new, 2));
+		if ($new!=$texte) ecrire_fichier($file, $texte = $new);
 	}
 
 	$width = $height = 150;
-	if (preg_match(',<svg[^>]+>,', $texte, $s)) {
+	if (preg_match(',<svg[^>]+>,', $texte, $s)){
 		$s = $s[0];
 		if (preg_match(',\WviewBox\s*=\s*.\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+),i', $s, $r)){
 			$width = $r[3];
-                	$height = $r[4];
-		} else {
-	// si la taille est en centimetre, estimer le pixel a 1/64 de cm
-		if (preg_match(',\Wwidth\s*=\s*.(\d+)([^"\']*),i', $s, $r)){
-			if ($r[2] != '%') {
-				$width = $r[1];
-				if ($r[2] == 'cm') $width <<=6;
-			}
+			$height = $r[4];
 		}
-		if (preg_match(',\Wheight\s*=\s*.(\d+)([^"\']*),i', $s, $r)){
-			if ($r[2] != '%') {
-	                	$height = $r[1];
-				if ($r[2] == 'cm') $height <<=6;
+		else {
+			// si la taille est en centimetre, estimer le pixel a 1/64 de cm
+			if (preg_match(',\Wwidth\s*=\s*.(\d+)([^"\']*),i', $s, $r)){
+				if ($r[2]!='%'){
+					$width = $r[1];
+					if ($r[2]=='cm') $width <<= 6;
+				}
+			}
+			if (preg_match(',\Wheight\s*=\s*.(\d+)([^"\']*),i', $s, $r)){
+				if ($r[2]!='%'){
+					$height = $r[1];
+					if ($r[2]=='cm') $height <<= 6;
+				}
 			}
 		}
-	   }
 	}
 	$meta['largeur'] = $width;
 	$meta['hauteur'] = $height;
diff --git a/paquet.xml b/paquet.xml
index ef4a26bb..753e482d 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="medias"
 	categorie="multimedia"
-	version="2.8.14"
+	version="2.8.15"
 	etat="stable"
 	compatibilite="[3.0.0;3.1.*]"
 	logo="prive/themes/spip/images/portfolio-32.png"
-- 
GitLab