diff --git a/lib/enko/dokuwiki/objectrepresentation/DokuWikiNode.php b/lib/enko/dokuwiki/objectrepresentation/DokuWikiNode.php index 138f805..b49bce2 100755 --- a/lib/enko/dokuwiki/objectrepresentation/DokuWikiNode.php +++ b/lib/enko/dokuwiki/objectrepresentation/DokuWikiNode.php @@ -83,6 +83,13 @@ abstract class DokuWikiNode return $this->name; } + /** + * @return DokuWikiNameSpace + */ + public function getParent() { + return $this->parent; + } + /** * @param $filename * @param null $parent diff --git a/lib/enko/dokuwiki/objectrepresentation/DokuWikiPage.php b/lib/enko/dokuwiki/objectrepresentation/DokuWikiPage.php index eca314d..eacc13a 100755 --- a/lib/enko/dokuwiki/objectrepresentation/DokuWikiPage.php +++ b/lib/enko/dokuwiki/objectrepresentation/DokuWikiPage.php @@ -38,10 +38,18 @@ class DokuWikiPage extends DokuWikiNode $entry = parseChangelogLine($raw_entry); if ((!is_null($this->maxChangeSetAge)) && ($this->maxChangeSetAge->format('U') > $entry['date'])) continue; - $changelog = new DokuWikiChangeset($entry['date'], $entry['extra'], $entry['id'], $entry['ip'], $entry['sum'], $entry['type'], $entry['user'],$page); + $changelog = new DokuWikiChangeset($entry['date'], $entry['extra'], $entry['id'], $entry['ip'], $entry['sum'], $entry['type'], $entry['user'],$this); $this->ChangeLog->append($changelog); } } + if ($this->ChangeLog->count() > 0) { + $this->ChangeLog->uasort(function(DokuWikiChangeset $a, DokuWikiChangeset $b){ + if ($a->getDate() == $b->getDate()) { + return 0; + } + return ($a->getDate() > $b->getDate()) ? -1 : 1; + }); + } } }