Handle hostnames with upper-case letters
[webmin.git] / Webmin / Button.pm
1 package Webmin::Button;
2 use Webmin::Input;
3 use WebminCore;
4 @ISA = ( "Webmin::Input" );
5
6 =head2 new Webmin::Button(cgi, label, [name])
7 Creates a button that when clicked will link to some other page
8 =cut
9 sub new
10 {
11 if (defined(&Webmin::Theme::Button::new) &&
12     caller() !~ /Webmin::Theme::Button/) {
13         return new Webmin::Theme::Button(@_[1..$#_]);
14         }
15 my ($self, $cgi, $value, $name) = @_;
16 $self = { };
17 bless($self);
18 $self->set_cgi($cgi);
19 $self->set_value($value);
20 $self->set_name($name) if ($name);
21 return $self;
22 }
23
24 =head2 html()
25 Returns HTML for this button
26 =cut
27 sub html
28 {
29 my ($self) = @_;
30 my $rv = "<form action=".$self->get_cgi().">";
31 foreach my $h (@{$self->{'hiddens'}}) {
32         $rv .= &ui_hidden($h->[0], $h->[1])."\n";
33         }
34 $rv .= &ui_submit($self->get_value(), $self->get_name(),
35                         $self->get_disabled())."</form>";
36 return $rv;
37 }
38
39 sub set_cgi
40 {
41 my ($self, $cgi) = @_;
42 $self->{'cgi'} = $cgi;
43 }
44
45 sub get_cgi
46 {
47 my ($self) = @_;
48 return $self->{'cgi'};
49 }
50
51 =head2 add_hidden(name, value)
52 Adds some hidden input to this button, for passing to the CGI
53 =cut
54 sub add_hidden
55 {
56 my ($self, $name, $value) = @_;
57 push(@{$self->{'hiddens'}}, [ $name, $value ]);
58 }
59
60 1;
61