予定より1ヶ月ほど遅れましたが本日14時頃にHabari 0.5がリリースされました :D
今年2月に公開された0.4から5ヶ月ぶりのメジャーアップデートです。
0.5での主な変更点は以下のとおりです。
- 新しい管理インタフェース(Monolith)
- デフォルトの英語以外にデンマーク語、ドイツ語、日本語、中国語繁体字の4つの言語ファイルを同梱
- 3つのテーマを同梱
- データベースバックエンドとしてMySQL、SQLiteの他にPostgreSQLをサポート
- セッションハンドリングの向上
- 限定的なUTF-8のサポート
- WordPress、Serendipityからのデータインポートプラグインを同梱
- SQLiteバックエンド使用時のセキュリティ向上
- プラグイン向けに新しく書き直されたFormUIクラス
- その他沢山の修正
リリースアナウンス
ダウンロード
Habari 0.5での日本語の対応状況についてですが、デフォルトで日本語の言語ファイルが含まれていますので管理インタフェースのオプションからLocaleをjaに設定するだけで日本語に切り替える事が出来ます。
しかし、まだ英語テキストがハードコーディングされている部分があるため、未翻訳のテキストが残っています。
また、UTF-8以外の多言語トラックバック問題に関してもコードフリーズに間に合わなかったため、これらの問題は0.5以降で修正されていくことになります。

FPSゲームのサーバにWeb上のリンク(etqw://192.0.2.32:27733等)から簡単にゲームを起動して接続するためのFirefox Extension elLaunchのVer 0.23.0βを公開しました。
インストールはこちら
Ver 0.23.0 - 2008/06/19
Habari
はデフォルトで文字コードがUTF-8に設定されているので問題なくUTF-8なBlogからのPingbackを受信することが出来ます。
しかし、古いバージョンのWordPress ME等は文字コードにEUC-JPを使用しているため、これらのブログからのPingback文字化けしてしまいます。
そこでPingback受信時に送信元ブログの文字コードを取得してUTF-8以外であれば文字コードを変換するパッチを書いてみました。
パッチを適用するには下記のパッチをダウンロード後、Habariのルートディレクトリでpatch -p0 pingback.plugin.php.r1747.mbconv.diff してください。
HabariProjectにもこのパッチを送ってあるのですが、現在はVer 0.5にむけてリポジトリがFeature Freezeにはいっているためすぐにcommitしてもらうのは難しそうです。
pingback.plugin.php.r1747.mbconv.diff
--- system/plugins/pingback/pingback.plugin.php.orig 2008-05-23 05:49:42.000000000 +0900
+++ system/plugins/pingback/pingback.plugin.php 2008-05-23 06:15:36.000000000 +0900
@@ -150,6 +150,16 @@
}
$source_contents= $rr->get_response_body();
+ // for Multi-byte
+ if ( function_exists ( 'mb_convert_encoding' ) ) {
+ // TODO: $habari_encoding= Options::get('encoding');
+ $habari_encoding= 'UTF-8';
+
+ if ( preg_match( "/]+charset=([A-Za-z0-9\-\_]+)/i", $source_contents, $matches ) !== false && strtolower( $habari_encoding ) != strtolower( $matches[1] ) ) {
+ $source_contents= mb_convert_encoding( $source_contents, $habari_encoding, $matches[1] );
+ }
+ }
+
// Find the page's title
preg_match( '/(.*)<\/title>/is', $source_contents, $matches );
$source_title= $matches[1];
2008/05/25から2008/06/08までの統計データの集計がシステム上の問題により遅延していました。現在は問題なく反映されています。