libdir.'/moodlelib.php'); $success = true; $courseid = required_param('courseid', PARAM_INT); $groupingid = optional_param('grouping', false, PARAM_INT); $groupingsettings->name = optional_param('name', false, PARAM_TEXT); $groupingsettings->description= optional_param('description', '', PARAM_TEXT); $delete = optional_param('delete', false, PARAM_BOOL); // Get the course information so we can print the header and // check the course id is valid $course = groups_get_course_info($courseid); if (! $course) { $success = false; print_error('invalidcourse'); //'The course ID is invalid' } if (GROUP_NOT_IN_GROUPING == $groupingid) { print_error('errornotingroupingedit', 'group', groups_home_url($courseid), get_string('notingrouping', 'group')); } if ($success) { // Make sure that the user has permissions to manage groups. require_login($courseid); $context = get_context_instance(CONTEXT_COURSE, $courseid); if (! has_capability('moodle/course:managegroups', $context)) { redirect(); } /// If data submitted, then process and store. if ($frm = data_submitted() and confirm_sesskey()) { if (isset($frm->cancel)) { redirect(groups_home_url($courseid, null, $groupingid, false)); } elseif (isset($frm->confirmdelete)) { if ($success = groups_delete_grouping($groupingid)) { redirect(groups_home_url($courseid)); } else { print_error('erroreditgrouping', 'group', groups_home_url($courseid)); } } elseif (empty($frm->name)) { $err['name'] = get_string('missingname'); } elseif (isset($frm->update)) { if ($groupingid) { $success = (bool)groups_set_grouping_settings($groupingid, $groupingsettings); } else { //OK, new group. $success = (bool)$groupingid = groups_create_grouping($courseid, $groupingsettings); } if ($success) { redirect(groups_home_url($courseid, null, $groupingid, false)); } else { print_error('erroreditgrouping', 'group', groups_home_url($courseid)); } } } /// OR, prepare the form. if ($groupingid) { // Form to edit existing grouping. $grouping = groups_get_grouping_settings($groupingid); if (! $grouping) { print_error('errorinvalidgrouping', 'group', groups_home_url($courseid)); } $strname = s($grouping->name); $strdesc = s($grouping->description); $strbutton = get_string('save', 'group'); $strheading = get_string('editgroupingsettings', 'group'); } else { // Form to create a new one. $strname = get_string('defaultgroupingname', 'group'); $strdesc = ''; $strbutton = $strheading = get_string('creategrouping', 'group'); } $strgroups = get_string('groups'); $strparticipants = get_string('participants'); if ($delete) { $strheading = get_string('deletegrouping', 'group'); } /// Print the page and form print_header("$course->shortname: $strgroups", $course->fullname, "wwwroot/course/view.php?id=$courseid\">$course->shortname ". "-> wwwroot/user/index.php?id=$courseid\">$strparticipants ". "-> $strgroups", '', '', true, '', user_login_string($course, $USER)); $usehtmleditor = false; ?>