MDL-55707 grades: Stop infinite loop when regrading.
[moodle.git] / lib / form / submitlink.php
blobbf238a51e31147f8de6c559a00cd564c90dee814
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
18 /**
19 * submit link type form element
21 * Contains HTML class for a submitting to link
23 * @package core_form
24 * @copyright 2006 Jamie Pratt <me@jamiep.org>
25 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
28 global $CFG;
29 require_once("$CFG->libdir/form/submit.php");
30 /**
31 * submit link type form element
33 * HTML class for a submitting to link
35 * @package core_form
36 * @category form
37 * @copyright 2006 Jamie Pratt <me@jamiep.org>
38 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
40 class MoodleQuickForm_submitlink extends MoodleQuickForm_submit {
41 /** @var string javascript for submitting element's data */
42 var $_js;
44 /** @var string callback function which will be called onclick event */
45 var $_onclick;
47 /**
48 * constructor
50 * @param string $elementName (optional) name of the field
51 * @param string $value (optional) field label
52 * @param string $attributes (optional) Either a typical HTML attribute string or an associative array
54 public function __construct($elementName=null, $value=null, $attributes=null) {
55 parent::__construct($elementName, $value, $attributes);
58 /**
59 * Old syntax of class constructor. Deprecated in PHP7.
61 * @deprecated since Moodle 3.1
63 public function MoodleQuickForm_submitlink($elementName=null, $value=null, $attributes=null) {
64 debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER);
65 self::__construct($elementName, $value, $attributes);
68 /**
69 * Returns HTML for submitlink form element.
71 * @return string
73 function toHtml() {
74 $text = $this->_attributes['value'];
76 return "<noscript><div>" . parent::toHtml() . '</div></noscript><script type="text/javascript">' . $this->_js . "\n"
77 . 'document.write(\'<a href="#" onclick="' . $this->_onclick . '">'
78 . $text . "</a>');\n</script>";