. /** * Button form element * * Contains HTML class for a button type element * * @package core_form * @copyright 2007 Jamie Pratt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ if (!defined('MOODLE_INTERNAL')) { die('Direct access to this script is forbidden.'); // It must be included from a Moodle page } global $CFG; require_once($CFG->libdir.'/form/submit.php'); /** * HTML class for a submit cancel type element * * Overloaded {@link MoodleQuickForm_submit} with default behavior modified to cancel a form. * * @package core_form * @category form * @copyright 2007 Jamie Pratt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class MoodleQuickForm_cancel extends MoodleQuickForm_submit { /** * constructor * * @param string $elementName (optional) name of the checkbox * @param string $value (optional) value for the button * @param mixed $attributes (optional) Either a typical HTML attribute string * or an associative array */ public function __construct($elementName=null, $value=null, $attributes=null) { if ($elementName==null){ $elementName='cancel'; } if ($value==null){ $value=get_string('cancel'); } parent::__construct($elementName, $value, $attributes); $this->updateAttributes(array('data-skip-validation' => 1, 'data-cancel' => 1, 'onclick' => 'skipClientValidation = true; return true;')); // Add the class btn-cancel. $class = $this->getAttribute('class'); if (empty($class)) { $class = ''; } $this->updateAttributes(array('class' => $class . ' btn-cancel')); } /** * Old syntax of class constructor. Deprecated in PHP7. * * @deprecated since Moodle 3.1 */ public function MoodleQuickForm_cancel($elementName=null, $value=null, $attributes=null) { debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); self::__construct($elementName, $value, $attributes); } /** * Called by HTML_QuickForm whenever form event is made on this element * * @param string $event Name of event * @param mixed $arg event arguments * @param object $caller calling object * @return bool */ function onQuickFormEvent($event, $arg, &$caller) { switch ($event) { case 'createElement': parent::onQuickFormEvent($event, $arg, $caller); $caller->_registerCancelButton($this->getName()); return true; break; } return parent::onQuickFormEvent($event, $arg, $caller); } /** * Returns the value of field without HTML tags * * @return string */ function getFrozenHtml(){ return HTML_QuickForm_submit::getFrozenHtml(); } }