MDL-37411 Notes: unset courseid and userid when updating the note to prevent accident...
authorRossiani Wijaya <rwijaya@moodle.com>
Tue, 5 Mar 2013 07:17:11 +0000 (15:17 +0800)
committerSam Hemelryk <sam@moodle.com>
Tue, 5 Mar 2013 20:40:16 +0000 (09:40 +1300)
Conflicts:
notes/edit.php

notes/edit.php

index 47aeb2a..1bec36b 100644 (file)
@@ -69,9 +69,17 @@ if ($noteform->is_cancelled()) {
 }
 
 /// if data was submitted and validated, then save it to database
-if ($note = $noteform->get_data()){
+if ($note = $noteform->get_data()) {
+    $notecourseid = isset($note->courseid) ? $note->courseid : SITEID;
+    $noteuserid = isset($note->userid) ? $note->userid : 0;
+    if ($noteid) {
+        // A noteid has been used, we don't allow editing of course or user so
+        // lets unset them to be sure we never change that by accident.
+        unset($note->courseid);
+        unset($note->userid);
+    }
     if (note_save($note)) {
-        add_to_log($note->courseid, 'notes', 'update', 'index.php?course='.$note->courseid.'&amp;user='.$note->userid . '#note-' . $note->id, 'update note');
+        add_to_log($notecourseid, 'notes', 'update', 'index.php?course='.$notecourseid.'&amp;user='.$noteuserid . '#note-' . $note->id, 'update note');
     }
     // redirect to notes list that contains this note
     redirect($CFG->wwwroot . '/notes/index.php?course=' . $note->courseid . '&amp;user=' . $note->userid);