From b8eff1a4bb59623c866899bc5514903d65812cb2 Mon Sep 17 00:00:00 2001
From: llaffont <llaffont@git-test.afi-sa.fr>
Date: Thu, 13 Sep 2012 10:03:22 +0000
Subject: [PATCH] =?UTF-8?q?Lectures=20des=20vid=C3=A9os=20dans=20la=20bib?=
 =?UTF-8?q?=20num=C3=A9rique?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 library/Class/Xml/Builder.php                 |  2 +-
 .../View/Helper/Album/XspfPlaylistVisitor.php |  2 +-
 library/ZendAfi/View/Helper/OsmPlayer.php     | 19 ++++++++++++-------
 .../AlbumControllerVideoAndAudioTest.php      |  2 +-
 4 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/library/Class/Xml/Builder.php b/library/Class/Xml/Builder.php
index faed36f8b67..9fb3cf9dbcb 100644
--- a/library/Class/Xml/Builder.php
+++ b/library/Class/Xml/Builder.php
@@ -42,7 +42,7 @@ class Class_Xml_Builder {
 
 
 	public function _xmlString($name, $content, $attributes = '') {
-		return '<'.$name.$attributes.'>'.$content.'</'.$name.'>';
+		return '<'.htmlentities($name, ENT_XML1).$attributes.'>'.$content.'</'.$name.'>';
 	}
 
 	
diff --git a/library/ZendAfi/View/Helper/Album/XspfPlaylistVisitor.php b/library/ZendAfi/View/Helper/Album/XspfPlaylistVisitor.php
index 4d900515745..77742bb52a9 100644
--- a/library/ZendAfi/View/Helper/Album/XspfPlaylistVisitor.php
+++ b/library/ZendAfi/View/Helper/Album/XspfPlaylistVisitor.php
@@ -40,7 +40,7 @@ class ZendAfi_View_Helper_Album_XspfPlaylistVisitor extends  Zend_View_Helper_Ab
 
 	public function visitRessource($ressource, $index) {
 		$this->_tracks []= $this->_builder->track(
-			 $this->_builder->title($this->view->escape($ressource->getTitre()))
+			 $this->_builder->title($ressource->getTitre())
 			 .$this->_builder->image('http://' . $_SERVER['SERVER_NAME'] . $ressource->getThumbnailUrl())
 			 .$this->_builder->location('http://' . $_SERVER['SERVER_NAME'] . $ressource->getOriginalUrl())
 		);
diff --git a/library/ZendAfi/View/Helper/OsmPlayer.php b/library/ZendAfi/View/Helper/OsmPlayer.php
index 7f54dd4fdf9..0c0651471cd 100644
--- a/library/ZendAfi/View/Helper/OsmPlayer.php
+++ b/library/ZendAfi/View/Helper/OsmPlayer.php
@@ -27,8 +27,7 @@ class ZendAfi_View_Helper_OsmPlayer extends Zend_View_Helper_HtmlElement {
 		$loader
 			->addAdminScript('osmplayer/minplayer/bin/minplayer.js')
 			->addAdminScript('osmplayer/src/iscroll/src/iscroll.js')
-			->addAdminScript('osmplayer/src/osmplayer.js')
-			->addInlineStyle('.minplayer-default-logo {display: none}');
+			->addAdminScript('osmplayer/src/osmplayer.js');
 
 		foreach(['parser.default', 'parser.youtube', 'parser.rss', 'parser.asx', 'parser.xspf', 'playlist', 'pager', 'teaser'] as $js)
 			$loader->addAdminScript('osmplayer/src/osmplayer.'.$js);
@@ -38,14 +37,20 @@ class ZendAfi_View_Helper_OsmPlayer extends Zend_View_Helper_HtmlElement {
 		foreach(['controller', 'pager', 'playLoader', 'playlist', 'teaser'] as $template)
 			$loader->addAdminScript('osmplayer/templates/default/js/osmplayer.'.$template.'.default.js');
 
+
+
 		$loader
 			->addStyleSheet(URL_ADMIN_JS.'osmplayer/templates/default/css/osmplayer_default.css')
-			->addJQueryReady(sprintf('$("#%s").osmplayer({playlist: \'%s.xml\', height: \'500px\'})',
+			->addJQueryReady(sprintf('$("#%s").osmplayer(%s)',
 															 $div_id,
-															 $this->view->url(['module' => 'opac', 
-																								 'controller' => 'bib-numerique',
-																								 'action' => 'album-xspf-playlist', 
-																								 'id' => $album->getId()])));
+															 json_encode(['playlist' => $this->view->url(['module' => 'opac', 
+																																						'controller' => 'bib-numerique',
+																																						'action' => 'album-xspf-playlist', 
+																																						'id' => $album->getId()]).'.xml',
+																						'height' => '500px',
+																						'swfplayer' => URL_ADMIN_JS.'osmplayer/minplayer/flash/minplayer.swf',
+																						'logo' => URL_ADMIN_JS.'osmplayer/logo.png'])
+															 ));
 		return '<div id="'.$div_id.'"></div>';
 	}
 }
diff --git a/tests/application/modules/admin/controllers/AlbumControllerVideoAndAudioTest.php b/tests/application/modules/admin/controllers/AlbumControllerVideoAndAudioTest.php
index 1e825fdb49e..7852b631f84 100644
--- a/tests/application/modules/admin/controllers/AlbumControllerVideoAndAudioTest.php
+++ b/tests/application/modules/admin/controllers/AlbumControllerVideoAndAudioTest.php
@@ -71,7 +71,7 @@ class Admin_AlbumControllerVideoAndAudio extends Admin_AlbumControllerTestCase {
 		$this->_xpath->assertXpathContentContains(
 			Class_ScriptLoader::getInstance()->html(),
 			'//script',
-			"playlist: '/bib-numerique/album-xspf-playlist/id/999.xml'"
+			'"playlist":"\/bib-numerique\/album-xspf-playlist\/id\/999.xml"'
 		);
 	}
 
-- 
GitLab