Skip to content

Commit

Permalink
MDL-16164 improved use of forms in notes code and some other minor cl…
Browse files Browse the repository at this point in the history
…eanup
  • Loading branch information
skodak committed Aug 21, 2008
1 parent 5b4b959 commit 241bcec
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 136 deletions.
85 changes: 0 additions & 85 deletions notes/add.php

This file was deleted.

9 changes: 5 additions & 4 deletions notes/delete.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
require_once('lib.php');

// retrieve parameters
$noteid = required_param('note', PARAM_INT);
$noteid = required_param('id', PARAM_INT);

// locate note information
if (!$note = note_load($noteid)) {
Expand All @@ -22,7 +22,7 @@
}

// require login to access notes
require_login($course->id);
require_login($course);

// locate context information
$context = get_context_instance(CONTEXT_COURSE, $course->id);
Expand All @@ -41,11 +41,12 @@
print_error('cannotdeletepost', 'notes', $returnurl);
}
redirect($returnurl);

} else {
// if data was not submitted yet, then show note data with a delete confirmation form
$strnotes = get_string('notes', 'notes');
$optionsyes = array('note'=>$noteid, 'sesskey'=>sesskey());
$optionsno = array('course'=>$course->id, 'user'=>$note->userid);
$optionsyes = array('id'=>$noteid, 'sesskey'=>sesskey());
$optionsno = array('course'=>$course->id, 'user'=>$note->userid);

// output HTML
if (has_capability('moodle/course:viewparticipants', $context) || has_capability('moodle/site:viewparticipants', get_context_instance(CONTEXT_SYSTEM))) {
Expand Down
56 changes: 27 additions & 29 deletions notes/edit.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,28 @@

require_once('../config.php');
require_once('lib.php');
require_once('edit_form.php');

/// retrieve parameters
$noteid = required_param('note', PARAM_INT);
$noteid = optional_param('id', 0, PARAM_INT);

/// locate note information
if (!$note = note_load($noteid)) {
print_error('invalidid', 'notes');
}
if ($noteid) {
//existing note
if (!$note = note_load($noteid)) {
print_error('invalidid', 'notes');
}

} else {
// adding new note
$courseid = required_param('courseid', PARAM_INT);
$userid = required_param('userid', PARAM_INT);
$state = optional_param('publishstate', NOTES_STATE_PUBLIC, PARAM_ALPHA);

$note = new object();
$note->courseid = $courseid;
$note->userid = $userid;
$note->publishstate = $state;
}

/// locate course information
if (!$course = $DB->get_record('course', array('id'=>$note->courseid))) {
Expand All @@ -22,53 +36,37 @@
}

/// require login to access notes
require_login($course->id);
require_login($course);

/// locate context information
$context = get_context_instance(CONTEXT_COURSE, $course->id);

/// check capability
require_capability('moodle/notes:manage', $context);

/// build-up form
require_once('edit_form.php');

/// get option values for the user select

/// create form
$noteform = new note_edit_form();

/// set defaults
$noteform->set_data($note);

/// if form was cancelled then return to the notes list of the note
if ($noteform->is_cancelled()) {
redirect($CFG->wwwroot . '/notes/index.php?course=' . $note->courseid . '&user=' . $note->userid);
}

/// if data was submitted and validated, then save it to database
if ($formdata = $noteform->get_data()){
$note->courseid = $formdata->course;
$note->userid = $formdata->user;
$note->content = $formdata->content;
$note->format = FORMAT_PLAIN;
$note->publishstate = $formdata->publishstate;
if ($note = $noteform->get_data()){
if (note_save($note)) {
add_to_log($note->courseid, 'notes', 'update', 'index.php?course='.$note->courseid.'&user='.$note->userid . '#note-' . $note->id, 'update note');
}
// redirect to notes list that contains this note
redirect($CFG->wwwroot . '/notes/index.php?course=' . $note->courseid . '&user=' . $note->userid);
}


if ($noteform->is_submitted()) {
// if data was submitted with errors, then use it as default for new form
$note = $noteform->get_submitted_data();
if ($noteid) {
$strnotes = get_string('editnote', 'notes');
} else {
// if data was not submitted yet, then used values retrieved from the database
$note->user = $note->userid;
$note->course = $note->courseid;
$note->note = $note->id;
$strnotes = get_string('addnewnote', 'notes');
}
$noteform->set_data($note);
$strnotes = get_string('editnote', 'notes');

/// output HTML
$nav = array();
Expand Down
8 changes: 4 additions & 4 deletions notes/edit_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ function definition() {

$this->add_action_buttons();

$mform->addElement('hidden', 'course');
$mform->addElement('hidden', 'courseid');
$mform->setType('course', PARAM_INT);

$mform->addElement('hidden', 'user');
$mform->addElement('hidden', 'userid');
$mform->setType('user', PARAM_INT);

$mform->addElement('hidden', 'note');
$mform->setType('note', PARAM_INT);
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);
}
}
?>
4 changes: 2 additions & 2 deletions notes/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
}

/// require login to access notes
require_login($course->id);
require_login($course);
add_to_log($courseid, 'notes', 'view', 'index.php?course='.$courseid.'&user='.$userid, 'view notes');


Expand All @@ -77,7 +77,7 @@

$showroles = 1;
$currenttab = 'notes';
require_once($CFG->dirroot .'/user/tabs.php');
require($CFG->dirroot .'/user/tabs.php');

$strsitenotes = get_string('sitenotes', 'notes');
$strcoursenotes = get_string('coursenotes', 'notes');
Expand Down
24 changes: 12 additions & 12 deletions notes/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,18 +89,18 @@ function note_save(&$note) {
$note->module = 'notes';
$note->lastmodified = time();
$note->usermodified = $USER->id;
if(empty($note->format)) {
if (empty($note->format)) {
$note->format = FORMAT_PLAIN;
}
if(empty($note->publishstate)) {
if (empty($note->publishstate)) {
$note->publishstate = NOTES_STATE_PUBLIC;
}
// save data
if(empty($note->id)) {
if (empty($note->id)) {
// insert new note
$note->created = $note->lastmodified;
if ($id = $DB->insert_record('post', $note)) {
$note->id = $id;
$note = $DB->get_record('post', array('id'=>$id));
$result = true;
} else {
$result = false;
Expand Down Expand Up @@ -175,7 +175,7 @@ function note_print($note, $detail = NOTES_SHOW_FULL) {
return;
}
$context = get_context_instance(CONTEXT_COURSE, $note->courseid);
$sitecontext = get_context_instance(CONTEXT_SYSTEM);
$systemcontext = get_context_instance(CONTEXT_SYSTEM);

$authoring = new object();
$authoring->name = '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$author->id.'&amp;course='.$note->courseid.'">'.fullname($author).'</a>';
Expand All @@ -186,7 +186,7 @@ function note_print($note, $detail = NOTES_SHOW_FULL) {
'" id="note-'. $note->id .'">';

// print note head (e.g. author, user refering to, etc)
if($detail & NOTES_SHOW_HEAD) {
if ($detail & NOTES_SHOW_HEAD) {
echo '<div class="header">';
echo '<div class="user">';
print_user_picture($user, $note->courseid, $user->picture);
Expand All @@ -198,19 +198,19 @@ function note_print($note, $detail = NOTES_SHOW_FULL) {
}

// print note content
if($detail & NOTES_SHOW_BODY) {
if ($detail & NOTES_SHOW_BODY) {
echo '<div class="content">';
echo format_text($note->content, $note->format);
echo '</div>';
}

// print note options (e.g. delete, edit)
if($detail & NOTES_SHOW_FOOT) {
if (has_capability('moodle/notes:manage', $sitecontext) && $note->publishstate == NOTES_STATE_SITE ||
if ($detail & NOTES_SHOW_FOOT) {
if (has_capability('moodle/notes:manage', $systemcontext) && $note->publishstate == NOTES_STATE_SITE ||
has_capability('moodle/notes:manage', $context) && ($note->publishstate == NOTES_STATE_PUBLIC || $note->usermodified == $USER->id)) {
echo '<div class="footer"><p>';
echo '<a href="'.$CFG->wwwroot.'/notes/edit.php?note='.$note->id. '">'. get_string('edit') .'</a> | ';
echo '<a href="'.$CFG->wwwroot.'/notes/delete.php?note='.$note->id. '">'. get_string('delete') .'</a>';
echo '<a href="'.$CFG->wwwroot.'/notes/edit.php?id='.$note->id. '">'. get_string('edit') .'</a> | ';
echo '<a href="'.$CFG->wwwroot.'/notes/delete.php?id='.$note->id. '">'. get_string('delete') .'</a>';
echo '</p></div>';
}
}
Expand Down Expand Up @@ -253,7 +253,7 @@ function note_print_notes($header, $addcourseid = 0, $viewnotes = true, $coursei
}
if ($addcourseid) {
if ($userid) {
echo '<p><a href="'. $CFG->wwwroot .'/notes/add.php?course=' . $addcourseid . '&amp;user=' . $userid . '&amp;state=' . $state . '">' . get_string('addnewnote', 'notes') . '</a></p>';
echo '<p><a href="'. $CFG->wwwroot .'/notes/edit.php?courseid=' . $addcourseid . '&amp;userid=' . $userid . '&amp;publishstate=' . $state . '">' . get_string('addnewnote', 'notes') . '</a></p>';
} else {
echo '<p><a href="'. $CFG->wwwroot .'/user/index.php?id=' . $addcourseid. '">' . get_string('addnewnoteselect', 'notes') . '</a></p>';
}
Expand Down

0 comments on commit 241bcec

Please sign in to comment.