diff --git a/.gitattributes b/.gitattributes index e0d56c6dbca8bff462056ddb04fd51445a6e5333..91e93c777bc67c4da2414486daf38315fe8af9a9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -105,6 +105,7 @@ lang/medias_zh.php -text /medias_fonctions.php -text /medias_pipelines.php -text metadata/flv.php -text +metadata/html.php -text metadata/image.php -text metadata/svg.php -text metadata/swf.php -text diff --git a/metadata/html.php b/metadata/html.php new file mode 100644 index 0000000000000000000000000000000000000000..8ca884b63c115fda252f1fd5e623865e143e9893 --- /dev/null +++ b/metadata/html.php @@ -0,0 +1,38 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2011 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined('_ECRIRE_INC_VERSION')) return; +include_spip('inc/autoriser'); + +/** + * enlever les scripts de html si necessaire + * on utilise safehtml + * + * @param string $file + * @return array + */ +function medata_html_dist($file){ + $meta = array(); + + // 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')) { + $texte = spip_file_get_contents($file); + include_spip('inc/texte'); + $new = trim(safehtml($texte)); + // petit bug safehtml + if ($new != $texte) ecrire_fichier($file, $new); + } + + return $meta; +} \ No newline at end of file diff --git a/metadata/svg.php b/metadata/svg.php index 022233d16fc71a03d1f97347fc135f6289abe49e..0071e126b4ae9c5e279e1d647274e6e4a037813f 100644 --- a/metadata/svg.php +++ b/metadata/svg.php @@ -11,9 +11,13 @@ \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) return; +include_spip('inc/autoriser'); /** * Determiner les dimensions d'un svg, et enlever ses scripts si necessaire + * on utilise safehtml qui n'est pas apropriee pour ca en attendant mieux + * cf http://www.slideshare.net/x00mario/the-image-that-called-me + * http://heideri.ch/svgpurifier/SVGPurifier/index.php * * @param string $file * @return array @@ -24,10 +28,10 @@ function medata_svg_dist($file){ $texte = spip_file_get_contents($file); - // Securite si pas admin : virer les scripts et les references externes + // 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 $GLOBALS['visiteur_session']['statut'] != '0minirezo') { + AND !autoriser('televerser','script')) { include_spip('inc/texte'); $new = trim(safehtml($texte)); // petit bug safehtml diff --git a/plugin.xml b/plugin.xml index dbab03dc75dbb9c65a383cafac569a51e6d923d8..ceb242f78c78a8acfd8d5e808d0e6a412c9c4443 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ <nom>Medias</nom> <auteur>Collectif SPIP, Cedric Morin & Romy Duhem-Verdiere pour la mediatheque</auteur> <icon>prive/themes/spip/images/portfolio-32.png</icon> - <version>2.0.5</version> + <version>2.1.0</version> <version_base>0.14.0</version_base> <etat>test</etat> <slogan>Gestion des medias dans SPIP</slogan>