NucleusでDB接続エラー時の表示をもっとリッチに

カテゴリ:Nucleus
日時:2005/11/03 01:13

NucleusがMySQLへの接続に失敗すると、
Connect Error

Could not connect to MySQL database.
というメッセージを出力する。Nucleusしか使っていないサイトであれば、

DB接続エラー=何も表示するものはない

なのだが、当サイトは性的静的なHTMLコンテンツの方がメインなので、トップページがエラーメッセージだけではちと切ない。そこで、接続エラー時の出力に手を入れてみた。 MySQLへの接続エラーメッセージは、/nucleus/lib/globalfunctions.phpのstartUpError関数で出力している。この関数で出力フォーマットを定義し、関数呼び出し時に出力したい文字列を渡すのである。

startUpError関数を改造してもよいのだが、今回は

・通常のトップページ並のページにする
・そのエラーページを変更しやすくする
・コアファイルにデータを組み込みたくない

というわけで、エラーページは別ファイル化して変更しやすくし、このページをインクルードする関数をglobalfunctions.phpに追加することにした。

globalfunctions.phpの379行目付近、startUpError関数の下辺りに
function staticPage() {~
    include("/hogehoge/static.php");~
    exit;~
}
を追加し、306行目付近の
    $connection = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Could not connect to MySQL database.</p>','Connect Error');
    $connection = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or staticPage();
に修正する。後は、任意の場所にstatic.phpを作成して好きなようにトップページを作ればよい。ちなみに、ウチは
接続エラー画面
な感じ。あえて通常のページデザインに近づけてみた。

あまり需要のなさそうな改造だけど、コアファイルをいじる必要があるので自分用の備忘録としてメモ。大奥が終わるまで、毎週木曜の夜はこの機能が活躍しそう……。