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

View File

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

View File

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

View File

@@ -235,7 +235,7 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
$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 = 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']);
@@ -253,7 +253,7 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
$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 = 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']);
@@ -271,7 +271,7 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
$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 = 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']);
@@ -578,9 +578,6 @@ class RssFeedTest extends \PhraseanetWebTestCaseAbstract
case "expression":
$this->assertEquals("full", $value);
break;
case "bitrate":
$this->assertEquals($value);
break;
case "height":
$this->assertEquals($ressource->get_height(), $value);
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);
$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()