3 require_once('../config.php');
4 require_once('lib.php');
5 require_once('edit_form.php');
7 /// retrieve parameters
8 $noteid = optional_param('id', 0, PARAM_INT
);
10 $url = new moodle_url('/notes/edit.php');
14 $url->param('id', $noteid);
15 if (!$note = note_load($noteid)) {
16 print_error('invalidid', 'notes');
21 $courseid = required_param('courseid', PARAM_INT
);
22 $userid = required_param('userid', PARAM_INT
);
23 $state = optional_param('publishstate', NOTES_STATE_PUBLIC
, PARAM_ALPHA
);
25 $note = new stdClass();
26 $note->courseid
= $courseid;
27 $note->userid
= $userid;
28 $note->publishstate
= $state;
30 $url->param('courseid', $courseid);
31 $url->param('userid', $userid);
32 if ($state !== NOTES_STATE_PUBLIC
) {
33 $url->param('publishstate', $state);
39 /// locate course information
40 if (!$course = $DB->get_record('course', array('id'=>$note->courseid
))) {
41 print_error('invalidcourseid');
44 /// locate user information
45 if (!$user = $DB->get_record('user', array('id'=>$note->userid
))) {
46 print_error('invaliduserid');
49 /// require login to access notes
50 require_login($course);
52 /// locate context information
53 $context = context_course
::instance($course->id
);
54 require_capability('moodle/notes:manage', $context);
56 if (empty($CFG->enablenotes
)) {
57 print_error('notesdisabled', 'notes');
61 $noteform = new note_edit_form();
64 $noteform->set_data($note);
66 /// if form was cancelled then return to the notes list of the note
67 if ($noteform->is_cancelled()) {
68 redirect($CFG->wwwroot
. '/notes/index.php?course=' . $note->courseid
. '&user=' . $note->userid
);
71 /// if data was submitted and validated, then save it to database
72 if ($note = $noteform->get_data()) {
73 $notecourseid = isset($note->courseid
) ?
$note->courseid
: SITEID
;
74 $noteuserid = isset($note->userid
) ?
$note->userid
: 0;
76 // A noteid has been used, we don't allow editing of course or user so
77 // lets unset them to be sure we never change that by accident.
78 unset($note->courseid
);
81 if (note_save($note)) {
82 add_to_log($notecourseid, 'notes', 'update', 'index.php?course='.$notecourseid.'&user='.$noteuserid . '#note-' . $note->id
, 'update note');
84 // redirect to notes list that contains this note
85 redirect($CFG->wwwroot
. '/notes/index.php?course=' . $note->courseid
. '&user=' . $note->userid
);
89 $strnotes = get_string('editnote', 'notes');
91 $strnotes = get_string('addnewnote', 'notes');
96 if (has_capability('moodle/course:viewparticipants', $context) ||
has_capability('moodle/site:viewparticipants', context_system
::instance())) {
97 $link = new moodle_url('/user/index.php',array('id'=>$course->id
));
99 $PAGE->navbar
->add(get_string('participants'), $link);
100 $PAGE->navbar
->add(fullname($user), new moodle_url('/user/view.php', array('id'=>$user->id
,'course'=>$course->id
)));
101 $PAGE->navbar
->add(get_string('notes', 'notes'), new moodle_url('/notes/index.php', array('user'=>$user->id
,'course'=>$course->id
)));
102 $PAGE->navbar
->add($strnotes);
103 $PAGE->set_title($course->shortname
. ': ' . $strnotes);
104 $PAGE->set_heading($course->fullname
);
106 echo $OUTPUT->header();
107 echo $OUTPUT->heading(fullname($user));
109 $noteform->display();
110 echo $OUTPUT->footer();