Handle hostnames with upper-case letters
[webmin.git] / Webmin / TitleList.pm
1 package Webmin::TitleList;
2 use WebminCore;
3
4 =head2 new Webmin::TitleList(title, &links, [alt-text])
5 Generates a title with a list of links under it
6 =cut
7 sub new
8 {
9 my ($self, $title, $links, $alt) = @_;
10 if (defined(&Webmin::Theme::TitleList::new)) {
11         return new Webmin::Theme::TitleList(@_[1..$#_]);
12         }
13 $self = { };
14 bless($self);
15 $self->set_title($title);
16 $self->set_links($links);
17 $self->set_alt($alt) if (defined($alt));
18 return $self;
19 }
20
21 =head2 html()
22 Returns the list
23 =cut
24 sub html
25 {
26 my ($self) = @_;
27 my $rv;
28 if (defined(&ui_subheading)) {
29         $rv .= &ui_subheading($self->get_title());
30         }
31 else {
32         $rv .= "<h3>".$self->get_title()."</h3>\n";
33         }
34 $rv .= "<hr>\n";
35 foreach my $l (@{$self->get_links()}) {
36         if ($l->[1]) {
37                 $rv .= "<a href='$l->[1]'>$l->[0]</a><br>\n";
38                 }
39         else {
40                 $rv .= $l->[0]."<br>\n";
41                 }
42         }
43 return $rv;
44 }
45
46 sub set_title
47 {
48 my ($self, $title) = @_;
49 $self->{'title'} = $title;
50 }
51
52 sub get_title
53 {
54 my ($self) = @_;
55 return $self->{'title'};
56 }
57
58 sub set_links
59 {
60 my ($self, $links) = @_;
61 $self->{'links'} = $links;
62 }
63
64 sub get_links
65 {
66 my ($self) = @_;
67 return $self->{'links'};
68 }
69
70 sub set_alt
71 {
72 my ($self, $alt) = @_;
73 $self->{'alt'} = $alt;
74 }
75
76 sub get_alt
77 {
78 my ($self) = @_;
79 return $self->{'alt'};
80 }
81
82 =head2 add_link(name, link)
83 Adds a link to be displayed in the list
84 =cut
85 sub add_link
86 {
87 my ($self, $name, $link) = @_;
88 push(@{$self->{'links'}}, [ $name, $link ]);
89 }
90
91 =head2 set_page(Webmin::Page)
92 Called when this menu is added to a page
93 =cut
94 sub set_page
95 {
96 my ($self, $page) = @_;
97 $self->{'page'} = $page;
98 }
99
100 1;
101