Example #1
0
/**
* @param string $fileurl The file's location on the user's computer
* @param string $linkrename If file existed already, this will store the renamed file if the user chooses to rename
* @param string $rootdir target directory of uploaded file
*/
function fm_upload_file($fileurl, $linkrename, $rootdir = 0, $groupid = 0)
{
    global $USER;
    if ($linkrename != NULL) {
        // renaming file and adding the extension
        $newfilename = clean_filename($linkrename . stristr($fileurl['name'], '.'));
    } else {
        $newfilename = clean_filename($fileurl['name']);
    }
    $folder = get_record('fmanager_folders', 'id', $rootdir);
    $folderlocation = $folder ? "{$folder->path}{$folder->name}" : '';
    if (valid_uploaded_file($fileurl)) {
        if (!$newfilename) {
            error(get_string('errwierdfilename', 'block_file_manager', $fileurl['name']));
        } else {
            if ($groupid == 0 && !($dir = make_upload_directory(fm_get_user_dir_space() . $folderlocation))) {
                error(get_string('errnodir', 'block_file_manager'));
            } else {
                if ($groupid != 0 && !($dir = make_upload_directory(fm_get_group_dir_space($groupid) . "{$folder->path}{$folder->name}"))) {
                    error(get_string('errnodir', 'block_file_manager'));
                } else {
                    if (file_exists("{$dir}/{$newfilename}")) {
                        $newfilename = '';
                        // flags the link_manage that file existed already
                    } else {
                        if (move_uploaded_file($fileurl['tmp_name'], "{$dir}/{$newfilename}")) {
                            chmod("{$dir}/{$newfilename}", 0755);
                        } else {
                            error(get_string('errserversave', 'block_file_manager'), "view.php?id={$id}&groupid={$groupid}&rootdir={$rootdir}");
                        }
                    }
                }
            }
        }
    } else {
        error(get_string('errwierdfilename', 'block_file_manager', $fileurl['name']));
    }
    return $newfilename;
}
function block_exabis_eportfolio_add_attachment($entry, $newfile, $id)
{
    // $entry is a full entry record, including course and bookmark
    // $newfile is a full upload array from $_FILES
    // If successful, this function returns the name of the file
    global $CFG;
    if (empty($newfile['name'])) {
        return "";
    }
    $newfile_name = clean_filename($newfile['name']);
    if (valid_uploaded_file($newfile)) {
        if (!$newfile_name) {
            notify("This file had a wierd filename and couldn't be uploaded");
        } else {
            if (!($dir = block_exabis_eportfolio_file_area($entry))) {
                notify("Attachment could not be stored");
                $newfile_name = "";
            } else {
                if (move_uploaded_file($newfile['tmp_name'], "{$dir}/{$newfile_name}")) {
                    chmod("{$dir}/{$newfile_name}", $CFG->directorypermissions);
                    block_exabis_eportfolio_delete_old_attachments($entry, $newfile_name);
                } else {
                    notify("An error happened while saving the file on the server");
                    $newfile_name = "";
                }
            }
        }
    } else {
        $newfile_name = "";
    }
    return $newfile_name;
}