From: dongsheng Date: Wed, 9 Sep 2009 04:59:58 +0000 (+0000) Subject: "MDL-16697, add savepath parameter to filepicker, fixed title click event in filepicker" X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=4ba3169d214c4c46e5b29104746f4eeb230ac19b;p=moodle.git "MDL-16697, add savepath parameter to filepicker, fixed title click event in filepicker" --- diff --git a/lib/form/filepicker.js b/lib/form/filepicker.js index 9f1ecda166..7ad7d24177 100644 --- a/lib/form/filepicker.js +++ b/lib/form/filepicker.js @@ -1,8 +1,6 @@ function filepicker_callback(params) { - var html = '
'+params['file']+''; + var html = ''+params['file']+''; // TODO: support delete the draft file - //html += 'Delete'; - html += '
'; 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); diff --git a/lib/form/filepicker.php b/lib/form/filepicker.php index 092bcf7583..f5dc39a72f 100644 --- a/lib/form/filepicker.php +++ b/lib/form/filepicker.php @@ -101,14 +101,18 @@ class MoodleQuickForm_filepicker extends HTML_QuickForm_input { $str .= $repojs; $str .= <<$straddfile -$currentfile - + 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; } diff --git a/repository/filepicker.php b/repository/filepicker.php index 60f4117369..6564221fb4 100755 --- a/repository/filepicker.php +++ b/repository/filepicker.php @@ -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 '
'; $url->param('action', 'browse'); $url->param('draftpath', '/'); @@ -457,11 +459,16 @@ default: $url->param('draftpath', $draftpath); $url->param('action', 'plugins'); echo '
'; - echo ' '.get_string('addfile', 'repository').''; - $url->param('action', 'mkdirform'); - echo ' '.get_string('makeafolder', 'moodle').''; - $url->param('action', 'downloaddir'); - echo ' '.get_string('downloadfolder', 'repository').''; + if ($env == 'filepicker' and sizeof($files) > 0) { + } else { + echo ' '.get_string('addfile', 'repository').''; + } + if ($env == 'filemanager') { + $url->param('action', 'mkdirform'); + echo ' '.get_string('makeafolder', 'moodle').''; + $url->param('action', 'downloaddir'); + echo ' '.get_string('downloadfolder', 'repository').''; + } echo '
'; if (!empty($files)) { diff --git a/repository/local/repository.class.php b/repository/local/repository.class.php index 36dd73bae6..13ddb00c2f 100755 --- a/repository/local/repository.class.php +++ b/repository/local/repository.class.php @@ -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())); diff --git a/repository/repository.src.js b/repository/repository.src.js index 0391ad0c7f..c20836a90a 100644 --- a/repository/repository.src.js +++ b/repository/repository.src.js @@ -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);