added ip-based groups.
This commit is contained in:
parent
10f3b55c3f
commit
25dd1f5465
3 changed files with 20 additions and 2 deletions
|
|
@ -116,6 +116,11 @@ sub www_editGroup {
|
|||
} else {
|
||||
$f->hidden("karmaThreshold",$group{karmaThreshold});
|
||||
}
|
||||
$f->text(
|
||||
-name=>"ipFilter",
|
||||
-value=>$group{ipFilter},
|
||||
-label=>WebGUI::International::get(857)
|
||||
);
|
||||
$f->submit;
|
||||
$output .= $f->print;
|
||||
return _submenu($output);
|
||||
|
|
@ -132,7 +137,8 @@ sub www_editGroupSave {
|
|||
description=".quote($session{form}{description}).",
|
||||
expireAfter='".WebGUI::DateTime::intervalToSeconds($session{form}{expireAfter_interval},
|
||||
$session{form}{expireAfter_units})."',
|
||||
karmaThreshold='$session{form}{karmaThreshold}'
|
||||
karmaThreshold='$session{form}{karmaThreshold}',
|
||||
ipFilter=".quote($session{form}{ipFilter})."
|
||||
where groupId=".$session{form}{gid});
|
||||
return www_listGroups();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -242,7 +242,17 @@ sub isInGroup {
|
|||
}
|
||||
### Get data for auxillary checks.
|
||||
tie %group, 'Tie::CPHash';
|
||||
%group = WebGUI::SQL->quickHash("select karmaThreshold from groups where groupId='$gid'");
|
||||
%group = WebGUI::SQL->quickHash("select karmaThreshold,ipFilter from groups where groupId='$gid'");
|
||||
### Check IP Address
|
||||
if ($group{ipFilter} ne "") {
|
||||
my @ips = split(";",$group{ipFilter});
|
||||
foreach my $ip (@ips) {
|
||||
if ($session{env}{REMOTE_ADDR} =~ /^$ip/) {
|
||||
$session{isInGroup}{$gid} = 1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
### Check karma levels.
|
||||
if ($session{setting}{useKarma}) {
|
||||
tie %user, 'Tie::CPHash';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue