- students cannot add/edit/delete comments if it isn't allowed

- students can view comments if they exist
- teachers bypass the commentsallowed field always (this can be useful to create glossaries with public comments from the teacher).
- buttons are showed correctly.

Bug 1814
(http://moodle.org/bugs/bug.php?op=show&bugid=1814)

Merged from MOODLE_14_STABLE
This commit is contained in:
stronk7 2004-08-28 18:34:10 +00:00
parent 9f106aa197
commit 944d82d4d3
3 changed files with 21 additions and 10 deletions

View file

@ -8,7 +8,7 @@
require_variable($eid); // Entry ID require_variable($eid); // Entry ID
optional_variable($cid,0); // Comment ID optional_variable($cid,0); // Comment ID
optional_variable($action,"edit"); // Action to perform optional_variable($action,"add"); // Action to perform
optional_variable($confirm,0); // Confirm the action optional_variable($confirm,0); // Confirm the action
$action = strtolower($action); $action = strtolower($action);
@ -57,8 +57,8 @@
$straction = get_string("deletingcomment","glossary"); $straction = get_string("deletingcomment","glossary");
break; break;
default: default:
$action = "edit"; $action = "add";
$straction = get_string("editingcomment","glossary"); $straction = get_string("addingcomment","glossary");
break; break;
} }
$strglossaries = get_string("modulenameplural", "glossary"); $strglossaries = get_string("modulenameplural", "glossary");
@ -78,6 +78,9 @@
if (($comment->userid <> $USER->id) and !isteacher($glossary->course)) { if (($comment->userid <> $USER->id) and !isteacher($glossary->course)) {
error("You can't delete other people's comments!"); error("You can't delete other people's comments!");
} }
if (!$glossary->allowcomments && !isteacher($glossary->course)) {
error("You can't delete comments in this glossary!");
}
if ( $confirm ) { if ( $confirm ) {
delete_records("glossary_comments","id", $cid); delete_records("glossary_comments","id", $cid);
@ -111,12 +114,20 @@
print_simple_box_end(); print_simple_box_end();
} }
} else { } else {
if (!$glossary->allowcomments && !isteacher($glossary->course)) {
error("You can't add/edit comments in this glossary!");
}
if ( $action == "edit" ) { if ( $action == "edit" ) {
$ineditperiod = ((time() - $comment->timemodified < $CFG->maxeditingtime) || $glossary->editalways); if (!isset($comment->timemodified)) {
if ( (!$ineditperiod || $USER->id != $comment->userid) and !isteacher($course->id) ) { $timetocheck = 0;
} else {
$timetocheck = $comment->timemodified;
}
$ineditperiod = ((time() - $timetocheck < $CFG->maxeditingtime) || $glossary->editalways);
if ( (!$ineditperiod || $USER->id != $comment->userid) and !isteacher($course->id) and $cid) {
if ( $USER->id != $comment->userid ) { if ( $USER->id != $comment->userid ) {
error("You can't edit other people's comments!"); error("You can't edit other people's comments!");
} elseif (time() - $comment->timemodified >= $CFG->maxeditingtime ) { } elseif (!$ineditperiod) {
error("You can't edit this. Time expired!"); error("You can't edit this. Time expired!");
} }
die; die;

View file

@ -59,7 +59,7 @@
print_heading(get_string('commentson','glossary')." <b>\"$entry->concept\"</b>"); print_heading(get_string('commentson','glossary')." <b>\"$entry->concept\"</b>");
if ($glossary->allowcomments) { if ($glossary->allowcomments || isteacher($glossary->course)) {
print_heading("<a href=\"comment.php?id=$cm->id&eid=$entry->id\">$straddcomment</a> <img title=\"$straddcomment\" src=\"comment.gif\" height=11 width=11 border=0>"); print_heading("<a href=\"comment.php?id=$cm->id&eid=$entry->id\">$straddcomment</a> <img title=\"$straddcomment\" src=\"comment.gif\" height=11 width=11 border=0>");
} }

View file

@ -686,7 +686,7 @@ function glossary_print_entry_icons($course, $cm, $glossary, $entry,$mode="",$ho
$return .= "</font> "; $return .= "</font> ";
if ( $glossary->allowcomments and !isguest()) { if ( ($glossary->allowcomments && !isguest()) || isteacher($glossary->course)) {
$return .= " <a title=\"" . get_string("addcomment","glossary") . "\" href=\"comment.php?id=$cm->id&eid=$entry->id\"><img src=\"comment.gif\" height=11 width=11 border=0></a> "; $return .= " <a title=\"" . get_string("addcomment","glossary") . "\" href=\"comment.php?id=$cm->id&eid=$entry->id\"><img src=\"comment.gif\" height=11 width=11 border=0></a> ";
} }
@ -1557,11 +1557,11 @@ function glossary_print_comment($course, $cm, $glossary, $entry, $comment) {
echo "<div align=right><p align=right>"; echo "<div align=right><p align=right>";
$ineditperiod = ((time() - $comment->timemodified < $CFG->maxeditingtime) || $glossary->editalways); $ineditperiod = ((time() - $comment->timemodified < $CFG->maxeditingtime) || $glossary->editalways);
if ( ($ineditperiod && $USER->id == $comment->userid) or isteacher($course->id) ) { if ( ($glossary->allowcomments && $ineditperiod && $USER->id == $comment->userid) || isteacher($course->id) ) {
echo "<a href=\"comment.php?id=$cm->id&eid=$entry->id&cid=$comment->id&action=edit\"><img echo "<a href=\"comment.php?id=$cm->id&eid=$entry->id&cid=$comment->id&action=edit\"><img
alt=\"" . get_string("edit") . "\" src=\"$CFG->pixpath/t/edit.gif\" height=11 width=11 border=0></a> "; alt=\"" . get_string("edit") . "\" src=\"$CFG->pixpath/t/edit.gif\" height=11 width=11 border=0></a> ";
} }
if ( $USER->id == $comment->userid or isteacher($course->id) ) { if ( ($glossary->allowcomments && $USER->id == $comment->userid) || isteacher($course->id) ) {
echo "<a href=\"comment.php?id=$cm->id&eid=$entry->id&cid=$comment->id&action=delete\"><img echo "<a href=\"comment.php?id=$cm->id&eid=$entry->id&cid=$comment->id&action=delete\"><img
alt=\"" . get_string("delete") . "\" src=\"$CFG->pixpath/t/delete.gif\" height=11 width=11 border=0></a>"; alt=\"" . get_string("delete") . "\" src=\"$CFG->pixpath/t/delete.gif\" height=11 width=11 border=0></a>";
} }