Viewing file: acl_security.pl (8.72 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
do 'acl-lib.pl';
# acl_security_form(&options) # Output HTML for editing security options for the acl module sub acl_security_form { my ($o) = @_; print "<tr> <td valign=top><b>$text{'acl_users'}</b></td>\n"; print "<td valign=top>\n"; printf "<input type=radio name=users_def value=1 %s> %s\n", $o->{'users'} eq '*' ? 'checked' : '', $text{'acl_uall'}; printf "<input type=radio name=users_def value=2 %s> %s<br>\n", $o->{'users'} eq '~' ? 'checked' : '', $text{'acl_uthis'}; printf "<input type=radio name=users_def value=0 %s> %s<br>\n", $o->{'users'} eq '*' || $o->{'users'} eq '~' ? '' : 'checked', $text{'acl_usel'}; print "<select name=users multiple size=6 width=150>\n"; map { $ucan{$_}++ } split(/\s+/, $o->{'users'}); foreach $u (&list_users()) { printf "<option %s>%s\n", $ucan{$u->{'name'}} ? 'selected' : '', $u->{'name'}; } foreach $g (&list_groups()) { printf "<option %s value=%s>%s\n", $ucan{'_'.$g->{'name'}} ? 'selected' : '', '_'.$g->{'name'}, &text('acl_gr', $g->{'name'}); } print "</select></td>\n";
print "<td valign=top><b>$text{'acl_mods'}</b></td> ", "<td valign=top>\n"; printf "<input type=radio name=mode value=0 %s> %s \n", $o->{'mode'} == 0 ? 'checked' : '', $text{'acl_all'}; printf "<input type=radio name=mode value=1 %s> %s<br>\n", $o->{'mode'} == 1 ? 'checked' : '', $text{'acl_own'}; printf "<input type=radio name=mode value=2 %s> %s<br>\n", $o->{'mode'} == 2 ? 'checked' : '', $text{'acl_sel'}; print " <select name=mods multiple size=6>\n"; map { $mcan{$_}++ } split(/\s+/, $o->{'mods'}); foreach $m (&list_module_infos()) { printf "<option value=%s %s>%s\n", $m->{'dir'}, $mcan{$m->{'dir'}} ? 'selected' :'', $m->{'desc'}; } print "</select></td> </tr>\n";
print "<tr> <td><b>$text{'acl_create'}</b></td> <td>\n"; printf "<input type=radio name=create value=1 %s> $text{'yes'}\n", $o->{'create'} ? 'checked' : ''; printf "<input type=radio name=create value=0 %s> $text{'no'}</td>\n", $o->{'create'} ? '' : 'checked';
print "<td><b>$text{'acl_delete'}</b></td> <td>\n"; printf "<input type=radio name=delete value=1 %s> $text{'yes'}\n", $o->{'delete'} ? 'checked' : ''; printf "<input type=radio name=delete value=0 %s> $text{'no'}</td> </tr>\n", $o->{'delete'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_rename'}</b></td> <td>\n"; printf "<input type=radio name=rename value=1 %s> $text{'yes'}\n", $o->{'rename'} ? 'checked' : ''; printf "<input type=radio name=rename value=0 %s> $text{'no'}</td>\n", $o->{'rename'} ? '' : 'checked';
print "<td><b>$text{'acl_acl'}</b></td> <td>\n"; printf "<input type=radio name=acl value=1 %s> $text{'yes'}\n", $o->{'acl'} ? 'checked' : ''; printf "<input type=radio name=acl value=0 %s> $text{'no'}</td> </tr>\n", $o->{'acl'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_cert'}</b></td> <td>\n"; printf "<input type=radio name=cert value=1 %s> $text{'yes'}\n", $o->{'cert'} ? 'checked' : ''; printf "<input type=radio name=cert value=0 %s> $text{'no'}</td>\n", $o->{'cert'} ? '' : 'checked';
print "<td><b>$text{'acl_others'}</b></td> <td>\n"; printf "<input type=radio name=others value=1 %s> $text{'yes'}\n", $o->{'others'} ? 'checked' : ''; printf "<input type=radio name=others value=0 %s> $text{'no'}</td> </tr>\n", $o->{'others'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_chcert'}</b></td> <td>\n"; printf "<input type=radio name=chcert value=1 %s> $text{'yes'}\n", $o->{'chcert'} ? 'checked' : ''; printf "<input type=radio name=chcert value=0 %s> $text{'no'}</td>\n", $o->{'chcert'} ? '' : 'checked';
print "<td><b>$text{'acl_lang'}</b></td> <td>\n"; printf "<input type=radio name=lang value=1 %s> $text{'yes'}\n", $o->{'lang'} ? 'checked' : ''; printf "<input type=radio name=lang value=0 %s> $text{'no'}</td> </tr>\n", $o->{'lang'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_cats'}</b></td> <td>\n"; printf "<input type=radio name=cats value=1 %s> $text{'yes'}\n", $o->{'cats'} ? 'checked' : ''; printf "<input type=radio name=cats value=0 %s> $text{'no'}</td>\n", $o->{'cats'} ? '' : 'checked';
print "<td><b>$text{'acl_theme'}</b></td> <td>\n"; printf "<input type=radio name=theme value=1 %s> $text{'yes'}\n", $o->{'theme'} ? 'checked' : ''; printf "<input type=radio name=theme value=0 %s> $text{'no'}</td> </tr>\n", $o->{'theme'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_ips'}</b></td> <td>\n"; printf "<input type=radio name=ips value=1 %s> $text{'yes'}\n", $o->{'ips'} ? 'checked' : ''; printf "<input type=radio name=ips value=0 %s> $text{'no'}</td>\n", $o->{'ips'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_perms'}</b></td> <td colspan=3>\n"; printf "<input type=radio name=perms value=1 %s> $text{'acl_perms_1'}\n", $o->{'perms'} ? 'checked' : ''; printf "<input type=radio name=perms value=0 %s> $text{'acl_perms_0'}</td>\n", $o->{'perms'} ? '' : 'checked'; print "</tr>\n";
print "<tr> <td><b>$text{'acl_sync'}</b></td> <td>\n"; printf "<input type=radio name=sync value=1 %s> $text{'yes'}\n", $o->{'sync'} ? 'checked' : ''; printf "<input type=radio name=sync value=0 %s> $text{'no'}</td>\n", $o->{'sync'} ? '' : 'checked';
print "<td><b>$text{'acl_unix'}</b></td> <td>\n"; printf "<input type=radio name=unix value=1 %s> $text{'yes'}\n", $o->{'unix'} ? 'checked' : ''; printf "<input type=radio name=unix value=0 %s> $text{'no'}</td> </tr>\n", $o->{'unix'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_sessions'}</b></td> <td>\n"; printf "<input type=radio name=sessions value=1 %s> $text{'yes'}\n", $o->{'sessions'} ? 'checked' : ''; printf "<input type=radio name=sessions value=0 %s> $text{'no'}</td>\n", $o->{'sessions'} ? '' : 'checked';
print "<td><b>$text{'acl_switch'}</b></td> <td>\n"; printf "<input type=radio name=switch value=1 %s> $text{'yes'}\n", $o->{'switch'} ? 'checked' : ''; printf "<input type=radio name=switch value=0 %s> $text{'no'}</td> </tr>\n", $o->{'switch'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_times'}</b></td> <td>\n"; printf "<input type=radio name=times value=1 %s> $text{'yes'}\n", $o->{'times'} ? 'checked' : ''; printf "<input type=radio name=times value=0 %s> $text{'no'}</td>\n", $o->{'times'} ? '' : 'checked';
print "<td><b>$text{'acl_pass'}</b></td> <td>\n"; printf "<input type=radio name=pass value=1 %s> $text{'yes'}\n", $o->{'pass'} ? 'checked' : ''; printf "<input type=radio name=pass value=0 %s> $text{'no'}</td> </tr>\n", $o->{'pass'} ? '' : 'checked';
print "<tr> <td><b>$text{'acl_sqls'}</b></td> <td>\n"; printf "<input type=radio name=sqls value=1 %s> $text{'yes'}\n", $o->{'sqls'} ? 'checked' : ''; printf "<input type=radio name=sqls value=0 %s> $text{'no'}</td>\n", $o->{'sqls'} ? '' : 'checked';
print "</tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";
print "<tr> <td valign=top><b>$text{'acl_groups'}</b></td> <td valign=top>\n"; printf "<input type=radio name=groups value=1 %s> $text{'yes'}\n", $o->{'groups'} == 1 ? 'checked' : ''; printf "<input type=radio name=groups value=0 %s> $text{'no'}</td>\n", $o->{'groups'} == 0 ? 'checked' : '';
print "<td valign=top><b>$text{'acl_gassign'}</b></td> <td>\n"; printf "<input type=radio name=gassign_def value=1 %s> %s\n", $o->{'gassign'} eq '*' ? 'checked' : '', $text{'acl_gall'}; printf "<input type=radio name=gassign_def value=0 %s> %s<br>\n", $o->{'gassign'} eq '*' ? '' : 'checked', $text{'acl_gsel'}; print "<select name=gassign multiple size=3 width=150>\n"; map { $gcan{$_}++ } split(/\s+/, $o->{'gassign'}); printf "<option value=_none %s><%s>\n", $gcan{'_none'} ? 'selected' : '', $text{'acl_gnone'}; foreach $g (&list_groups()) { printf "<option %s>%s\n", $gcan{$g->{'name'}} ? 'selected' : '', $g->{'name'}; } print "</select></td> </tr>\n"; }
# acl_security_save(&options) # Parse the form for security options for the acl module sub acl_security_save { if ($in{'users_def'} == 1) { $_[0]->{'users'} = '*'; } elsif ($in{'users_def'} == 2) { $_[0]->{'users'} = '~'; } else { $_[0]->{'users'} = join(" ", split(/\0/, $in{'users'})); } $_[0]->{'mode'} = $in{'mode'}; $_[0]->{'mods'} = $in{'mode'} == 2 ? join(" ", split(/\0/, $in{'mods'})) : undef; $_[0]->{'create'} = $in{'create'}; $_[0]->{'groups'} = $in{'groups'}; $_[0]->{'delete'} = $in{'delete'}; $_[0]->{'rename'} = $in{'rename'}; $_[0]->{'acl'} = $in{'acl'}; $_[0]->{'others'} = $in{'others'}; $_[0]->{'cert'} = $in{'cert'}; $_[0]->{'chcert'} = $in{'chcert'}; $_[0]->{'lang'} = $in{'lang'}; $_[0]->{'perms'} = $in{'perms'}; $_[0]->{'gassign'} = $in{'gassign_def'} ? '*' : join(" ", split(/\0/, $in{'gassign'})); $_[0]->{'sync'} = $in{'sync'}; $_[0]->{'unix'} = $in{'unix'}; $_[0]->{'switch'} = $in{'switch'}; $_[0]->{'sessions'} = $in{'sessions'}; $_[0]->{'cats'} = $in{'cats'}; $_[0]->{'theme'} = $in{'theme'}; $_[0]->{'ips'} = $in{'ips'}; $_[0]->{'times'} = $in{'times'}; $_[0]->{'pass'} = $in{'pass'}; $_[0]->{'sql'} = $in{'sql'}; }
|