WiLiKi/trackback
TrackBack
-
http://aniki.daionet.gr.jp/~knok/wiliki/wiliki.cgi?WiLiKi%3ATrackBack&l=jp
- trackbackについての考察
-
http://blog.bulknews.net/mt/archives/000383.html
- stand alone な trackback 実装
- これで送るのはOK
- 受けをどうするか...
- このページのURL、が記述できればなんとかなりそう
-
http://wiliki.torus.jp/wiliki.cgi?Trackback%bc%f5%c9%d5%a5%b5%a1%bc%a5%d0
- WiLiKiでの実装を考えているようだ。
tb-standalone の修正
- send_form 後、reload すると二重投稿になる問題の修正
- trackbackされた件数を表示できるようにする(http://nais.to/~yto/clog/2003-09-25-4.html)
- tb.cgi.orig Wed Feb 18 00:45:08 2004
+++ tb.cgi Fri Jul 8 17:24:48 2005
@@ -26,6 +26,22 @@
charset $Charset;
+my $i;
+if (open(FH, ">> /tmp/trackback.log")) {
+ print FH "trackback log\n";
+ foreach $i (sort keys %ENV) {
+ print FH "ENV:$i:",$ENV{$i},"\n";
+ }
+ print FH "----\n";
+ print FH "__mode:",param('__mode'),"\n";
+ print FH "title:",param('title'),"\n";
+ print FH "excerpt:",param('excerpt'),"\n";
+ print FH "url:",param('url'),"\n";
+ print FH "blog_name:",param('blog_name'),"\n";
+ print FH "----\n\n\n";
+ close FH;
+}
+
my $mode = param('__mode');
unless ($mode) {
my $tb_id = munge_tb_id(get_tb_id());
@@ -44,6 +60,12 @@
if ($NotifyEmail) {
notify_email($NotifyEmail, $i, $tb_id);
}
+# from here
+ if (open(FH, ">" . catfile($DataDir, $tb_id . '.js'))) {
+ print FH "document.write('(@{[scalar(grep {$_} @$data)]})');\n";
+ close FH; # 追加
+ }
+# to here
respond_exit();
} elsif ($mode eq 'list') {
my $tb_id = munge_tb_id(get_tb_id());
@@ -120,7 +142,7 @@
my($e, $msg) = $res->content =~ m!(\d+).*(.+?) !s;
$e ? ping_form_exit("Error: $msg") : ping_form_exit("Ping successfuly sent"
);
} elsif ($mode eq 'send_form') {
- ping_form_exit();
+ ping_form_exit2(param('message'));
} elsif ($mode eq 'login') {
print header(), login_form();
} elsif ($mode eq 'do_login') {
@@ -232,15 +254,20 @@
}
sub ping_form_exit {
+ my $message = encode_url("@_");
+ print redirect(url() . "?__mode=send_form&message=$message");
+}
+
+sub ping_form_exit2 {
print header(), from_file($Header);
- print "@_" if @_;
+ print escapeHTML("@_") if @_;
print <Send a TrackBack ping