From 09caaaaceddd8da705528da189d856cfc1a97d62 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sat, 16 Aug 2008 00:50:56 +0000 Subject: [PATCH] More ui-lib conversion --- useradmin/delete_group.cgi | 22 ++-- useradmin/edit_group.cgi | 3 +- useradmin/edit_user.cgi | 199 ++++++++++++++----------------------- 3 files changed, 86 insertions(+), 138 deletions(-) diff --git a/useradmin/delete_group.cgi b/useradmin/delete_group.cgi index c5f1a899c..967f6f749 100755 --- a/useradmin/delete_group.cgi +++ b/useradmin/delete_group.cgi @@ -71,17 +71,17 @@ else { } # Ask if the user is sure - print "
\n"; - print "\n"; - print "{'group'}\">\n"; - print "\n"; - print "
",&text('gdel_sure', $group->{'group'}),"

\n"; - print "\n"; - printf "
%s
\n", - $config{'default_other'} ? "checked" : "", - $text{'gdel_dothers'}; - print "

\n"; - print "

\n"; + print "
\n"; + print &ui_form_start("delete_group.cgi"); + print &ui_hidden("num", $in{'num'}); + print &ui_hidden("group", $group->{'group'}); + print "",&text('gdel_sure', $group->{'group'}),"

\n"; + print &ui_submit($text{'gdel_del'}, "confirm"),"
\n"; + print &ui_checkbox("others", 1, $text{'gdel_dothers'}, + $config{'default_other'}); + print &ui_form_end(); + print "

\n"; + &ui_print_footer("", $text{'index_return'}); } diff --git a/useradmin/edit_group.cgi b/useradmin/edit_group.cgi index 9033efe4a..f34bd7ceb 100755 --- a/useradmin/edit_group.cgi +++ b/useradmin/edit_group.cgi @@ -111,7 +111,8 @@ if ($n ne "") { } else { if ($access{'cothers'} == 1) { - print &ui_table_start($text{'uedit_oncreate'}, "width=100%", 2); + print &ui_table_start($text{'uedit_oncreate'}, "width=100%", 2, + [ "width=30%" ]); # Create in other modules? print &ui_table_row( diff --git a/useradmin/edit_user.cgi b/useradmin/edit_user.cgi index 4a7a94591..7d3524c14 100755 --- a/useradmin/edit_user.cgi +++ b/useradmin/edit_user.cgi @@ -5,6 +5,8 @@ require './user-lib.pl'; require 'timelocal.pl'; &ReadParse(); + +# Show header and get the user $n = $in{'num'}; if ($n eq "") { $access{'ucreate'} || &error($text{'uedit_ecreate'}); @@ -35,175 +37,120 @@ if (%uinfo) { push(@shlist, $uinfo{'shell'}); } -print "
\n"; -if ($n ne "") { - print "\n"; - } -print "\n"; -print "\n"; -print "
$text{'uedit_details'}
\n"; +# Start of the form +print &ui_form_start("save_user.cgi", "post"); +print &ui_hidden("num", $n) if ($n ne ""); +print &ui_table_start($text{'uedit_details'}, "width=100%", 4); +# Username print "\n"; if ($n eq "" && $config{'new_user_group'} && $access{'gcreate'}) { $onch = "newgid.value = user.value"; } if ($access{'urename'} || $n eq "") { - print "\n"; + print &ui_table_row(&hlink($text{'user'}, "user"), + &ui_textbox("user", $uinfo{'user'}, 20, 0, undef, + "onChange='$onch'")); } else { - print "\n"; + print &ui_table_row(&hlink($text{'user'}, "user"), + "".&html_escape($uinfo{'user'}).""); print &ui_hidden("user", $uinfo{'user'}),"\n"; } -print "\n"; -if ($n eq "") { - $defuid = &allocate_uid(\%used); - print "\n"; - } -else { - print "\n"; +# User ID +if ($n ne "") { + # Existing user, just show field to edit + $uidfield = &ui_textbox("uid", $user{'uid'}, 10); } +else { + # Work out which UID modes are available + @uidmodes = ( ); + $defuid = &allocate_uid(\%used); + if ($access{'autouid'}) { + push(@uidmodes, [ 1, $text{'gedit_uid_def'} ]); + } + if ($access{'calcuid'}) { + push(@uidmodes, [ 2, $text{'gedit_uid_calc'} ]); + } + if ($access{'useruid'}) { + push(@uidmodes, [ 0, &ui_textbox("uid", $defuid, 10) ]); + } + if (@uidmodes == 1) { + $uidfield = &ui_hidden("uid_def", $uidmodes[0]->[0]). + $uidmodes[0]->[1]; + } + else { + $uidfield = &ui_radio("uid_def", $config{'uid_mode'}, + \@uidmodes); + } + } +print &ui_table_row(&hlink($text{'uid'}, "uid"), $uidfield); +# Real name if ($config{'extra_real'}) { + # Has separate name, office, work and home phone parts local @real = split(/,/, $uinfo{'real'}, 5); - print "\n"; - print "\n"; + print &ui_table_row(&hlink($text{'real'}, "real"), + &ui_textbox("real", $real[0], 20)); - print "\n"; - print "\n"; + print &ui_table_row(&hlink($text{'office'}, "office"), + &ui_textbox("office", $real[1], 20)); - print "\n"; - print "\n"; + print &ui_table_row(&hlink($text{'workph'}, "workph"), + &ui_textbox("workph", $real[2], 20)); - print "\n"; - print "\n"; + print &ui_table_row(&hlink($text{'homeph'}, "homeph"), + &ui_textbox("homeph", $real[3], 20)); - print "\n"; - print "\n"; + print &ui_table_row(&hlink($text{'extra'}, "extra"), + &ui_textbox("extra", $real[4], 20)); } else { - print "\n"; - print "\n"; + # Just a name + print &ui_table_row(&hlink($text{'real'}, "real"), + &ui_textbox("real", $uinfo{'real'}, 20)); } # Show input for home directory -print "\n"; if ($access{'autohome'}) { - print "\n"; + # AUtomatic, cannot be changed + $homefield = $text{'uedit_auto'}. + ($n eq "" ? "" : "( $uinfo{'home'} ); } else { - print "\n"; +print &ui_table_row(&hlink($text{'home'}, "home"), + $homefield); # Show shell drop-down -print "\n"; -print "\n"; +push(@shlist, [ "*", $text{'uedit_other'} ]) if (!$shells); +print &ui_table_row(&hlink($text{'shell'}, "shell"), + &ui_select("shell", $uinfo{'shell'}, \@shlist)); # Show password field $pass = %uinfo ? $uinfo{'pass'} : $config{'lock_string'};
",&hlink("$text{'user'}","user"),"$uinfo{'user'}",&hlink("$text{'uid'}","uid"),"\n"; - - if ( $access{'calcuid'} && $access{'autouid'} && $access{'useruid'} ) { - # Show options for calculated, auto-incremented and user entered UID - printf " %s\n", - $config{'uid_mode'} eq '1' ? "checked" : "", - $text{'uedit_uid_def'}; - printf " %s\n", - $config{'uid_mode'} eq '2' ? "checked" : "", - $text{'uedit_uid_calc'}; - printf " %s\n", - $config{'uid_mode'} eq '0' ? "checked" : "", - ""; - } - - if ( $access{'calcuid'} && $access{'autouid'} && !$access{'useruid'} ) { - # Show options for calculated and auto-incremented UID - printf " %s\n", - $config{'uid_mode'} eq '1' ? "checked" : "", - $text{'uedit_uid_def'}; - printf " %s\n", - $config{'uid_mode'} eq '2' ? "checked" : "", - $text{'uedit_uid_calc'}; - } - - if ( $access{'calcuid'} && !$access{'autouid'} && $access{'useruid'} ) { - # Show options for calculated and user entered UID - printf " %s\n", - $config{'uid_mode'} eq '2' ? "checked" : "", - $text{'uedit_uid_calc'}; - printf " %s\n", - $config{'uid_mode'} eq '0' ? "checked" : "", - ""; - } - - if ( !$access{'calcuid'} && $access{'autouid'} && $access{'useruid'} ) { - # Show options for auto-incremented and user entered UID - printf " %s\n", - $config{'uid_mode'} eq '1' ? "checked" : "", - $text{'uedit_uid_def'}; - printf " %s\n", - $config{'uid_mode'} eq '0' ? "checked" : "", - ""; - } - - if ( $access{'calcuid'} && !$access{'autouid'} && !$access{'useruid'} ) { - # Hidden field for calculated UID - print ""; - print "$text{'uedit_uid_calc'}\n"; - } - - if ( !$access{'calcuid'} && $access{'autouid'} && !$access{'useruid'} ) { - # Hidden field for auto-incremented UID - print ""; - print "$text{'uedit_uid_calc'}\n"; - } - - if ( !$access{'calcuid'} && !$access{'autouid'} && $access{'useruid'} ) { - # Show field for user entered UID - print ""; - print "UID: \n"; - } - - if ( !$access{'calcuid'} && !$access{'autouid'} && !$access{'useruid'} ) { - if ( $config{'uid_mode'} eq '0' ) { - print ""; - print "UID: \n"; - } else { - print ""; - print "$text{'uedit_uid_def'}\n" if ( $config{'uid_mode'} eq '1' ); - print "$text{'uedit_uid_calc'}\n" if ( $config{'uid_mode'} eq '2' ); - } - } - print "
",&hlink("$text{'real'}","real"),"",&hlink("$text{'office'}","office"),"
",&hlink("$text{'workph'}","workph"),"",&hlink("$text{'homeph'}","homeph"),"
",&hlink("$text{'extra'}","extra"),"
",&hlink("$text{'real'}","real"),"",&hlink("$text{'home'}","home"),"$text{'uedit_auto'} ", - $n eq "" ? "" : "( $uinfo{'home'} )", - "\n"; if ($config{'home_base'}) { + # Can be automatic local $grp = &my_getgrgid($uinfo{'gid'}); local $hb = $n eq "" || &auto_home_dir($config{'home_base'}, $uinfo{'user'}, $grp) eq $uinfo{'home'}; - printf " %s\n", - $hb ? "checked" : "", $text{'uedit_auto'}; - printf "\n", - $hb ? "" : "checked"; - printf " %s\n", - $hb ? "" : $uinfo{'home'}, - &file_chooser_button("home", 1); + $homefield = &ui_radio("home_base", $hb ? 1 : 0, + [ [ 1, $text{'uedit_auto'} ], + [ 0, &ui_filebox("home", $hb ? "" : $uinfo{'home'}, + 25, 0, undef, undef, 1) ] ]); } else { - print "\n", - &file_chooser_button("home", 1); + # Allow any directory + $homefield = &ui_filebox("home", $uinfo{'home'}, 25, 0, + undef, undef, 1); } } -print "
",&hlink("$text{'shell'}","shell"),"