FF11メンバーリストでLightbox Plusを使う

なんかHDDの奥から昔のメモが見つかったので、需要があるかどうかわかりませんが書いておきます。瀬野部屋-Senobeya.com-で配布されてるFF11メンバーリストCGIでLightbox Plusを使う改造。

  • 動作サンプル

画像の表示形式を少し変えてるだけでたいしたことはやってないので、スクリプトのバージョン(サンプルページ下部に表記)が違っても動くとは思いますがもちろん保証はできません。また、本改変によって生じたいかなる不具合も当方では責任を負いかねます。導入は自己責任でお願いします。

というわけでやり方は以下のとおり。

改変手順

まず改変を行う前に、素の状態のメンバーリスト(FFXI Member Registration System)を設置して正常に動作することを確認してください。その後、Lightbox Plusをダウンロードして解凍し、中の"resource"フォルダを適当なところにアップロードします。なおカスタマイズの項に書いてあるように、"lightbox_plus.js"の末尾の画像ファイルへのパスは絶対パスに書き換えておいたほうがよいと思います。

次に、FF11メンバーリストの"guildmember.cgi"をテキストエディタで開き、sub header内 1133行目付近に以下の強調部分のコードを追加します。

print "-->\n";
print "</STYLE>\n";
print <<EOF;
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<script type="text/javascript" src="./resource/spica.js"></script>
<script type="text/javascript" src="./resource/lightbox_plus.js"></script>
<link rel="stylesheet" href="./resource/lightbox.css" type="text/css" media="screen">
EOF
if($bgimg eq ""){
print "</head>\n<body bgcolor=$background text=$textcolor>\n";
} else {
print "</head>\n<body background='$bgimg' bgcolor=$background text=$textcolor>\n";
}

jsファイル・cssファイルへのパスはアップロードした場所に応じて適切に変更してください。

そして、sub prof_box内 3134行目付近の以下の部分にも強調部分のコードを追加。2ヶ所ありますが日本語で使う場合は1個目だけ変更すればよいです。

if($h>$w){
if($h>200){  $w=int($w/$h*200);$h=200; }
} else {
if($w>200){  $h=int($h/$w*200);$w=200; }
}
print "<TR><TD rowspan=6 width=200 align=center valign=center><a href='$putdir$prod[14]' rel=\"lightbox\"><img src='$putdir$prod[14]' border=0 width='$w' height='$h'></a></TD>";

最後に、sub show_diary内 3557行目付近の以下の部分に強調部分のコードを追加します。

print "<table><TR valign=top><TD>";
@imgfiles = split(/,/,$imgexist);
          my $lbox_rel = undef;
if($#imgfiles != 0) {$lbox_rel = "[$name$rno]";}
foreach $imgfile(@imgfiles){
($type,$h,$w) = &image_getsize("$imgdir$imgfile");
if($h>$w){
if($h>200){  $w=int($w/$h*200);$h=200; }
} else {
if($w>200){  $h=int($h/$w*200);$w=200; }
}
print "<a href='$putdir$imgfile' rel=\"lightbox$lbox_rel\"><img src='$putdir$imgfile' height='$h' width='$w'  border=0 alt='クリックで拡大'></a><BR>";
}

以上です。改変した"guildmember.cgi"をアップロード後、画像をクリックして動作を確認してみてください。

なお、私のPerlの知識は初心者向けの本を一冊読んだぐらいなので、「そのりくつはおかしい」とか「ムチャはよせ!」みたいな部分がありましたらぜひご指摘ください。

%d人のブロガーが「いいね」をつけました。