diff options
Diffstat (limited to 'utility/opmlexporter.php')
-rw-r--r-- | utility/opmlexporter.php | 120 |
1 files changed, 60 insertions, 60 deletions
diff --git a/utility/opmlexporter.php b/utility/opmlexporter.php index 0efaba9b8..d786c0c6f 100644 --- a/utility/opmlexporter.php +++ b/utility/opmlexporter.php @@ -25,66 +25,66 @@ class OPMLExporter { * @param \OCA\News\Db\Feed[] $feeds * @return \DomDocument the document */ - public function build($folders, $feeds){ - $document = new \DomDocument('1.0', 'UTF-8'); - $document->formatOutput = true; - - $root = $document->createElement('opml'); - $root->setAttribute('version', '2.0'); - - // head - $head = $document->createElement('head'); - - $title = $document->createElement('title', 'Subscriptions'); - $head->appendChild($title); - - $root->appendChild($head); - - // body - $body = $document->createElement('body'); - - // feeds with folders - foreach($folders as $folder) { - $folderOutline = $document->createElement('outline'); - $folderOutline->setAttribute('title', $folder->getName()); - $folderOutline->setAttribute('text', $folder->getName()); - - // feeds in folders - foreach ($feeds as $feed) { - if ($feed->getFolderId() === $folder->getId()) { - $feedOutline = $this->createFeedOutline($feed, $document); - $folderOutline->appendChild($feedOutline); - } - } - - $body->appendChild($folderOutline); - } - - // feeds without folders - foreach ($feeds as $feed) { - if ($feed->getFolderId() === 0) { - $feedOutline = $this->createFeedOutline($feed, $document); - $body->appendChild($feedOutline); - } - } - - $root->appendChild($body); - - $document->appendChild($root); - - return $document; - } - - - protected function createFeedOutline($feed, $document) { - $feedOutline = $document->createElement('outline'); - $feedOutline->setAttribute('title', $feed->getTitle()); - $feedOutline->setAttribute('text', $feed->getTitle()); - $feedOutline->setAttribute('type', 'rss'); - $feedOutline->setAttribute('xmlUrl', $feed->getUrl()); - $feedOutline->setAttribute('htmlUrl', $feed->getLink()); - return $feedOutline; - } + public function build($folders, $feeds){ + $document = new \DomDocument('1.0', 'UTF-8'); + $document->formatOutput = true; + + $root = $document->createElement('opml'); + $root->setAttribute('version', '2.0'); + + // head + $head = $document->createElement('head'); + + $title = $document->createElement('title', 'Subscriptions'); + $head->appendChild($title); + + $root->appendChild($head); + + // body + $body = $document->createElement('body'); + + // feeds with folders + foreach($folders as $folder) { + $folderOutline = $document->createElement('outline'); + $folderOutline->setAttribute('title', $folder->getName()); + $folderOutline->setAttribute('text', $folder->getName()); + + // feeds in folders + foreach ($feeds as $feed) { + if ($feed->getFolderId() === $folder->getId()) { + $feedOutline = $this->createFeedOutline($feed, $document); + $folderOutline->appendChild($feedOutline); + } + } + + $body->appendChild($folderOutline); + } + + // feeds without folders + foreach ($feeds as $feed) { + if ($feed->getFolderId() === 0) { + $feedOutline = $this->createFeedOutline($feed, $document); + $body->appendChild($feedOutline); + } + } + + $root->appendChild($body); + + $document->appendChild($root); + + return $document; + } + + + protected function createFeedOutline($feed, $document) { + $feedOutline = $document->createElement('outline'); + $feedOutline->setAttribute('title', $feed->getTitle()); + $feedOutline->setAttribute('text', $feed->getTitle()); + $feedOutline->setAttribute('type', 'rss'); + $feedOutline->setAttribute('xmlUrl', $feed->getUrl()); + $feedOutline->setAttribute('htmlUrl', $feed->getLink()); + return $feedOutline; + } } |