blob: aaa339c85f075013be584ed9434ba983417244d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
* Class for HTML 4.0 <button> element
*
* PHP versions 4 and 5
*
* LICENSE: This source file is subject to version 3.01 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_01.txt If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category HTML
* @package HTML_QuickForm
* @author Alexey Borzov <avb@php.net>
* @copyright 2001-2007 The PHP Group
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version CVS: $Id$
* @link http://pear.php.net/package/HTML_QuickForm
*/
/**
* Base class for form elements
*/
require_once 'HTML/QuickForm/element.php';
/**
* Class for HTML 4.0 <button> element
*
* @category HTML
* @package HTML_QuickForm
* @author Alexey Borzov <avb@php.net>
* @version Release: 3.2.9
* @since 3.2.3
*/
class HTML_QuickForm_xbutton extends HTML_QuickForm_element
{
/**
* Contents of the <button> tag
* @var string
* @access private
*/
var $_content;
/**
* Class constructor
*
* @param string Button name
* @param string Button content (HTML to add between <button></button> tags)
* @param mixed Either a typical HTML attribute string or an associative array
* @access public
*/
function HTML_QuickForm_xbutton($elementName = null, $elementContent = null, $attributes = null)
{
$this->HTML_QuickForm_element($elementName, null, $attributes);
$this->setContent($elementContent);
$this->setPersistantFreeze(false);
$this->_type = 'xbutton';
}
function toHtml()
{
return '<button' . $this->getAttributes(true) . '>' . $this->_content . '</button>';
}
function getFrozenHtml()
{
return $this->toHtml();
}
function freeze()
{
return false;
}
function setName($name)
{
$this->updateAttributes(array(
'name' => $name
));
}
function getName()
{
return $this->getAttribute('name');
}
function setValue($value)
{
$this->updateAttributes(array(
'value' => $value
));
}
function getValue()
{
return $this->getAttribute('value');
}
/**
* Sets the contents of the button element
*
* @param string Button content (HTML to add between <button></button> tags)
*/
function setContent($content)
{
$this->_content = $content;
}
function onQuickFormEvent($event, $arg, &$caller)
{
if ('updateValue' != $event) {
return parent::onQuickFormEvent($event, $arg, $caller);
} else {
$value = $this->_findValue($caller->_constantValues);
if (null === $value) {
$value = $this->_findValue($caller->_defaultValues);
}
if (null !== $value) {
$this->setValue($value);
}
}
return true;
}
/**
* Returns a 'safe' element's value
*
* The value is only returned if the button's type is "submit" and if this
* particlular button was clicked
*/
function exportValue(&$submitValues, $assoc = false)
{
if ('submit' == $this->getAttribute('type')) {
return $this->_prepareValue($this->_findValue($submitValues), $assoc);
} else {
return null;
}
}
}
?>
|