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ブロックで、関数を指定してブロックに表示します。
- phpblock_mycal() …サイトカレンダ表示PHPブロック
- phpblock_nmoxmenu() …2階層話題カテゴリ表示PHPブロック
- phpblock_showrights() …ユーザー権限表示PHPブロック
- phpblock_getBent() …セキュリティチェック表示PHPブロック
- phpblock_themetester() …テーマ選択PHPブロック
- phpblock_directory() …メニュー表示PHPブロック
- phpblock_stats() …アクセスカウンタ表示PHPブロック
- phpblock_switch_language() …多言語切り替えPHPブロック (Geeklog1.4.1より機能追加)。
2.カスタム関数
本体機能に対してカスタマイズを行なうために、プログラムの内部から呼び出されます。 関数名は本体から決められたものなので、自由に追加することはできませんが、与えられた関数において、自由にカスタマイズすることができます。
- CUSTOM_runSheduledTask() 定期的処理を記述するカスタム関数
- CUSTOM_templatesetvars() テンプレート変数を追加するカスタム関数
- CUSTOM_mail() 日本語環境対応メール送信カスタム関数
- CUSTOM_menuEntries() カスタムメニューを設定するカスタム関数
- custom_users.php ユーザー登録時に入力項目を追加するカスタム関数群