TrackbackとCommentを分ける変更をしてみた
LittleStoryホームページさんで動いているwritbackを参照しました
まずflavour部分ですが、writeback.generalをtrackback.generalとcomment.generalに分け
comment.generalには
trackback.generalには
story flavourか、writebacksform.generalに記述している
残りは件数のカウント部分ですが、
で、これをしてもrecentwritebacks_treeでは全然関係ないのでTrackbackとCommentを読み分けられないし、dateは記録形式が違うので別問題な罠
簡単に出来そうなのはwritbackplus_custom_06 85-86行の
recentwritebacks_treeのdateをいじるとソートが面倒っぽい
むしろキャッシュファイル作った方がTrackbackとComment両方ある場合両方カウントされてしまうのを防げるのでよいと思う
以下plugin内部の変更
8-10行
385-389行
429-437行
LittleStoryホームページさんで動いているwritbackを参照しました
まずflavour部分ですが、writeback.generalをtrackback.generalとcomment.generalに分け
comment.generalには
<p>$writeback::name<br />$writeback::title<br />$writeback::comment</p>
trackback.generalには
<p>$writeback::blog_name<br />$writeback::title<br />$writeback::excerpt</p>
story flavourか、writebacksform.generalに記述している
$writeback::writebacks
を$writeback::$writeback::trackbacks
と$writeback::comments
にする残りは件数のカウント部分ですが、
$writeback::count
でwriteback件数(両方)
$writeback::tb_count
でtrackback件数
$writeback::cm_count
でcomment件数で、これをしてもrecentwritebacks_treeでは全然関係ないのでTrackbackとCommentを読み分けられないし、dateは記録形式が違うので別問題な罠
簡単に出来そうなのはwritbackplus_custom_06 85-86行の
# What fields are used in your comments form and by trackbacks?
my @fields = qw! name url date title comment excerpt blog_name ip !;
をいじってデータの格納順を変え、dateの形式を変えてしまうrecentwritebacks_treeのdateをいじるとソートが面倒っぽい
むしろキャッシュファイル作った方がTrackbackとComment両方ある場合両方カウントされてしまうのを防げるのでよいと思う
以下plugin内部の変更
8-10行
package writeback;
package writeback;
use vars qw($trackback_flavour $writeback_response $trackback_response);
use vars qw($count $writebacks $cm_count $tb_count $trackbacks $comments);
use vars qw($last_cm_date $last_cm_name);
385-389行
sub story {
my($pkg, $path, $filename, $story_ref, $title_ref, $body_ref) = @_;
$path =~ s!^/*!!; $path &&= "/$path";
my %param = ();
sub story {
my($pkg, $path, $filename, $story_ref, $title_ref, $body_ref) = @_;
$path =~ s!^/*!!; $path &&= "/$path";
($count, $writebacks, $cm_count, $comments, $tb_count, $trackbacks) = (0, '', 0, '', 0, '');
($last_cm_date, $last_cm_name) =(''.'');
my %param = ();
403行
my $writeback = &$blosxom::template($path,'writeback',$blosxom::flavour) || &$blosxom::template($path,'writeback','general') || '<p><b>Name/Blog:</b> $writeback::name$writeback::blog_name<br /><b>URL:</b> $writeback::url<br /><b>Title:</b> $writeback::title<br /><b>Comment/Excerpt:</b> $writeback::comment$writeback::excerpt</p>';
my $writeback ='';
if ($param{'comment'}) {
if ($blosxom::path_info =~ /\./) {
$param{'comment'} =~s/\t/<br>/g;
$writeback = &$blosxom::template($path,'writeback',$blosxom::flavour) || &$blosxom::template($path, 'comment', 'general') || '<p>$writeback::name<br />$writeback::title<br />$writeback::comment</p>';
}
$cm_count++;
} elsif ($param{'excerpt'}) {
if ($blosxom::path_info =~ /\./) {
$param{'excerpt'} =~s/\t/<br>/g;
$writeback = &$blosxom::template($path,'writeback',$blosxom::flavour) || &$blosxom::template($path, 'trackback', 'general') || '<p>$writeback::blog_name<br />$writeback::title<br />$writeback::excerpt</p>';
}
$tb_count++;
}
429-437行
$writeback =~ s/\$writeback::(\w+)/$param{$1}/ge;
$writeback = Jcode->new(\$writeback, $charcode)->euc;
$writeback =~ s/<a href=\"\">(($euc_characters)+)<\/a>/$1/g;
$writeback = Jcode->new(\$writeback, 'euc')->$charcode();
$writebacks .= $writeback;
$count++;
}
}
$writeback =~ s/\$writeback::(\w+)/$param{$1}/ge;
$writeback = Jcode->new(\$writeback, $charcode)->euc;
$writeback =~ s/<a href=\"\">(($euc_characters)+)<\/a>/$1/g;
$writeback = Jcode->new(\$writeback, 'euc')->$charcode();
$writebacks .= $writeback;
if ($blosxom::path_info =~ /\./) {
$writeback =~ s/\$writeback::(\w+)/$param{$1}/ge;
if ($param{'excerpt'}) {
$trackbacks .= $writeback;
} else {
$comments .= $writeback;
}
$writebacks .= $writeback;
}
$count++;
}
}