libdir.'/moodlelib.php'); require_once($CFG->libdir.'/uploadlib.php'); $success = true; $err = array(); $courseid = required_param('courseid', PARAM_INT); $groupingid = optional_param('grouping', false, PARAM_INT); $newgrouping= optional_param('newgrouping', false, PARAM_INT); $groupid = optional_param('group', false, PARAM_INT); $groupsettings->name = optional_param('name', false, PARAM_TEXT); $groupsettings->description= optional_param('description', '', PARAM_TEXT); $groupsettings->enrolmentkey= optional_param('enrolmentkey', '', PARAM_TEXT); $groupsettings->hidepicture= optional_param('hidepicture', true, PARAM_BOOL); $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 ($delete && !$groupid) { $success = false; print_error('errorinvalidgroup', 'group', groups_home_url($courseid)); } 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, $groupid, $groupingid, false)); } elseif (isset($frm->confirmdelete)) { if ($success = groups_delete_group($groupid)) { redirect(groups_home_url($courseid, null, $groupingid, false)); } else { print_error('erroreditgroup', 'group', groups_home_url($courseid)); } } elseif (empty($frm->name)) { $err['name'] = get_string('missingname'); } elseif (isset($frm->update)) { if (! $groupid) { //OK, new group. if (GROUP_NOT_IN_GROUPING == $groupingid) { print_error('errornotingrouping', 'group', groups_home_url($courseid), get_string('notingrouping', 'group')); } $success = (bool)$groupid = groups_create_group($courseid); //$groupsettings); $success = groups_add_group_to_grouping($groupid, $groupingid); } elseif ($groupingid != $newgrouping) { //OK, move group. if (GROUP_NOT_IN_GROUPING == $newgrouping) { print_error('errornotingrouping', 'group', groups_home_url($courseid), get_string('notingrouping', 'group')); } $success = $success && groups_remove_group_from_grouping($groupid, $groupingid); $success = $success && groups_add_group_to_grouping($groupid, $newgrouping); } if ($success) { //require_once($CFG->dirroot.'/lib/uploadlib.php'); $um = new upload_manager('imagefile',false,false,$course=null,false,$modbytes=0,$silent=false,$allownull=true); if ($um->preprocess_files()) { require_once("$CFG->libdir/gdlib.php"); if (save_profile_image($groupid, $um, 'groups')) { $groupsettings->picture = 1; } } else { $success = false; } } $success = $success && groups_set_group_settings($groupid, $groupsettings); if ($success) { redirect(groups_home_url($courseid, $groupid, $groupingid, false)); } else { print_error('erroreditgroup', 'group', groups_home_url($courseid)); } } } /// OR, prepare the form. if ($groupid) { // Form to edit existing group. $group = groups_get_group_settings($groupid); if (! $group) { print_error('errorinvalidgroup', 'group', groups_home_url($courseid)); } $strname = s($group->name); $strdesc = s($group->description); $strbutton = get_string('save', 'group'); $strheading = get_string('editgroupsettings', 'group'); } else { // Form to create a new one. $strname = get_string('defaultgroupname', 'group'); $strdesc = ''; $strbutton = $strheading = get_string('creategroup', 'group'); } $strgroups = get_string('groups'); $strparticipants = get_string('participants'); if ($delete) { $strheading = get_string('deleteselectedgroup', 'group'); } //else { $strheader = get_string('groupinfoedit'); } $maxbytes = get_max_upload_file_size($CFG->maxbytes, $course->maxbytes); if (!empty($CFG->gdversion) and $maxbytes) { $printuploadpicture = true; } else { $printuploadpicture = false; } /// Print the page and form print_header("$course->shortname: ". $strheading, $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; ?>