package plugin::amazon::Amazon; ############################################################################### # #
指定した書籍の書影をamazonから取得して表示し、amazonの書評ページへリンクをはります。
#
# {{amazon aid[,comment]}}
#
# # setup.dat に amazon_aid という定数を設定すると amazon のアソシエトID つきでリンクがはられます。 #
## イメージが存在しないかどうか確認するためにamazonのサーバに接続しているので、 # プロキシ経由で外に出る必要がある場合は、プロキシの設定情報をsetup.datに設定しておく必要があります。 #
## comment 引数があたえられると、書影画像のかわりにその文字列からリンクをはります。 #
# ############################################################################### use LWP::UserAgent; #use HTTP::Response; #use HTTP::Request; use strict; #============================================================================== # コンストラクタ #============================================================================== sub new { my $class = shift; my $self = {}; return bless $self,$class; } #============================================================================== # パラグラフメソッド #============================================================================== sub paragraph { my $self = shift; my $wiki = shift; my $item = shift; my $comment = shift; $item = Util::escapeHTML($item); my $buf; my $aid = $wiki->config('amazon_aid'); my $link = 'http://www.amazon.co.jp/exec/obidos/ASIN/' . $item; $link .= '/' . $aid . '/ref=nosim' if $aid; if($comment eq ""){ my $noimg = 'http://images-jp.amazon.com/images/G/09/icons/books/comingsoon_books.gif'; my $image; my $response; for my $num ( '09','01' ) { $image = "http://images-jp.amazon.com/images/P/$item.$num.MZZZZZZZ.jpg"; $response = &Util::get_response($wiki,$image); last unless (length($response) < 1024); } $image = $noimg if (length($response) < 1024); $buf = '