Merge branch 'MDL-51564-master' of git://github.com/jleyva/moodle
authorDan Poltawski <dan@moodle.com>
Tue, 6 Oct 2015 13:36:51 +0000 (14:36 +0100)
committerDan Poltawski <dan@moodle.com>
Tue, 6 Oct 2015 15:32:55 +0000 (16:32 +0100)
12 files changed:
course/externallib.php
lib/upgrade.txt
mod/book/classes/external.php
mod/book/upgrade.txt
mod/choice/classes/external.php
mod/choice/upgrade.txt
mod/imscp/classes/external.php
mod/imscp/upgrade.txt [new file with mode: 0644]
mod/scorm/classes/external.php
mod/scorm/upgrade.txt
mod/upgrade.txt
webservice/upgrade.txt

index e36b268..8e1d4e8 100644 (file)
@@ -238,17 +238,17 @@ class core_course_external extends external_api {
 
                         $module = array();
 
+                        $modcontext = context_module::instance($cm->id);
+
                         //common info (for people being able to see the module or availability dates)
                         $module['id'] = $cm->id;
-                        $module['name'] = format_string($cm->name, true);
+                        $module['name'] = external_format_string($cm->name, $modcontext->id);
                         $module['instance'] = $cm->instance;
                         $module['modname'] = $cm->modname;
                         $module['modplural'] = $cm->modplural;
                         $module['modicon'] = $cm->get_icon_url()->out(false);
                         $module['indent'] = $cm->indent;
 
-                        $modcontext = context_module::instance($cm->id);
-
                         if (!empty($cm->showdescription) or $cm->modname == 'label') {
                             // We want to use the external format. However from reading get_formatted_content(), $cm->content format is always FORMAT_HTML.
                             list($module['description'], $descriptionformat) = external_format_text($cm->content,
@@ -2370,7 +2370,7 @@ class core_course_external extends external_api {
             $info->completion = $cm->completion;
         }
         // Format name.
-        $info->name = format_string($cm->name, true, array('context' => $context));
+        $info->name = external_format_string($cm->name, $context->id);
 
         $result = array();
         $result['cm'] = $info;
@@ -2392,7 +2392,7 @@ class core_course_external extends external_api {
                         'id' => new external_value(PARAM_INT, 'The course module id'),
                         'course' => new external_value(PARAM_INT, 'The course id'),
                         'module' => new external_value(PARAM_INT, 'The module type id'),
-                        'name' => new external_value(PARAM_TEXT, 'The activity name'),
+                        'name' => new external_value(PARAM_RAW, 'The activity name'),
                         'modname' => new external_value(PARAM_COMPONENT, 'The module component name (forum, assign, etc..)'),
                         'instance' => new external_value(PARAM_INT, 'The activity instance id'),
                         'section' => new external_value(PARAM_INT, 'The module section id'),
index c2a6e50..64c6896 100644 (file)
@@ -146,6 +146,8 @@ information provided here is intended especially for developers.
   <frankenstyle>_extend_navigation_category_settings(navigation_node, context_coursecat)
 * The clilib.php provides two new functions cli_write() and cli_writeln() that should be used for outputting texts from the command
   line interface scripts.
+* External function core_course_external::get_course_contents 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.9.1 ===
 
index 45b9e08..6ae937d 100644 (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'),
index 27db349..14dade6 100644 (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
index 3332e61..a167697 100644 (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),
index 4abd3da..b43dede 100644 (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()
index ce179d0..5a092de 100644 (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),
diff --git a/mod/imscp/upgrade.txt b/mod/imscp/upgrade.txt
new file mode 100644 (file)
index 0000000..b675828
--- /dev/null
@@ -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.
index cae7a1c..39cadcf 100644 (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);
 
@@ -727,7 +727,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),
index 00ea929..2e3955f 100644 (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
index 59e0261..fc4c150 100644 (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.
 
index 54122e6..0deb3b2 100644 (file)
@@ -9,6 +9,9 @@ This information is intended for authors of webservices, not people writing webs
   when the fact that a user has that capability does not imply any risk, but other capabilities
   that the user may have do. If your ws protocol does not imply and risk by itself, you can remove the
   riskbitmask from your $capabilities array in webservice/myprotocol/db/access.php
+* New function for formatting external strings: external_format_strings, it should be used as a replacement of format_string in
+  external functions.
+  All the occurrences of format_strings have been replaced with this new function.
 
 === 2.9 ===