added ip-based groups.
This commit is contained in:
parent
10f3b55c3f
commit
25dd1f5465
3 changed files with 20 additions and 2 deletions
|
|
@ -15,5 +15,7 @@ delete from international where languageId=2 and namespace='WebGUI' and internat
|
|||
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (819,2,'WebGUI','kann selbst deaktivieren', 1043422108);
|
||||
delete from international where languageId=2 and namespace='WebGUI' and internationalId=836;
|
||||
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (836,2,'WebGUI','Schnipsel sind Text-Elemente, die mehrfach auf Ihrer Seite genutzt werden k?nnen. Dinge wie Java-Scripts, Style Sheets, Flash Animationen oder einfach nur Slogans sind Beispiele hierf?r. Das beste daran ist, dass Sie ?nderungen, die zum Beispiel in einem Slogan oder Werbespruch durchgef?hrt werden m?ssen, an zentraler Stelle ?ndern k?nnen.<br><br>\r\n<b>Name</b><br>Vergeben Sie einen eindeutigen Namen, damit Sie das Schnipsel sp?ter schnell wiederfinden k?nnen.<br><br>\r\n<b>In welches Verzeichnis</b><br>In welchen Ordner m?chten Sie das Schnipsel speichern<br><br>\r\n<b>Schnipsel</b><br>Geben Sie hier den Text ein oder noch einfacher: kopieren Sie den ben?tigten Text oder auch JavaScript-Code ?ber die Zwischenablage ein.', 1043421646);
|
||||
alter table groups add column ipFilter varchar(255);
|
||||
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (857,1,'WebGUI','IP Address', 1043878310);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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