From 7f98de7d9d597975ac03dc466e8a337f9a28380b Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Fri, 23 Sep 2016 13:42:00 +0200 Subject: [PATCH] MDL-56103 wiki: Return version in get_page_contents --- mod/wiki/classes/external.php | 9 ++++++++- mod/wiki/tests/externallib_test.php | 6 ++++-- mod/wiki/upgrade.txt | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/mod/wiki/classes/external.php b/mod/wiki/classes/external.php index 20f617c92a4..24d66b27b84 100644 --- a/mod/wiki/classes/external.php +++ b/mod/wiki/classes/external.php @@ -635,6 +635,12 @@ class mod_wiki_external extends external_api { $page->cachedcontent, FORMAT_HTML, $context->id, 'mod_wiki', 'attachments', $subwiki->id); $returnedpage['caneditpage'] = wiki_user_can_edit($subwiki); + // Get page version. + $version = wiki_get_current_version($page->id); + if (!empty($version)) { + $returnedpage['version'] = $version->version; + } + $result = array(); $result['page'] = $returnedpage; $result['warnings'] = $warnings; @@ -660,7 +666,8 @@ class mod_wiki_external extends external_api { 'title' => new external_value(PARAM_RAW, 'Page title.'), 'cachedcontent' => new external_value(PARAM_RAW, 'Page contents.'), 'contentformat' => new external_format_value('cachedcontent', VALUE_OPTIONAL), - 'caneditpage' => new external_value(PARAM_BOOL, 'True if user can edit the page.') + 'caneditpage' => new external_value(PARAM_BOOL, 'True if user can edit the page.'), + 'version' => new external_value(PARAM_INT, 'Latest version of the page.', VALUE_OPTIONAL), ), 'Page' ), 'warnings' => new external_warnings() diff --git a/mod/wiki/tests/externallib_test.php b/mod/wiki/tests/externallib_test.php index f4cdd413f90..cbe49678316 100644 --- a/mod/wiki/tests/externallib_test.php +++ b/mod/wiki/tests/externallib_test.php @@ -976,7 +976,8 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase { 'title' => $this->firstpage->title, 'cachedcontent' => $this->firstpage->cachedcontent, 'contentformat' => 1, - 'caneditpage' => true + 'caneditpage' => true, + 'version' => 1 ); $result = mod_wiki_external::get_page_contents($this->firstpage->id); @@ -1016,7 +1017,8 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase { 'title' => $this->fpsepg1indstu->title, 'cachedcontent' => $this->fpsepg1indstu->cachedcontent, 'contentformat' => 1, - 'caneditpage' => true + 'caneditpage' => true, + 'version' => 1 ); $result = mod_wiki_external::get_page_contents($this->fpsepg1indstu->id); diff --git a/mod/wiki/upgrade.txt b/mod/wiki/upgrade.txt index d6371a3bf0a..0e4d30e182f 100644 --- a/mod/wiki/upgrade.txt +++ b/mod/wiki/upgrade.txt @@ -5,6 +5,7 @@ information provided here is intended especially for developers. * External functions that were returning file information now return the following file fields: filename, filepath, mimetype, filesize, timemodified and fileurl. Those fields are now marked as VALUE_OPTIONAL for backwards compatibility. +* External function get_page_contents now returns the page version. This new field is marked as VALUE_OPTIONAL for backwards compatibility. === 3.1 === * Added a new param $sort to wiki_get_page_list function. Default value behaves exactly like before (sort by title ASC). -- 2.43.0