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