Exemplo n.º 1
0
	<?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);