$class) { // 1. Check of class name is available. if (!isset($class['name']) || strlen(trim($class['name'])) == 0) { $class['line'] = $index + 2; $class['error'] = get_lang('MissingClassName'); $errors[] = $class; } else { // 2. Check whether class doesn't exist yet. if ($usergroup->usergroup_exists($class['name'])) { $class['line'] = $index + 2; $class['error'] = get_lang('ClassNameExists') . ': ' .$class['name'] . ''; $errors[] = $class; } } } return $errors; } /** * Save imported class data to database * * @param $classes * * @return int */ function save_data($classes) { $count = 0; $usergroup = new UserGroup(); foreach ($classes as $index => $class) { $usersToAdd = isset($class['users']) ? $class['users'] : null; unset($class['users']); $id = $usergroup->save($class); if ($id) { if (!empty($usersToAdd)) { $usersToAddList = explode(',', $usersToAdd); $userIdList = array(); foreach ($usersToAddList as $username) { $userInfo = api_get_user_info_from_username($username); $userIdList[] = $userInfo['user_id']; } if (!empty($userIdList)) { $usergroup->subscribe_users_to_usergroup( $id, $userIdList, false ); } } $count++; } } return $count; } // Resetting the course id. $cidReset = true; include '../inc/global.inc.php'; // Setting the section (for the tabs). $this_section = SECTION_PLATFORM_ADMIN; // Access restrictions. api_protect_admin_script(); // setting breadcrumbs $interbreadcrumb[] = array('url' => Container::getRouter()->generate('administration'), 'name' => get_lang('PlatformAdmin')); $interbreadcrumb[] = array('url' => 'usergroups.php', 'name' => get_lang('Classes')); // Database Table Definitions // Setting the name of the tool. $tool_name = get_lang('ImportClassListCSV'); // Displaying the header. Display :: display_header($tool_name); set_time_limit(0); $form = new FormValidator('import_classes'); $form->addElement('file', 'import_file', get_lang('ImportCSVFileLocation')); $group = array(); $group[] = $form->createElement( 'radio', 'file_type', '', 'CSV (' . get_lang('ExampleCSVFile') . ')', 'csv' ); $form->addGroup($group, '', get_lang('FileType'), null); $form->addButtonImport(get_lang('Import')); if ($form->validate()) { $classes = Import::csvToArray($_FILES['import_file']['tmp_name']); $errors = validate_data($classes); if (count($errors) == 0) { $number_of_added_classes = save_data($classes); Display::display_normal_message($number_of_added_classes . ' ' . get_lang('Added')); } else { $error_message = get_lang('ErrorsWhenImportingFile'); $error_message .= '
:
name;description;users "User group 1";"Description";admin,username1,username2