From: toyomoyo Date: Mon, 22 May 2006 02:39:14 +0000 (+0000) Subject: merged fix for 5551 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=92998e94bdd9dbd6298711a9d82c91dd44c549eb;p=moodle.git merged fix for 5551 --- diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 1a1c6d75cc..2146cf7f37 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -2706,12 +2706,16 @@ function forum_user_has_posted($forumid,$did,$userid) { return record_exists('forum_posts','discussion',$did,'userid',$userid); } -function forum_user_can_post_discussion($forum, $currentgroup=false, $groupmode='') { +function forum_user_can_post_discussion($forum, $currentgroup=false, $groupmode='', $edit=0) { // $forum is an object global $USER, $SESSION; - if ($forum->type == "eachuser") { - return (! forum_user_has_posted_discussion($forum->id, $USER->id)); + if ($edit) { // fix for 5551, if 1 post per user, should allow edit, if poster is owner + $post = get_record('forum_posts','id',$edit); + return ($post->userid == $USER->id); // editting your own post? + } else { + return (! forum_user_has_posted_discussion($forum->id, $USER->id)); + } } else if ($forum->type == 'qanda') { return isteacher($forum->course); } else if ($forum->type == "teacher") { diff --git a/mod/forum/post.php b/mod/forum/post.php index f60855f4a6..74af5d1505 100644 --- a/mod/forum/post.php +++ b/mod/forum/post.php @@ -748,7 +748,7 @@ if (!empty($parent) && !forum_user_can_see_post($forum,$discussion,$post)) { error("You cannot reply to this post"); } - if (empty($parent) && !forum_user_can_post_discussion($forum)) { + if (empty($parent) && !forum_user_can_post_discussion($forum, false, '', $edit)) { error("You cannot start a new discussion in this forum"); }