use strict;
use IkiWiki;
use Encode;
+use URI::Escape q{uri_escape_utf8};
use open qw{:utf8 :std};
sub import {
my $user="Anonymous";
if (defined $params{session}) {
if (defined $params{session}->param("name")) {
- $user = $params{session}->param("name");
+ $user = IkiWiki::cloak($params{session}->param("name"));
}
elsif (defined $params{session}->remote_addr()) {
- $user = $params{session}->remote_addr();
+ $user = IkiWiki::cloak($params{session}->remote_addr());
}
my $nickname=$user;
foreach my $file (split / /,$info->{files}) {
my $diffurl = defined $config{diffurl} ? $config{'diffurl'} : "";
- $diffurl =~ s/\[\[file\]\]/$file/go;
+ my $efile = uri_escape_utf8($file);
+ $diffurl =~ s/\[\[file\]\]/$efile/go;
$diffurl =~ s/\[\[r2\]\]/$info->{changeset}/go;
push @pages, {
print $tmpl_fh 'file = "{file}\\n"' . "\n";
foreach my $line (run_or_die('hg', 'log', '--style', $tmpl_filename)) {
- # {date} gives output on the form
- # 1310694511.0-7200
- # where the first number is UTC Unix timestamp with one
- # decimal (decimal always 0, at least on my system)
- # followed by local timezone offset from UTC in
- # seconds.
- if (! defined $date && $line =~ /^\d+\.\d[+-]\d*$/) {
- $line =~ s/^(\d+).*/$1/;
- $date=$line;
+ if (! defined $date && $line =~ /^(\d+)/) {
+ $date=$1;
}
elsif (! length $line) {
$date=undef;