<?php $guid = get_input('guid'); $file = get_entity($guid); if (!elgg_instanceof($file, 'object', 'upload_users_file')) { register_error(elgg_echo('upload_users:error:file_open_error')); forward("admin/users/upload"); } if ($file->status !== 'imported') { set_time_limit(0); $imp = new UploadUsers(); $imp->setNotificationFlag($file->notification); $imp->setUpdateExistingUsersFlag($file->update_existing_users); $imp->setFixUsernamesFlag($file->fix_usernames); $imp->setFixPasswordsFlag($file->fix_passwords); $imp->setHeaderMapping($file->getHeaderMapping()); $imp->setRequiredFieldMapping($file->getRequiredFieldMapping()); $data = $file->parseCSV(); $report = $imp->processRecords($data); if (($handle = fopen($file->getFilenameOnFilestore(), 'w')) !== FALSE) { $headerDisplayed = false; foreach ($report as $data) { // Add a header row if it hasn't been added yet if (!$headerDisplayed) { // Use the keys from $data as the titles fputcsv($handle, array_keys($data)); $headerDisplayed = true; } // Put the data into the stream fputcsv($handle, $data); } fclose($handle);