diff --git a/mod/wiki/classes/external.php b/mod/wiki/classes/external.php index c79f54482a2..91e710d4d06 100644 --- a/mod/wiki/classes/external.php +++ b/mod/wiki/classes/external.php @@ -824,7 +824,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) ) ); } @@ -1088,7 +1088,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 2e1660bba59..37b64353e2c 100644 --- a/mod/wiki/tests/externallib_test.php +++ b/mod/wiki/tests/externallib_test.php @@ -1155,7 +1155,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)); @@ -1181,7 +1182,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']); } @@ -1273,8 +1274,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); @@ -1284,8 +1286,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); @@ -1297,8 +1299,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.