]> git.mjollnir.org Git - moodle.git/commitdiff
- students cannot add/edit/delete comments if it isn't allowed
authorstronk7 <stronk7>
Sat, 28 Aug 2004 18:34:10 +0000 (18:34 +0000)
committerstronk7 <stronk7>
Sat, 28 Aug 2004 18:34:10 +0000 (18:34 +0000)
- 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

mod/glossary/comment.php
mod/glossary/comments.php
mod/glossary/lib.php

index b8be1fd1c2b240f04b2ad404c8d785ed50dcf8ab..eef56e110defc0d382fa25a21200b8567b1c229a 100644 (file)
@@ -8,7 +8,7 @@
     require_variable($eid);            // Entry 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
 
     $action = strtolower($action);
@@ -57,8 +57,8 @@
             $straction = get_string("deletingcomment","glossary");
             break;
         default:
-            $action = "edit";
-            $straction = get_string("editingcomment","glossary");
+            $action = "add";
+            $straction = get_string("addingcomment","glossary");
             break;
     }
     $strglossaries = get_string("modulenameplural", "glossary");
@@ -78,6 +78,9 @@
         if (($comment->userid <> $USER->id) and !isteacher($glossary->course)) {
             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 ) {
             delete_records("glossary_comments","id", $cid);             
 
             print_simple_box_end();
         }
     } else {
+        if (!$glossary->allowcomments && !isteacher($glossary->course)) {
+            error("You can't add/edit comments in this glossary!");
+        }
         if ( $action == "edit" ) {
-            $ineditperiod = ((time() - $comment->timemodified <  $CFG->maxeditingtime) || $glossary->editalways);
-            if ( (!$ineditperiod || $USER->id != $comment->userid) and !isteacher($course->id) ) {
+            if (!isset($comment->timemodified)) {
+                $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 ) {
                     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!");
                 }
                 die;
index d69eb54b85947689ee227087e437c21d8c4c892d..554478f4f046951a23cc63150a003449e2f20899 100644 (file)
@@ -59,7 +59,7 @@
 
     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>");
     }
 
index 7df5125c11b20d3da7032be2c752f885ad8587ee..4b1b417b55dd727f41b3232aa757dccd5910ad5d 100644 (file)
@@ -686,7 +686,7 @@ function glossary_print_entry_icons($course, $cm, $glossary, $entry,$mode="",$ho
     $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> ";
     }
 
@@ -1557,11 +1557,11 @@ function glossary_print_comment($course, $cm, $glossary, $entry, $comment) {
 
     echo "<div align=right><p align=right>";
     $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  
                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  
                alt=\"" . get_string("delete") . "\" src=\"$CFG->pixpath/t/delete.gif\" height=11 width=11 border=0></a>";
     }