From c9dc084ed68f03e90b189758f8a4d2bdb00cce1f Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 7 Jun 2010 11:44:30 -0700 Subject: [PATCH] Stories have to pass along absolute links in their RSS feeds. Fixes bug #11606 --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/Story.pm | 10 ++++++---- t/Asset/Story.t | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index dac406c39..138b8a5da 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -9,6 +9,7 @@ - fixed #11605: UserList refers to non-existent "publicEmail" user profiling field - fixed #11595: Orphaned data in inbox_messageState - fixed AddressBook feedback for missing fields. + - fixed #11606: Syndicated Content feed returns a relative link 7.9.6 - new checkbox in the asset manager for clearing the package flag on import diff --git a/lib/WebGUI/Asset/Story.pm b/lib/WebGUI/Asset/Story.pm index fd36c9d0b..78a7a19ef 100644 --- a/lib/WebGUI/Asset/Story.pm +++ b/lib/WebGUI/Asset/Story.pm @@ -534,15 +534,17 @@ property of the Asset. =cut sub getRssData { - my $self = shift; + my $self = shift; + my $session = $self->session; + my $url = $session->url->getSiteURL.$self->getUrl; my $data = { title => $self->get('headline') || $self->getTitle, description => $self->get('story'), - 'link' => $self->getUrl, - guid => $self->getUrl, + 'link' => $url, + guid => $url, author => $self->get('byline'), date => $self->get('lastModified'), - pubDate => $self->session->datetime->epochToMail($self->get('creationDate')), + pubDate => $session->datetime->epochToMail($self->get('creationDate')), }; return $data; } diff --git a/t/Asset/Story.t b/t/Asset/Story.t index 57aef9214..58ba198de 100644 --- a/t/Asset/Story.t +++ b/t/Asset/Story.t @@ -278,7 +278,7 @@ cmp_deeply( { title => 'Story 1', description => 'WebGUI was originally called Web Done Right.', - 'link' => re('story-1$'), + 'link' => all(re('^'.$session->url->getSiteURL),re('story-1$')), guid => re('story-1$'), author => 'JT Smith', date => $story->get('lastModified'),