mirror of
https://github.com/moodle/moodle.git
synced 2025-04-14 13:02:07 +02:00
"MDL-16697, add savepath parameter to filepicker, fixed title click event in filepicker"
This commit is contained in:
parent
2e7f1f79e2
commit
4ba3169d21
@ -1,8 +1,6 @@
|
||||
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;
|
||||
}
|
||||
|
||||
@ -18,6 +16,7 @@ function launch_filepicker(id, client_id, itemid) {
|
||||
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);
|
||||
|
@ -101,14 +101,18 @@ class MoodleQuickForm_filepicker extends HTML_QuickForm_input {
|
||||
$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;
|
||||
}
|
||||
|
||||
|
@ -228,7 +228,9 @@ case 'sign':
|
||||
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');
|
||||
@ -433,7 +435,7 @@ default:
|
||||
$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', '/');
|
||||
@ -457,11 +459,16 @@ default:
|
||||
$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)) {
|
||||
|
@ -72,7 +72,7 @@ class repository_local extends repository {
|
||||
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()));
|
||||
|
@ -850,9 +850,10 @@ repository_client.view_as_icons = function(client_id, data) {
|
||||
});
|
||||
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user