\n";
+print &ui_table_row($text{'sec_writable'},
+ &yesno_input("writeable"));
-print " | $text{'sec_writable'} | \n";
-print "",&yesno_input("writeable")," | \n";
+print &ui_table_row($text{'sec_guest'},
+ &ui_radio("guest", &istrue("public") && &istrue("guest only") ? 2 :
+ &istrue("public") && !&istrue("guest only") ? 1 : 0,
+ [ [ 0, $text{'config_none'} ],
+ [ 1, $text{'yes'} ],
+ [ 2, $text{'sec_guestonly'} ] ]));
-print "$text{'sec_guest'} | \n";
-printf " $text{'config_none'}\n",
- &istrue("public") ? "" : "checked";
-printf " $text{'yes'}\n",
- &istrue("public") && !&istrue("guest only") ? "checked" : "";
-printf " $text{'sec_guestonly'} | \n",
- &istrue("public") && &istrue("guest only") ? "checked" : "";
+print &ui_table_row($text{'sec_guestaccount'},
+ &username_input("guest account", "Default"));
-print " | $text{'sec_guestaccount'} | \n";
-&username_input("guest account", "Default");
+print &ui_table_row($text{'sec_limit'},
+ &yesno_input("only user"));
-print "$text{'sec_limit'} | \n";
-print "",&yesno_input("only user")," | \n";
+print &ui_table_row($text{'sec_allowhost'},
+ &ui_opt_textbox("allow_hosts", &getval("allow hosts"), 60,
+ $text{'config_all'}, $text{'sec_onlyallow'}));
-print " | $text{'sec_allowhost'} | \n";
-printf " $text{'config_all'}\n",
- &getval("allow hosts") eq "" ? "checked" : "";
-print " \n";
-printf " $text{'sec_onlyallow'}:\n",
- &getval("allow hosts") eq "" ? "" : "checked";
-printf " | \n",
- &getval("allow hosts");
+print &ui_table_row($text{'sec_denyhost'},
+ &ui_opt_textbox("deny_hosts", &getval("deny hosts"), 60,
+ $text{'config_none'}, $text{'sec_onlydeny'}));
-print " | $text{'sec_denyhost'} | \n";
-printf " $text{'config_none'}\n",
- &getval("deny hosts") eq "" ? "checked" : "";
-print " \n";
-printf " $text{'sec_onlydeny'}:\n",
- &getval("deny hosts") eq "" ? "" : "checked";
-printf " | \n",
- &getval("deny hosts");
+print &ui_table_row($text{'sec_revalidate'},
+ &yesno_input("revalidate"));
-print " | $text{'sec_revalidate'} | \n";
-print "",&yesno_input("revalidate")," | \n";
+foreach $f ("valid users", "invalid users") {
+ @user = &split_users(&getval($f));
+ ($uf = $f) =~ s/ /_/g;
+ ($pfx) = split(/\s+/, $f);
+ print &ui_table_row($text{'sec_'.$pfx.'user'},
+ &ui_textbox($uf."_u",
+ join(' ', grep { !/^@/ } @user), 60)." ".
+ &user_chooser_button($uf."_u", 1));
-@valid_users = &split_users(&getval("valid users"));
-print " | $text{'sec_validuser'} | \n";
-printf " %s | \n",
- join(' ', grep { !/^@/ } @valid_users),
- &user_chooser_button("valid_users_u", 1);
-print " | $text{'sec_validgroup'} | \n";
-printf " %s | \n",
- join(' ', map { s/@//;$_ } grep { /^@/ } @valid_users),
- &group_chooser_button("valid_users_g", 1);
+ print &ui_table_row($text{'sec_'.$pfx.'group'},
+ &ui_textbox($uf."_g", join(' ', map { s/@//; $_ } grep { /^@/ } @user), 60)." ".
+ &group_chooser_button($uf."_g", 1));
+ }
-@invalid_users = &split_users(&getval("invalid users"));
-print " | $text{'sec_invaliduser'} | \n";
-printf " %s | \n",
- join(' ', grep { !/^@/ } @invalid_users),
- &user_chooser_button("invalid_users_u", 1);
-print " | $text{'sec_invalidgroup'} | \n";
-printf " %s | \n",
- join(' ', map { s/@//;$_ } grep { /^@/ } @invalid_users),
- &group_chooser_button("invalid_users_g", 1);
+print &ui_table_hr();
-print "
| \n";
+foreach $fp ([ "user", "possible" ],
+ [ "read list", "ro" ],
+ [ "write list", "rw" ]) {
+ ($f, $pfx) = @$fp;
+ ($uf = $f) =~ s/ /_/g;
+ @user = &split_users(&getval($f));
+ print &ui_table_row($text{'sec_'.$pfx.'user'},
+ &ui_textbox($uf."_u", join(' ', grep { !/^@/ } @user), 60)." ".
+ &user_chooser_button($uf."_u"));
+ print &ui_table_row($text{'sec_'.$pfx.'group'},
+ &ui_textbox($uf."_g", join(' ', map { s/@//;$_ } grep { /^@/ } @user), 60)." ".
+ &group_chooser_button($uf."_g"));
+ }
-@user = &split_users(&getval("user"));
-print " | $text{'sec_possibleuser'} | \n";
-printf " %s | \n",
- join(' ', grep { !/^@/ } @user),
- &user_chooser_button("user_u", 1);
-print "$text{'sec_possiblegroup'} | \n";
-printf " %s | \n",
- join(' ', map { s/@//;$_ } grep { /^@/ } @user),
- &group_chooser_button("user_g", 1);
+print &ui_table_end();
-@read_list = &split_users(&getval("read list"));
-print " | $text{'sec_rouser'} | \n";
-printf " %s | \n",
- join(' ', grep { !/^@/ } @read_list),
- &user_chooser_button("read_list_u", 1);
-print "$text{'sec_rogroup'} | \n";
-printf " %s | \n",
- join(' ', map { s/@//;$_ } grep { /^@/ } @read_list),
- &group_chooser_button("read_list_g", 1);
-
-@write_list = &split_users(&getval("write list"));
-print " | $text{'sec_rwuser'} | \n";
-printf " %s | \n",
- join(' ', grep { !/^@/ } @write_list),
- &user_chooser_button("write_list_u", 1);
-print "$text{'sec_rwgroup'} | \n";
-printf " %s | \n",
- join(' ', map { s/@//;$_ } grep { /^@/ } @write_list),
- &group_chooser_button("write_list_g", 1);
-
-print " |