Fix phras-82 sanitize feed url's

This commit is contained in:
Nicolas Le Goff
2014-04-23 12:31:11 +02:00
parent 721fd9e909
commit d716c8e400
5 changed files with 24 additions and 27 deletions

View File

@@ -582,8 +582,8 @@ class Feed_Adapter extends Feed_Abstract implements Feed_Interface, cache_cachea
switch ($format) { switch ($format) {
case self::FORMAT_ATOM: case self::FORMAT_ATOM:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/feed/%s/atom/%s' sprintf('%s/feeds/feed/%s/atom/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, $this->get_id() , $this->get_id()
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
) )
@@ -594,8 +594,8 @@ class Feed_Adapter extends Feed_Abstract implements Feed_Interface, cache_cachea
case self::FORMAT_RSS: case self::FORMAT_RSS:
default: default:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/feed/%s/rss/%s' sprintf('%s/feeds/feed/%s/rss/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, $this->get_id() , $this->get_id()
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
) )
@@ -675,8 +675,8 @@ class Feed_Adapter extends Feed_Abstract implements Feed_Interface, cache_cachea
switch ($format) { switch ($format) {
case self::FORMAT_ATOM: case self::FORMAT_ATOM:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/userfeed/%s/%s/atom/' sprintf('%s/feeds/userfeed/%s/%s/atom/'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, $this->get_token($user, $renew_token) , $this->get_token($user, $renew_token)
, $this->get_id() , $this->get_id()
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
@@ -687,8 +687,8 @@ class Feed_Adapter extends Feed_Abstract implements Feed_Interface, cache_cachea
break; break;
case self::FORMAT_RSS: case self::FORMAT_RSS:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/userfeed/%s/%s/rss/%s' sprintf('%s/feeds/userfeed/%s/%s/rss/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, $this->get_token($user, $renew_token) , $this->get_token($user, $renew_token)
, $this->get_id() , $this->get_id()
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')

View File

@@ -140,8 +140,8 @@ class Feed_Aggregate extends Feed_Abstract implements Feed_Interface
switch ($format) { switch ($format) {
case self::FORMAT_ATOM: case self::FORMAT_ATOM:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/aggregated/atom/%s' sprintf('%s/feeds/aggregated/atom/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
) )
, sprintf('%s - %s', $this->get_title(), 'Atom') , sprintf('%s - %s', $this->get_title(), 'Atom')
@@ -150,8 +150,8 @@ class Feed_Aggregate extends Feed_Abstract implements Feed_Interface
break; break;
case self::FORMAT_COOLIRIS: case self::FORMAT_COOLIRIS:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/cooliris/%s' sprintf('%s/feeds/cooliris/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
) )
, sprintf('%s - %s', $this->get_title(), 'RSS') , sprintf('%s - %s', $this->get_title(), 'RSS')
@@ -161,8 +161,8 @@ class Feed_Aggregate extends Feed_Abstract implements Feed_Interface
default: default:
case self::FORMAT_RSS: case self::FORMAT_RSS:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/aggregated/rss/%s' sprintf('%s/feeds/aggregated/rss/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
) )
, sprintf('%s - %s', $this->get_title(), 'RSS') , sprintf('%s - %s', $this->get_title(), 'RSS')
@@ -236,8 +236,8 @@ class Feed_Aggregate extends Feed_Abstract implements Feed_Interface
switch ($format) { switch ($format) {
case self::FORMAT_ATOM: case self::FORMAT_ATOM:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/userfeed/aggregated/%s/atom/%s' sprintf('%s/feeds/userfeed/aggregated/%s/atom/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, $this->get_token($user, $renew_token) , $this->get_token($user, $renew_token)
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
) )
@@ -247,8 +247,8 @@ class Feed_Aggregate extends Feed_Abstract implements Feed_Interface
break; break;
case self::FORMAT_RSS: case self::FORMAT_RSS:
return new Feed_Link( return new Feed_Link(
sprintf('%sfeeds/userfeed/aggregated/%s/rss/%s' sprintf('%s/feeds/userfeed/aggregated/%s/rss/%s'
, $registry->get('GV_ServerName') , rtrim($registry->get('GV_ServerName'), '/')
, $this->get_token($user, $renew_token) , $this->get_token($user, $renew_token)
, ($page ? '?page=' . $page : '') , ($page ? '?page=' . $page : '')
) )

View File

@@ -173,8 +173,8 @@ class Feed_Entry_Adapter implements Feed_Entry_Interface, cache_cacheableInterfa
public function get_link() public function get_link()
{ {
$href = sprintf( $href = sprintf(
'%slightbox/feeds/entry/%d/' '%s/lightbox/feeds/entry/%d/'
, $this->app['phraseanet.registry']->get('GV_ServerName') , rtrim($this->app['phraseanet.registry']->get('GV_ServerName'), '/')
, $this->get_id() , $this->get_id()
); );

View File

@@ -235,7 +235,7 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
$this->authenticate(self::$DI['app']); $this->authenticate(self::$DI['app']);
$link = self::$feed_3_public->get_user_link(self::$DI['app']['phraseanet.registry'], self::$DI['user'], \Feed_Adapter::FORMAT_ATOM)->get_href(); $link = self::$feed_3_public->get_user_link(self::$DI['app']['phraseanet.registry'], self::$DI['user'], \Feed_Adapter::FORMAT_ATOM)->get_href();
$link = str_replace(self::$DI['app']['phraseanet.registry']->get('GV_ServerName') . 'feeds/', '/', $link); $link = str_replace(rtrim(self::$DI['app']['phraseanet.registry']->get('GV_ServerName'),'/') . '/feeds/', '/', $link);
$this->logout(self::$DI['app']); $this->logout(self::$DI['app']);
@@ -253,7 +253,7 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
$this->authenticate(self::$DI['app']); $this->authenticate(self::$DI['app']);
$link = self::$private_feeds->get_aggregate()->get_user_link(self::$DI['app']['phraseanet.registry'], self::$DI['user'], \Feed_Adapter::FORMAT_ATOM)->get_href(); $link = self::$private_feeds->get_aggregate()->get_user_link(self::$DI['app']['phraseanet.registry'], self::$DI['user'], \Feed_Adapter::FORMAT_ATOM)->get_href();
$link = str_replace(self::$DI['app']['phraseanet.registry']->get('GV_ServerName') . 'feeds/', '/', $link); $link = str_replace(rtrim(self::$DI['app']['phraseanet.registry']->get('GV_ServerName'),'/') . '/feeds/', '/', $link);
$this->logout(self::$DI['app']); $this->logout(self::$DI['app']);
@@ -271,7 +271,7 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
$this->authenticate(self::$DI['app']); $this->authenticate(self::$DI['app']);
$link = self::$feed_1_private->get_user_link(self::$DI['app']['phraseanet.registry'], self::$DI['user'], \Feed_Adapter::FORMAT_ATOM)->get_href(); $link = self::$feed_1_private->get_user_link(self::$DI['app']['phraseanet.registry'], self::$DI['user'], \Feed_Adapter::FORMAT_ATOM)->get_href();
$link = str_replace(self::$DI['app']['phraseanet.registry']->get('GV_ServerName') . 'feeds/', '/', $link); $link = str_replace(rtrim(self::$DI['app']['phraseanet.registry']->get('GV_ServerName'),'/') . '/feeds/', '/', $link);
$this->logout(self::$DI['app']); $this->logout(self::$DI['app']);
@@ -578,9 +578,6 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
case "expression": case "expression":
$this->assertEquals("full", $value); $this->assertEquals("full", $value);
break; break;
case "bitrate":
$this->assertEquals($value);
break;
case "height": case "height":
$this->assertEquals($ressource->get_height(), $value); $this->assertEquals($ressource->get_height(), $value);
break; break;

View File

@@ -54,7 +54,7 @@ class Feed_AggregateTest extends PhraseanetPHPUnitAuthenticatedAbstract
{ {
$link = self::$object->get_homepage_link(self::$DI['app']['phraseanet.registry'], Feed_Adapter::FORMAT_ATOM); $link = self::$object->get_homepage_link(self::$DI['app']['phraseanet.registry'], Feed_Adapter::FORMAT_ATOM);
$this->assertInstanceOf('Feed_Link', $link); $this->assertInstanceOf('Feed_Link', $link);
$this->assertEquals(self::$DI['app']['phraseanet.registry']->get('GV_ServerName') . 'feeds/aggregated/atom/', $link->get_href()); $this->assertEquals(rtrim(self::$DI['app']['phraseanet.registry']->get('GV_ServerName'),'/') . '/feeds/aggregated/atom/', $link->get_href());
} }
public function testGet_user_link() public function testGet_user_link()