- $template->param(pagelink => htmllink($params{page}, $params{page}, $page));
- $template->param(content => get_inline_content($page, $params{page}))
- if $params{archive} eq "no";
- $template->param(ctime => displaytime($pagectime{$page}));
-
- if (exists $hooks{pagetemplate}) {
- foreach my $id (keys %{$hooks{pagetemplate}}) {
- $hooks{pagetemplate}{$id}{call}->(
- page => $page,
- destpage => $params{page},
- template => $template,
- );
+ my $file = $pagesources{$page};
+ my $type = pagetype($file);
+ if (! $raw || ($raw && ! defined $type)) {
+ unless ($archive && $quick) {
+ # Get the content before populating the
+ # template, since getting the content uses
+ # the same template if inlines are nested.
+ my $content=get_inline_content($page, $params{destpage});
+ $template->param(content => $content);
+ }
+ # Don't use htmllink because this way the
+ # title is separate and can be overridden by
+ # other plugins.
+ my $link=bestlink($params{page}, $page);
+ $link=htmlpage($link) if defined $type;
+ $link=abs2rel($link, dirname($params{destpage}));
+ $template->param(pageurl => $link);
+ $template->param(title => pagetitle(basename($page)));
+ $template->param(ctime => displaytime($pagectime{$page}));
+
+ if ($actions) {
+ my $file = $pagesources{$page};
+ my $type = pagetype($file);
+ if ($config{discussion}) {
+ my $discussionlink=gettext("discussion");
+ if ($page !~ /.*\/\Q$discussionlink\E$/ &&
+ (length $config{cgiurl} ||
+ exists $links{$page."/".$discussionlink})) {
+ $template->param(have_actions => 1);
+ $template->param(discussionlink => htmllink($page, $params{page}, gettext("Discussion"), 1, 1));
+ }
+ }
+ if (length $config{cgiurl} && defined $type) {
+ $template->param(have_actions => 1);
+ $template->param(editurl => cgiurl(do => "edit", page => $page));
+ }