mirror of
https://github.com/webmin/webmin.git
synced 2026-02-09 08:42:20 +00:00
120 lines
3.9 KiB
Perl
Executable File
120 lines
3.9 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Display the advanced options form
|
|
|
|
require './webmin-lib.pl';
|
|
&ui_print_header(undef, $text{'advanced_title'}, "");
|
|
&get_miniserv_config(\%miniserv);
|
|
|
|
print &ui_form_start("change_advanced.cgi", "post");
|
|
print &ui_table_start($text{'advanced_header'}, undef, 2);
|
|
|
|
# Global temp directory
|
|
print &ui_table_row($text{'advanced_temp'},
|
|
&ui_opt_textbox("tempdir", $gconfig{'tempdir'},
|
|
30, $text{'advanced_tempdef'})."<br>".
|
|
&ui_checkbox("tempdirdelete", 1, $text{'advanced_tdd'},
|
|
$gconfig{'tempdirdelete'}));
|
|
|
|
# Temp files clearing period
|
|
print &ui_table_row($text{'advanced_tempdelete'},
|
|
&ui_opt_textbox("tempdelete", $gconfig{'tempdelete_days'},
|
|
5, $text{'advanced_nodelete'})." ".
|
|
$text{'advanced_days'});
|
|
|
|
# Per-module temp directories
|
|
@mods = sort { $a->{'desc'} cmp $b->{'desc'} } &get_all_module_infos();
|
|
$ttable = &ui_columns_start([ $text{'advanced_tmod'},
|
|
$text{'advanced_tdir'} ]);
|
|
$i = 0;
|
|
foreach $d (&get_tempdirs(\%gconfig), [ ]) {
|
|
$ttable .= &ui_columns_row([
|
|
&ui_select("tmod_$i", $d->[0],
|
|
[ [ "", " " ],
|
|
map { [ $_->{'dir'}, $_->{'desc'} ] } @mods ]),
|
|
&ui_textbox("tdir_$i", $d->[1], 30)
|
|
]);
|
|
$i++;
|
|
}
|
|
$ttable .= &ui_columns_end();
|
|
print &ui_table_row($text{'advanced_tempmods'}, $ttable);
|
|
|
|
@preloads = &get_preloads(\%miniserv);
|
|
if (!@preloads && (!$miniserv{'premodules'} ||
|
|
$miniserv{'premodules'} eq 'WebminCore')) {
|
|
# New-style preload possible or enabled
|
|
print &ui_table_row($text{'advanced_preload'},
|
|
&ui_yesno_radio("preload",
|
|
$miniserv{'premodules'} eq 'WebminCore'));
|
|
}
|
|
elsif ($preloads[0]->[0] eq "main" && $preloads[0]->[1] eq "web-lib-funcs.pl") {
|
|
# Old-style preloads enabled
|
|
print &ui_table_row($text{'advanced_preload'},
|
|
&ui_yesno_radio("preload", 1));
|
|
}
|
|
|
|
# Files to pre-cache
|
|
$mode = $miniserv{'precache'} eq 'none' ? 0 :
|
|
$miniserv{'precache'} eq '' ? 1 : 2;
|
|
print &ui_table_row($text{'advanced_precache'},
|
|
&ui_radio("precache_mode", $mode,
|
|
[ [ 0, $text{'advanced_precache0'}."<br>" ],
|
|
[ 1, $text{'advanced_precache1'}."<br>" ],
|
|
[ 2, &text('advanced_precache2',
|
|
&ui_textbox("precache",
|
|
$mode == 2 ? $miniserv{'precache'} : "", 40)) ] ]));
|
|
|
|
# Umask for created files
|
|
print &ui_table_row($text{'advanced_umask'},
|
|
&ui_opt_textbox("umask", $gconfig{'umask'}, 5, $text{'default'}));
|
|
|
|
# Overwrite immutable files
|
|
if (&has_command("chattr")) {
|
|
print &ui_table_row($text{'advanced_chattr'},
|
|
&ui_yesno_radio("chattr", $gconfig{'chattr'}));
|
|
}
|
|
|
|
# Network buffer size
|
|
print &ui_table_row($text{'advanced_bufsize'},
|
|
&ui_opt_textbox("bufsize", $miniserv{'bufsize'}, 6,
|
|
$text{'default'}." (32768)"));
|
|
|
|
# Nice level for cron jobs
|
|
if (&foreign_check("proc")) {
|
|
&foreign_require("proc", "proc-lib.pl");
|
|
print &ui_table_row($text{'advanced_nice'},
|
|
&ui_radio("nice_def", $gconfig{'nice'} eq '' ? 1 : 0,
|
|
[ [ 1, $text{'default'} ],
|
|
[ 0, $text{'advanced_pri'}." ".
|
|
&proc::nice_selector("nice", $gconfig{'nice'} || 0) ] ]));
|
|
|
|
# IO scheduling class and priority
|
|
if (defined(&proc::os_list_scheduling_classes) &&
|
|
(@classes = &proc::os_list_scheduling_classes())) {
|
|
print &ui_table_row($text{'advanced_sclass'},
|
|
&ui_select("sclass", $gconfig{'sclass'},
|
|
[ [ undef, $text{'default'} ],
|
|
@classes ]));
|
|
|
|
@prios = &proc::os_list_scheduling_priorities();
|
|
print &ui_table_row($text{'advanced_sprio'},
|
|
&ui_select("sprio", $gconfig{'sprio'},
|
|
[ [ undef, $text{'default'} ],
|
|
@prios ]));
|
|
}
|
|
}
|
|
|
|
# Extra HTTP headers
|
|
print &ui_table_row($text{'advanced_headers'},
|
|
&ui_textarea("headers",
|
|
join("\n", split(/\t/, $gconfig{'extra_headers'})), 5, 80));
|
|
|
|
# Sort config file's keys alphabetically
|
|
print &ui_table_row($text{'advanced_sortconfigs'},
|
|
&ui_yesno_radio("sortconfigs", $gconfig{'sortconfigs'}));
|
|
|
|
print &ui_table_end();
|
|
print &ui_form_end([ [ "save", $text{'save'} ] ]);
|
|
|
|
&ui_print_footer("", $text{'index_return'});
|
|
|