cubeUtils モジュール

1.これは何?

CubeUtilsモジュールは、XOOPS Cube2.1に対するある程度実用的なサンプルです。
しかしながら、あくまでもXOOPS Cube2.1の柔軟性に対する実証用モジュールですので、まだまだ安定版ではありません。

XOOPS 2.0.x JP用のSysUtilモジュールにて用意していたGIJOE氏開発の以下のHACKと同等機能を、
XOOPS Cube2.1のPreload機能及びDelegate機構を使用して実装したモジュールです。

  • AutoLogin
  • EMLH(Easiest Multi Language Hack)

2.どうやって使うの?

このモジュールが動く環境は、XOOPS Cube2.1 Alpha4-b 以降が前提となります。

  1. 上記のファイルをダウンロードして、解凍して下さい。
  2. 解凍されたフォルダーをそのままXOOPS Cubeのルートフォルダーにコピーして下さい。
  3. 管理画面よりモジュールをインストールして下さい
  4. AutoLoginを有効にする場合
    管理画面でcubeUtilsモジュールの一般設定にて、
    1. 「Auto Login 機能を使用する」を「はい」に設定
    2. 「Auto Login の持続時間」にて、どの程度の期間AutoLogin状態を保持するかを設定して下さい。
  5. Multi Languageを使用される場合
    標準では、日本語と英語の切替ができるような設定になっていますが、これ以外の言語切替を行いたい場合には、/modules/cubeUtils/include/conf_ml.dist.php を conf_ml.phpにコピーを行って、カストマイズを行って下さい。

[ja]日本語[/ja][en]English[/en]

の様に記述することによって、日英両対応のコンテンツが作成出来ます。

[ja]mlimg[/ja]

を文書に挿入すると、言語切り替え用国旗イメージを表示する事ができます。

3.どのように作られているの

1) AutoLogin

AutoLogin機能は、基本的には、Site.LoginのDelegate関数を実装する事によって実現されています。
実際には、ログインブロックでの入力内容をクッキーに記憶したり、破棄したりするためにそのほかにも幾つかのDelegate関数が実装されています。

Site.Login
セッションが継続していなくても、クッキーにログイン情報が格納してれば、自動ログインを試みる
Site.CheckLogin.Success
ログイン画面にてログインが成功したときにログイン情報をもとにしてクッキーを生成する
Site.Logout
ログアウト時に、保存したクッキーを破棄する
Legacypage.User.Access
RemenberMe付きのログイン画面を表示させる

これらのDelegate関数の定義と実装については、モジュールPreload機能によって
自動的に読み込まれるようになっています。
(/modules/cubeUtils/preload/AutoLoginHack.class.php)

2)EMLH(Easiest Multi Language Hack)

Legacy_Controller.GetLanguageName Delegate関数の実装を行い、この関数内でGETパラメータ、クッキー、ブラウザの
プリファレンスを元にして、表示言語を決定します。
このDelegate関数の定義については、preFilter()の段階で行う必要があるため、
モジュール内Preloadでは無く、/preloadにMultiLanguagePreLoad.class.php を配置しています。
言語タグの扱いについては、EMLHと同様 ob_filteringにて実現しています。
別途CacheSystemを標準のstdRenderCacheを継承したクラスに置き換えて、言語毎のCacheを保存する事を可能にしています。

4.変更履歴

  • 2006-08-21 : Version 0.0.1リリース
  • 2006-09-02 : GIJOE氏からの不具合報告に対応した Version 0.0.2リリース
  • 2006-09-04 : plusangel氏からの不具合報告に対応した Version 0.0.3リリース
  • 2006-09-25 : XOOPS Cube 2.1 Alpha5以降で変更になったCacheシステムに対応したVersion 0.0.4リリース


flagflag

XOOPS初心者サーチ


Add to Google

Xoops Cube Project

XOOPS Cube Project Site

XC Developers Ring

http://img.simpleapi.net/small/http://www.peak.ne.jp/xoops/ SIZE:128x128(7.6KB)