From c2762f06b7befd925038d7bfd9b3a88a15d9a54f Mon Sep 17 00:00:00 2001 From: dongsheng Date: Tue, 5 Aug 2008 05:12:30 +0000 Subject: [PATCH] MDL-13766 1. Make mulit-filepicker in one page possible 2. fix lang strings 3. use itemid specify a draft file TODO itemid should use a better value. --- lib/editor/tinymce.js.php | 4 - lib/form/filepicker.php | 15 +++- lib/weblib.php | 5 ++ repository/boxnet/repository.class.php | 2 +- .../flickr/lang/en_utf8/repository_flickr.php | 2 + repository/flickr/repository.class.php | 4 +- repository/lib.php | 80 +++++++++++-------- repository/ws.php | 7 +- 8 files changed, 75 insertions(+), 44 deletions(-) diff --git a/lib/editor/tinymce.js.php b/lib/editor/tinymce.js.php index f677d87312..8684d2a005 100644 --- a/lib/editor/tinymce.js.php +++ b/lib/editor/tinymce.js.php @@ -196,10 +196,6 @@ $output .= <<_flagFrozen) { return $this->getFrozenHtml(); } else { + $strsaved = get_string('filesaved', 'repository'); + $itemid = time(); $ret = get_repository_client(); $str = $this->_getTabs(); - $str .= ''; + $str .= ''; + $suffix = $ret['suffix']; $str .= << -function callpicker(){ +function updatefile(){ + alert('$strsaved'); + document.getElementById('repo_info').innerHTML = '$strsaved'; +} +function callpicker_$suffix(){ var el=document.getElementById('repo_value'); - openpicker({"env":"form", 'target':el}) + openpicker_$suffix({"env":"form", 'itemid': $itemid, 'target':el, 'callback':updatefile}) } EOD; - $str .= '_getAttrString($this->_attributes) . ' onclick=\'callpicker()\' />'.$ret['html'].$ret['js']; + $str .= '_getAttrString($this->_attributes) . ' onclick=\'callpicker_'.$suffix.'()\' />'.''.$ret['html'].$ret['js']; return $str; } } diff --git a/lib/weblib.php b/lib/weblib.php index d4f74fa4da..9190a214c1 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -4874,9 +4874,14 @@ function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $v // Show shortcuts button if HTML editor is in use, but only if JavaScript is enabled (MDL-9556) $ret = get_repository_client(); $str .= $ret['html'].$ret['js']; + $suffix = $ret['suffix']; $str .= '
'; $str .= ' EOD; $html = << -
+
EOD; - return array('html'=>$html, 'js'=>$js); + return array('html'=>$html, 'js'=>$js, 'suffix'=>$suffix); } diff --git a/repository/ws.php b/repository/ws.php index aec4ecde1e..d9568b99de 100644 --- a/repository/ws.php +++ b/repository/ws.php @@ -17,6 +17,7 @@ $action = optional_param('action', '', PARAM_RAW); $search = optional_param('s', '', PARAM_RAW); // id of repository $repo_id = optional_param('repo_id', 1, PARAM_INT); +$itemid = optional_param('itemid', 0, PARAM_INT); if(!$repository = $DB->get_record('repository', array('id'=>$repo_id))) { $err = new stdclass; @@ -61,7 +62,7 @@ if($action == 'list') { } elseif($action == 'download') { $path = $repo->get_file($file, $title); try { - $info = move_to_filepool($path, $title); + $info = move_to_filepool($path, $title, $itemid); if($env == 'form'){ echo json_encode($info['id']); } elseif($env == 'editor') { @@ -72,6 +73,10 @@ if($action == 'list') { $err = new stdclass; $err->e = $e->getMessage(); die(json_encode($err)); + } catch (Exception $e) { + $err = new stdclass; + $err->e = $e->getMessage(); + die(json_encode($err)); } } else { try { -- 2.39.5