2 // This file is part of Moodle - http://moodle.org/
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
17 require_once('../config.php');
18 require_once('lib.php');
19 require_once('edit_form.php');
21 $noteid = optional_param('id', 0, PARAM_INT
);
23 $url = new moodle_url('/notes/edit.php');
27 $url->param('id', $noteid);
28 if (!$note = note_load($noteid)) {
29 print_error('invalidid', 'notes');
34 $courseid = required_param('courseid', PARAM_INT
);
35 $userid = required_param('userid', PARAM_INT
);
36 $state = optional_param('publishstate', NOTES_STATE_PUBLIC
, PARAM_ALPHA
);
38 $note = new stdClass();
39 $note->courseid
= $courseid;
40 $note->userid
= $userid;
41 $note->publishstate
= $state;
43 $url->param('courseid', $courseid);
44 $url->param('userid', $userid);
45 if ($state !== NOTES_STATE_PUBLIC
) {
46 $url->param('publishstate', $state);
52 if (!$course = $DB->get_record('course', array('id' => $note->courseid
))) {
53 print_error('invalidcourseid');
56 require_login($course);
58 if (empty($CFG->enablenotes
)) {
59 print_error('notesdisabled', 'notes');
62 $context = context_course
::instance($course->id
);
63 require_capability('moodle/notes:manage', $context);
65 if (!$user = $DB->get_record('user', array('id' => $note->userid
))) {
66 print_error('invaliduserid');
69 $noteform = new note_edit_form();
70 $noteform->set_data($note);
72 // If form was cancelled then return to the notes list of the note.
73 if ($noteform->is_cancelled()) {
74 redirect($CFG->wwwroot
. '/notes/index.php?course=' . $note->courseid
. '&user=' . $note->userid
);
77 // If data was submitted and validated, then save it to database.
78 if ($note = $noteform->get_data()) {
80 // A noteid has been used, we don't allow editing of course or user so
81 // lets unset them to be sure we never change that by accident.
82 unset($note->courseid
);
86 // Redirect to notes list that contains this note.
87 redirect($CFG->wwwroot
. '/notes/index.php?course=' . $note->courseid
. '&user=' . $note->userid
);
91 $strnotes = get_string('editnote', 'notes');
93 $strnotes = get_string('addnewnote', 'notes');
98 if (has_capability('moodle/course:viewparticipants', $context)
99 ||
has_capability('moodle/site:viewparticipants', context_system
::instance())) {
101 $link = new moodle_url('/user/index.php', array('id' => $course->id
));
103 $PAGE->navbar
->add(get_string('participants'), $link);
104 $PAGE->navbar
->add(fullname($user), new moodle_url('/user/view.php', array('id' => $user->id
, 'course' => $course->id
)));
105 $PAGE->navbar
->add(get_string('notes', 'notes'),
106 new moodle_url('/notes/index.php', array('user' => $user->id
, 'course' => $course->id
)));
107 $PAGE->navbar
->add($strnotes);
108 $PAGE->set_title($course->shortname
. ': ' . $strnotes);
109 $PAGE->set_heading($course->fullname
);
111 echo $OUTPUT->header();
112 echo $OUTPUT->heading(fullname($user));
114 $noteform->display();
115 echo $OUTPUT->footer();