forked from webmin/webmin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.cgi
executable file
·75 lines (66 loc) · 2.21 KB
/
index.cgi
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
#!/usr/local/bin/perl
# index.cgi
# Display GRUB menu titles
require './grub-lib.pl';
&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
&help_search_link("grub", "man", "doc"));
# Check that GRUB is installed
if (!-r $config{'menu_file'}) {
print "<p>",&text('index_efile', "<tt>$config{'menu_file'}</tt>",
"$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
&ui_print_footer("/", $text{'index'});
exit;
}
if (!&has_command($config{'grub_path'})) {
print "<p>",&text('index_epath', "<tt>$config{'grub_path'}</tt>",
"$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
&ui_print_footer("/", $text{'index'});
exit;
}
# List the boot options
@crlinks = ( &ui_link("edit_title.cgi?new=1",$text{'index_add'}) );
$conf = &get_menu_config();
$def = &find_value("default", $conf);
@t = &find("title", $conf);
$i = 0;
foreach $t (@t) {
push(@icons, $t->{'chainloader'} ? "images/chain.gif"
: "images/kernel.gif");
local $tt = &html_escape($t->{'value'});
push(@titles, $def == $i ? "<b>$tt</b>" : $tt);
push(@links, "edit_title.cgi?idx=$t->{'index'}");
push(@befores, $i == 0 ? "<< | " :
&ui_link("up.cgi?idx=$i", "<<")." | ");
push(@afters, $i == @t-1 ? " | >>" :
" | ".&ui_link("down.cgi?idx=$i",
">>"));
$i++;
}
if (@links) {
print &ui_links_row(\@crlinks);
&icons_table(\@links, \@titles, \@icons, 4, undef, undef, undef,
\@befores, \@afters);
}
else {
print "<b>$text{'index_none'}</b><p>\n";
}
print &ui_links_row(\@crlinks);
print &ui_hr();
print &ui_buttons_start();
# Global options button
print &ui_buttons_row("edit_global.cgi", $text{'index_global'},
$text{'index_globalmsg'});
# Install button
%flang = &load_language('fdisk');
$text{'select_part'} = $flang{'select_part'};
$text{'select_device'} = $flang{'select_device'};
$text{'select_fd'} = $flang{'select_fd'};
$r = $config{'install'};
$dev = &bios_to_linux($r);
&foreign_require("mount", "mount-lib.pl");
$dev = &mount::device_name($dev);
print &ui_buttons_row("install.cgi", $text{'index_install'},
&text('index_installmsg', $dev),
&ui_hidden("dev", $dev));
print &ui_buttons_end();
&ui_print_footer("/", $text{'index'});