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;
$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);
*/
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;
$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');
+++ /dev/null
-<?php
-require_once("HTML/QuickForm/text.php");
-
-/**
- * HTML class for a texturl type element
- *
- * @author Jamie Pratt
- * @access public
- */
-class MoodleQuickForm_texturl extends HTML_QuickForm_text{
- /**
- * html for help button, if empty then no help
- *
- * @var string
- */
- var $_helpbutton='';
- var $_hiddenLabel=false;
-
- function MoodleQuickForm_texturl($elementName=null, $elementLabel=null, $attributes=null, $options=null) {
- global $CFG;
- require_once("$CFG->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 .= '<label class="accesshide" for="'.$this->getAttribute('id').'" >'.
- $this->getLabel().'</label>'.parent::toHtml();
- } else {
- $str .= parent::toHtml();
- }
- $str .= <<<EOD
-<button id="filepicker-btn-{$client_id}" style="display:none" onclick="return texturl_launch_filepicker('$id', '$client_id', 0)">$straddlink</button>
-EOD;
- // hide the button if javascript is not enabled
- $str .= $PAGE->requires->js_function_call('show_item', array("filepicker-btn-{$client_id}"))->asap();
- return $str;
- }
- /**
- * Automatically generates and assigns an 'id' attribute for the element.
- *
- * Currently used to ensure that labels work on radio buttons and
- * checkboxes. Per idea of Alexander Radivanovich.
- * Overriden in moodleforms to remove qf_ prefix.
- *
- * @access private
- * @return void
- */
- function _generateId()
- {
- static $idx = 1;
-
- if (!$this->getAttribute('id')) {
- $this->updateAttributes(array('id' => 'id_'. substr(md5(microtime() . $idx++), 0, 6)));
- }
- } // end func _generateId
- /**
- * set html for help button
- *
- * @access public
- * @param array $help array of arguments to make a help button
- * @param string $function function name to call to get html
- */
- function setHelpButton($helpbuttonargs, $function='helpbutton'){
- if (!is_array($helpbuttonargs)){
- $helpbuttonargs=array($helpbuttonargs);
- }else{
- $helpbuttonargs=$helpbuttonargs;
- }
- //we do this to to return html instead of printing it
- //without having to specify it in every call to make a button.
- if ('helpbutton' == $function){
- $defaultargs=array('', '', 'moodle', true, false, '', true);
- $helpbuttonargs=$helpbuttonargs + $defaultargs ;
- }
- $this->_helpbutton=call_user_func_array($function, $helpbuttonargs);
- }
- /**
- * get html for help button
- *
- * @access public
- * @return string html for help button
- */
- function getHelpButton(){
- return $this->_helpbutton;
- }
- /**
- * Slightly different container template when frozen. Don't want to use a label tag
- * with a for attribute in that case for the element label but instead use a div.
- * Templates are defined in renderer constructor.
- *
- * @return string
- */
- function getElementTemplateType(){
- if ($this->_flagFrozen){
- return 'static';
- } else {
- return 'default';
- }
- }
-}