function test_create_grouping() { $this->assertTrue($this->groupingid = groups_create_grouping($this->courseid)); $this->assertTrue(groups_grouping_exists($this->groupingid)); $this->assertTrue(groups_grouping_belongs_to_course($this->groupingid, $this->courseid)); $this->assertTrue($groupinginfo = groups_set_default_grouping_settings()); $groupinginfo->name = 'Grouping ' . $this->getLabel(); $this->assertTrue(groups_set_grouping_settings($this->groupingid, $groupinginfo)); }
/** * Marks a set of groups as a grouping. * * @param array $groupidarray An array of the ids of the groups to marks as a * grouping. * @param int $courseid The id of the course for which the groups should form * a grouping * @return int | false The id of the grouping, or false if an error occurred. * Also returns false if any of the groups specified do not belong to the * course. */ function groups_db_create_grouping($courseid, $groupingsettings = false) { if (!$courseid or !groups_get_course_info($courseid)) { $groupingid = false; } else { // Replace any empty groupsettings $groupingsettings = groups_set_default_grouping_settings($groupingsettings); $record = $groupingsettings; $record->timecreated = time(); $groupingid = insert_record('groups_groupings', $record); if ($groupingid != false) { $record2 = new Object(); $record2->courseid = $courseid; $record2->groupingid = $groupingid; $record2->timeadded = time(); $id = insert_record('groups_courses_groupings', $record2); if (!$id) { $groupingid = false; } } } return $groupingid; }