moodle/lib/form/file.php
jamiesensei 5ce73257ab some bug fixes in setHelpButton internals.
added new editorhelpbutton function that can be used to refer to several help topics.
2007-01-04 10:23:06 +00:00

63 lines
1.9 KiB
PHP

<?php
require_once('HTML/QuickForm/file.php');
/**
* HTML class for a form element to upload a file
*
* @author Jamie Pratt
* @access public
*/
class MoodleQuickForm_file extends HTML_QuickForm_file{
/**
* html for help button, if empty then no help
*
* @var string
*/
var $_helpbutton='';
/**
* 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);
}
/**
* 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 getHelpButton(){
return $this->_helpbutton;
}
/**
* Override createElement event to add max files
*/
function onQuickFormEvent($event, $arg, &$caller)
{
if ($event == 'createElement') {
$className = get_class($this);
$this->$className($arg[0], $arg[1].' ('.get_string('maxsize', '', display_size($caller->getMaxFileSize())).')', $arg[2]);
return true;
}
return parent::onQuickFormEvent($event, $arg, $caller);
} // end func onQuickFormEvent
}
?>