refactor template actions
parent
377e82b16c
commit
bbe971881a
22
IkiWiki.pm
22
IkiWiki.pm
|
@ -1756,17 +1756,31 @@ sub misctemplate ($$;@) {
|
|||
@_,
|
||||
);
|
||||
|
||||
templateactions($template, "");
|
||||
|
||||
return $template->output;
|
||||
}
|
||||
|
||||
sub templateactions ($$) {
|
||||
my $template=shift;
|
||||
my $page=shift;
|
||||
|
||||
my $have_actions=0;
|
||||
my @actions;
|
||||
run_hooks(pageactions => sub {
|
||||
push @actions, map { { action => $_ } }
|
||||
grep { defined } shift->(page => "");
|
||||
grep { defined } shift->(page => $page);
|
||||
});
|
||||
$template->param(actions => \@actions);
|
||||
if (@actions) {
|
||||
$template->param(have_actions => 1);
|
||||
|
||||
if ($config{cgiurl} && exists $hooks{auth}) {
|
||||
$template->param(prefsurl => cgiurl(do => "prefs"));
|
||||
$have_actions=1;
|
||||
}
|
||||
|
||||
return $template->output;
|
||||
if ($have_actions || @actions) {
|
||||
$template->param(have_actions => 1);
|
||||
}
|
||||
}
|
||||
|
||||
sub hook (@) {
|
||||
|
|
|
@ -84,19 +84,14 @@ sub genpage ($$) {
|
|||
$template=template('page.tmpl',
|
||||
blind_cache => 1);
|
||||
}
|
||||
my $actions=0;
|
||||
|
||||
my $actions=0;
|
||||
if (length $config{cgiurl}) {
|
||||
if (IkiWiki->can("cgi_editpage")) {
|
||||
$template->param(editurl => cgiurl(do => "edit", page => $page));
|
||||
$actions++;
|
||||
}
|
||||
if (exists $hooks{auth}) {
|
||||
$template->param(prefsurl => cgiurl(do => "prefs"));
|
||||
$actions++;
|
||||
}
|
||||
}
|
||||
|
||||
if (defined $config{historyurl} && length $config{historyurl}) {
|
||||
my $u=$config{historyurl};
|
||||
$u=~s/\[\[file\]\]/$pagesources{$page}/g;
|
||||
|
@ -111,17 +106,10 @@ sub genpage ($$) {
|
|||
$actions++;
|
||||
}
|
||||
}
|
||||
|
||||
my @actions;
|
||||
run_hooks(pageactions => sub {
|
||||
push @actions, map { { action => $_ } }
|
||||
grep { defined } shift->(page => $page);
|
||||
});
|
||||
$template->param(actions => \@actions);
|
||||
|
||||
if ($actions || @actions) {
|
||||
if ($actions) {
|
||||
$template->param(have_actions => 1);
|
||||
}
|
||||
templateactions($template, $page);
|
||||
|
||||
my @backlinks=sort { $a->{page} cmp $b->{page} } backlinks($page);
|
||||
my ($backlinks, $more_backlinks);
|
||||
|
|
Loading…
Reference in New Issue