diff --git a/HistoryPlugin/lib/Foswiki/Plugins/HistoryPlugin.pm b/HistoryPlugin/lib/Foswiki/Plugins/HistoryPlugin.pm index 756fa8ca3b..6306284dda 100755 --- a/HistoryPlugin/lib/Foswiki/Plugins/HistoryPlugin.pm +++ b/HistoryPlugin/lib/Foswiki/Plugins/HistoryPlugin.pm @@ -4,7 +4,9 @@ package Foswiki::Plugins::HistoryPlugin; use strict; use warnings; -use Foswiki::Func; +use Foswiki::Func (); +use Error qw(:try); +use Foswiki::AccessControlException (); # ========================= use vars qw( $VERSION $RELEASE $NO_PREFS_IN_TOPIC $SHORTDESCRIPTION); @@ -47,6 +49,11 @@ sub handleHistory { return "Topic $web.$topic does not exist"; } + unless (Foswiki::Func::checkAccessPermission("VIEW", $session->{user}, undef, $topic, $web)) { + throw Foswiki::AccessControlException("VIEW", $session->{user}, + $web, $topic, $Foswiki::Meta::reason ); + } + # Get revisions my $maxrev = ( Foswiki::Func::getRevisionInfo( $web, $topic ) )[2]; @@ -99,7 +106,7 @@ sub handleHistory { $checkFlag++; $revinfo =~ s/\$web/$web/g; $revinfo =~ s/\$topic/$topic/g; - $revinfo =~ s/\$rev/$revout/g; + $revinfo =~ s/\$rev/$rev/g; $revinfo =~ s/\$date/Foswiki::Func::formatTime($date)/ge; $revinfo =~ s/\$username/$user/g; $revinfo =~ s/\$wikiname/$wikiName/g;