mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 08:56:36 +02:00
MDL-30974 form: Checked and updated docblock for form library
This commit is contained in:
parent
5fc420e2ed
commit
6c1fd30484
39 changed files with 2567 additions and 1156 deletions
|
@ -1,4 +1,29 @@
|
|||
<?php
|
||||
// This file is part of Moodle - http://moodle.org/
|
||||
//
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Moodle is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
/**
|
||||
* Editor input element
|
||||
*
|
||||
* Contains class to create preffered editor form element
|
||||
*
|
||||
* @package core_form
|
||||
* @copyright 2009 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
global $CFG;
|
||||
|
||||
|
@ -6,19 +31,41 @@ require_once('HTML/QuickForm/element.php');
|
|||
require_once($CFG->dirroot.'/lib/filelib.php');
|
||||
require_once($CFG->dirroot.'/repository/lib.php');
|
||||
|
||||
//TODO:
|
||||
// * locking
|
||||
// * freezing
|
||||
// * ajax format conversion
|
||||
|
||||
/**
|
||||
* Editor element
|
||||
*
|
||||
* It creates preffered editor (textbox/TinyMce) form element for the format (Text/HTML) selected.
|
||||
*
|
||||
* @package core_form
|
||||
* @category form
|
||||
* @copyright 2009 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @todo MDL-29421 element Freezing
|
||||
* @todo MDL-29426 ajax format conversion
|
||||
*/
|
||||
class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
||||
/** @var string html for help button, if empty then no help will icon will be dispalyed. */
|
||||
public $_helpbutton = '';
|
||||
|
||||
/** @var string defines the type of editor */
|
||||
public $_type = 'editor';
|
||||
|
||||
/** @var array options provided to initalize filepicker */
|
||||
protected $_options = array('subdirs'=>0, 'maxbytes'=>0, 'maxfiles'=>0, 'changeformat'=>0,
|
||||
'context'=>null, 'noclean'=>0, 'trusttext'=>0);
|
||||
|
||||
/** @var array values for editor */
|
||||
protected $_values = array('text'=>null, 'format'=>null, 'itemid'=>null);
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param string $elementName (optional) name of the editor
|
||||
* @param string $elementLabel (optional) editor label
|
||||
* @param array $attributes (optional) Either a typical HTML attribute string
|
||||
* or an associative array
|
||||
* @param array $options set of options to initalize filepicker
|
||||
*/
|
||||
function MoodleQuickForm_editor($elementName=null, $elementLabel=null, $attributes=null, $options=null) {
|
||||
global $CFG, $PAGE;
|
||||
|
||||
|
@ -40,14 +87,29 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
|||
editors_head_setup();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets name of editor
|
||||
*
|
||||
* @param string $name name of the editor
|
||||
*/
|
||||
function setName($name) {
|
||||
$this->updateAttributes(array('name'=>$name));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns name of element
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function getName() {
|
||||
return $this->getAttribute('name');
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates editor values, if part of $_values
|
||||
*
|
||||
* @param array $values associative array of values to set
|
||||
*/
|
||||
function setValue($values) {
|
||||
$values = (array)$values;
|
||||
foreach ($values as $name=>$value) {
|
||||
|
@ -57,31 +119,66 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns editor values
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function getValue() {
|
||||
return $this->_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns maximum file size which can be uploaded
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
function getMaxbytes() {
|
||||
return $this->_options['maxbytes'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets maximum file size which can be uploaded
|
||||
*
|
||||
* @param int $maxbytes file size
|
||||
*/
|
||||
function setMaxbytes($maxbytes) {
|
||||
global $CFG;
|
||||
$this->_options['maxbytes'] = get_max_upload_file_size($CFG->maxbytes, $maxbytes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns maximum number of files which can be uploaded
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
function getMaxfiles() {
|
||||
return $this->_options['maxfiles'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets maximum number of files which can be uploaded.
|
||||
*
|
||||
* @param int $num number of files
|
||||
*/
|
||||
function setMaxfiles($num) {
|
||||
$this->_options['maxfiles'] = $num;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if subdirectoy can be created, else false
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function getSubdirs() {
|
||||
return $this->_options['subdirs'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Set option to create sub directory, while uploading file
|
||||
*
|
||||
* @param bool $allow true if sub directory can be created.
|
||||
*/
|
||||
function setSubdirs($allow) {
|
||||
$this->_options['subdirs'] = $allow;
|
||||
}
|
||||
|
@ -96,14 +193,23 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
|||
}
|
||||
|
||||
/**
|
||||
* Checks if editor used is tinymce and is required field
|
||||
* Checks if editor used is a required field
|
||||
*
|
||||
* @return true if required field.
|
||||
* @return bool true if required field.
|
||||
*/
|
||||
function isRequired() {
|
||||
return (isset($this->_options['required']) && $this->_options['required']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets help button for editor
|
||||
*
|
||||
* @param mixed $_helpbuttonargs arguments to create help button
|
||||
* @param string $function name of the callback function
|
||||
* @deprecated since Moodle 2.0. Please do not call this function any more.
|
||||
* @todo MDL-31047 this api will be removed.
|
||||
* @see MoodleQuickForm::setHelpButton()
|
||||
*/
|
||||
function setHelpButton($_helpbuttonargs, $function='_helpbutton') {
|
||||
if (!is_array($_helpbuttonargs)) {
|
||||
$_helpbuttonargs = array($_helpbuttonargs);
|
||||
|
@ -119,10 +225,20 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
|||
$this->_helpbutton=call_user_func_array($function, $_helpbuttonargs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns html for help button.
|
||||
*
|
||||
* @return string html for help button
|
||||
*/
|
||||
function getHelpButton() {
|
||||
return $this->_helpbutton;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns type of editor element
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function getElementTemplateType() {
|
||||
if ($this->_flagFrozen){
|
||||
return 'nodisplay';
|
||||
|
@ -131,6 +247,11 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns HTML for editor form element.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function toHtml() {
|
||||
global $CFG, $PAGE;
|
||||
require_once($CFG->dirroot.'/repository/lib.php');
|
||||
|
@ -285,4 +406,4 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
|||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue