|
LinkBanner.pm - Respond for CGI as the link banner image or the links page of referers |
LinkBanner.pm - LinkバナーもしくはLinkペイヂを出力するCGI用module
$Id: LinkBanner.pm,v 1.1 2000/12/20 14:41:39 shige Exp $
バナーを返し、その参照元addressを記録します。 参照元の情報はlinkリストを作成するときに使用されます。
use LinkBanner;
my($banner) = new LinkBanner("/home/foo/public_html/log_path/");
$banner->RecordLog();
$banner->OutBanner("/home/foo/public_html/cgi-bin/testbanner.jpg");
use LinkBanner;
my($banner) = new LinkBanner("/home/foo/public_html/log_path/");
$banner->deny("/home/foo/public_html/deny_list.txt");
$banner->OutLinkPage();
自動的にlinkペイヂを作成する。 もし、Webコンテンツがこのmoduleを使用したCGI programを参照したならば、CGI programはバナー画像を返す。 その時、参照したペイヂのaddressを記録する。 linkペイヂを要求された時、その記録からlinkペイヂを作成する。
新しいインスタンスの作成
my($banner) = new LinkBanner;
or
my($logpath) = "/home/foo/public_html/log_path/";
my($banner) = new LinkBanner($logpath);
or
my($logpath) = "/home/foo/public_html/log_path/";
my($query) = new CGI;
my($banner) = new LinkBanner($logpath,$query);
参照元情報をfileへ記録する
$banner->RecordLog();
or
$banner->RecordLog(C<$logpath>);
指定したバナーを出力する。 $img_fileにはバナー画像のファイルを指定する。
$lifetimeはバナー画像のキャッシュ時間を指定する。
$basetimeはバナー画像の生成された時間を指定する。
$banner->OutBanner("/home/foo/public_html/image.gif");
Linkペイヂをログfileから作成し出力する。
$ra_sorteddataはログfileの情報をoverrideする。
$banner->OutLinkPage();
Linkを拒否するaddressを記述したfile名を指定する。 これは参照元addressを排除する為に使われる。 このfileのそれぞれの行は`|'で連結されaddressとマッチするかどうかが確認される。 `\'によるマッチ式のエスケープ処理は自動的に行われる。
$banner->deny("/home/foo/public_html/deny_list.txt");
Link拒否addressの記述例
http://localhost
http://www.denied.com
デバッグオプションの設定
$banner->debug('template');
デバッグメッセージは標準エラー出力に出力される。 STDERRをdebuglog.plやその他の方法でリダイレクトする事により記録する事ができる。
デバッグが完了すれば、デバッグコードをこのmoduleから削除する事ができる。 全てのデバッグコードは`#>>>DEBUG_CODE'の間にある。 これらはstriper.plによって削除できる。
CGI query stringのデバッグ
Link cache fileの作成についてのデバッグ
レコードのフィルタリング処理についてのデバッグ
Template fileの展開処理についてのデバッグ
CGI parameterのエスケープ処理についてのデバッグ
ログ記録についてのデバッグ
Linkペイヂのtemplateを得る。 デフォルトではログfileのpathにある`template.html'となる。
OutLinkpageの引数となる template bufferの参照を指定する。
$templateは template file名を指定する。
strict.pm, Carp.pm, File::Basename, URI::Escape, CGI timestr.pl, regexpr.pl, jcode.pl
例えば次のようにペイヂに記述する
<IMG SRC="http://www.any.com/~foo/cgi-bin/linkbanner.cgi?title=title%20of%20your%20page;topic=topic%20of%20your%20page" ALT="Link banner">
`title%20of%20your%20page'や`topic%20of%20your%20page'の
フィールドはペイヂに合わせて変更する。
HTML tagは使用できない
Template file `template.html'はlog fileのパスに置く
template.html の例...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<TITLE>Links page</TITLE>
</HEAD>
<BODY>
<H1>Links page</H1>
<HR>
<TABLE border="1" cellspacing="0">
<THEAD>
<TR>
<TH>Title</TH><TH>topic</TH>
</TR>
</THEAD>
<TBODY>
<!--
Following comment statement will be replaced to link list.
You can customize that.
These keywords will be handled about specified link banner parameter.
Like as...
%referer% : URL of linked content that will reference the link banner.
%title% : Title of linked page
%topic% : Topic of linked page
-->
<!-- __Links_Replace_to_Here__
<TR><TD><A HREF="%referer%">%title%</A></TD><TD>%topic%</TD></TR>
-->
</TBODY>
</TABLE>
<HR>
</BODY>
</HTML>
Tetsuya Shigetome, <t_shigetome@muf.biglobe.ne.jp >.
$Log: LinkBanner.pm,v $ Revision 1.1 2000/12/20 14:41:39 shige
First release of LinkBanenr
|
LinkBanner.pm - Respond for CGI as the link banner image or the links page of referers |