Merge branch 'MLD-27565-wip' of 'git://github.com/mouneyrac/moodle.git' with changes...
[moodle.git] / notes / externallib.php
index 143cfa5..d5b9c53 100644 (file)
@@ -54,7 +54,7 @@ class moodle_notes_external extends external_api {
      * Create notes about some users
      * Note: code should be matching the /notes/edit.php checks
      * and the /user/addnote.php checks. (they are similar cheks)
-     * @param $notes  An array of notes to create.
+     * @param array $notes  An array of notes to create.
      * @return array (success infos and fail infos)
      */
     public static function create_notes($notes = array()) {
@@ -113,23 +113,22 @@ class moodle_notes_external extends external_api {
 
             if ($success) {
                 //now we can create the note
-                $dbnote = new stdClass();
+                $dbnote = new stdClass;
                 $dbnote->courseid = $note['courseid'];
-                $dbnote->format = FORMAT_PLAIN;
-                //clean param text
+                $dbnote->userid = $note['userid'];
+                //clean param text and set format accordingly
                 switch (strtolower($note['format'])) {
                     case 'html':
-                        $note['text'] = clean_param($note['text'], PARAM_CLEANHTML);
+                        $dbnote->content = clean_param($note['text'], PARAM_CLEANHTML);
+                        $dbnote->format = FORMAT_HTML;
                         break;
                     case 'text':
-                        $note['text'] = clean_param($note['text'], PARAM_TEXT);
-                        break;
                     default:
-                        $note['text'] = clean_param($note['text'], PARAM_TEXT);
+                        $dbnote->content = clean_param($note['text'], PARAM_TEXT);
+                        $dbnote->format = FORMAT_PLAIN;
                         break;
                 }
 
-                $dbnote->content = $note['text'];
                 //get the state ('personal', 'course', 'site')
                 switch ($note['publishstate']) {
                     case 'personal':
@@ -145,7 +144,6 @@ class moodle_notes_external extends external_api {
                     default:
                         break;
                 }
-                $dbnote->userid = $note['userid'];
 
                 //TODO: performance improvement - if possible create a bulk functions for saving multiple notes at once
                 if (note_save($dbnote)) { //note_save attribut an id in case of success
@@ -173,13 +171,13 @@ class moodle_notes_external extends external_api {
      */
     public static function create_notes_returns() {
         return new external_multiple_structure(
-                new external_single_structure(
-                        array(
-                            'clientnoteid' => new external_value(PARAM_ALPHANUMEXT, 'your own id for the note', VALUE_OPTIONAL),
-                            'noteid' => new external_value(PARAM_INT, 'test this to know if it success:  id of the created note when successed, -1 when failed'),
-                            'errormessage' => new external_value(PARAM_TEXT, 'error message - if failed', VALUE_OPTIONAL)
-                        )
+            new external_single_structure(
+                array(
+                    'clientnoteid' => new external_value(PARAM_ALPHANUMEXT, 'your own id for the note', VALUE_OPTIONAL),
+                    'noteid' => new external_value(PARAM_INT, 'test this to know if it success:  id of the created note when successed, -1 when failed'),
+                    'errormessage' => new external_value(PARAM_TEXT, 'error message - if failed', VALUE_OPTIONAL)
                 )
+            )
         );
     }