do 'web-lib.pl'; &init_config(); do 'ui-lib.pl'; # acl_security_form(&options) # Output HTML for editing global security options sub acl_security_form { local $o = $_[0]; # Root directory for file browser print " $text{'acl_root'}\n"; printf " %s\n", $o->{'root'} ? '' : 'checked', $text{'acl_home'}; printf "\n", $o->{'root'} ? 'checked' : ''; print " ", &file_chooser_button("root", 1)," \n"; print &ui_table_row($text{'acl_otherdirs'}, &ui_textarea("otherdirs", join("\n", split(/\t+/, $o->{'otherdirs'})), 5, 40), 3); # Can see dot files? print " $text{'acl_nodot'}\n"; print "",&ui_yesno_radio("nodot", int($o->{'nodot'}))," \n"; # Browse as Unix user print " $text{'acl_fileunix'}\n"; print "",&ui_opt_textbox("fileunix", $o->{'fileunix'}, 13, $text{'acl_sameunix'})." ". &user_chooser_button("fileunix")," \n"; print "
\n"; # Users visible in chooser print " $text{'acl_uedit'} \n"; printf " $text{'acl_uedit_all'}\n", $o->{'uedit_mode'} == 0 ? "checked" : ""; printf " $text{'acl_uedit_none'}
\n", $o->{'uedit_mode'} == 1 ? "checked" : ""; printf " $text{'acl_uedit_only'}\n", $o->{'uedit_mode'} == 2 ? "checked" : ""; printf " %s
\n", $o->{'uedit_mode'} == 2 ? $o->{'uedit'} : "", &user_chooser_button("uedit_can", 1); printf " $text{'acl_uedit_except'}\n", $o->{'uedit_mode'} == 3 ? "checked" : ""; printf " %s
\n", $o->{'uedit_mode'} == 3 ? $o->{'uedit'} : "", &user_chooser_button("uedit_cannot", 1); printf " $text{'acl_uedit_uid'}\n", $o->{'uedit_mode'} == 4 ? "checked" : ""; printf " - \n", $o->{'uedit_mode'} == 4 ? $o->{'uedit'} : ""; printf "
\n", $o->{'uedit_mode'} == 4 ? $o->{'uedit2'} : ""; printf " $text{'acl_uedit_group'}\n", $o->{'uedit_mode'} == 5 ? "checked" : ""; printf " %s \n", $o->{'uedit_mode'} == 5 ? $dummy=getgrgid($o->{'uedit'}) : "", &group_chooser_button("uedit_group", 0); # Groups visible in chooser print " $text{'acl_gedit'} \n"; printf " $text{'acl_gedit_all'}\n", $o->{'gedit_mode'} == 0 ? "checked" : ""; printf " $text{'acl_gedit_none'}
\n", $o->{'gedit_mode'} == 1 ? "checked" : ""; printf " $text{'acl_gedit_only'}\n", $o->{'gedit_mode'} == 2 ? "checked" : ""; printf " %s
\n", $o->{'gedit_mode'} == 2 ? $o->{'gedit'} : "", &group_chooser_button("gedit_can", 1); printf " $text{'acl_gedit_except'}\n", $o->{'gedit_mode'} == 3 ? "checked" : ""; printf " %s
\n", $o->{'gedit_mode'} == 3 ? $o->{'gedit'} : "", &group_chooser_button("gedit_cannot", 1); printf " $text{'acl_gedit_gid'}\n", $o->{'gedit_mode'} == 4 ? "checked" : ""; printf " -\n", $o->{'gedit_mode'} == 4 ? $o->{'gedit'} : ""; printf " \n", $o->{'gedit_mode'} == 4 ? $o->{'gedit2'} : ""; print "
\n"; # Can submit feedback? print " $text{'acl_feedback'} \n"; printf " %s\n", $o->{'feedback'} == 2 ? "checked" : "", $text{'acl_feedback2'}; printf " %s\n", $o->{'feedback'} == 3 ? "checked" : "", $text{'acl_feedback3'}; printf " %s\n", $o->{'feedback'} == 1 ? "checked" : "", $text{'acl_feedback1'}; printf " %s \n", $o->{'feedback'} == 0 ? "checked" : "", $text{'acl_feedback0'}; # Can accept RPC calls? print "
\n"; print " $text{'acl_rpc'} \n"; printf " %s\n", $o->{'rpc'} == 1 ? "checked" : "", $text{'acl_rpc1'}; if ($o->{'rpc'} == 2) { printf " %s\n", $o->{'rpc'} == 2 ? "checked" : "", $text{'acl_rpc2'}; } printf " %s \n", $o->{'rpc'} == 0 ? "checked" : "", $text{'acl_rpc0'}; # Readonly mode print " $text{'acl_readonly'}\n"; print "",&ui_yesno_radio("readonly", $o->{'readonly'})," \n"; } # acl_security_save(&options) # Parse the form for global security options sub acl_security_save { $_[0]->{'root'} = $in{'root_def'} ? undef : $in{'root'}; $_[0]->{'otherdirs'} = join("\t", split(/\r?\n/, $in{'otherdirs'})); $_[0]->{'nodot'} = $in{'nodot'}; $_[0]->{'uedit_mode'} = $in{'uedit_mode'}; $_[0]->{'uedit'} = $in{'uedit_mode'} == 2 ? $in{'uedit_can'} : $in{'uedit_mode'} == 3 ? $in{'uedit_cannot'} : $in{'uedit_mode'} == 4 ? $in{'uedit_uid'} : $in{'uedit_mode'} == 5 ? getgrnam($in{'uedit_group'}) : ""; $_[0]->{'uedit2'} = $in{'uedit_mode'} == 4 ? $in{'uedit_uid2'} : undef; $_[0]->{'gedit_mode'} = $in{'gedit_mode'}; $_[0]->{'gedit'} = $in{'gedit_mode'} == 2 ? $in{'gedit_can'} : $in{'gedit_mode'} == 3 ? $in{'gedit_cannot'} : $in{'gedit_mode'} == 4 ? $in{'gedit_gid'} : ""; $_[0]->{'gedit2'} = $in{'gedit_mode'} == 4 ? $in{'gedit_gid2'} : undef; $_[0]->{'feedback'} = $in{'feedback'}; $_[0]->{'rpc'} = $in{'rpc'}; $_[0]->{'readonly'} = $in{'readonly'}; $_[0]->{'fileunix'} = $in{'fileunix_def'} ? undef : $in{'fileunix'}; }