projects
/
ikiwiki.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow globs to be used in user() pagespecs.
[ikiwiki.git]
/
IkiWiki.pm
diff --git
a/IkiWiki.pm
b/IkiWiki.pm
index 2a01327452400f416edb8811bb7043fea077abf6..a96ff1236dc4849f591725f2b31db235ff91907a 100644
(file)
--- a/
IkiWiki.pm
+++ b/
IkiWiki.pm
@@
-941,7
+941,12
@@
sub linkpage ($) {
sub cgiurl (@) {
my %params=@_;
sub cgiurl (@) {
my %params=@_;
- return $config{cgiurl}."?".
+ my $cgiurl=$config{cgiurl};
+ if (exists $params{cgiurl}) {
+ $cgiurl=$params{cgiurl};
+ delete $params{cgiurl};
+ }
+ return $cgiurl."?".
join("&", map $_."=".uri_escape_utf8($params{$_}), keys %params);
}
join("&", map $_."=".uri_escape_utf8($params{$_}), keys %params);
}
@@
-2261,11
+2266,13
@@
sub match_user ($$;@) {
my $user=shift;
my %params=@_;
my $user=shift;
my %params=@_;
+ my $regexp=IkiWiki::glob2re($user);
+
if (! exists $params{user}) {
return IkiWiki::ErrorReason->new("no user specified");
}
if (! exists $params{user}) {
return IkiWiki::ErrorReason->new("no user specified");
}
- if (defined $params{user} &&
lc $params{user} eq lc $user
) {
+ if (defined $params{user} &&
$params{user}=~/^$regexp$/i
) {
return IkiWiki::SuccessReason->new("user is $user");
}
elsif (! defined $params{user}) {
return IkiWiki::SuccessReason->new("user is $user");
}
elsif (! defined $params{user}) {