From: Joey Hess Date: Sun, 21 Dec 2008 01:55:38 +0000 (-0500) Subject: avoid storing transient state in pagestate X-Git-Tag: 2.71~24 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c53a3a1d3e028e4f27acb661cc19341a13801c2b;p=ikiwiki.git avoid storing transient state in pagestate None of the comment state needs to be stored through the a later run of ikiwiki, so move it all from pagestate to a more transient storage. This is assuming that we'll never want to add pagespecs to search against the comment state. Pagespecs like author() are why the meta plugin does store its meta data in pagestate -- the data can be needed later to match against. --- diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 4f3b76db3..644ef1be8 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -16,6 +16,7 @@ use constant POST_COMMENT => "Post comment"; use constant CANCEL => "Cancel"; my $postcomment; +my %commentstate; sub import { hook(type => "checkconfig", id => 'comments', call => \&checkconfig); @@ -152,7 +153,6 @@ sub preprocess { my $commentauthor; my $commentauthorurl; my $commentopenid; - if (defined $params{username}) { $commentuser = $params{username}; @@ -181,11 +181,11 @@ sub preprocess { $commentauthor = gettext("Anonymous"); } - $pagestate{$page}{comments}{commentuser} = $commentuser; - $pagestate{$page}{comments}{commentopenid} = $commentopenid; - $pagestate{$page}{comments}{commentip} = $commentip; - $pagestate{$page}{comments}{commentauthor} = $commentauthor; - $pagestate{$page}{comments}{commentauthorurl} = $commentauthorurl; + $commentstate{$page}{commentuser} = $commentuser; + $commentstate{$page}{commentopenid} = $commentopenid; + $commentstate{$page}{commentip} = $commentip; + $commentstate{$page}{commentauthor} = $commentauthor; + $commentstate{$page}{commentauthorurl} = $commentauthorurl; if (! defined $pagestate{$page}{meta}{author}) { $pagestate{$page}{meta}{author} = $commentauthor; } @@ -570,27 +570,27 @@ sub pagetemplate (@) { if ($template->query(name => 'commentuser')) { $template->param(commentuser => - $pagestate{$page}{comments}{commentuser}); + $commentstate{$page}{commentuser}); } if ($template->query(name => 'commentopenid')) { $template->param(commentopenid => - $pagestate{$page}{comments}{commentopenid}); + $commentstate{$page}{commentopenid}); } if ($template->query(name => 'commentip')) { $template->param(commentip => - $pagestate{$page}{comments}{commentip}); + $commentstate{$page}{commentip}); } if ($template->query(name => 'commentauthor')) { $template->param(commentauthor => - $pagestate{$page}{comments}{commentauthor}); + $commentstate{$page}{commentauthor}); } if ($template->query(name => 'commentauthorurl')) { $template->param(commentauthorurl => - $pagestate{$page}{comments}{commentauthorurl}); + $commentstate{$page}{commentauthorurl}); } }