$filename = clean_param($params['filename'], PARAM_FILE);
$filearea = clean_param($params['filearea'], PARAM_ALPHAEXT);
$filepath = clean_param($params['filepath'], PARAM_PATH);;
+ $component = clean_param($params['component'], PARAM_ALPHAEXT);
$context = get_context_instance_by_id(clean_param($params['contextid'], PARAM_INT));
}
} else {
$filename = null;
$filearea = null;
$filepath = null;
+ $component = null;
$context = get_system_context();
}
$browser = get_file_browser();
- if ($fileinfo = $browser->get_file_info($context, $filearea, $itemid, $filepath, $filename)) {
- echo_fb($fileinfo);
+ if ($fileinfo = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename)) {
// build path navigation
$pathnodes = array();
$encodedpath = base64_encode(serialize($fileinfo->get_params()));
$filename = clean_param($params['filename'], PARAM_FILE);
$filepath = clean_param($params['filepath'], PARAM_PATH);;
$filearea = clean_param($params['filearea'], PARAM_ALPHAEXT);
+ $component = clean_param($params['component'], PARAM_ALPHAEXT);
$context = get_context_instance_by_id($contextid);
- $file_info = $browser->get_file_info($context, $filearea, $fileitemid, $filepath, $filename);
- $file_info->copy_to_storage($user_context->id, $new_filearea, $new_itemid, $new_filepath, $new_filename);
+ $file_info = $browser->get_file_info($context, $component, $filearea, $fileitemid, $filepath, $filename);
+ $file_info->copy_to_storage($user_context->id, 'user', 'draft', $new_itemid, $new_filepath, $new_filename);
$info['itemid'] = $new_itemid;
$info['title'] = $new_filename;
$info['contextid'] = $file_record->contextid;
$info['itemid'] = $file_record->itemid;
$info['filearea'] = $file_record->filearea;
+ $info['component'] = $file_record->component;
$info['filepath'] = $file_record->filepath;
$info['filename'] = $file_record->filename;
$result[$file_record->pathnamehash] = $info;
$filename = clean_param($params['filename'], PARAM_FILE);
$filepath = clean_param($params['filepath'], PARAM_PATH);;
$filearea = clean_param($params['filearea'], PARAM_ALPHAEXT);
+ $component = clean_param($params['component'], PARAM_ALPHAEXT);
// XXX:
// When user try to pick a file from other filearea, normally file api will use file browse to
//
// To get 'recent' plugin working, we need to use lower level file_stoarge class to bypass the
// capability check, we will use a better workaround to improve it.
- if ($stored_file = $fs->get_file($contextid, $filearea, $fileitemid, $filepath, $filename)) {
- $file_record = array('contextid'=>$user_context->id, 'filearea'=>$new_filearea,
+ if ($stored_file = $fs->get_file($contextid, $component, $filearea, $fileitemid, $filepath, $filename)) {
+ $file_record = array('contextid'=>$user_context->id, 'component'=>'user', 'filearea'=>'draft',
'itemid'=>$new_itemid, 'filepath'=>$new_filepath, 'filename'=>$new_filename);
- if ($file = $fs->get_file($user_context->id, $new_filearea, $new_itemid, $new_filepath, $new_filename)) {
+ if ($file = $fs->get_file($user_context->id, 'user', 'draft', $new_itemid, $new_filepath, $new_filename)) {
$file->delete();
}
$fs->create_file_from_storedfile($file_record, $stored_file);
$mimetypes = '*';
} else {
foreach ($accepted_types as $type) {
- $mimetypes = mimeinfo('type', $type);
+ $mimetypes[] = mimeinfo('type', $type);
}
if (!in_array(mimeinfo('type', $saveas_filename), $mimetypes)) {
throw new moodle_exception('invalidfiletype', 'repository', '', mimeinfo('type', $_FILES[$elname]['name']));
$info = array();
$info['file'] = $fileinfo['title'];
$info['id'] = $itemid;
- $info['url'] = $CFG->httpswwwroot.'/draftfile.php/'.$fileinfo['contextid'].'/user_draft/'.$itemid.'/'.$fileinfo['title'];
+ $info['url'] = $CFG->httpswwwroot.'/draftfile.php/'.$fileinfo['contextid'].'/user/draft/'.$itemid.'/'.$fileinfo['title'];
$filesize = $fileinfo['filesize'];
if (($maxbytes!==-1) && ($filesize>$maxbytes)) {
throw new file_exception('maxbytes');
$filename = clean_param($params['filename'], PARAM_FILE);
$filearea = clean_param($params['filearea'], PARAM_ALPHAEXT);
$filepath = clean_param($params['filepath'], PARAM_PATH);;
+ $component = clean_param($params['component'], PARAM_ALPHAEXT);
$context = get_context_instance_by_id(clean_param($params['contextid'], PARAM_INT));
}
} else {
$itemid = 0;
$filename = null;
- $filearea = 'user_private';
+ $filearea = 'private';
$filepath = '/';
+ $component = 'user';
$context = get_context_instance(CONTEXT_USER, $USER->id);
}
try {
$browser = get_file_browser();
- if ($fileinfo = $browser->get_file_info($context, $filearea, $itemid, $filepath, $filename)) {
+ if ($fileinfo = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename)) {
$pathnodes = array();
$level = $fileinfo;
$params = $fileinfo->get_params();
$filename = clean_param($params['filename'], PARAM_FILE);
$filepath = clean_param($params['filepath'], PARAM_PATH);;
$filearea = clean_param($params['filearea'], PARAM_ALPHAEXT);
+ $component = clean_param($params['component'], PARAM_ALPHAEXT);
$context = get_context_instance_by_id($contextid);
- $file_info = $browser->get_file_info($context, $filearea, $fileitemid, $filepath, $filename);
- $file_info->copy_to_storage($user_context->id, $new_filearea, $new_itemid, $new_filepath, $new_filename);
+ $file_info = $browser->get_file_info($context, $component, $filearea, $fileitemid, $filepath, $filename);
+ $file_info->copy_to_storage($user_context->id, 'user', 'draft', $new_itemid, $new_filepath, $new_filename);
$info = array();
$info['itemid'] = $new_itemid;