You are using IPv4 :(

Habari 0.5がリリースされました!

予定より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以降で修正されていくことになります。

今日見たねこねこ動画

苦しそう…

Firefox Extension: FPSゲーム向けランチャー elLaunch Ver 0.23.0β

ellaunch.jpg

FPSゲームのサーバにWeb上のリンク(etqw://192.0.2.32:27733等)から簡単にゲームを起動して接続するためのFirefox Extension elLaunchのVer 0.23.0βを公開しました。

インストールはこちら

Ver 0.23.0 - 2008/06/19

  • Firefox 3.0に対応

HabariでUTF-8以外の文字コードを使用しているブログからPingbackを受け取る

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];
</code></pre>        </div>
      </div>

            <div class="post" id="post-99">
        <h2><a href="http://ayu.commun.jp/2008/06/08/etqwjpstats-2008060801">2008/05/25から2008/06/08までの統計データの集計がシステム上の問題により遅延していました。現在は問題なく反映されています。</a></h2>
        <ul class="post-meta">
          <li>June 8, 2008 12:00am</li>
<!--          <li><img src="http://ayu.commun.jp/user/themes/onewish/img/icon_user.gif" alt="" />ayunyan</li> //-->
          <li><img src="http://ayu.commun.jp/user/themes/onewish/img/folder.gif" alt="" /><a href="http://ayu.commun.jp/tag/etqw" rel="tag">etqw</a> and <a href="http://ayu.commun.jp/tag/etqwjpstats" rel="tag">etqwjpstats</a></li>
          <li><img src="http://ayu.commun.jp/user/themes/onewish/img/comment.gif" alt="" /><a href="http://ayu.commun.jp/2008/06/08/etqwjpstats-2008060801#comments" title="Comments to this post">0Comments</a></li>
        </ul>
        <div class="post-contents">
          <div class="socialink"><a href="mailto:?subject=One+Wish...+-+2008%2F05%2F25%E3%81%8B%E3%82%892008%2F06%2F08%E3%81%BE%E3%81%A7%E3%81%AE%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%9B%86%E8%A8%88%E3%81%8C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%82%88%E3%82%8A%E9%81%85%E5%BB%B6%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%8F%BE%E5%9C%A8%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82&body=http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801" target="_blank" title="Post to Email" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/email.png" width="16" height="16" alt="Post to Email" style="padding:0 3px;"></a><a href="http://digg.com/submit?phase=2&url=http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801" target="_blank" title="Post to Digg" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/digg.png" width="16" height="16" alt="Post to Digg" style="padding:0 3px;"></a><a href="http://delicious.com/save?url=http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801&title=One+Wish...+-+2008%2F05%2F25%E3%81%8B%E3%82%892008%2F06%2F08%E3%81%BE%E3%81%A7%E3%81%AE%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%9B%86%E8%A8%88%E3%81%8C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%82%88%E3%82%8A%E9%81%85%E5%BB%B6%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%8F%BE%E5%9C%A8%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82&v=5&jump=yes" target="_blank" title="Post to delicious" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/delicious.png" width="16" height="16" alt="Post to delicious" style="padding:0 3px;"></a><a href="javascript:(function(){var a=window,b=document,c=encodeURIComponent,d=a.open('http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk=http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801&title=One+Wish...+-+2008%2F05%2F25%E3%81%8B%E3%82%892008%2F06%2F08%E3%81%BE%E3%81%A7%E3%81%AE%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%9B%86%E8%A8%88%E3%81%8C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%82%88%E3%82%8A%E9%81%85%E5%BB%B6%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%8F%BE%E5%9C%A8%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82','bkmk_popup','left='+((a.screenX||a.screenLeft)+10)+',top='+((a.screenY||a.screenTop)+10)+',height=420px,width=550px,resizable=1,alwaysRaised=1');a.setTimeout(function(){d.focus()},300)})();" title="Post to Google" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/google.png" width="16" height="16" alt="Post to Google" style="padding:0 3px;"></a><a href="javascript:(function(){window.open('http://b.hatena.ne.jp/add?mode=confirm&is_bm=1&title=One+Wish...+-+2008%2F05%2F25%E3%81%8B%E3%82%892008%2F06%2F08%E3%81%BE%E3%81%A7%E3%81%AE%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%9B%86%E8%A8%88%E3%81%8C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%82%88%E3%82%8A%E9%81%85%E5%BB%B6%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%8F%BE%E5%9C%A8%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82&url=http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801','socialink','width=550,height=600,resizable=1,scrollbars=1');})();" title="Post to Hatena Bookmark" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/hatena.png" width="16" height="16" alt="Post to Hatena Bookmark" style="padding:0 3px;"></a><a href="javascript:(function(){window.open('http://bookmarks.yahoo.co.jp/bookmarklet/showpopup?t=One+Wish...+-+2008%2F05%2F25%E3%81%8B%E3%82%892008%2F06%2F08%E3%81%BE%E3%81%A7%E3%81%AE%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%9B%86%E8%A8%88%E3%81%8C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%82%88%E3%82%8A%E9%81%85%E5%BB%B6%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%8F%BE%E5%9C%A8%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82&u=http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801&opener=bm&ei=UTF-8','socialink','width=550px,height=480px,status=1,location=0,resizable=1,scrollbars=0,left=100,top=50',0);})();" title="Post to Yahoo! JAPAN Bookmarks" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/yahoojbookmarks.png" width="16" height="16" alt="Post to Yahoo! JAPAN Bookmarks" style="padding:0 3px;"></a><a href="http://buzzurl.jp/entry/http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801" target="_blank" title="Post to Buzzurl" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/buzzurl.png" width="16" height="16" alt="Post to Buzzurl" style="padding:0 3px;"></a><a href="http://clip.livedoor.com/redirect?link=http%3A%2F%2Fayu.commun.jp%2F2008%2F06%2F08%2Fetqwjpstats-2008060801&title=One+Wish...+-+2008%2F05%2F25%E3%81%8B%E3%82%892008%2F06%2F08%E3%81%BE%E3%81%A7%E3%81%AE%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%9B%86%E8%A8%88%E3%81%8C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%82%88%E3%82%8A%E9%81%85%E5%BB%B6%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%8F%BE%E5%9C%A8%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82&ie=utf-8" target="_blank" title="Post to livedoor Clip" rel="nofollow"><img src="http://ayu.commun.jp/user/plugins/socialink/img/icon/livedoorclip.png" width="16" height="16" alt="Post to livedoor Clip" style="padding:0 3px;"></a></div><p>2008/05/25から2008/06/08までの統計データの集計がシステム上の問題により遅延していました。現在は問題なく反映されています。</p>        </div>
      </div>

      
      <div class="navigation">
          <a href="http://ayu.commun.jp/page/1" class="current-page">1</a> <a href="http://ayu.commun.jp/page/2" >2</a> <a href="http://ayu.commun.jp/page/3" >3</a> <a href="http://ayu.commun.jp/page/4" >4</a> <a href="http://ayu.commun.jp/page/5" >5</a> … <a href="http://ayu.commun.jp/page/15" >15</a> <a class="next-page" href="http://ayu.commun.jp/page/2" title="Next »">Next »</a>      </div>
    </div>

        <div id="sidebar">
      <div class="sidebox">
        <div class="sidebox-title">About...</div>
        <div class="sidebox-content">
          <p>ayunyan<br />
          プリンが主食なちびっ子</p>
          <p>
            <a href="http://twitter.com/ayunyan"><img src="http://ayu.commun.jp/user/themes/onewish/img/twitter.png" alt="Twitter" /></a>
            <a href="http://friendfeed.com/ayunyan"><img src="http://ayu.commun.jp/user/themes/onewish/img/friendfeed.png" alt="FriendFeed" /></a>
            <a href="http://ayunyan.jaiku.com/"><img src="http://ayu.commun.jp/user/themes/onewish/img/jaiku.png" alt="Jaiku" /></a>
            <a href="http://identi.ca/ayunyan"><img src="http://ayu.commun.jp/user/themes/onewish/img/identica.png" alt="Identi.ca" /></a>
            <a href="http://www.flickr.com/photos/ayunyan/"><img src="http://ayu.commun.jp/user/themes/onewish/img/flickr.png" alt="Flickr" /></a>
            <a href="http://delicious.com/ayunya"><img src="http://ayu.commun.jp/user/themes/onewish/img/delicious.png" alt="delicious" /></a>
            <a href="http://www.iknow.co.jp/user/ayunyan"><img src="http://ayu.commun.jp/user/themes/onewish/img/iknow.png" alt="iKnow!" /></a>
            <a href="http://steamcommunity.com/id/ayunyan"><img src="http://ayu.commun.jp/user/themes/onewish/img/steam.png" alt="Steam Community" /></a>
            <a href="http://www.ohloh.net/accounts/ayunyan"><img src="http://ayu.commun.jp/user/themes/onewish/img/ohloh.png" alt="Ohloh" /></a>
          </p>
          <p><img style="border: medium none; padding: 0pt 2px 0pt 0pt;" src="http://www.google.com/talk/service/resources/chaticon.gif" alt="" width="16" height="14"><img style="border: medium none ; padding: 0pt 2px 0pt 0pt;" src="http://www.google.com/talk/service/badge/Show?tk=z01q6amlq4tho6vjd1tocjakeam6rakcq39bdng8iqsd8jhpf94i4ut0jviqqukv7krmcvkltugtusi20vaj3qv7oeplg0fd8marulcoopggs16uubhlj54ajnldb5la7a9qmejau7olchrg&w=9&h=9" alt="" width="9" height="9" /><a href="http://www.google.com/talk/service/badge/Start?tk=z01q6amlq4tho6vjd1tocjakeam6rakcq39bdng8iqsd8jhpf94i4ut0jviqqukv7krmcvkltugtusi20vaj3qv7oeplg0fd8marulcoopggs16uubhlj54ajnldb5la7a9qmejau7olchrg" target="_blank" title="Click here to chat with ayunyan">Chat with ayunyan</a></p>
        </div>
      </div>

      <div class="sidebox">
        <div class="sidebox-title">Recent Posts</div>
        <div class="sidebox-content">
          <ul>
                        <li><a href="http://ayu.commun.jp/2009/02/24/ipod-touch-apps">iPod touchにいれたアプリ</a></li>
                        <li><a href="http://ayu.commun.jp/2009/02/13/japan-microblogging-service-share">国内ミニブログ/マイクロブログサービスのシェア</a></li>
                        <li><a href="http://ayu.commun.jp/2009/01/21/twiple-tweetback">Twiple! Tweetback</a></li>
                        <li><a href="http://ayu.commun.jp/2008/12/16/twiple-beta-released">Twiple! (beta) をリリースしました。</a></li>
                        <li><a href="http://ayu.commun.jp/2008/12/03/nekonekomovie-nyankoclassic">ねこねこ動画: ニャンコが歌うクラシック</a></li>
                        <li><a href="http://ayu.commun.jp/2008/11/30/nekonekomovie-whac-a-mole">ねこねこ動画: ネズミ(もぐら)叩き</a></li>
                        <li><a href="http://ayu.commun.jp/2008/11/25/ellaunch-024">Firefox Extension: elLaunch Ver 0.24</a></li>
                        <li><a href="http://ayu.commun.jp/2008/11/23/nekonekomovie-roomba-driver">ねこねこ動画: 掃除機の運転手さん</a></li>
                        <li><a href="http://ayu.commun.jp/2008/11/15/nekonekomovie-bigmiffy">ねこねこ動画: 巨大ミッフィー</a></li>
                        <li><a href="http://ayu.commun.jp/2008/11/10/nekonekomovie-humihumi">ねこねこ動画: ふみふみ</a></li>
                      </ul>
        </div>
      </div>

      <div class="sidebox">
        <div class="sidebox-title">Recent Comments</div>
        <div class="sidebox-content">
          <ul>
                        <li><a href="http://cecube.de/">Chris</a> on <a href="http://ayu.commun.jp/habari-rateit">Rate It!</a></li>
                        <li><a href="">sten</a> on <a href="http://ayu.commun.jp/habari-rateit">Rate It!</a></li>
                        <li><a href="http://www.odysseygate.com/">??</a> on <a href="http://ayu.commun.jp/2009/02/13/japan-microblogging-service-share">国内ミニブログ/マイクロブログサービスのシェア</a></li>
                        <li><a href="">foxconn</a> on <a href="http://ayu.commun.jp/2008/05/30/howto-etqw-tv">ET:QW TVの設定方法</a></li>
                        <li><a href="http://gopherwood.info/">wayne</a> on <a href="http://ayu.commun.jp/2008/05/23/amazon-socialink-fckeditor-rate-it-habari-plugins-released">Amazon/Socialink/FCKeditor/Rate It!  Habari Plugins released!</a></li>
                        <li><a href="">ayu</a> on <a href="http://ayu.commun.jp/2008/04/25/dancing-kittens">首振り猫ちゃんず</a></li>
                        <li><a href="">uno</a> on <a href="http://ayu.commun.jp/2008/04/25/dancing-kittens">首振り猫ちゃんず</a></li>
                        <li><a href="http://kmd-home.ddo.jp/">KAMADA</a> on <a href="http://ayu.commun.jp/2006/10/01/vanilla-2">Vanillaの日本語化</a></li>
                        <li><a href="">Salo_Papa_KTS</a> on <a href="http://ayu.commun.jp/2006/10/21/lunch">昼食</a></li>
                        <li><a href="">Bluevery</a> on <a href="http://ayu.commun.jp/2006/10/21/lunch">昼食</a></li>
                      </ul>
        </div>
      </div>

      <div class="sidebox">
        <div class="sidebox-title">Search</div>
        <div class="sidebox-content">
          <form method="get" id="searchform" name="searchform" action="http://ayu.commun.jp/search">
<div><input type="text" value="" name="criteria" id="s" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>
        </div>
      </div>

      
     <div id="ipv6_enabled_www_test_logo"></div>
<script language="JavaScript" type="text/javascript">
    	var Ipv6_Js_Server = (("https:" == document.location.protocol) ? "https://" : "http://");
	document.write(unescape("%3Cscript src='" + Ipv6_Js_Server + "www.ipv6forum.com/ipv6_enabled/sa/SA1.php?id=395' type='text/javascript'%3E%3C/script%3E"));
</script>
    </div>

    <br style="clear: both;" />

  </div>
  <div id="footcontainer">
    <div id="footer">
      Copyright (c) <a href="http://ayu.commun.jp/">ayu</a> All Rights Reserved. Powered by <a href="http://habariproject.org/">Habari 0.7-alpha.</a>
    </div>
  </div>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3945960-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>