Skip to content

Commit

Permalink
Merge branch 'wip-MDL-18128-MOODLE_21_STABLE' of git://github.com/abg…
Browse files Browse the repository at this point in the history
…reeve/moodle into MOODLE_21_STABLE
  • Loading branch information
Sam Hemelryk committed Dec 21, 2011
2 parents 1b9f28d + 53944c5 commit 98b05c1
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
11 changes: 11 additions & 0 deletions mod/forum/post.php
Expand Up @@ -599,6 +599,8 @@
// WARNING: the $fromform->message array has been overwritten, do not use it anymore!
$fromform->messagetrust = trusttext_trusted($modcontext);

$contextcheck = isset($fromform->groupinfo) && has_capability('mod/forum:movediscussions', $modcontext);

if ($fromform->edit) { // Updating a post
unset($fromform->groupid);
$fromform->id = $fromform->edit;
Expand All @@ -621,6 +623,11 @@
print_error('cannotupdatepost', 'forum');
}

// If the user has access to all groups and they are changing the group, then update the post.
if ($contextcheck) {
$DB->set_field('forum_discussions' ,'groupid' , $fromform->groupinfo, array('firstpost' => $fromform->id));
}

$updatepost = $fromform; //realpost
$updatepost->forum = $forum->id;
if (!forum_update_post($updatepost, $mform_post, $message)) {
Expand Down Expand Up @@ -712,6 +719,10 @@
if (!forum_user_can_post_discussion($forum, $fromform->groupid, -1, $cm, $modcontext)) {
print_error('cannotcreatediscussion', 'forum');
}
// If the user has access all groups capability let them choose the group.
if ($contextcheck) {
$fromform->groupid = $fromform->groupinfo;
}
if (empty($fromform->groupid)) {
$fromform->groupid = -1;
}
Expand Down
23 changes: 17 additions & 6 deletions mod/forum/post_form.php
Expand Up @@ -112,15 +112,26 @@ function definition() {
}

if (groups_get_activity_groupmode($cm, $course)) { // hack alert
if (empty($post->groupid)) {
$groupname = get_string('allparticipants');
$groupdata = groups_get_activity_allowed_groups($cm);
$groupcount = count($groupdata);
$modulecontext = get_context_instance(CONTEXT_MODULE, $cm->id);
$contextcheck = has_capability('mod/forum:movediscussions', $modulecontext) && empty($post->parent) && $groupcount > 1;
if ($contextcheck) {
$groupinfo = array('0' => get_string('allparticipants'));
foreach ($groupdata as $grouptemp) {
$groupinfo[$grouptemp->id] = $grouptemp->name;
}
$mform->addElement('select','groupinfo', get_string('group'), $groupinfo);
$mform->setDefault('groupinfo', $post->groupid);
} else {
$group = groups_get_group($post->groupid);
$groupname = format_string($group->name);
if (empty($post->groupid)) {
$groupname = get_string('allparticipants');
} else {
$groupname = format_string($groupdata[$post->groupid]->name);
}
$mform->addElement('static', 'groupinfo', get_string('group'), $groupname);
}
$mform->addElement('static', 'groupinfo', get_string('group'), $groupname);
}

//-------------------------------------------------------------------------------
// buttons
if (isset($post->edit)) { // hack alert
Expand Down

0 comments on commit 98b05c1

Please sign in to comment.