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. 管理画面よりモジュールをインストールして下さい

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を保存する事を可能にしています。


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)