diff --git a/group/index.php b/group/index.php index 8244cf194db..a3d4e57e633 100644 --- a/group/index.php +++ b/group/index.php @@ -11,6 +11,8 @@ require_once('../config.php'); require_once('lib.php'); require_once($CFG->libdir.'/moodlelib.php'); +require_once($CFG->libdir.'/json/JSON.php'); + $success = true; @@ -21,6 +23,7 @@ $userid = optional_param('user', false, PARAM_INT); $action = groups_param_action(); + // Get the course information so we can print the header and // check the course id is valid $course = groups_get_course_info($courseid); @@ -29,6 +32,7 @@ if (! $course) { print_error('invalidcourse'); //'The course ID is invalid' } + if ($success) { // Make sure that the user has permissions to manage groups. require_login($courseid); @@ -41,53 +45,72 @@ if ($success) { // Set the session key so we can check this later $sesskey = !empty($USER->id) ? $USER->sesskey : ''; + switch ($action) { - - case 'showgroupingsettingsform': - redirect(groups_grouping_edit_url($courseid, $groupingid, false)); - break; - case 'showgroupingpermsform': - break; - case 'deletegrouping': - break; - case 'showcreategroupingform': - redirect(groups_grouping_edit_url($courseid, null, false)); - break; - case 'printerfriendly': - redirect('groupui/printgrouping.php?courseid='. $courseid .'&groupingid='. $groupingid); - break; + case 'ajax_getgroupsingrouping': + $groups = groups_groupids_to_groups(groups_get_groups_in_grouping($groupingid)); + $json = new Services_JSON(); + echo $json->encode($groups); + die; // Client side JavaScript takes it from here. - case 'showgroupsettingsform': - redirect(groups_group_edit_url($courseid, $groupid, $groupingid, false)); - break; - case 'deletegroup': - redirect(groups_group_edit_url($courseid, $groupid, $groupingid, false, 'delete=1')); - break; - case 'removegroup': - break; - case 'showcreategroupform': - if (GROUP_NOT_IN_GROUPING == $groupingid) { - print_error('errornotingrouping', 'group', groups_home_url($courseid), get_string('notingrouping', 'group')); - } - redirect(groups_group_edit_url($courseid, null, $groupingid, false)); - break; - case 'addgroupstogroupingsform': - break; - case 'updategroups': //Currently reloading. - break; + case 'ajax_getmembersingroup': + $memberids = groups_get_members($groupid); + $members = array(); - case 'removemembers': - break; - case 'showaddmembersform': - redirect(groups_members_add_url($courseid, $groupid, $groupingid, false)); - break; - case 'updatemembers': //Currently reloading. - break; - default: - //print_error('Unknown action.'); - break; + foreach ($memberids as $memberid) { + $member = groups_get_user($memberid); + array_push($members, $member); + } + $json = new Services_JSON(); + echo $json->encode($members); + die; // Client side JavaScript takes it from here. + + case 'showgroupingsettingsform': + redirect(groups_grouping_edit_url($courseid, $groupingid, false)); + break; + case 'showgroupingpermsform': + break; + case 'deletegrouping': + break; + case 'showcreategroupingform': + redirect(groups_grouping_edit_url($courseid, null, false)); + break; + case 'printerfriendly': + redirect('groupui/printgrouping.php?courseid='. $courseid .'&groupingid='. $groupingid); + break; + + case 'showgroupsettingsform': + redirect(groups_group_edit_url($courseid, $groupid, $groupingid, false)); + break; + case 'deletegroup': + redirect(groups_group_edit_url($courseid, $groupid, $groupingid, false, 'delete=1')); + break; + case 'removegroup': + break; + case 'showcreategroupform': + if (GROUP_NOT_IN_GROUPING == $groupingid) { + print_error('errornotingrouping', 'group', groups_home_url($courseid), get_string('notingrouping', 'group')); + } + redirect(groups_group_edit_url($courseid, null, $groupingid, false)); + break; + case 'addgroupstogroupingsform': + break; + case 'updategroups': //Currently reloading. + break; + + case 'removemembers': + break; + case 'showaddmembersform': + redirect(groups_members_add_url($courseid, $groupid, $groupingid, false)); + break; + case 'updatemembers': //Currently reloading. + break; + default: + //print_error('Unknown action.'); + break; } + // Print the page and form $strgroups = get_string('groups'); $strparticipants = get_string('participants'); @@ -101,17 +124,21 @@ if ($success) { $usehtmleditor = false; //TODO: eventually we'll implement all buttons, meantime hide the ones we haven't finised. $shownotdone = false; + + print_heading($course->shortname.' '.$strgroups, 'center', 3); ?> -