/** * Create a group for every class subscribed to the current course * @param int $category_id The category in which the groups should be created * @return array */ public static function create_class_groups($category_id) { $options['where'] = array(" usergroup.course_id = ? " => api_get_real_course_id()); $obj = new UserGroup(); $classes = $obj->getUserGroupInCourse($options); $group_ids = array(); foreach ($classes as $class) { $users_ids = $obj->get_users_by_usergroup($class['id']); $group_id = self::create_group($class['name'], $category_id, 0, count($users_ids)); self::subscribe_users($users_ids, $group_id); $group_ids[] = $group_id; } return $group_ids; }
$group_el[] = $create_subgroups_form->createElement('static', null, null, get_lang('WithUsersFrom')); $group_el[] = $create_subgroups_form->createElement('select', 'base_group', null, $base_group_options); $group_el[] = $create_subgroups_form->createElement('button', 'submit', get_lang('Ok')); $create_subgroups_form->addGroup($group_el, 'create_groups', null, ' ', false); $defaults = array(); $defaults['action'] = 'create_subgroups'; $create_subgroups_form->setDefaults($defaults); $create_subgroups_form->display(); } } /* * Show form to generate groups from classes subscribed to the course */ $options['where'] = array(" usergroup.course_id = ? " => api_get_real_course_id()); $obj = new UserGroup(); $classes = $obj->getUserGroupInCourse($options); if (count($classes) > 0) { echo '<b>' . get_lang('GroupsFromClasses') . '</b>'; echo '<blockquote>'; echo '<p>' . get_lang('GroupsFromClassesInfo') . '</p>'; echo '<ul>'; foreach ($classes as $index => $class) { $number_of_users = count($obj->get_users_by_usergroup($class['id'])); echo '<li>'; echo $class['name']; echo ' (' . $number_of_users . ' ' . get_lang('Users') . ')'; echo '</li>'; } echo '</ul>'; $create_class_groups_form = new FormValidator('create_class_groups_form', 'post', api_get_self() . '?' . api_get_cidreq()); $create_class_groups_form->addElement('hidden', 'action');