#!/usr/local/bin/perl # edit_group.cgi # Display a form for editing or creating a group require './user-lib.pl'; &ReadParse(); $n = $in{'num'}; %access = &get_module_acl(); if ($n eq "") { $access{'gcreate'}==1 || &error($text{'gedit_ecreate'}); &ui_print_header(undef, $text{'gedit_title2'}, "", "create_group"); } else { @glist = &list_groups(); %group = %{$glist[$n]}; &can_edit_group(\%access, \%group) || &error($text{'gedit_eedit'}); &ui_print_header(undef, $text{'gedit_title'}, "", "edit_group"); } &build_group_used(\%gused); print "
\n"; if ($n ne "") { print "\n"; } print "\n"; print "\n"; print "
$text{'gedit_details'}
\n"; print "\n"; if ($n eq "") { print "\n"; } else { print "\n"; } print "\n"; if ($n eq "") { print "\n"; } else { print "\n"; } print "\n"; print "\n"; printf "\n"; # Member chooser local $w = 500; local $h = 200; if ($gconfig{'db_sizeusers'}) { ($w, $h) = split(/x/, $gconfig{'db_sizeusers'}); } print "\n"; print "\n"; print "
",&hlink("$text{'gedit_group'}","ggroup"), "$group{'group'}",&hlink("$text{'gedit_gid'}","ggid"),"\n"; $defgid = &allocate_gid(\%gused); if ( $access{'calcgid'} && $access{'autogid'} && $access{'usergid'} ) { # Show options for calculated, auto-incremented and user entered GID printf " %s\n", $config{'gid_mode'} eq '1' ? "checked" : "", $text{'gedit_gid_def'}; printf " %s\n", $config{'gid_mode'} eq '2' ? "checked" : "", $text{'gedit_gid_calc'}; printf " %s\n", $config{'gid_mode'} eq '0' ? "checked" : "", ""; } if ( $access{'calcgid'} && $access{'autogid'} && !$access{'usergid'} ) { # Show options for calculated and auto-incremented GID printf " %s\n", $config{'gid_mode'} eq '1' ? "checked" : "", $text{'gedit_gid_def'}; printf " %s\n", $config{'gid_mode'} eq '2' ? "checked" : "", $text{'gedit_gid_calc'}; } if ( $access{'calcgid'} && !$access{'autogid'} && $access{'usergid'} ) { # Show options for calculated and user entered GID printf " %s\n", $config{'gid_mode'} eq '2' ? "checked" : "", $text{'gedit_gid_calc'}; printf " %s\n", $config{'gid_mode'} eq '0' ? "checked" : "", ""; } if ( !$access{'calcgid'} && $access{'autogid'} && $access{'usergid'} ) { # Show options for auto-incremented and user entered GID printf " %s\n", $config{'gid_mode'} eq '1' ? "checked" : "", $text{'gedit_gid_def'}; printf " %s\n", $config{'gid_mode'} eq '0' ? "checked" : "", ""; } if ( $access{'calcgid'} && !$access{'autogid'} && !$access{'usergid'} ) { # Hidden field for calculated GID print ""; print "$text{'gedit_gid_calc'} from Berkeley style cksum\n"; } if ( !$access{'calcgid'} && $access{'autogid'} && !$access{'usergid'} ) { # Hidden field for auto-incremented GID print ""; print "$text{'gedit_gid_calc'}\n"; } if ( !$access{'calcgid'} && !$access{'autogid'} && $access{'usergid'} ) { # Show field for user entered GID print ""; print "GID: \n"; } if ( !$access{'calcgid'} && !$access{'autogid'} && !$access{'usergid'} ) { if ( $config{'gid_mode'} eq '0' ) { print ""; print "GID: \n"; } else { print ""; print "$text{'gedit_gid_def'}\n" if ( $config{'gid_mode'} eq '1' ); print "$text{'gedit_gid_calc'}\n" if ( $config{'gid_mode'} eq '2' ); } } print "
",&hlink("$text{'pass'}","gpasswd")," $text{'none2'}
\n", $group{'pass'} eq "" ? "checked" : ""; printf " $text{'encrypted'}\n", $group{'pass'} eq "" ? "" : "checked"; print "
\n"; print " $text{'clear'}\n"; print "
",&hlink("$text{'gedit_members'}","gmembers"), "\n"; print "

\n"; if ($n ne "") { if ($access{'chgid'} == 1 || $access{'mothers'} == 1) { print "\n"; print "\n"; print "
$text{'onsave'}
\n"; if ($access{'chgid'} == 1) { print "\n"; print "\n"; print "\n"; print "\n"; } if ($access{'mothers'} == 1) { print "\n"; printf "\n", $config{'default_other'} ? "checked" : ""; printf "\n", $config{'default_other'} ? "" : "checked"; } print "
",&hlink($text{'chgid'},"gchgid")," $text{'no'} $text{'gedit_homedirs'} $text{'gedit_allfiles'}
",&hlink($text{'gedit_mothers'},"others")," $text{'yes'} $text{'no'}

\n"; } } else { if ($access{'cothers'} == 1) { print "\n"; print "\n"; print "
$text{'uedit_oncreate'}
\n"; if ($access{'cothers'} == 1) { print "\n"; printf "\n", $config{'default_other'} ? "checked" : ""; printf "\n", $config{'default_other'} ? "" : "checked"; } print "
",&hlink($text{'gedit_cothers'},"others")," $text{'yes'} $text{'no'}

\n"; } } if ($n ne "") { print "\n"; print "\n"; if ($access{'gdelete'}) { print "\n"; print "\n"; print "\n"; } print "

\n"; } else { print "

\n"; } &ui_print_footer("", $text{'index_return'});