From c2e2d8e3aa279e059b246380d2da60f9550fa2dc Mon Sep 17 00:00:00 2001 From: Dongsheng Cai Date: Mon, 2 Nov 2009 07:18:38 +0000 Subject: [PATCH] "MDL-20602, support FILE_INTERNAL and FILE_EXTERNAL in moodle form elements" --- lib/form/editor.php | 2 +- lib/form/filemanager.php | 4 +- lib/form/filepicker.php | 4 +- lib/form/texturl.js | 19 ------ lib/form/texturl.php | 128 --------------------------------------- lib/form/url.js | 2 +- lib/form/url.php | 2 +- 7 files changed, 7 insertions(+), 154 deletions(-) delete mode 100644 lib/form/texturl.js delete mode 100755 lib/form/texturl.php diff --git a/lib/form/editor.php b/lib/form/editor.php index 0eae06bb1a..98000aa6de 100644 --- a/lib/form/editor.php +++ b/lib/form/editor.php @@ -179,7 +179,7 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element { require_once($CFG->dirroot.'/repository/lib.php'); $client_id = uniqid(); - $repojs = repository_get_client($ctx, $client_id, array('image', 'video', 'media'), '*'); + $repojs = repository_get_client($ctx, $client_id, array('image', 'video', 'media'), (FILE_EXTERNAL | FILE_INTERNAL)); $str .= $repojs; $str .= $PAGE->requires->js_function_call('id2_add_clientid', array($id, $client_id))->asap(); diff --git a/lib/form/filemanager.php b/lib/form/filemanager.php index 35e1b90f43..1625cd7578 100644 --- a/lib/form/filemanager.php +++ b/lib/form/filemanager.php @@ -30,7 +30,7 @@ require_once($CFG->dirroot.'/lib/filelib.php'); class MoodleQuickForm_filemanager extends HTML_QuickForm_element { public $_helpbutton = ''; - protected $_options = array('mainfile'=>'', 'subdirs'=>0, 'maxbytes'=>0, 'maxfiles'=>-1, 'filetypes'=>'*', 'returnvalue'=>'*'); + protected $_options = array('mainfile'=>'', 'subdirs'=>0, 'maxbytes'=>0, 'maxfiles'=>-1, 'filetypes'=>'*', 'returntypes'=>FILE_INTERNAL); function MoodleQuickForm_filemanager($elementName=null, $elementLabel=null, $attributes=null, $options=null) { global $CFG, $PAGE; @@ -189,7 +189,7 @@ class MoodleQuickForm_filemanager extends HTML_QuickForm_element { $client_id = uniqid(); // Generate file picker - $repojs = repository_get_client($context, $client_id, $this->_options['filetypes'], $this->_options['returnvalue']); + $repojs = repository_get_client($context, $client_id, $this->_options['filetypes'], $this->_options['returntypes']); $result = new stdclass; $options = file_get_draft_area_files($draftitemid); diff --git a/lib/form/filepicker.php b/lib/form/filepicker.php index 8580ff498d..e7513fcc1c 100644 --- a/lib/form/filepicker.php +++ b/lib/form/filepicker.php @@ -15,7 +15,7 @@ require_once($CFG->dirroot.'/repository/lib.php'); */ class MoodleQuickForm_filepicker extends HTML_QuickForm_input { public $_helpbutton = ''; - protected $_options = array('maxbytes'=>0, 'filetypes'=>'*', 'returnvalue'=>'*'); + protected $_options = array('maxbytes'=>0, 'filetypes'=>'*', 'returntypes'=>FILE_INTERNAL); function MoodleQuickForm_filepicker($elementName=null, $elementLabel=null, $attributes=null, $options=null) { global $CFG; @@ -93,7 +93,7 @@ class MoodleQuickForm_filepicker extends HTML_QuickForm_input { $context = get_context_instance(CONTEXT_COURSE, $COURSE->id); } $client_id = uniqid(); - $repojs = repository_get_client($context, $client_id, $this->_options['filetypes'], $this->_options['returnvalue']); + $repojs = repository_get_client($context, $client_id, $this->_options['filetypes'], $this->_options['returntypes']); $PAGE->requires->data_for_js('filepicker', array('maxbytes'=>$this->_options['maxbytes'],'maxfiles'=>1)); $PAGE->requires->js('lib/form/filepicker.js'); diff --git a/lib/form/texturl.js b/lib/form/texturl.js deleted file mode 100644 index 84ee2112f5..0000000000 --- a/lib/form/texturl.js +++ /dev/null @@ -1,19 +0,0 @@ -function texturl_callback(params) { -} -function texturl_launch_filepicker(id, client_id, itemid) { - var picker = document.createElement('DIV'); - picker.id = 'file-picker-'+client_id; - picker.className = 'file-picker'; - document.body.appendChild(picker); - var el=document.getElementById(id); - var params = {}; - params.env = 'texturl'; - params.itemid = itemid; - params.maxbytes = -1; - params.maxfiles = -1; - params.savepath = '/'; - params.target = el; - params.callback = texturl_callback; - var fp = open_filepicker(client_id, params); - return false; -} diff --git a/lib/form/texturl.php b/lib/form/texturl.php deleted file mode 100755 index f7d5dc0798..0000000000 --- a/lib/form/texturl.php +++ /dev/null @@ -1,128 +0,0 @@ -dirroot/repository/lib.php"); - $options = (array)$options; - foreach ($options as $name=>$value) { - $this->_options[$name] = $value; - } - parent::HTML_QuickForm_text($elementName, $elementLabel, $attributes); - repository_head_setup(); - } - - function setHiddenLabel($hiddenLabel){ - $this->_hiddenLabel = $hiddenLabel; - } - function toHtml(){ - global $CFG, $COURSE, $USER, $PAGE; - $strsaved = get_string('filesaved', 'repository'); - $straddlink = get_string('choosealink', 'repository'); - if ($COURSE->id == SITEID) { - $context = get_context_instance(CONTEXT_SYSTEM); - } else { - $context = get_context_instance(CONTEXT_COURSE, $COURSE->id); - } - $client_id = uniqid(); - - $repojs = repository_get_client($context, $client_id, '*', 'link'); - - $PAGE->requires->js('lib/form/texturl.js'); - - $id = $this->_attributes['id']; - $elname = $this->_attributes['name']; - - $str = $repojs; - if ($this->_hiddenLabel) { - $this->_generateId(); - $str .= ''.parent::toHtml(); - } else { - $str .= parent::toHtml(); - } - $str .= <<