Merge pull request from ArthurHoaro/update-date

Save link update dates and render it in templates and feeds
This commit is contained in:
Arthur 2016-10-12 14:51:37 +02:00 committed by GitHub
commit 0354257266
8 changed files with 74 additions and 16 deletions

View file

@ -76,7 +76,7 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase
// Test headers (RSS)
$this->assertEquals(self::$RSS_LANGUAGE, $data['language']);
$this->assertEmpty($data['pubsubhub_url']);
$this->assertRegExp('/Tue, 10 Mar 2015 11:46:51 \+\d{4}/', $data['last_update']);
$this->assertRegExp('/Wed, 03 Aug 2016 09:30:33 \+\d{4}/', $data['last_update']);
$this->assertEquals(true, $data['show_dates']);
$this->assertEquals('http://host.tld/index.php?do=feed', $data['self_link']);
$this->assertEquals('http://host.tld/', $data['index_url']);
@ -88,7 +88,10 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase
$this->assertEquals('20150310_114651', $link['linkdate']);
$this->assertEquals('http://host.tld/?WDWyig', $link['guid']);
$this->assertEquals('http://host.tld/?WDWyig', $link['url']);
$this->assertRegExp('/Tue, 10 Mar 2015 11:46:51 \+\d{4}/', $link['iso_date']);
$this->assertRegExp('/Tue, 10 Mar 2015 11:46:51 \+\d{4}/', $link['pub_iso_date']);
$pub = DateTime::createFromFormat(DateTime::RSS, $link['pub_iso_date']);
$up = DateTime::createFromFormat(DateTime::ATOM, $link['up_iso_date']);
$this->assertEquals($pub, $up);
$this->assertContains('Stallman has a beard', $link['description']);
$this->assertContains('Permalink', $link['description']);
$this->assertContains('http://host.tld/?WDWyig', $link['description']);
@ -101,6 +104,9 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase
// Test multitags.
$this->assertEquals(5, count($data['links']['20141125_084734']['taglist']));
$this->assertEquals('css', $data['links']['20141125_084734']['taglist'][0]);
// Test update date
$this->assertRegExp('/2016-08-03T09:30:33\+\d{2}:\d{2}/', $data['links']['20150310_114633']['up_iso_date']);
}
/**
@ -112,8 +118,10 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase
$feedBuilder->setLocale(self::$LOCALE);
$data = $feedBuilder->buildData();
$this->assertEquals(ReferenceLinkDB::$NB_LINKS_TOTAL, count($data['links']));
$this->assertRegExp('/2016-08-03T09:30:33\+\d{2}:\d{2}/', $data['last_update']);
$link = array_shift($data['links']);
$this->assertRegExp('/2015-03-10T11:46:51\+\d{2}:+\d{2}/', $link['iso_date']);
$this->assertRegExp('/2015-03-10T11:46:51\+\d{2}:\d{2}/', $link['pub_iso_date']);
$this->assertRegExp('/2016-08-03T09:30:33\+\d{2}:\d{2}/', $data['links']['20150310_114633']['up_iso_date']);
}
/**

View file

@ -30,7 +30,8 @@ class ReferenceLinkDB
'Richard Stallman and the Free Software Revolution. Read this. #hashtag',
0,
'20150310_114633',
'free gnu software stallman -exclude stuff hashtag'
'free gnu software stallman -exclude stuff hashtag',
'20160803_093033'
);
$this->addLink(
@ -82,7 +83,7 @@ class ReferenceLinkDB
/**
* Adds a new link
*/
protected function addLink($title, $url, $description, $private, $date, $tags)
protected function addLink($title, $url, $description, $private, $date, $tags, $updated = '')
{
$link = array(
'title' => $title,
@ -91,6 +92,7 @@ class ReferenceLinkDB
'private' => $private,
'linkdate' => $date,
'tags' => $tags,
'updated' => $updated,
);
$this->_links[$date] = $link;