プラグイン:MultiCounterXの紹介1

 MT5.2の初プラグインとしてイメージ出力型カウンターを作りました。しかしこのプラグインの本体は昔作ったCGI.pmベースのCGIプログラムでした。せっかくなのでMT::Bootstrapに登録するCGIを作りMT::Appのサブクラスパッケージとして移植してみました。MTをもともとmt.psgiを使ってpsgi化しているのでこのプラグインもpsgiとして動作します。備忘禄を兼ねるため色々盛りだくさんになりそうなので複数回に分けてアップすることにします。
 お茶の間にも実装しましたので今後全ての記事に本カウンターが表示されます。

1.MultiCounterXプラグイン概要

 プラグインMultiCounterXは、GDモジュールを使用したイメージ出力型アクセスカウンターです。イメージ出力型と言っても、良くある7 SegMent LED みたいないかにも数値画像といった見栄えのカウンターではなく、色々なカウンター値を含んだメッセージ文をそのままイメージ画像にして返すものです。GDモジュールはMovableTypeの必須モジュールですので、必ずインストールされています。テンプレートに埋め込んだファンクションタグにより呼び出されるCGIプログラムがそのテンプレートで生成された記事の各種カウンター値を含んだメッセージをpngイメージとして出力します。

2.MultiCounterX動作仕様概略

(1)カウンター出力内容
 下記の内容をpngイメージとして出力する。
  ①昨日の訪問人数・今日の訪問人数・合計訪問人数の3種類を含んだメッセージ
    :メッセージ1
  ②クッキーに保持している訪問回数を含んだ下記メッセージ
   セッション開始時メッセージ:メッセージ2A
   セッション継続中メッセージ:メッセージ2B
  ③自分以外の現在訪問中(セッション継続中)の人数を含んだメッセージ
    :メッセージ3
(2)アクセスロギング
 以前作ったイメージカウンターと同じフォーマットのアクセスログを各カウンター設置ページ毎に生成します。
(3)カウンター設定内容
 
下記の内容をブログレベルのプラグイン設定画面で設定可能
  使用するフォントファイルフルパス・CGI URL・セッション継続時間[sec]・
  カウンター管理者ID・フレーム幅[px]・フレーム高さ[px]・背景色・フレーム枠色・
  メッセージフォントサイズ・
  メッセージ1,フォント色,開始X座標,開始Y座標・
  メッセージ2A,フォント色・
  メッセージ2B,フォント色・
  メッセージ2A2B,開始X座標,開始Y座標・
  メッセージ3,フォント色,開始X座標,開始Y座標
(4)クッキー仕様
  ブラウザに保存するクッキーの種類
   セッションID:セッション管理番号
   セッション開始秒:セッション開始秒。
            タイムアウト時間内のリクエストで更新する。
   クッキーカウンタ値:ブラウザ側に保存する訪問回数
(5)セッション継続判定
 セッションIDとセッション開始日はブラウザとプラグインディレクトリ内のファイルに保存・更新され、受信したクッキーによるセッションIDとセッションタイムアウト値によりセッションの継続判定が行われる。
(6)データファイル
 下記の3種類のファイルをプラグインディレクトリ内に記事毎に保持する。
  セッションIDファイル・3種類のカウンタ値ファイル・訪問中人数保持ファイル

3.MultiCounterX設定画面
mtcx1.pngmtcx2.pngmtcx3.png