mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
105 lines
3.2 KiB
Perl
Executable File
105 lines
3.2 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Edit or create a server process
|
|
|
|
require './postfix-lib.pl';
|
|
$access{'master'} || &error($text{'master_ecannot'});
|
|
&ReadParse();
|
|
$master = &get_master_config();
|
|
|
|
if ($in{'new'}) {
|
|
&ui_print_header(undef, $text{'master_create'}, "");
|
|
$prog = { 'enabled' => 1,
|
|
'type' => 'inet',
|
|
'private' => '-',
|
|
'unpriv' => '-',
|
|
'chroot' => '-',
|
|
'wakeup' => '-',
|
|
'maxprocs' => '-',
|
|
};
|
|
}
|
|
else {
|
|
($prog) = grep { $_->{'name'} eq $in{'name'} &&
|
|
$_->{'type'} eq $in{'type'} &&
|
|
$_->{'enabled'} == $in{'enabled'} } @$master;
|
|
$prog || &error($text{'master_egone'});
|
|
&ui_print_header(undef, $text{'master_edit'}, "");
|
|
}
|
|
|
|
print &ui_form_start("save_master.cgi", "post");
|
|
print &ui_hidden("new", $in{'new'}),"\n";
|
|
print &ui_hidden("old", $in{'name'}),"\n";
|
|
print &ui_hidden("oldtype", $in{'type'}),"\n";
|
|
print &ui_hidden("oldenabled", $in{'enabled'}),"\n";
|
|
print &ui_table_start($text{'master_header'}, "width=100%", 4);
|
|
|
|
print &ui_table_row($text{'master_type'},
|
|
&ui_select("type", $prog->{'type'},
|
|
[ [ "inet", $text{'master_inet'} ],
|
|
[ "unix", $text{'master_unix'} ],
|
|
[ "fifo", $text{'master_fifo'} ] ]));
|
|
|
|
print &ui_table_row($text{'master_enabled'},
|
|
&ui_yesno_radio("enabled", int($prog->{'enabled'})));
|
|
|
|
if ($prog->{'name'} =~ s/^(\S+)://) {
|
|
$host = $1;
|
|
}
|
|
print &ui_table_row($text{'master_name2'},
|
|
&ui_textbox("name", $prog->{'name'}, 20));
|
|
|
|
print &ui_table_row($text{'master_host'},
|
|
&ui_opt_textbox("host", $host, 15, $text{'master_any'}));
|
|
|
|
print &ui_table_row($text{'master_command'},
|
|
&ui_textbox("command", $prog->{'command'}, 80), 3);
|
|
|
|
print &ui_table_hr();
|
|
|
|
print &ui_table_row($text{'master_private2'},
|
|
&ui_radio("private", $prog->{'private'},
|
|
[ [ "y", $text{'yes'} ],
|
|
[ "n", $text{'no'} ],
|
|
[ "-", $text{'master_defyes'} ] ]));
|
|
|
|
print &ui_table_row($text{'master_unpriv2'},
|
|
&ui_radio("unpriv", $prog->{'unpriv'},
|
|
[ [ "y", $text{'yes'} ],
|
|
[ "n", $text{'no'} ],
|
|
[ "-", $text{'master_defyes'} ] ]));
|
|
|
|
print &ui_table_row($text{'master_chroot2'},
|
|
&ui_radio("chroot", $prog->{'chroot'},
|
|
[ [ "y", $text{'yes'} ],
|
|
[ "n", $text{'no'} ],
|
|
[ "-", $text{'master_defyes'} ] ]));
|
|
|
|
$wmode = $prog->{'wakeup'} eq '-' ? 0 :
|
|
$prog->{'wakeup'} eq '0' ? 1 : 2;
|
|
$wused = $prog->{'wakeup'} =~ s/\?$//;
|
|
print &ui_table_row($text{'master_wakeup'},
|
|
&ui_radio("wakeup", $wmode,
|
|
[ [ 0, $text{'default'} ],
|
|
[ 1, $text{'master_unlimit'} ],
|
|
[ 2, &text('master_wtime',
|
|
&ui_textbox("wtime", $wmode == 2 ? $prog->{'wakeup'} : "", 6)) ] ]).
|
|
" (".&ui_checkbox("wused", 1, $text{'master_wused'}, $wused).")", 3);
|
|
|
|
$pmode = $prog->{'maxprocs'} eq '-' ? 0 :
|
|
$prog->{'maxprocs'} eq '0' ? 1 : 2;
|
|
print &ui_table_row($text{'master_max2'},
|
|
&ui_radio("maxprocs", $pmode,
|
|
[ [ 0, $text{'default'} ],
|
|
[ 1, $text{'master_unlimit'} ],
|
|
[ 2, &text('master_procs',
|
|
&ui_textbox("procs", $pmode == 2 ? $prog->{'maxprocs'} : "", 6)) ] ]),
|
|
3);
|
|
|
|
print &ui_table_end();
|
|
print &ui_form_end([
|
|
$in{'new'} ? ( [ "create", $text{'create'} ] )
|
|
: ( [ "save", $text{'save'} ], [ "delete", $text{'delete'} ] ) ] );
|
|
|
|
&ui_print_footer("master.cgi", $text{'master_return'},
|
|
"", $text{'index_return'});
|
|
|