diff options
author | Amitai Schlair <schmonz@magnetic-babysitter.(none)> | 2009-09-09 14:44:52 -0400 |
---|---|---|
committer | Amitai Schlair <schmonz@magnetic-babysitter.(none)> | 2009-09-09 14:44:52 -0400 |
commit | 5f44dd8e7762827753c02dcd78d663c0fd9554b3 (patch) | |
tree | 37d2604af5f95b714719ad68df44e31e9d23789d /IkiWiki | |
parent | 1332327f5e9fa394076b5a80b2678e9c2fa0bb48 (diff) | |
parent | 2a99ebf2766a08f8d68a82255d1518ecac73ec84 (diff) | |
download | ikiwiki-5f44dd8e7762827753c02dcd78d663c0fd9554b3.tar ikiwiki-5f44dd8e7762827753c02dcd78d663c0fd9554b3.tar.gz |
Merge branch 'master' of git://github.com/joeyh/ikiwiki
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/CGI.pm | 28 | ||||
-rw-r--r-- | IkiWiki/Plugin/underlay.pm | 11 |
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; |