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