1ファイルハッキング (1)
1 ファイルハッキングはXOOPS Cubeの新しいカスタム手段につけられたニックネームです。それはPreloadActionFilterの組み合わせによって実現されます。サイト・オーナーはピンポイント・カスタマイズにそれを使用します。

Preloadは初期化コードをXOOPS Cubeの手続きに追加するメカニズムです(DOSのバッチ・ファイルを想像してください)。ActionFilterは初期値設定のためのmojaviライクなクラスです。CVS上の最新の2.1では、Preloadの規則は以下のようになっています:

  • /setting/site_default.ini.php の AutoPreload 値は真でなければなりません。しかし、それがデフォルト値であるので、あなたはそれを編集する必要はありません。
  • 拡張子が'.class.php' であるファイルを作成してください。
  • そのファイルで XCube_ActionFilter を拡張するクラスを定義してください。
  • そのクラス名は、そのファイルのボディー名と等しくなければなりません。

私は実例を用いて1ファイルハッキングのPreloadを説明します。あなたは XOOPS Protector をご存じかと思います。GIJOEさんはXOOPS Protecorの最大効果のために、mainfile.phpをハックすることを勧めています。ハックされたmainfile.phpと同様に動作するファイルを作成しましょう:

  1. XOOPS_ROOT_PATH/preload ディレクトリ内で 'ProtectorLoader.class.php' ファイルを作成してください。
  2. 以下のコードをプログラムしてください:

class ProtectorLoader extends XCube_ActionFilter
{
  function
preFilter()
  {
    include(
XOOPS_ROOT_PATH . '/modules/protector/include/precheck.inc.php' ) ;
  }

  function
preBlockFilter()
  {
    include(
XOOPS_ROOT_PATH . '/modules/protector/include/postcheck.inc.php' ) ;
  }
}


ミッション・コンプリートです。 このファイルは、共有するのによいでしょう。 何らかのモジュールをインストールした後に、サイト・オーナーはこのようなファイルでサイトをチューン・アップすることができます。

ノート:

あなたはX11ライセンスの下で、このエントリーを扱うことができます。 しかし、このエントリーは毎日成長するXOOPS Cubeアルファーバージョンに依存しています。あなたはそのことに注意しなければなりません。
(日本では、著作権を放棄することはできませんが、X11ライセンスは日本の著作権法に矛盾しません)

なお、公式の仕様が定められた際に、公式のテクニカル・ドキュメントが公開されるでしょう。
|