default_plugins => {
type => "internal",
default => [qw{mdwn link inline meta htmlscrubber passwordauth
- openid emailauth signinedit lockedit conditional
+ openid signinedit lockedit conditional
recentchanges parentlinks editpage
templatebody}],
description => "plugins to enable by default",
safe => 1,
rebuild => 1,
},
+ deterministic => {
+ type => "boolean",
+ default => 0,
+ description => "try harder to produce deterministic output",
+ safe => 1,
+ rebuild => 1,
+ advanced => 1,
+ },
}
sub getlibdirs () {
}
return $cgiurl."?".
- join("&", map $_."=".uri_escape_utf8($params{$_}), keys %params);
+ join("&", map $_."=".uri_escape_utf8($params{$_}), sort(keys %params));
}
sub cgiurl_abs (@) {
if (defined $user && $user =~ m/(.+)@/) {
my $nick=$1;
# remove any characters from not allowed in wiki files
- $nick=~s/[^$config{wiki_file_chars}]/_/g;
+ # support use w/o %config set
+ my $chars = defined $config{wiki_file_chars} ? $config{wiki_file_chars} : "-[:alnum:]+/.:_";
+ $nick=~s/[^$chars]/_/g;
return $nick;
}
return;