Schwarz Lanzenreiter forward

S:Type CNT-3rd

複数のページ、SSI、Flash にも対応し過去のカウントも呼び出せるカウンタ

Perl5



特徴

▲ TOP

DownLoad

DownLoad[stype.zip]

S:Type CNT-3rd は S:Type CNT-2Nd とは互換性はありません。旧 S:Type をご利用の方は注意してください。

書庫の中身

▲ TOP

パーミッション

/stype/
    ┣ stype.cgi [755] (要実行権限)
    ┣ stype.pl  [666] (要書き込み権限)
    ┣ stype.dat [666] (要書き込み権限)
    ┣ stype.tmp [666] (要書き込み権限)
    ┣ gifcat.pl [644] (デフォルト)
    ┣ stype.js  [644] (デフォルト)
    ┣ stype.css [644] (デフォルト)
    
    ━ img [デフォルト]
    ━ img/*.gif [デフォルト]
    ━ clear.gif [デフォルト]
stype.cgi
プログラム本体
stype.pl
設定保存ファイル
stype.dat
カウントデータ保存用ファイル
stype.tmp
一時ファイル
stype.css
管理者モード見栄え用
stype.js
管理者モード用 JavaScript
img/
カウンタ画像が入っているディレクトリ
img/*.gif
カウンタ画像
clear.gif
カウントの替わりに表示するダミーイメージ(好きな場所へ)
gifcat.pl
カウント画像を連結する為のライブラリ(好きな場所へ)

▲ TOP

設定

stype.cgi での設定

パスの変更
まず stype.cgi を開いたら(メモ帳で開くことが出来ます)一行目の

#!/usr/local/bin/perl

を環境に合わせて書き直してください。解らない場合はサーバ側の FAQ 等に書かれていますので参照してください。
ファイルのパス
stype.cgi 中にあるプログラムが使うファイルへのパスを設定します。通常は無変更。

管理者モードでの設定

管理者モードに入室すると以下の設定を変更できます

管理者モード

操作方法等は直感的にわかると思われるので割愛します。

入室方法

stype.cgi?admin と admin というパラメータを渡すと ログインフォームが現れるのでパスワードを入力し入室します。

設置直後にはパスワード設定フォームが出現するのでパスワードを設定してください。

ブックマークから直接入室するには

ex) http://192.168.10.2/stype/stype.cgi?admin=1&pass=PASSWORD

とします。

パスワードを忘れてしまった時

パスワードを忘れてしまった時には stype.pl の

$adminPassword = '*************';

という行を探し

$adminPassword = '';

と暗号化されたパスワードを消し上書きします。 その後アクセスすると再びパスワード設定フォームが現れるのでパスワードを設定してください。

▲ TOP

イメージについて

カウンタに使うイメージ
カウンタに使うイメージは
  • GIF 以外は使えません
  • 各画像の高さは統一してください
  • アニメーションGIF は使えません
  • ファイル名は0〜9の画に見合った連番にしてください。(例:0.gif, 1.gif, 2.gif...)
詳しくは gifcat.pl を参照してください。
ダミーイメージ
これは特に制限はありません。

▲ TOP

呼び出し方 ( HTML への記述 )

基本型 (カウントとカウント画像の呼び出し)
基本は CGI までのパスに

例: /cgi-bin/stype/stype.cgi?id=PageId

と、id=PageId という各ページの識別 ID を付けて CGI を呼び出します。 id= という部分は固定ですので気をつけてください。 この ID(例では PageId 部分)は重複しないようにしてください。IMG を使う場合は

例: <img src="/cgi-bin/stype/stype.cgi?id=PageId">

と単純にこれだけです。これでもうカウント値は表示されます。
カウント値に前「0」ゼロを付ける
実カウントが例えば「123」であり「00123」と表示させたい時は

例: /cgi-bin/stype/stype.cgi?id=index&dgt=5

と、dgt=5 を付け足します。例の「5」は5桁という意味です。 こうするとプログラムが前にゼロを付け足し表示してくれます。 dgt= が実カウント値と同じ桁数かそれ以下だった場合は何も変化しません。
カウント画像の代わりにダミーイメージを表示させる
カウンタの代わりにダミーイメージを表示させるには

例: /cgi-bin/stype/stype.cgi?id=diary&mode=dummy

mode=dummy を指定します。これでプログラムはダミーを吐きます。
SSI で呼び出す
SSIの場合は

例: <!--#include file="/cgi-bin/stype/stype.cgi?id=menu&mode=text" -->

mode=text とします。 カウントを表示させたい場所に記述してください。
Flash で呼び出す
Flashの場合は

ex) /cgi-bin/stype/stype.cgi?id=bbs&mode=flash

mode=flash です。これで返ってくる値は

totle=1854

ActionScript については説明しません。マニュアルを参照してください。

カウント後にリダイレクトさせる
カウントを採った後にリダイレクトさせるには

ex.1) /cgi-bin/stype/stype.cgi?id=jump&l=http://127.0.0.1/index.html

ex.2) /cgi-bin/stype/stype.cgi?id=sampleImg10&l=/img/sample10.jpg

l= はアルファベットで小文字のLです。で、その後に飛ばしたいURLを書いてください。 URLはフルパスでも相対パスでも問いません。 単純にリダイレクトしているだけなのでどんなファイルでもURLにでも可能です。
今日、昨日、過去のカウントを呼び出す
今日、昨日、更に過去の一日単位のカウントを呼び出すには

ex) /cgi-bin/stype/stype.cgi?id=link&day=1

day=? とします。? が「0」ゼロなら今日のカウント。 「1」なら昨日、「2」なら2日前、「5」なら5日前、、、、として呼び出せます。
もし mode=flashmode=jsとして呼び出している場合

ex.1) /cgi-bin/stype/stype.cgi?id=menu&mode=js&day=1

ex.2) /cgi-bin/stype/stype.cgi?id=links&mode=flash&day=5

day=1 は n 日分という意味になります。もしday=5 とした場合は5日分のデータが

totle=254&count=2,0,5,3,8

という形で返ります。count=2,0,5,3,8 は一番右が今日のカウント、一番左が過去のカウントとなっています。 これは Flash や SSI+JavaScript などでの利用が想定されています。

ID 命名規則等

ID とは呼び出し元ページを管理、識別する為の一意な名前をいいます。

▲ TOP

設置の流れ

  1. stype.cgi ファイル内のパスを設定
  2. 関連ファイルを全てアップロードし、適切なパーミッションに変更
  3. 設置した stype.cgi にアクセスし管理者モード入室
  4. 管理者モードにてログ保存日数等を設定
  5. 呼び出しテストなどを使い適当なID でstype.cgi を呼びカウント値が表示されるか見る
  6. 管理者モードで先ほどの ID が登録され、ログに残っているか見る

正常に設置されていれば後はカウントをとりたいページに CGI 呼び出し用のタグを記述していけば終了です。 パラメータがよく分らない場合は呼び出しテストを使い ブラウザのアドレスバーに表示されているものを参考にしてください。

▲ TOP

制限

目安として 100ページのカウントを1年保存するとログファイルは 75Kbyte 程度になります。


[PageTop] [Back]

Copyright(C) 2002-2006 kerry