]> git.mjollnir.org Git - moodle.git/commitdiff
Merged from 1.7
authorvyshane <vyshane>
Mon, 13 Nov 2006 07:32:21 +0000 (07:32 +0000)
committervyshane <vyshane>
Mon, 13 Nov 2006 07:32:21 +0000 (07:32 +0000)
mod/forum/lib.php

index af8ced1d83025a2524dbd55df2bc4f78c2afca4f..3cc15f0976d5a06fbbca8142b448c8ed439af01a 100644 (file)
@@ -1823,11 +1823,6 @@ function forum_make_mail_post(&$post, $user, $touser, $course,
                       $post->discussion.'&amp;parent='.$post->parent.'">'.get_string('parent', 'forum').'</a>';
     }
 
-    if ($ownpost) {
-        $commands[] = '<a target="_blank" href="'.$CFG->wwwroot.'/mod/forum/post.php?delete='.$post->id.'">'.
-                      get_string('delete', 'forum').'</a>';
-    }
-
     if ($reply) {
         $commands[] = '<a target="_blank" href="'.$CFG->wwwroot.'/mod/forum/post.php?reply='.$post->id.'">'.
                       get_string('reply', 'forum').'</a>';
@@ -2036,9 +2031,6 @@ function forum_print_post(&$post, $courseid, $ownpost=false, $reply=false, $link
             $commands[] = '<a href="'.$CFG->wwwroot.'/mod/forum/discuss.php?d='.
                           $post->discussion.'#'.$post->parent.'">'.$strparent.'</a>';
         }
-        $editownpost = $ownpost && has_capability('mod/forum:replypost', $modcontext);
-    } else {
-        $editownpost = $ownpost && has_capability('mod/forum:startdiscussion', $modcontext);
     }
 
     $forumtype = get_field('forum', 'type', 'id', $post->forum);
@@ -2054,7 +2046,7 @@ function forum_print_post(&$post, $courseid, $ownpost=false, $reply=false, $link
 
     
     
-    if ($editownpost or $editanypost) {
+    if ($ownpost or $editanypost) {
         if (($age < $CFG->maxeditingtime) or $editanypost) {
             $commands[] =  '<a href="'.$CFG->wwwroot.'/mod/forum/post.php?edit='.$post->id.'">'.$stredit.'</a>';
         }
@@ -2073,7 +2065,7 @@ function forum_print_post(&$post, $courseid, $ownpost=false, $reply=false, $link
         $commands[] = '<a href="'.$CFG->wwwroot.'/mod/forum/post.php?delete='.$post->id.'">'.$strdelete.'</a>';
     }
 
-    if ($reply and has_capability('mod/forum:replypost', $modcontext)) {
+    if ($reply) {
         $commands[] = '<a href="'.$CFG->wwwroot.'/mod/forum/post.php?reply='.$post->id.'">'.$strreply.'</a>';
     }
 
@@ -2934,10 +2926,6 @@ function forum_user_can_post_discussion($forum, $currentgroup=false, $groupmode=
         return false;
     }
 
-    if (has_capability('moodle/legacy:guest', $context, NULL, false)) {  // User is a guest here!
-        return false;
-    }
-
     if ($forum->type == "eachuser") {
         return (!forum_user_has_posted_discussion($forum->id, $USER->id));
     } else if ($currentgroup) {
@@ -2969,11 +2957,11 @@ function forum_user_can_post($forum, $user=NULL) {
     $context = get_context_instance(CONTEXT_MODULE, $cm->id);
 
     if (isset($user)) {
-        $canreply = has_capability('mod/forum:replypost', $context, $user->id, false) &&
-                    !has_capability('moodle/legacy:guest', $context, $user->id, false);
+        $canreply = has_capability('mod/forum:replypost', $context, $user->id, false)
+                && !has_capability('moodle/legacy:guest', $context, $user->id, false);
     } else {
-        $canreply = has_capability('mod/forum:replypost', $context, NULL, false) &&
-                    !has_capability('moodle/legacy:guest', $context, NULL, false);
+        $canreply = has_capability('mod/forum:replypost', $context, NULL, false)
+                && !has_capability('moodle/legacy:guest', $context, NULL, false);
     }
 
     return $canreply;
@@ -3143,10 +3131,14 @@ function forum_print_latest_discussions($course, $forum, $maxdiscussions=5, $dis
         $visiblegroups = $currentgroup;
     }
 
-/// If the user can post discussions, then this is a good place to put the button for it
-    //add group mode in there, to test for visible group
-    if (forum_user_can_post_discussion($forum, $currentgroup, $groupmode) ||
-        has_capability('moodle/legacy:guest', $context, NULL, false)) {
+/// If the user can post discussions, then this is a good place to put the
+/// button for it. We do not show the button if we are showing site news
+/// and the current user is a guest.
+
+    // TODO: Add group mode in there, to test for visible group.
+    if (forum_user_can_post_discussion($forum, $currentgroup, $groupmode)
+            || (has_capability('moodle/legacy:guest', $context, NULL, false)
+            && $course->id != SITEID)) {
 
         echo '<div class="singlebutton forumaddnew">';
         echo "<form name=\"newdiscussionform\" method=\"get\" action=\"$CFG->wwwroot/mod/forum/post.php\">";