/** * Returns a feed of comment of an item * * @param array $comments * @param mixed $item * @return AtomFeedAdapter */ public function buildCommentsFeed($comments, $item) { $application = Stuffpress_Application::getInstance(); $feed = new AtomFeedAdapter(null); $feed->addNamespace(ActivityNS::PREFIX, ActivityNS::NS); $feed->title = "Comments of " . $this->_getObjectId($item); $feed->id = "http://" . $this->_domain . "/api/comments"; // $feed->updated = toAtomDate(time()); $feedLink = $feed->addLink(); $feedLink->rel = 'self'; $feedLink->href = 'http://' . $this->_domain . "/api/comments/" . $this->_getObjectId($item); foreach ($comments as $comment) { $this->buildCommentEntry(new Comment($comment), $item, $feed->addEntry()); } return $feed; }
public function testBuildFeed() { $new = new AtomFeedAdapter(null); $new->title = 'New Title'; $new->title->type = 'New Title Type'; $new->id = 'New Id'; $new->updated = 'New Updated'; $new->generator = 'New Generator'; $new->generator->uri = 'New Generator Uri'; $new->generator->version = 'New Generator Version'; $newAuthor = $new->addAuthor(); $newAuthor->name = 'New Author Name'; $newAuthor->uri = 'New Author Uri'; $newAuthor->email = 'New Author Email'; $newLink = $new->addLink(); $newLink->href = 'New Link Href'; $newLink->type = 'New Link Type'; $newLink->rel = 'New Link Rel'; $newLink->title = 'New Link Title'; $newLink->hreflang = 'New Link Hreflang'; $newLink->length = 'New Link Length'; $newCategory = $new->addCategory(); $newCategory->term = 'New Category Term'; $newCategory->scheme = 'New Category Scheme'; $newCategory->label = 'New Category Label'; $newEntry = $new->addEntry(); $newEntry->title = 'New Entry Title'; $newEntry->title->type = 'New Entry Title Type'; $newEntry->id = 'New Entry Id'; $newEntry->updated = 'New Entry Updated'; $newEntry->published = 'New Entry Published'; $newEntry->summary = 'New Entry Summary'; $newEntry->summary->type = 'New Entry Summary Type'; $newEntry->content = 'New Entry Content'; $newEntry->content->type = 'New Entry Content Type'; $newEntry->content->src = 'New Entry Content Src'; $newEntryAuthor = $newEntry->addAuthor(); $newEntryAuthor->name = 'New Entry Author Name'; $newEntryAuthor->uri = 'New Entry Author Uri'; $newEntryAuthor->email = 'New Entry Author Email'; $newEntryLink = $newEntry->addLink(); $newEntryLink->href = 'New Entry Link Href'; $newEntryLink->type = 'New Entry Link Type'; $newEntryLink->rel = 'New Entry Link Rel'; $newEntryLink->title = 'New Entry Link Title'; $newEntryLink->hreflang = 'New Entry Link Hreflang'; $newEntryLink->length = 'New Entry Link Length'; $newEntryCategory = $newEntry->addCategory(); $newEntryCategory->term = 'New Entry Category Term'; $newEntryCategory->scheme = 'New Entry Category Scheme'; $newEntryCategory->label = 'New Entry Category Label'; $expectedResult = '<?xml version="1.0"?> <feed xmlns="http://www.w3.org/2005/Atom"><title type="New Title Type">New Title</title><id>New Id</id><updated>New Updated</updated><generator uri="New Generator Uri" version="New Generator Version">New Generator</generator><author><name>New Author Name</name><uri>New Author Uri</uri><email>New Author Email</email></author><link href="New Link Href" type="New Link Type" rel="New Link Rel" title="New Link Title" hreflang="New Link Hreflang" length="New Link Length"/><category term="New Category Term" scheme="New Category Scheme" label="New Category Label"/><entry><title type="New Entry Title Type">New Entry Title</title><id>New Entry Id</id><updated>New Entry Updated</updated><published>New Entry Published</published><summary type="New Entry Summary Type">New Entry Summary</summary><content type="New Entry Content Type" src="New Entry Content Src">New Entry Content</content><author><name>New Entry Author Name</name><uri>New Entry Author Uri</uri><email>New Entry Author Email</email></author><link href="New Entry Link Href" type="New Entry Link Type" rel="New Entry Link Rel" title="New Entry Link Title" hreflang="New Entry Link Hreflang" length="New Entry Link Length"/><category term="New Entry Category Term" scheme="New Entry Category Scheme" label="New Entry Category Label"/></entry></feed>'; $this->assertEquals(trim($new->getXml()), trim($expectedResult)); return $new; }