Lib custom

提供: GeeklogJpWiki

目次

lib-custom.php

lib-custom.phpはシステムカスタマイズの核になるサンプルソースで、そのまま利用できるよう日本語化しています。

PHPブロックで使うことができるPHPブロック関数と、カスタマイズ処理を行うカスタム関数の2種類があります。接頭子には、次のようなきまりがあります。

PHPブロック関数の接頭子 phpblock_
カスタム関数の接頭子 CUSTOM_

特に、PHPブロックでは、接頭子phpblock_の関数しか実行できないように制限されています。PHPブロックでは、PHPブロック用に準備された関数のみ実行するよう制限して、安全にサイトを運営するためです。

PHPブロック関数は必要に応じていくらでも自由に増やせます。新たに作成して、PHPブロックから呼ぶことにより、新たなブロックを作ることができます。

カスタム関数は、サンプルとして提供されており、そのままでも利用が可能なように提供しており、内容は自由に変更が可能です。

バージョンアップなどでlib-custom.phpがあらたに提供されて上書きしても、必要な個々の関数は別ファイルになっているので安心です。

なお,日本語版では、1.5などでは次のように関数毎にファイルを分割し、lib-custom.phpから呼ばれていましたが,現在では日本語化プラグインに取り込まれているため,呼ばれてはいません。

require_once( 'custom/custom_mail.php' );


lib-custom.phpの運用について

まず最初に lib-custom.php はファイルの最初で

if (strpos ($_SERVER['PHP_SELF'], 'lib-custom.php') !== false) {               
    die ('This file can not be used on its own!');
}

このように現在実行しているスクリプトのファイル名に'lib-custom.php'が含まれているか調査し、falseでなければ(つまり含まれていれば)「このファイルはそれ自身で使われることができない!」と表示しそれ以降の処理を停止します。
次にエラーログにメッセージを記録するかどうかを制御する為に $_CST_VERBOSE を定義しています。 $_CST_VERBOSE によってメッセージの記録を制御することで、 カスタム関数を作成時やGeeklogの導入当初は $_CST_VERBOSE を true にしてメッセージを書き出す。 動作が安定してきたら $_CST_VERBOSE を false にして出力を抑え不要なメッセージが記録されないようにする。 ということが可能になります。

$_CST_VERBOSE = false;

1.PHPブロック関数

PHPブロックで使うことができる関数です。ブロックで様々な表示を行えます。 PHPブロック関数は、ユーザが自由に追加して作成することが可能です。 ブロック機能のPHPブロックで、関数を指定してブロックに表示します。

  1. phpblock_mycal() …サイトカレンダ表示PHPブロック
  2. phpblock_nmoxmenu() …2階層話題カテゴリ表示PHPブロック
  3. phpblock_showrights() …ユーザー権限表示PHPブロック
  4. phpblock_getBent() …セキュリティチェック表示PHPブロック
  5. phpblock_themetester() …テーマ選択PHPブロック
  6. phpblock_directory() …メニュー表示PHPブロック
  7. phpblock_stats() …アクセスカウンタ表示PHPブロック
  8. phpblock_switch_language() …多言語切り替えPHPブロック (Geeklog1.4.1より機能追加)。

2.カスタム関数

本体機能に対してカスタマイズを行なうために、プログラムの内部から呼び出されます。 関数名は本体から決められたものなので、自由に追加することはできませんが、与えられた関数において、自由にカスタマイズすることができます。

  1. CUSTOM_runSheduledTask() 定期的処理を記述するカスタム関数
  2. CUSTOM_templatesetvars() テンプレート変数を追加するカスタム関数
  3. CUSTOM_mail() 日本語環境対応メール送信カスタム関数
  4. CUSTOM_menuEntries() カスタムメニューを設定するカスタム関数
  5. custom_users.php ユーザー登録時に入力項目を追加するカスタム関数群
個人用ツール