mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 14:27:22 +01:00
91bda4cd45
This change allows form elements to be overridden with a mustache template. The template can even listen for form validation errors and supply the JS to change the look of the form element when there is/isn't a validation error. Initial support is for all core form elements including: text, select, selectyesno and checkboxes, groups, dateselector, datetimeselector, autocomplete, modvisible, advcheckbox, button, duration, filemanager, filepicker, editor, static, grading, warning, textarea, password, url, submit, questioncategory, recaptcha. Part of MDL-55071
83 lines
2.7 KiB
PHP
83 lines
2.7 KiB
PHP
<?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/>.
|
|
|
|
|
|
/**
|
|
* submit link type form element
|
|
*
|
|
* Contains HTML class for a submitting to link
|
|
*
|
|
* @deprecated since 3.2
|
|
* @package core_form
|
|
* @copyright 2006 Jamie Pratt <me@jamiep.org>
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/
|
|
|
|
global $CFG;
|
|
require_once("$CFG->libdir/form/submit.php");
|
|
/**
|
|
* submit link type form element
|
|
*
|
|
* HTML class for a submitting to link
|
|
*
|
|
* @package core_form
|
|
* @category form
|
|
* @copyright 2006 Jamie Pratt <me@jamiep.org>
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/
|
|
class MoodleQuickForm_submitlink extends MoodleQuickForm_submit {
|
|
/** @var string javascript for submitting element's data */
|
|
var $_js;
|
|
|
|
/** @var string callback function which will be called onclick event */
|
|
var $_onclick;
|
|
|
|
/**
|
|
* constructor
|
|
*
|
|
* @param string $elementName (optional) name of the field
|
|
* @param string $value (optional) field label
|
|
* @param string $attributes (optional) Either a typical HTML attribute string or an associative array
|
|
*/
|
|
public function __construct($elementName=null, $value=null, $attributes=null) {
|
|
debugging('Element type submitlink is deprecated.', DEBUG_DEVELOPER);
|
|
parent::__construct($elementName, $value, $attributes);
|
|
}
|
|
|
|
/**
|
|
* Old syntax of class constructor. Deprecated in PHP7.
|
|
*
|
|
* @deprecated since Moodle 3.1
|
|
*/
|
|
public function MoodleQuickForm_submitlink($elementName=null, $value=null, $attributes=null) {
|
|
debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER);
|
|
self::__construct($elementName, $value, $attributes);
|
|
}
|
|
|
|
/**
|
|
* Returns HTML for submitlink form element.
|
|
*
|
|
* @return string
|
|
*/
|
|
function toHtml() {
|
|
$text = $this->_attributes['value'];
|
|
|
|
return "<noscript><div>" . parent::toHtml() . '</div></noscript><script type="text/javascript">' . $this->_js . "\n"
|
|
. 'document.write(\'<a href="#" onclick="' . $this->_onclick . '">'
|
|
. $text . "</a>');\n</script>";
|
|
}
|
|
}
|