diff --git a/mod/wiki/classes/external.php b/mod/wiki/classes/external.php index 4d8f00b533d..2a33a84def8 100644 --- a/mod/wiki/classes/external.php +++ b/mod/wiki/classes/external.php @@ -822,7 +822,7 @@ class mod_wiki_external extends external_api { return new external_function_parameters ( array( 'pageid' => new external_value(PARAM_INT, 'Page ID to edit.'), - 'section' => new external_value(PARAM_TEXT, 'Section page title.', VALUE_DEFAULT, null) + 'section' => new external_value(PARAM_RAW, 'Section page title.', VALUE_DEFAULT, null) ) ); } @@ -1086,7 +1086,7 @@ class mod_wiki_external extends external_api { array( 'pageid' => new external_value(PARAM_INT, 'Page ID.'), 'content' => new external_value(PARAM_RAW, 'Page contents.'), - 'section' => new external_value(PARAM_TEXT, 'Section page title.', VALUE_DEFAULT, null) + 'section' => new external_value(PARAM_RAW, 'Section page title.', VALUE_DEFAULT, null) ) ); } diff --git a/mod/wiki/tests/externallib_test.php b/mod/wiki/tests/externallib_test.php index 3cb4e83965d..c851208b8f4 100644 --- a/mod/wiki/tests/externallib_test.php +++ b/mod/wiki/tests/externallib_test.php @@ -1136,7 +1136,8 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase { $this->create_individual_wikis_with_groups(); - $sectioncontent = '

Title1

Text inside section'; + // We add a in the first title to verify the WS works sending HTML in section. + $sectioncontent = '

Title1

Text inside section'; $pagecontent = $sectioncontent.'

Title2

Text inside section'; $newpage = $this->getDataGenerator()->get_plugin_generator('mod_wiki')->create_page( $this->wiki, array('content' => $pagecontent)); @@ -1162,7 +1163,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase { 'version' => '1' ); - $result = mod_wiki_external::get_page_for_editing($newpage->id, 'Title1'); + $result = mod_wiki_external::get_page_for_editing($newpage->id, 'Title1'); $result = external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result); $this->assertEquals($expected, $result['pagesection']); } @@ -1254,8 +1255,9 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase { array('group' => $this->group1->id, 'content' => 'Test')); // Test edit whole page. - $sectioncontent = '

Title1

Text inside section'; - $newpagecontent = $sectioncontent.'

Title2

Text inside section'; + // We add in the titles to verify the WS works sending HTML in section. + $sectioncontent = '

Title1

Text inside section'; + $newpagecontent = $sectioncontent.'

Title2

Text inside section'; $result = mod_wiki_external::edit_page($newpage->id, $newpagecontent); $result = external_api::clean_returnvalue(mod_wiki_external::edit_page_returns(), $result); @@ -1265,8 +1267,8 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase { $this->assertEquals($newpagecontent, $version->content); // Test edit section. - $newsectioncontent = '

Title2

New test2'; - $section = 'Title2'; + $newsectioncontent = '

Title2

New test2'; + $section = 'Title2'; $result = mod_wiki_external::edit_page($newpage->id, $newsectioncontent, $section); $result = external_api::clean_returnvalue(mod_wiki_external::edit_page_returns(), $result); @@ -1278,8 +1280,8 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase { $this->assertEquals($expected, $version->content); // Test locked section. - $newsectioncontent = '

Title2

New test2'; - $section = 'Title2'; + $newsectioncontent = '

Title2

New test2'; + $section = 'Title2'; try { // Using user 1 to avoid other users to edit.