Convery to ui-lib functions

This commit is contained in:
Jamie Cameron
2023-12-15 17:52:45 -08:00
parent 8bad9dd0f8
commit 64924182d2
12 changed files with 121 additions and 187 deletions

View File

@@ -13,16 +13,14 @@ $desc = $in{'virt'} eq '' ? $text{'anon_header4'} :
&ui_print_header($desc, $text{"type_$in{'type'}"}, "",
undef, undef, undef, undef, &restart_button());
print "<form action=save_anon.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('virt_header3', $text{"type_$in{'type'}"}),
"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_anon.cgi", "post");
print &ui_hidden("type", $in{'type'});
print &ui_hidden("virt", $in{'virt'});
print &ui_table_start(&text('virt_header3', $text{"type_$in{'type'}"}),
"width=100%", 4);
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},

View File

@@ -24,43 +24,31 @@ $user ||= "ftp" if ($in{'init'});
$group = &find_directive("Group", $anon->{'members'});
$group ||= "ftp" if ($in{'init'});
print "<form action=save_aserv.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=init value='$in{'init'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'aserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_aserv.cgi", "post");
print &ui_hidden("virt", $in{'virt'});
print &ui_hidden("init", $in{'init'});
print &ui_table_start($text{'aserv_title'}, undef, 2);
print "<tr> <td><b>$text{'aserv_root'}</b></td>\n";
printf "<td><input name=root size=40 value='%s'> %s</td> </tr>\n",
$anon->{'value'}, &file_chooser_button("root", 1);
print &ui_table_row($text{'aserv_root'},
&ui_filebox("root", $anon->{'value'}, 60, 0, undef, undef, 1));
print "<tr> <td><b>$text{'aserv_user'}</b></td>\n";
print "<td>",&opt_input($user, "User", $text{'default'}, 13),
"</td> </tr>\n";
print &ui_table_row($text{'aserv_user'},
&opt_input($user, "User", $text{'default'}, 13));
print "<tr> <td><b>$text{'aserv_group'}</b></td>\n";
print "<td>",&opt_input($group, "Group", $text{'default'}, 13),
"</td> </tr>\n";
print &ui_table_row($text{'aserv_group'},
&opt_input($group, "Group", $text{'default'}, 13));
print "<tr> <td colspan=2>\n";
if ($in{'init'}) {
print "<input type=submit value=\"$text{'create'}\">\n";
}
else {
print "<input type=submit value=\"$text{'save'}\">\n";
}
print "</td> </tr>\n";
print "</table> </td></tr></table><p>\n";
print "</form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $in{'init'} ? $text{'create'} : $text{'save'} ]]);
if ($in{'init'}) {
&ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
&ui_print_footer(
"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
"", $text{'index_return'});
}
else {
&ui_print_footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
&ui_print_footer(
"anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
"", $text{'index_return'});
}

View File

@@ -26,19 +26,17 @@ $desc = $in{'global'} ? &text('dir_header5', $dn) :
&ui_print_header($desc, $text{"type_$in{'type'}"}, "",
undef, undef, undef, undef, &restart_button());
print "<form method=post action=save_dir.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=idx value=$in{'idx'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<input type=hidden name=anon value=$in{'anon'}>\n";
print "<input type=hidden name=global value=$in{'global'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('dir_header3', $text{"type_$in{'type'}"},
$d->{'words'}->[0]),"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_dir.cgi", "post");
print &ui_hidden("type", $in{'type'});
print &ui_hidden("idx", $in{'idx'});
print &ui_hidden("virt", $in{'virt'});
print &ui_hidden("anon", $in{'anon'});
print &ui_hidden("global", $in{'global'});
print &ui_table_start(&text('dir_header3', $text{"type_$in{'type'}"},
$d->{'words'}->[0]), "width=100%", 4);
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
if ($in{'global'}) {
&ui_print_footer("dir_index.cgi?idx=$in{'idx'}&global=$in{'global'}",

View File

@@ -25,26 +25,19 @@ $desc = $in{'global'} ? &text('dir_header5', $dn) :
&ui_print_header($desc, $text{'dserv_title'}, "",
undef, undef, undef, undef, &restart_button());
print "<form action=save_dserv.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=anon value='$in{'anon'}'>\n";
print "<input type=hidden name=global value='$in{'global'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'dserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_dserv.cgi", "post");
print &ui_hidden("virt", $in{'virt'});
print &ui_hidden("idx", $in{'idx'});
print &ui_hidden("anon", $in{'anon'});
print &ui_hidden("global", $in{'global'});
print &ui_table_start($text{'dserv_title'}, undef, 2);
print "<tr> <td><b>$text{'dserv_dir'}</b></td>\n";
printf "<td><input name=dir size=40 value='%s'> %s</td> </tr>\n",
$d->{'value'}, &file_chooser_button("dir", 1);
print &ui_table_row($text{'dserv_dir'},
&ui_filebox("dir", $d->{'value'}, 60, 0, undef, undef, 1));
print "<tr> <td colspan=2>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "<input type=submit name=delete value=\"$text{'dserv_delete'}\">\n";
print "</td> </tr>\n";
print "</table> </td></tr></table><p>\n";
print "</form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ],
[ 'delete', $text{'dserv_delete'} ] ]);
if ($in{'global'}) {
&ui_print_footer("dir_index.cgi?global=$in{'global'}&idx=$in{'idx'}",

View File

@@ -10,16 +10,15 @@ $desc = &text('ftpindex_header', "<tt>".&html_escape($in{'file'})."</tt>");
&ui_print_header($desc, $text{"type_$in{'type'}"}, "",
undef, undef, undef, undef, &restart_button());
print "<form method=post action=save_ftpaccess.cgi>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=file value=$in{'file'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('ftpindex_header2', $text{"type_$in{'type'}"},
"<tt>$in{'file'}</tt>"),"</td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_ftpaccess.cgi", "post");
print &ui_hidden("type", $in{'type'});
print &ui_hidden("file", $in{'file'});
print &ui_table_start(&text('ftpindex_header2', $text{"type_$in{'type'}"},
"<tt>".&html_escape($in{'file'})."</tt>"),
"width=100%", 4);
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer("ftpaccess_index.cgi?file=$in{'file'}", $text{'ftpindex_return'},
"ftpaccess.cgi", $text{'ftpaccess_return'},

View File

@@ -12,11 +12,10 @@ if ($global) {
&ui_print_header(undef, $text{"type_$in{'type'}"}, "",
undef, undef, undef, undef, &restart_button());
print "<form method=post action=save_global.cgi>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",$text{"type_$in{'type'}"},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_global.cgi", "post");
print &ui_hidden("type", $in{'type'});
print &ui_table_start($text{"type_$in{'type'}"}, "width=100%", 4);
@dirs = &editable_directives($in{'type'}, 'root');
&generate_inputs(\@dirs, $conf);
@gdirs = &editable_directives($in{'type'}, 'global');
@@ -24,8 +23,9 @@ if (@dirs && @gdirs) {
print "<tr> <td colspan=4><hr></td> </tr>\n";
}
&generate_inputs(\@gdirs, $gconf);
print "</table></td> </tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer("", $text{'index_return'});

View File

@@ -38,21 +38,19 @@ $desc = $in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) :
&ui_print_header($desc, $text{"type_$in{'type'}"}, "",
undef, undef, undef, undef, &restart_button());
print "<form method=post action=save_limit.cgi method=post>\n";
print "<input type=hidden name=type value='$in{'type'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=limit value='$in{'limit'}'>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=anon value='$in{'anon'}'>\n";
print "<input type=hidden name=global value='$in{'global'}'>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('limit_header3', $text{"type_$in{'type'}"},
$l->{'value'}),"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_limit.cgi", "post");
print &ui_hidden("type", $in{'type'});
print &ui_hidden("idx", $in{'idx'});
print &ui_hidden("limit", $in{'limit'});
print &ui_hidden("virt", $in{'virt'});
print &ui_hidden("anon", $in{'anon'});
print &ui_hidden("global", $in{'global'});
print &ui_hidden("file", $in{'file'});
print &ui_table_start(&text('limit_header3', $text{"type_$in{'type'}"},
$l->{'value'}), "width=100%", 4);
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
if ($in{'file'}) {
&ui_print_footer("limit_index.cgi?file=$in{'file'}&limit=$in{'limit'}",

View File

@@ -35,38 +35,26 @@ $desc = $in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) :
&ui_print_header($desc, $text{'lserv_title'}, "",
undef, undef, undef, undef, &restart_button());
print "<form action=save_lserv.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=limit value='$in{'limit'}'>\n";
print "<input type=hidden name=anon value='$in{'anon'}'>\n";
print "<input type=hidden name=global value='$in{'global'}'>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'lserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_lserv.cgi", "post");
print &ui_hidden("virt", $in{'virt'});
print &ui_hidden("idx", $in{'idx'});
print &ui_hidden("limit", $in{'limit'});
print &ui_hidden("anon", $in{'anon'});
print &ui_hidden("global", $in{'global'});
print &ui_hidden("file", $in{'file'});
print &ui_table_start($text{'lserv_title'}, undef, 2);
map { $cmd{lc($_)}++ } @{$l->{'words'}};
print "<tr> <td valign=top><b>$text{'lserv_cmd'}</b></td>\n";
print "<td><select name=cmd multiple size=7 width=120>\n";
foreach $c ('cwd', 'mkd', 'rnfr', 'dele', 'rmd', 'retr', 'stor') {
printf "<option value=%s %s>%s</option>\n",
uc($c), $cmd{$c} ? "selected" : "", uc($c);
}
print "</select><select name=cmd multiple size=7 width=120>\n";
foreach $c ('site_chmod', 'read', 'write', 'dirs', 'login', 'all') {
printf "<option value=%s %s>%s</option>\n",
uc($c), $cmd{$c} ? "selected" : "", uc($c);
}
print "</select></td> </tr>\n";
print &ui_table_row($text{'lserv_cmd'},
&ui_select("cmd", [ map { lc($_) } @{$l->{'words'}} ],
[ 'cwd', 'mkd', 'rnfr', 'dele', 'rmd', 'retr', 'stor' ],
7, 1)."\n".
&ui_select("cmd", [ map { lc($_) } @{$l->{'words'}} ],
[ 'site_chmod', 'read', 'write', 'dirs', 'login', 'all' ],
7, 1));
print "<tr> <td colspan=2>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "<input type=submit name=delete value=\"$text{'lserv_delete'}\">\n";
print "</td> </tr>\n";
print "</table> </td></tr></table><p>\n";
print "</form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ],
[ 'delete', $text{'lserv_delete'} ] ]);
if ($in{'file'}) {
&ui_print_footer("limit_index.cgi?file=$in{'file'}&limit=$in{'limit'}",

View File

@@ -7,20 +7,16 @@ require './proftpd-lib.pl';
undef, undef, undef, undef, &restart_button());
$conf = &get_config();
print "<form action=save_net.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'net_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_form_start("save_net.cgi", "post");
print &ui_table_start($text{'net_header'}, undef, 2);
print "<tr>\n";
print &choice_input($text{'net_type'}, 'ServerType', $conf, 'inetd',
$text{'net_inetd'}, 'inetd',
$text{'net_stand'}, 'standalone');
print &text_input($text{'net_port'}, 'Port', $conf, '21', 6);
print "</tr>\n";
print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer("", $text{'index_return'});

View File

@@ -11,16 +11,14 @@ $desc = $in{'virt'} eq '' ? $text{'virt_header2'} :
&ui_print_header($desc, $text{"type_$in{'type'}"}, "",
undef, undef, undef, undef, &restart_button());
print "<form action=save_virt.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('virt_header3', $text{"type_$in{'type'}"}),
"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_virt.cgi", "post");
print &ui_hidden("type", $in{'type'});
print &ui_hidden("virt", $in{'virt'});
print &ui_table_start(&text('virt_header3', $text{"type_$in{'type'}"}),
"width=100%", 4);
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
"", $text{'index_return'});

View File

@@ -12,31 +12,22 @@ $desc = &text('virt_header1', $vconf->{'value'});
$name = &find_directive("ServerName", $vconf->{'members'});
$port = &find_directive("Port", $vconf->{'members'});
print "<form action=save_vserv.cgi>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'vserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_form_start("save_vserv.cgi", "post");
print &ui_hidden("virt", $in{'virt'});
print &ui_table_start($text{'vserv_title'}, undef, 2);
print "<tr> <td><b>$text{'vserv_addr'}</b></td>\n";
printf "<td><input name=addr size=30 value='%s'></td> </tr>\n",
$vconf->{'value'};
print &ui_table_row($text{'vserv_addr'},
&ui_textbox("addr", $vconf->{'value'}, 30));
print "<tr> <td><b>$text{'vserv_name'}</b></td>\n";
print "<td>",&opt_input($name, "ServerName", $text{'default'}, 30),
"</td> </tr>\n";
print &ui_table_row($text{'vserv_name'},
&opt_input($name, "ServerName", $text{'default'}, 30));
print "<tr> <td><b>$text{'vserv_port'}</b></td>\n";
print "<td>",&opt_input($port, "Port", $text{'default'}, 6),
"</td> </tr>\n";
print &ui_table_row($text{'vserv_port'},
&opt_input($port, "Port", $text{'default'}, 6));
print "<tr> <td colspan=2>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "<input type=submit value=\"$text{'vserv_delete'}\" name=delete>\n";
print "</td> </tr>\n";
print "</table> </td></tr></table><p>\n";
print "</form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ],
[ 'delete', $text{'vserv_delete'} ] ]);
&ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
"", $text{'index_return'});

View File

@@ -302,18 +302,15 @@ return @rv;
# Displays a 2-column list of options, for use inside a table
sub generate_inputs
{
local($e, $sw, @args, @rv, $func);
foreach $e (@{$_[0]}) {
if (!$sw) { print "<tr>\n"; }
my ($edits, $dirs) = @_;
foreach my $e (@$edits) {
# Build arg list for the editing function. Each arg can be a single
# directive struct, or a reference to an array of structures.
$func = "edit";
undef(@args);
foreach $ed (split(/\s+/, $e->{'name'})) {
local(@vals);
my $func = "edit";
my @args;
foreach my $ed (split(/\s+/, $e->{'name'})) {
$func .= "_$ed";
@vals = &find_directive_struct($ed, $_[1]);
my @vals = &find_directive_struct($ed, $_[1]);
if ($e->{'multiple'}) { push(@args, \@vals); }
elsif (!@vals) { push(@args, undef); }
else { push(@args, $vals[$#vals]); }
@@ -321,25 +318,15 @@ foreach $e (@{$_[0]}) {
push(@args, $e);
# call the function
@rv = &$func(@args);
my @rv = &$func(@args);
if ($rv[0] == 2) {
# spans 2 columns..
if ($sw) {
# need to end this row
print "<td colspan=2></td> </tr><tr>\n";
}
else { $sw = !$sw; }
print "<td valign=top width=25%><b>$rv[1]</b></td>\n";
print "<td nowrap valign=top colspan=3 width=75%>$rv[2]</td>\n";
print &ui_table_row($rv[1], $rv[2], 3);
}
else {
# only spans one column
print "<td valign=top width=25%><b>$rv[1]</b></td>\n";
print "<td nowrap valign=top width=25%>$rv[2]</td>\n";
print &ui_table_row($rv[1], $rv[2], 1);
}
if ($sw) { print "</tr>\n"; }
$sw = !$sw;
}
}