MDL-51564 webservice: Review the use of external format_string

This commit is contained in:
Juan Leyva 2015-09-29 10:59:05 +02:00
parent 35d3e8b00b
commit 9748791ba8
12 changed files with 48 additions and 17 deletions

View file

@ -201,7 +201,7 @@ class mod_book_external extends external_api {
$bookdetails['id'] = $book->id;
$bookdetails['coursemodule'] = $book->coursemodule;
$bookdetails['course'] = $book->course;
$bookdetails['name'] = format_string($book->name, true, array('context' => $context));
$bookdetails['name'] = external_format_string($book->name, $context->id);
// Format intro.
list($bookdetails['intro'], $bookdetails['introformat']) =
external_format_text($book->intro, $book->introformat, $context->id, 'mod_book', 'intro', null);
@ -242,7 +242,7 @@ class mod_book_external extends external_api {
'id' => new external_value(PARAM_INT, 'Book id'),
'coursemodule' => new external_value(PARAM_INT, 'Course module id'),
'course' => new external_value(PARAM_INT, 'Course id'),
'name' => new external_value(PARAM_TEXT, 'Book name'),
'name' => new external_value(PARAM_RAW, 'Book name'),
'intro' => new external_value(PARAM_RAW, 'The Book intro'),
'introformat' => new external_format_value('intro'),
'numbering' => new external_value(PARAM_INT, 'Book numbering configuration'),

View file

@ -1,5 +1,10 @@
This files describes API changes in the book code.
=== 3.0 ===
* External function mod_book_external::get_books_by_courses returned parameter "name" has been changed to PARAM_RAW,
this is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used.
=== 2.7 ===
* bogus legacy log calls were removed

View file

@ -116,7 +116,7 @@ class mod_choice_external extends external_api {
}
$options[] = array('id' => $optionid,
'text' => format_string($option->text, true, array('context' => $context)),
'text' => external_format_string($option->text, $context->id),
'maxanswer' => $option->maxanswer,
'userresponses' => $userresponses,
'numberofuser' => $numberofuser,
@ -230,7 +230,7 @@ class mod_choice_external extends external_api {
foreach ($options['options'] as $option) {
$optionarr = array();
$optionarr['id'] = $option->attributes->value;
$optionarr['text'] = format_string($option->text, true, array('context' => $context));
$optionarr['text'] = external_format_string($option->text, $context->id);
$optionarr['maxanswers'] = $option->maxanswers;
$optionarr['displaylayout'] = $option->displaylayout;
$optionarr['countanswers'] = $option->countanswers;
@ -503,7 +503,7 @@ class mod_choice_external extends external_api {
$choicedetails['id'] = $choice->id;
$choicedetails['coursemodule'] = $choice->coursemodule;
$choicedetails['course'] = $choice->course;
$choicedetails['name'] = format_string($choice->name, true, array('context' => $context));;
$choicedetails['name'] = external_format_string($choice->name, $context->id);
// Format intro.
list($choicedetails['intro'], $choicedetails['introformat']) =
external_format_text($choice->intro, $choice->introformat,
@ -555,7 +555,7 @@ class mod_choice_external extends external_api {
'id' => new external_value(PARAM_INT, 'Choice instance id'),
'coursemodule' => new external_value(PARAM_INT, 'Course module id'),
'course' => new external_value(PARAM_INT, 'Course id'),
'name' => new external_value(PARAM_TEXT, 'Choice name'),
'name' => new external_value(PARAM_RAW, 'Choice name'),
'intro' => new external_value(PARAM_RAW, 'The choice intro'),
'introformat' => new external_format_value('intro'),
'publish' => new external_value(PARAM_BOOL, 'If choice is published', VALUE_OPTIONAL),

View file

@ -1,6 +1,12 @@
This files describes API changes in /mod/choice/*,
information provided here is intended especially for developers.
=== 3.0 ===
* External function mod_choice_external::get_choices_by_courses returned parameter "name" and
mod_choice_external::get_choice_results "text" have been changed to PARAM_RAW.
This is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used.
=== 2.9 ===
* custom renderers must be updated to include action=makechoice field in display_options()

View file

@ -157,7 +157,7 @@ class mod_imscp_external extends external_api {
$imscpdetails['id'] = $imscp->id;
$imscpdetails['coursemodule'] = $imscp->coursemodule;
$imscpdetails['course'] = $imscp->course;
$imscpdetails['name'] = format_string($imscp->name, true, array('context' => $context));
$imscpdetails['name'] = external_format_string($imscp->name, $context->id);
if (has_capability('mod/imscp:view', $context)) {
// Format intro.
@ -199,7 +199,7 @@ class mod_imscp_external extends external_api {
'id' => new external_value(PARAM_INT, 'IMSCP id'),
'coursemodule' => new external_value(PARAM_INT, 'Course module id'),
'course' => new external_value(PARAM_INT, 'Course id'),
'name' => new external_value(PARAM_TEXT, 'Activity name'),
'name' => new external_value(PARAM_RAW, 'Activity name'),
'intro' => new external_value(PARAM_RAW, 'The IMSCP intro', VALUE_OPTIONAL),
'introformat' => new external_format_value('intro', VALUE_OPTIONAL),
'revision' => new external_value(PARAM_INT, 'Revision', VALUE_OPTIONAL),

6
mod/imscp/upgrade.txt Normal file
View file

@ -0,0 +1,6 @@
This files describes API changes in the imscp code.
=== 3.0 ===
* External function mod_imscp_external::get_imscps_by_courses returned parameter "name" has been changed to PARAM_RAW,
this is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used.

View file

@ -651,7 +651,7 @@ class mod_scorm_external extends external_api {
$module['id'] = $scorm->id;
$module['coursemodule'] = $scorm->coursemodule;
$module['course'] = $scorm->course;
$module['name'] = format_string($scorm->name, true, array('context' => $context));
$module['name'] = external_format_string($scorm->name, $context->id);
list($module['intro'], $module['introformat']) =
external_format_text($scorm->intro, $scorm->introformat, $context->id, 'mod_scorm', 'intro', $scorm->id);
@ -725,7 +725,7 @@ class mod_scorm_external extends external_api {
'id' => new external_value(PARAM_INT, 'SCORM id'),
'coursemodule' => new external_value(PARAM_INT, 'Course module id'),
'course' => new external_value(PARAM_INT, 'Course id'),
'name' => new external_value(PARAM_TEXT, 'SCORM name'),
'name' => new external_value(PARAM_RAW, 'SCORM name'),
'intro' => new external_value(PARAM_RAW, 'The SCORM intro'),
'introformat' => new external_format_value('intro'),
'packagesize' => new external_value(PARAM_INT, 'SCORM zip package size', VALUE_OPTIONAL),

View file

@ -1,5 +1,12 @@
This files describes API changes in the mod_scorm code.
=== 3.0 ===
* External function mod_scorm_external::get_scorms_by_courses returned parameter "name" has been changed to PARAM_RAW,
this is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used.
* Function scorm_view_display was renamed to scorm_print_launch to avoid
confussion with new function scorm_view.
=== 2.8 ===
* Coding style fixes. A large number of coding style issues were fixed in MDL-45887. This means any local modifications

View file

@ -6,8 +6,6 @@ information provided here is intended especially for developers.
* Dropped support for the $module in mod/xxx/version.php files (deprecated
since 2.7). All activity modules must use the $plugin syntax now. See
https://docs.moodle.org/dev/version.php for details (MDL-43896).
* Function scorm_view_display was renamed to scorm_print_launch to avoid
confussion with new function scorm_view.
* Modules using rating component must implement a callback mod_x_rating_can_see_item_ratings(). Refer
to mod_forum_rating_can_see_item_ratings() for example.