function filepicker_callback(params) {
- var html = '<div class="mdl-left"><a href="'+params['url']+'">'+params['file']+'</a>';
+ var html = '<a href="'+params['url']+'">'+params['file']+'</a>';
// TODO: support delete the draft file
- //html += '<a href="###" onclick=\'rm_file("'+params['id']+'", "'+params['file']+'", this)\'>Delete</a>';
- html += '</div>';
document.getElementById('file_info_'+params['client_id']).innerHTML = html;
}
params.itemid = itemid;
params.maxbytes = filepicker.maxbytes;
params.maxfiles = filepicker.maxfiles;
+ params.savepath = '/';
params.target = el;
params.callback = filepicker_callback;
var fp = open_filepicker(client_id, params);
$str .= $repojs;
$str .= <<<EOD
-<a href="#nonjsfp" onclick="return launch_filepicker('$id', '$client_id', '$draftitemid')">$straddfile</a>
-<span id="file_info_{$client_id}" class="notifysuccess">$currentfile</span>
-
+<div id="filepicker-wrapper-{$client_id}" style="display:none">
+ <div class="filemanager-toolbar">
+ <a href="###" onclick="return launch_filepicker('$id', '$client_id', '$draftitemid')">$straddfile</a>
+ </div>
+ <div id="file_info_{$client_id}" class="mdl-left">$currentfile</div>
+</div>
<noscript>
-<a name="nonjsfp"></a>
-<object type="text/html" data="{$CFG->httpswwwroot}/repository/filepicker.php?action=embedded&itemid={$draftitemid}&ctx_id=$context->id" height="300" width="800" style="border:1px solid #000">Error</object>
+<object type="text/html" id="nonjs-filepicker-{$client_id}" data="{$CFG->httpswwwroot}/repository/filepicker.php?env=filepicker&action=embedded&itemid={$draftitemid}&ctx_id=$context->id" height="300" width="800" style="border:1px solid #000">Error</object>
</noscript>
EOD;
+ $str .= $PAGE->requires->js_function_call('destroy_item', array("nonjs-filepicker-{$client_id}"))->asap();
+ $str .= $PAGE->requires->js_function_call('show_item', array("filepicker-wrapper-{$client_id}"))->asap();
return $str;
}
case 'download':
$filepath = $repo->get_file($fileurl, $filename, $itemid);
if (!empty($filepath)) {
- $info = repository::move_to_filepool($filepath, $filename, $itemid, $draftpath);
+ if (!is_array($filepath)) {
+ $info = repository::move_to_filepool($filepath, $filename, $itemid, $draftpath);
+ }
redirect($url, get_string('downloadsucc','repository'));
} else {
print_error('cannotdownload', 'repository');
$files = $fs->get_directory_files($user_context->id, 'user_draft', $itemid, $draftpath, false);
echo $OUTPUT->header();
- if (!empty($files) or $draftpath != '/') {
+ if ((!empty($files) or $draftpath != '/') and $env == 'filemanager') {
echo '<div class="fm-breadcrumb">';
$url->param('action', 'browse');
$url->param('draftpath', '/');
$url->param('draftpath', $draftpath);
$url->param('action', 'plugins');
echo '<div class="filemanager-toolbar">';
- echo ' <a href="'.$url->out().'">'.get_string('addfile', 'repository').'</a>';
- $url->param('action', 'mkdirform');
- echo ' <a href="'.$url->out().'">'.get_string('makeafolder', 'moodle').'</a>';
- $url->param('action', 'downloaddir');
- echo ' <a href="'.$url->out().'" target="_blank">'.get_string('downloadfolder', 'repository').'</a>';
+ if ($env == 'filepicker' and sizeof($files) > 0) {
+ } else {
+ echo ' <a href="'.$url->out().'">'.get_string('addfile', 'repository').'</a>';
+ }
+ if ($env == 'filemanager') {
+ $url->param('action', 'mkdirform');
+ echo ' <a href="'.$url->out().'">'.get_string('makeafolder', 'moodle').'</a>';
+ $url->param('action', 'downloaddir');
+ echo ' <a href="'.$url->out().'" target="_blank">'.get_string('downloadfolder', 'repository').'</a>';
+ }
echo '</div>';
if (!empty($files)) {
try {
$browser = get_file_browser();
- if ($fileinfo = $browser->get_file_info($context, $filearea, $itemid, '/', $filename)) {
+ if ($fileinfo = $browser->get_file_info($context, $filearea, $itemid, $filepath, $filename)) {
$level = $fileinfo->get_parent();
while ($level) {
$params = base64_encode(serialize($level->get_params()));
});
el_title.on('contentReady', function() {
this.on('click', function(){
- folder.fireEvent('click');
+ this.folder.fireEvent('click');
});
});
+ el_title.folder = folder;
} else {
var el_title = new YAHOO.util.Element(title.id);
var file = new YAHOO.util.Element(link.id);