aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorAmitai Schlair <schmonz@magnetic-babysitter.(none)>2009-09-09 14:44:52 -0400
committerAmitai Schlair <schmonz@magnetic-babysitter.(none)>2009-09-09 14:44:52 -0400
commit5f44dd8e7762827753c02dcd78d663c0fd9554b3 (patch)
tree37d2604af5f95b714719ad68df44e31e9d23789d /IkiWiki
parent1332327f5e9fa394076b5a80b2678e9c2fa0bb48 (diff)
parent2a99ebf2766a08f8d68a82255d1518ecac73ec84 (diff)
downloadikiwiki-5f44dd8e7762827753c02dcd78d663c0fd9554b3.tar
ikiwiki-5f44dd8e7762827753c02dcd78d663c0fd9554b3.tar.gz
Merge branch 'master' of git://github.com/joeyh/ikiwiki
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/CGI.pm28
-rw-r--r--IkiWiki/Plugin/underlay.pm11
2 files changed, 30 insertions, 9 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index af58d7cb5..52cafade0 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -252,16 +252,30 @@ sub check_banned ($$) {
my $q=shift;
my $session=shift;
+ my $banned=0;
my $name=$session->param("name");
- if (defined $name) {
- if (grep { $name eq $_ } @{$config{banned_users}}) {
- $session->delete();
- cgi_savesession($session);
- cgi_custom_failure(
- $q->header(-status => "403 Forbidden"),
- gettext("You are banned."));
+ if (defined $name &&
+ grep { $name eq $_ } @{$config{banned_users}}) {
+ $banned=1;
+ }
+
+ foreach my $b (@{$config{banned_users}}) {
+ if (pagespec_match("", $b,
+ ip => $ENV{REMOTE_ADDR},
+ name => defined $name ? $name : "",
+ )) {
+ $banned=1;
+ last;
}
}
+
+ if ($banned) {
+ $session->delete();
+ cgi_savesession($session);
+ cgi_custom_failure(
+ $q->header(-status => "403 Forbidden"),
+ gettext("You are banned."));
+ }
}
sub cgi_getsession ($) {
diff --git a/IkiWiki/Plugin/underlay.pm b/IkiWiki/Plugin/underlay.pm
index 380d418fb..c59935672 100644
--- a/IkiWiki/Plugin/underlay.pm
+++ b/IkiWiki/Plugin/underlay.pm
@@ -27,14 +27,21 @@ sub getsetup () {
safe => 0,
rebuild => 1,
},
+ add_templates => {
+ type => "string",
+ default => [],
+ description => "extra template directories to add",
+ advanced => 1,
+ safe => 0,
+ rebuild => 1,
+ },
}
sub checkconfig () {
- return unless exists $config{add_underlays};
-
foreach my $dir (@{$config{add_underlays}}) {
add_underlay($dir);
}
+ push @{$config{templatedirs}}, @{$config{add_templates}};
}
1;