From 64924182d2ad1e4cf1e7e75d53e3672bfa5dc8c3 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Fri, 15 Dec 2023 17:52:45 -0800 Subject: [PATCH] Convery to ui-lib functions --- proftpd/edit_anon.cgi | 16 ++++++------- proftpd/edit_aserv.cgi | 44 +++++++++++++--------------------- proftpd/edit_dir.cgi | 22 ++++++++--------- proftpd/edit_dserv.cgi | 29 +++++++++-------------- proftpd/edit_ftpaccess.cgi | 17 +++++++------- proftpd/edit_global.cgi | 14 +++++------ proftpd/edit_limit.cgi | 26 ++++++++++----------- proftpd/edit_lserv.cgi | 48 ++++++++++++++------------------------ proftpd/edit_net.cgi | 12 ++++------ proftpd/edit_virt.cgi | 16 ++++++------- proftpd/edit_vserv.cgi | 33 ++++++++++---------------- proftpd/proftpd-lib.pl | 31 +++++++----------------- 12 files changed, 121 insertions(+), 187 deletions(-) diff --git a/proftpd/edit_anon.cgi b/proftpd/edit_anon.cgi index ef72ebec8..10a2f57b8 100755 --- a/proftpd/edit_anon.cgi +++ b/proftpd/edit_anon.cgi @@ -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 "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
",&text('virt_header3', $text{"type_$in{'type'}"}), - "
\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 "

\n"; -print "
\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'}, diff --git a/proftpd/edit_aserv.cgi b/proftpd/edit_aserv.cgi index 19226072a..5944c0c0c 100755 --- a/proftpd/edit_aserv.cgi +++ b/proftpd/edit_aserv.cgi @@ -24,43 +24,31 @@ $user ||= "ftp" if ($in{'init'}); $group = &find_directive("Group", $anon->{'members'}); $group ||= "ftp" if ($in{'init'}); -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'aserv_title'}
\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 "\n"; -printf "\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 "\n"; -print "\n"; +print &ui_table_row($text{'aserv_user'}, + &opt_input($user, "User", $text{'default'}, 13)); -print "\n"; -print "\n"; +print &ui_table_row($text{'aserv_group'}, + &opt_input($group, "Group", $text{'default'}, 13)); -print "\n"; - -print "
$text{'aserv_root'} %s
$text{'aserv_user'}",&opt_input($user, "User", $text{'default'}, 13), - "
$text{'aserv_group'}",&opt_input($group, "Group", $text{'default'}, 13), - "
\n"; -if ($in{'init'}) { - print "\n"; - } -else { - print "\n"; - } -print "

\n"; -print "

\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'}); } diff --git a/proftpd/edit_dir.cgi b/proftpd/edit_dir.cgi index 5d8aaf1c1..f16186d44 100755 --- a/proftpd/edit_dir.cgi +++ b/proftpd/edit_dir.cgi @@ -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 "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
",&text('dir_header3', $text{"type_$in{'type'}"}, - $d->{'words'}->[0]),"
\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 "
\n"; -print "
\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'}", diff --git a/proftpd/edit_dserv.cgi b/proftpd/edit_dserv.cgi index f0bfe5572..5231c3c41 100755 --- a/proftpd/edit_dserv.cgi +++ b/proftpd/edit_dserv.cgi @@ -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 "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'dserv_title'}
\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 "\n"; -printf "\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 "\n"; - -print "
$text{'dserv_dir'} %s
\n"; -print "\n"; -print "\n"; -print "

\n"; -print "

\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'}", diff --git a/proftpd/edit_ftpaccess.cgi b/proftpd/edit_ftpaccess.cgi index f435184ee..635a529d8 100755 --- a/proftpd/edit_ftpaccess.cgi +++ b/proftpd/edit_ftpaccess.cgi @@ -10,16 +10,15 @@ $desc = &text('ftpindex_header', "".&html_escape($in{'file'}).""); &ui_print_header($desc, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
",&text('ftpindex_header2', $text{"type_$in{'type'}"}, - "$in{'file'}"),"
\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'}"}, + "".&html_escape($in{'file'}).""), + "width=100%", 4); &generate_inputs(\@dirs, $conf); -print "
\n"; -print "
\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'}, diff --git a/proftpd/edit_global.cgi b/proftpd/edit_global.cgi index 7c506d693..6c9715aff 100755 --- a/proftpd/edit_global.cgi +++ b/proftpd/edit_global.cgi @@ -12,11 +12,10 @@ if ($global) { &ui_print_header(undef, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "
",$text{"type_$in{'type'}"},"
\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 "\n"; } &generate_inputs(\@gdirs, $gconf); -print "

\n"; -print "
\n"; + +print &ui_table_end(); +print &ui_form_end([ [ undef, $text{'save'} ] ]); &ui_print_footer("", $text{'index_return'}); diff --git a/proftpd/edit_limit.cgi b/proftpd/edit_limit.cgi index 592987c6c..587d6c3ad 100755 --- a/proftpd/edit_limit.cgi +++ b/proftpd/edit_limit.cgi @@ -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 "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
",&text('limit_header3', $text{"type_$in{'type'}"}, - $l->{'value'}),"
\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 "
\n"; -print "
\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'}", diff --git a/proftpd/edit_lserv.cgi b/proftpd/edit_lserv.cgi index 4d9f86350..619f43a70 100755 --- a/proftpd/edit_lserv.cgi +++ b/proftpd/edit_lserv.cgi @@ -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 "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'lserv_title'}
\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 "\n"; -print "\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 "\n"; - -print "
$text{'lserv_cmd'}
\n"; -print "\n"; -print "\n"; -print "

\n"; -print "

\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'}", diff --git a/proftpd/edit_net.cgi b/proftpd/edit_net.cgi index 8586cdc86..656da62d2 100755 --- a/proftpd/edit_net.cgi +++ b/proftpd/edit_net.cgi @@ -7,20 +7,16 @@ require './proftpd-lib.pl'; undef, undef, undef, undef, &restart_button()); $conf = &get_config(); -print "
\n"; -print "\n"; -print "\n"; -print "
$text{'net_header'}
\n"; +print &ui_form_start("save_net.cgi", "post"); +print &ui_table_start($text{'net_header'}, undef, 2); -print "\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 "\n"; -print "
\n"; -print "
\n"; +print &ui_table_end(); +print &ui_form_end([ [ undef, $text{'save'} ] ]); &ui_print_footer("", $text{'index_return'}); diff --git a/proftpd/edit_virt.cgi b/proftpd/edit_virt.cgi index e7043a35b..24a1a2a12 100755 --- a/proftpd/edit_virt.cgi +++ b/proftpd/edit_virt.cgi @@ -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 "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
",&text('virt_header3', $text{"type_$in{'type'}"}), - "
\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 "
\n"; -print "
\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'}); diff --git a/proftpd/edit_vserv.cgi b/proftpd/edit_vserv.cgi index 9e4702d89..0952731e3 100755 --- a/proftpd/edit_vserv.cgi +++ b/proftpd/edit_vserv.cgi @@ -12,31 +12,22 @@ $desc = &text('virt_header1', $vconf->{'value'}); $name = &find_directive("ServerName", $vconf->{'members'}); $port = &find_directive("Port", $vconf->{'members'}); -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'vserv_title'}
\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 "\n"; -printf "\n", - $vconf->{'value'}; +print &ui_table_row($text{'vserv_addr'}, + &ui_textbox("addr", $vconf->{'value'}, 30)); -print "\n"; -print "\n"; +print &ui_table_row($text{'vserv_name'}, + &opt_input($name, "ServerName", $text{'default'}, 30)); -print "\n"; -print "\n"; +print &ui_table_row($text{'vserv_port'}, + &opt_input($port, "Port", $text{'default'}, 6)); -print "\n"; - -print "
$text{'vserv_addr'}
$text{'vserv_name'}",&opt_input($name, "ServerName", $text{'default'}, 30), - "
$text{'vserv_port'}",&opt_input($port, "Port", $text{'default'}, 6), - "
\n"; -print "\n"; -print "\n"; -print "

\n"; -print "

\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'}); diff --git a/proftpd/proftpd-lib.pl b/proftpd/proftpd-lib.pl index fceeeb210..2071a9ee8 100755 --- a/proftpd/proftpd-lib.pl +++ b/proftpd/proftpd-lib.pl @@ -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 "\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 " \n"; - } - else { $sw = !$sw; } - print "$rv[1]\n"; - print "$rv[2]\n"; + print &ui_table_row($rv[1], $rv[2], 3); } else { # only spans one column - print "$rv[1]\n"; - print "$rv[2]\n"; + print &ui_table_row($rv[1], $rv[2], 1); } - - if ($sw) { print "\n"; } - $sw = !$sw; } }