Geeklog増殖計画 http://mystral-kk.net 「Geeklogを全ての人に!」を目指して,関連記事掲載やプラグイン・カスタムブロック関数の開発を行っています。 geeklog@mystral-kk.net geeklog@mystral-kk.net Copyright 2008 Geeklog増殖計画 Geeklog Mon, 22 Dec 2008 20:19:59 +0900 ja RSS Aggregator改造版にdescription追加 http://mystral-kk.net/article.php/2008122220122152 http://mystral-kk.net/article.php/2008122220122152 Mon, 22 Dec 2008 20:12:21 +0900 http://mystral-kk.net/article.php/2008122220122152#comments GeekLog <p>ユーザの方から「<a href="http://mystral-kk.net/filemgmt/index.php?id=16">RSS_Aggregator</a>でフィードのdescriptionを表示できないか?」というお問い合せがあった。何せ1年半ほど前に作ったスクリプトなので、覚えていない。アーカイブを引っ張り出してみると、わずかなコードの追加で実現できそうなことが分かったので、さっさと仕上げてアップロードした。ユーザの方からのフィードバック、リクエスト(あまり過大なものは困るが(^^;))こそがフリーソフトウェア作者を動かす力なのだと思う。</p> http://mystral-kk.net/trackback.php/2008122220122152 Pollsプラグインで不可解な現象 http://mystral-kk.net/article.php/20081216214956487 http://mystral-kk.net/article.php/20081216214956487 Tue, 16 Dec 2008 21:49:56 +0900 http://mystral-kk.net/article.php/20081216214956487#comments Geeklog -- Plugins <p>本家サイトの掲示板で問題になっているが、Geeklog-1.5.0-1.5.1になって、アンケート(polls)プラグインで削除・編集ができない場合が出てきている。<a href="http://www.geeklog.net/article.php/polls-plugin-vs-suhosin">Dirkさんの記事</a>によると、PHPのセキュリティを高めるための<a href="http://www.suhosin.org/">Suhosin</a>パッチで、一度にPOSTできるフォーム変数の数の初期値が200に制限されているため、この数を超えた大きなアンケートを作ると問題の現象が発生するとのこと。対策としては、</p><ul><li>php.iniを設定できる場合は、suhosin.post.max_varsの数を増やす。下記参照。</li><li>アンケートプラグインの設定で、1問あたりの選択肢やオプションを減らす。</li></ul><p>目安としては、質問を10個、選択肢もそれぞれ10個ずつ作ると、フォーム変数の合計が300を越えるので、アウト。質問を5個、選択肢を8個ずつにすると、フォーム変数の合計は150個なのでセーフ。</p><p>静的ページ(staticpages)で多数のフォーム変数を持つフォームを作成する場合も同様の現象が発生しそうだ。</p> http://mystral-kk.net/trackback.php/20081216214956487 Pollsプラグインのバグ http://mystral-kk.net/article.php/20081102211749248 http://mystral-kk.net/article.php/20081102211749248 Sun, 02 Nov 2008 21:17:49 +0900 http://mystral-kk.net/article.php/20081102211749248#comments Geeklog -- Plugins <p>Geeklog-1.5.1のpollsプラグインで新規アンケートを保存する際に既存のIDを指定すると、黙って上書きされるというバグを本家の<a href="http://project.geeklog.net/tracking/view.php?id=769">バグトラッカー</a>に登録したところ、「Mercurialのリポジトリでは修正されているはずなので確認してくれ」という返事が来た。TortoiseHGでpullして確認したところ、実際このバグは修正されていた。</p><p>ここまではどうということのない話なのだが、じつはリポジトリの開発版をインストールする際に、"Undefined function curl_init" というこれまで見たことのないエラーが出た。コードを調べてみると、public_html/admin/lib-install.php の545-554行目で、指定されたURIが実際存在するかチェックするのにcURL関数を使用していた。</p><p>Geeklogの次のバージョン(1.5.2?)では、必要とされるPHPの最低バージョンを現行の4.1.0から引き上げる(予想では、4.3.xくらい。4.x系列切り捨てはしばらくなさそう)ことが話題に上っている。これに加えてcURLエクステンションが必要となると、また敷居が高くなる。正式版では、PEARのHTTP_Requestなどで代用されることを望む。</p> http://mystral-kk.net/trackback.php/20081102211749248 Geeklogの性能測定(その3) http://mystral-kk.net/article.php/20081011135758749 http://mystral-kk.net/article.php/20081011135758749 Sat, 11 Oct 2008 13:57:58 +0900 http://mystral-kk.net/article.php/20081011135758749#comments GeekLog <p><a href="http://mystral-kk.net/article.php/20081004070324783">前々回</a>と同じ環境で(config.class.phpのキャッシュ機能あり)、CTL(Caching Template Library)あり・なしで違いを測定してみた。時間の単位はms(ミリ秒)。結果は以下の通り。</p><table border="1"><tr><th colspan="2" class="aligncenter">CTLなし</th><th>&nbsp;</th><th colspan="2" class="aligncenter">CTLあり</th></tr><tr><th>平均実行時間(ms)</th><th>平均比率(%)</th><th>項目</th><th>平均実行時間(ms)</th><th>平均比率(%)</th></tr><tr><td class="aligncenter">9.8</td><td class="aligncenter">9.6</td><td class="aligncenter">index.php自体の読み込み</td><td class="aligncenter">16.2</td><td class="aligncenter">13.6</td></tr><tr><td class="aligncenter">30.4</td><td class="aligncenter">29.8</td><td class="aligncenter">lib-common.phpインクルード</td><td class="aligncenter">30.2</td><td class="aligncenter">25.4</td></tr><tr><td class="aligncenter">28.4</td><td class="aligncenter">27.8</td><td class="aligncenter">COM_siteFooter()</td><td class="aligncenter">34.4</td><td class="aligncenter">29.0</td></tr><tr><td class="aligncenter">20.2</td><td class="aligncenter">19.8</td><td class="aligncenter">COM_siteHeader()</td><td class="aligncenter">21.6</td><td class="aligncenter">18.2</td></tr><tr><td class="aligncenter">7.8</td><td class="aligncenter">7.7</td><td class="aligncenter">STORY_renderArticle()</td><td class="aligncenter">10.2</td><td class="aligncenter">8.6</td></tr><tr><td class="aligncenter">2.8</td><td class="aligncenter">2.7</td><td class="aligncenter">lib-story.phpインクルード</td><td class="aligncenter">3.0</td><td class="aligncenter">2.5</td></tr><tr><td class="aligncenter">102.0</td><td class="aligncenter">&nbsp;</td><td class="aligncenter">全体</td><td class="aligncenter">118.8</td><td class="aligncenter"></td></tr></table><p>意外な感じがするが、自分が使用している環境ではCTLの恩恵を感じられず、むしろほんのわずかだがスピードダウンする。CTLとは違う方法で、テンプレートライブラリをハックする方法を考えてみようか。</p> http://mystral-kk.net/trackback.php/20081011135758749 Geeklogの性能測定(その2) http://mystral-kk.net/article.php/20081005160232211 http://mystral-kk.net/article.php/20081005160232211 Sun, 05 Oct 2008 16:02:32 +0900 http://mystral-kk.net/article.php/20081005160232211#comments GeekLog <p><a href="http://mystral-kk.net/article.php/20081004070324783">前回</a>と同じ環境(config.class.phpのキャッシュなし)で、public_html/index.phpにアクセスしたときに、lib-common.phpインクルードにかかる時間の内訳(5回の平均値)。時間の単位はms(ミリ秒)。0.2ms以下のものは適当に省いている。</p><table><tr><th>項目</th><th>実行時間</th><th>比率</th></tr><tr><td>lib-common.php自体の読み込み</td><td>19.4</td><td>49.0%</td></tr><tr><td>config-&gt;initConfig()</td><td>9.4</td><td>23.7%</td></tr><tr><td>config-&gt;load_baseconfig()</td><td>3.1</td><td>7.9%</td></tr><tr><td>lib-syndication.phpインクルード</td><td>1.5</td><td>3.8%</td></tr><tr><td>staticpages::functions.incインクルード</td><td>1.3</td><td>3.3%</td></tr><tr><td>links:functions.incインクルード</td><td>0.8</td><td>2.1%</td></tr><tr><td>lib-plugins.phpインクルード</td><td>0.7</td><td>1.7%</td></tr><tr><td>japanaese_utf-8.phpインクルード</td><td>0.6</td><td>1.4%</td></tr><tr><td>polls::functions.incインクルード</td><td>0.5</td><td>1.2%</td></tr><tr><td>smapx::functions.incインクルード</td><td>0.4</td><td>1.1%</td></tr><tr><td>calendar::functions.incインクルード</td><td>0.3</td><td>0.9%</td></tr><tr><td>SEC_getUserGroups()</td><td>0.2</td><td>0.6%</td></tr><tr><td>合計</td><td>39.6</td><td>&nbsp;</td></tr></table><p>意外な感じがするのは、プラグインのfunctions.incをインクルードする時間が長いこと。同梱されている標準の5つのプラグインだけでも3.3ms(全体の8.7%)かかっている。</p><p>ついでに、public_html/index.php自体も計測してみた。 <table><tr><th>項目</th><th>平均実行時間(ms)</th><th>平均比率(%)</th></tr><tr><td>index.php自体の読み込み</td><td>9.4</td><td>9.3%</td></tr><tr><td>lib-common.phpインクルード</td><td>35.6</td><td>35.0%</td></tr><tr><td>COM_siteFooter()</td><td>24.0</td><td>23.6%</td></tr><tr><td>COM_siteHeader()</td><td>19.6</td><td>19.3%</td></tr><tr><td>STORY_renderArticle()</td><td>7.1</td><td>7.0%</td></tr><tr><td>lib-story.phpインクルード</td><td>2.6</td><td>2.5%</td></tr><tr><td>全体</td><td>101.6</td><td>&nbsp;</td></tr></table><p>記事1件ごとにSTORY_renderArticle()が呼び出されるので、記事が増えるほど遅くなる。これは当然のことだが、COM_siteHeader(), COM_siteFooter()に莫大な時間がかかっているのは予想外だった。ちょっと調べた感じでは、この両関数から呼び出されるCOM_formatBlock()関数が遅いようだ。ここがボトルネックか?</p> http://mystral-kk.net/trackback.php/20081005160232211 Geeklogの性能測定 http://mystral-kk.net/article.php/20081004070324783 http://mystral-kk.net/article.php/20081004070324783 Sat, 04 Oct 2008 07:03:24 +0900 http://mystral-kk.net/article.php/20081004070324783#comments GeekLog <p>Geeklog-1.5.0からは&#36;_CONF変数がデータベースに格納されるようになったが、その実装方法があまりきれいではないので、速度低下を招くのではないかと思い、<a href="http://hiroron.com/">ひろろんさん</a>や<a href="http://www.trybase.com/~dengen/log/">dengenさん</a>と共にごく簡単なキャッシュを実装していた。大ざっぱに言うと10%程度のスピードアップになりそう。</p><p>そのとき話題になったのがlib-common.phpのダイエット。このファイルはGeeklogの基本機能を実装し、必要なライブラリをインクルードしているが、1.5.1で200KBほどある。このlib-common.phpの中でも比較的使用されていないコードやインクルードファイルがあれば、使用時にインクルードすることで、サイズを減らせる。</p><p>きちんと性能測定したいなあと思ってXdebug関連を探していたら、<a href="http://php.y-110.net/wiki/index.php?%A5%D7%A5%ED%A5%D5%A5%A1%A5%A4%A5%EA%A5%F3%A5%B0%A1%A7xdebug%20%2B%20WinCacheGrind">[PHPプロファイリング: Xdebug(Xdebug2) + WinCacheGrind]</a>というページを見つけた。早速このページの情報を元に、</p><ol><li>XdebugのMS Windows用最新モジュール(php_xdebug-2.0.3-5.2.5.dll)をダウンロードしてPHPのエクステンション用ディレクトリにコピー。</li><li><a href="http://sourceforge.net/projects/wincachegrind/">WinCacheGrind</a>をダウンロードして、インストール。</li><li>php.iniの書き換え。<br><pre>[Zend]zend_extension_ts = "C:&#92;PHP&#92;ext&#92;php_xdebug-2.0.3-5.2.5.dll"xdebug.profiler_enable = 1xdebug.profiler_output_name = cachegrind.out.profilexdebug.profiler_output_dir = "C:/temp/xdebug"xdebug.auto_trace = On</pre></li></ol><p>Geeklog-1.5.1のトップページにアクセスすると、lib-common.php処理にかかる時間は以下のようになった。</p> <table><tr><th class="aligncenter" colspan="2">キャッシュなし</th><th class="aligncenter">&nbsp;</th><th class="aligncenter" colspan="2">キャッシュあり</th></tr><tr><th class="aligncenter">実行時間(ms)</th><th class="aligncenter">比率(%)</th><th class="aligncenter">項目</th><th class="aligncenter">実行時間(ms)</th><th class="aligncenter">比率(%)</th></tr><tr><td class="aligncenter">26.4</td><td class="aligncenter">52.2%</td><td class="aligncenter">lib-common.php読み込み</td><td class="aligncenter">20.6</td><td class="aligncenter">61.7%</td></tr><tr><td class="aligncenter">11.9</td><td class="aligncenter">23.6%</td><td class="aligncenter">config-&gt;initConfig()</td><td class="aligncenter">0.4</td><td class="aligncenter">1.2%</td></tr><tr><td class="aligncenter">3.1</td><td class="aligncenter">6.2%</td><td class="aligncenter">config-&gt;loadBaseConfig()</td><td class="aligncenter">3.6</td><td class="aligncenter">10.7%</td></tr><tr><td class="aligncenter">1.8</td><td class="aligncenter">3.6%</td><td class="aligncenter">SEC_getUserGroups()</td><td class="aligncenter">1.8</td><td class="aligncenter">5.5%</td></tr><tr><td class="aligncenter">1.0</td><td class="aligncenter">2.0%</td><td class="aligncenter">lib-syndication.php読み込み</td><td class="aligncenter">0.8</td><td class="aligncenter">2.4%</td></tr><tr><td class="aligncenter">0.6</td><td class="aligncenter">1.3%</td><td class="aligncenter">lib-session.php読み込み</td><td class="aligncenter">1.1</td><td class="aligncenter">3.4%</td></tr><tr><td class="aligncenter">0.4</td><td class="aligncenter">0.8%</td><td class="aligncenter">SEC_getUserPermissions()</td><td class="aligncenter">0.4</td><td class="aligncenter">1.2%</td></tr><tr><td class="aligncenter">0.4</td><td class="aligncenter">0.8%</td><td class="aligncenter">lib-plugins.php読み込み</td><td class="aligncenter">0.6</td><td class="aligncenter">1.9%</td></tr><tr><td class="aligncenter">0.1</td><td class="aligncenter">0.2%</td><td class="aligncenter">japanese_utf-8.php読み込み</td><td class="aligncenter">0.1</td><td class="aligncenter">0.3%</td></tr><tr><td class="aligncenter">0.2</td><td class="aligncenter">0.4%</td><td class="aligncenter">setlocale()</td><td class="aligncenter">0.4</td><td class="aligncenter">1.2%</td></tr><tr><td class="aligncenter">50.6</td><td class="aligncenter">&nbsp;</td><td class="aligncenter">合計</td><td class="aligncenter">33.4</td><td class="aligncenter">&nbsp;</td></tr></table><p>テスト環境は、Pentium M 1.1GHz、メモリ1.25GB、Windows XP+SP3、PHP-5.2.5、Apache-2.0.63、MySQL-4.0.18ntで、5回アクセスの平均値。</p><p>キャッシュなしの方では、lib-common.phpの処理に合計で50.6ミリ秒かかり、そのうちlib-common.phpの読み込み自体に26.4ミリ秒かかっている。キャッシュありの方では、lib-common.phpの処理に合計で33.4ミリ秒かかり、そのうちlib-common.phpの読み込み自体に20.6ミリ秒かかっている。</p><p>キャッシュありの方は、config-&gt;initConfig()の実行時間が大幅に短くなっている。config-&gt;loadBaseConfig()の時間は依然として長いが、これは内部でlib-database.phpをインクルードし、データベースに接続しているためで、短縮は難しそう。SEC_getUserGroups()に時間がかかるのはソースコードに注釈がある通り(lib-security.phpの88-90行目)だが、何らかのキャッシュ機能を実装できる可能性がある。となるとやはり、全体の50%から60%の時間を占めているlib-common.php自体の読み込みがボトルネックになる。もう少し、詳しく調べてみるつもり。</p> http://mystral-kk.net/trackback.php/20081004070324783 インクルードファイル直接呼び出し攻撃防止策を追加 http://mystral-kk.net/article.php/20080926224053934 http://mystral-kk.net/article.php/20080926224053934 Fri, 26 Sep 2008 22:40:53 +0900 http://mystral-kk.net/article.php/20080926224053934#comments Geeklog -- Plugins <p>Geeklog-1.5.1で、大文字小文字を区別しないファイルシステム(MS Windowsなど)で、インクルードファイルを直接呼び出すことが可能になっていた脆弱性が修正されたが、同様の修正を拙作のDataproxy, Dbman, Sitemap, Themeditプラグインにも行った。機能追加はなし。</p> http://mystral-kk.net/trackback.php/20080926224053934 カスタム関数管理プラグイン http://mystral-kk.net/article.php/20080919085712169 http://mystral-kk.net/article.php/20080919085712169 Fri, 19 Sep 2008 08:57:12 +0900 http://mystral-kk.net/article.php/20080919085712169#comments Geeklog -- Plugins <p>タイトルの通り、カスタム関数をオンラインで管理するプラグインを試作中。要望があれば公開するつもり。</p><p>PS. テキストエディタとFTPしか使わない自分がこのプラグインを使うことはないだろうから、いまいちやる気が起きない。まあ、PHPでファイルをアップロードするスクリプトを書く練習にはなるだろう。</p><p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E9%96%A2%E6%95%B0">カスタム関数</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a></p> http://mystral-kk.net/trackback.php/20080919085712169 PHP-4.x系列でhtml_entity_decode()がエラー http://mystral-kk.net/article.php/20080914215101250 http://mystral-kk.net/article.php/20080914215101250 Sun, 14 Sep 2008 21:51:01 +0900 http://mystral-kk.net/article.php/20080914215101250#comments GeekLog <p>ユーザからのレポートで、 <tt>"cannot yet handle MBCS in html_entity_decode()"</tt> なるエラーが拙作のプラグインで発生しているらしい。Google先生に訊いてみると、PHP-4.xの場合、マルチバイトはサポートしていないとのこと。改めてマニュアルを読んでみると、確かにそう書いてあった。PHP-4.x系列を使わなくなって久しいので、気づかなかった。</p><p>とりあえず、Dbman, Dataproxy, Sitemap, Themeditプラグインはエラーが出ないように修正したバージョンを公開した。</p><p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/dbman%2C">dbman,</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/dataproxy%2C">dataproxy,</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap%2C">sitemap,</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/themedit">themedit</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a></p> http://mystral-kk.net/trackback.php/20080914215101250 Dataproxyプラグイン-1.1.1 http://mystral-kk.net/article.php/20080911091052462 http://mystral-kk.net/article.php/20080911091052462 Thu, 11 Sep 2008 09:10:52 +0900 http://mystral-kk.net/article.php/20080911091052462#comments Geeklog -- Plugins <p>Geeklog-1.5.0に同梱されているPolls-2.0.1プラグインでサイトマップがエラーになっていたが、データベースの構造が変化していたのが原因だった。対策を施した<a>Dataproxy-1.1.1プラグイン</a>を公開した。なお、Sitemapプラグインの方は変更する必要はありません。</p> http://mystral-kk.net/trackback.php/20080911091052462 Google Summer of Code 2008の成果 http://mystral-kk.net/article.php/20080910001205283 http://mystral-kk.net/article.php/20080910001205283 Wed, 10 Sep 2008 00:12:05 +0900 http://mystral-kk.net/article.php/20080910001205283#comments GeekLog <p>本家の<a href="http://www.geeklog.net/article.php/summer-of-code-roundup-2008">この記事</a>によると、Geeklog本家から参加した6人のうち5人がプロジェクトを仕上げたそうだ。その成果は次の通り:</p><ol><li>コメントモデレーションキュー</li><li>アップロードによるプラグインのインストール</li><li>検索結果の表示方法改善</li></ol><p>5人のうち残りの2人はAptitudeCMS(旧称Geeklog-2)に取り組んでいた。コメントモデレーションキューに関しては、トラックバックモデレーションキューも併せて実装してほしかった。</p><p>これらの成果物は、Geeklog-1.5.2以降のバージョンで、本体に取り込まれることだろう(GL-1.5.1はバグ修正のみ)。来年の4月くらいには公開されているだろうか...</p> http://mystral-kk.net/trackback.php/20080910001205283 Geeklog-1.5.1rc1公開 http://mystral-kk.net/article.php/20080908063728743 http://mystral-kk.net/article.php/20080908063728743 Mon, 08 Sep 2008 06:37:28 +0900 http://mystral-kk.net/article.php/20080908063728743#comments GeekLog <p>思っていたよりも早く、<a href="http://www.geeklog.net/article.php/geeklog-1.5.1rc1">RC1が公開</a>された。今度はバグ修正が主なので、正式版が出るまで2週間とかからないだろう。その時点から日本語版が出るまで、1ヶ月では無理だろうな...</p> http://mystral-kk.net/trackback.php/20080908063728743 Geeklog-1.5.1-RC1間近 http://mystral-kk.net/article.php/20080907182442996 http://mystral-kk.net/article.php/20080907182442996 Sun, 07 Sep 2008 18:24:42 +0900 http://mystral-kk.net/article.php/20080907182442996#comments GeekLog <p>本家のメーリングリストの情報によると、もうそろそろ(1~3日中?)GL-1.5.1のRC(リリース候補)版が出るらしい。これはほとんどバグフィックスだけの模様。</p><p>Google Summer of Codeも終わったので、その成果を次期バージョン(1.5.2?)に取り入れる作業を行うことを考えると、RC版が出たら1.5.1の正式版が出るのは早そうだ。1.5.0日本語版で潰しているバグも多いので、1.5.1日本語版も、携帯対応を除けば、それほど苦労しなくても出せそう。</p> http://mystral-kk.net/trackback.php/20080907182442996 当サイトをGeeklog-1.5.0へアップグレード http://mystral-kk.net/article.php/20080907161224179 http://mystral-kk.net/article.php/20080907161224179 Sun, 07 Sep 2008 16:12:24 +0900 http://mystral-kk.net/article.php/20080907161224179#comments GeekLog <p>今までGL-1.4.0sr6で運営していたサイトをGL-1.5.0へアップグレードした。非公開領域/config.phpの <code>&#36;_CONF['default_charset']</code> に 'UTF-8' をセットしておいたせいで、アップグレードすると元の記事が軒並み文字化け。これが小文字なら問題なかっただろう。system/database/mysql.class.php の143行目を</p><pre> if (&#36;this-&gt;_charset == 'utf-8') {</pre><p>から、</p><pre> if (strcasecmp(&#36;this-&gt;_charset, 'utf-8') == 0) {</pre><p>にハックしてやっと正常にアップグレードができた。<a href="http://code.google.com/p/geeklog-jp/">Google Code</a>の方はr417で対応した。このバグを潰すのに3時間くらいかかってしまった。</p> http://mystral-kk.net/trackback.php/20080907161224179 旧gllabs系製品についての朗報 http://mystral-kk.net/article.php/20080904081915787 http://mystral-kk.net/article.php/20080904081915787 Thu, 04 Sep 2008 08:19:00 +0900 http://mystral-kk.net/article.php/20080904081915787#comments GeekLog <p>本家の<a href="http://www.geeklog.net/forum/viewtopic.php?showtopic=83952">このスレッド</a>によると、cordisteさん(= Geeklog Franceの::Benさん)がGeeklog用のMedia Gallery, Captcha, Dokuwiki, vThemesの開発を続けたい旨を打診し、glFusionのMarkさんと連絡を取った、ということだ。</p> http://mystral-kk.net/trackback.php/20080904081915787 Bad Behavior2-2.0.23 http://mystral-kk.net/article.php/20080828221403652 http://mystral-kk.net/article.php/20080828221403652 Thu, 28 Aug 2008 22:14:00 +0900 http://mystral-kk.net/article.php/20080828221403652#comments Geeklog -- Plugins <p>従来、gllabs関係者がサポートしていたプラグインは主に、</p><ol><li>Bad Behavior2</li><li>CAPTCHA</li><li>Dokuwiki</li><li>mediagallary</li></ol><p>の4つで、glfusionへの移行に伴い、新バージョンが出なくなることが懸念されて(いた|いる)が、<a href="http://www.geeklog.net/article.php/bad-behavior-2.0.23">Bad Behavior2-2.0.23</a>がDirkさんによって先日公開され、CAPTCHAもひろろんさんの手によって、「CAPTCHA - 画像認証プラグイン(妹認証付)」(<a href="http://hiroron.com/filemgmt/index.php?id=53">自動インストーラ用レシピ</a>、<a href="http://hiroron.com/filemgmt/index.php?id=112">プラグイン本体</a>)という形でパワーアップして帰ってきた。</p><p>残るDokuwikiは必要な人間がなんとかハックするだろうが、mediagallryは代替物がない。mediagallaryをフォークするか、gallary2とGeeklogとのブリッジである<a href="http://www.geeklog.net/filemgmt/index.php?id=865">G2Bridge</a>が本家で公開されているので、これに移行するか、全く新しいプラグインを開発することになるだろう。</p> http://mystral-kk.net/trackback.php/20080828221403652 テーマエディタプラグイン 1.1.1、タグプラグイン 0.4.1を公開 http://mystral-kk.net/article.php/20080818220806850 http://mystral-kk.net/article.php/20080818220806850 Mon, 18 Aug 2008 22:08:00 +0900 http://mystral-kk.net/article.php/20080818220806850#comments Geeklog -- Plugins <p>Geeklog-1.5.0のコンフィギュレーションUIに対応すべく更新していたテーマエディタプラグインとタグプラグインにDokuWikiプラグインと共存できないというバグが見つかった。原因は両プラグインのfunctions.incで&#36;confという変数を使ったこと。各プラグインのfunctions.incの中で使用する変数は、Geeklog内ではグローバルスコープになることをうっかり忘れており、この変数がDokuWikiの設定を保持している同名の&#36;conf変数を上書きしているせいで、エラーが発生していた。自分の注意力のなさにうんざり orz...</p><p><a href="http://mystral-kk.net/filemgmt/index.php?id=13">テーマエディタプラグインの修正版はこちら</a>、<a href="http://mystral-kk.net/filemgmt/index.php?id=20">タグプラグインの修正版</a>はこちらからどうぞ。</p> http://mystral-kk.net/trackback.php/20080818220806850 Dataproxyプラグイン、Sitemapプラグインを更新 http://mystral-kk.net/article.php/20080815235445641 http://mystral-kk.net/article.php/20080815235445641 Fri, 15 Aug 2008 23:54:45 +0900 http://mystral-kk.net/article.php/20080815235445641#comments Geeklog -- Plugins <p><a href="http://mystral-kk.net/filemgmt/index.php?id=17">Dataproxyプラグイン</a>と<a href="http://mystral-kk.net/filemgmt/index.php?id=18">Sitemapプラグイン</a>がGeeklog-1.5.0に対応した。これで主要な自作プラグインはすべてGL-1.5.0に対応したことになる。まもなく、Geeklog-1.5.1のベータ版ないしリリース候補版が公開されるはずだが、バグ修正が主で、機能追加はほとんどないと思われる。</p> http://mystral-kk.net/trackback.php/20080815235445641 秋芳洞 http://mystral-kk.net/article.php/20080812094227926 http://mystral-kk.net/article.php/20080812094227926 Tue, 12 Aug 2008 09:42:00 +0900 http://mystral-kk.net/article.php/20080812094227926#comments その他もろもろ <p>昨日は涼みがてらに山口県の秋芳洞へ行ってきた。外は35度近い猛暑だが、チケット売り場を過ぎ、洞窟から流れ出す川の畔を10メートルも歩くと急にひんやりとした。入り口前で撮った写真がこれ。</p><img width="300" height="400" src="http://mystral-kk.net/images/articles/20080812094227926_1.jpg" alt=""><p>中にはいると別天地の涼しさだったが、見学者が多かったのには参った。ガイドさんの説明を聞いている団体客が通路をふさぎ、中年のおっさんが三脚を持ち込んで写真やビデオを使っている。子どもの作文のネタのためとはいえ、少し疲れた。</p> http://mystral-kk.net/trackback.php/20080812094227926 テーマエディタプラグイン 1.1.0 http://mystral-kk.net/article.php/20080811214552327 http://mystral-kk.net/article.php/20080811214552327 Mon, 11 Aug 2008 21:45:52 +0900 http://mystral-kk.net/article.php/20080811214552327#comments Geeklog -- Plugins <p>Geeklog-1.5.0に対応したテーマエディタプラグイン-1.1.0を公開した。<a href="http://mystral-kk.net/filemgmt/index.php?id=13">ダウンロードはこちら</a>からどうぞ。機能追加はなく、GL-1.5.0のコンフィギュレーション対応、CSRF対策追加、バグ取りのみ。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog-1.5">geeklog-1.5</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%86%E3%83%BC%E3%83%9E%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF">テーマエディタ</a> http://mystral-kk.net/trackback.php/20080811214552327 PHP-4.x系列の終焉(本当におしまい) http://mystral-kk.net/article.php/2008080900524748 http://mystral-kk.net/article.php/2008080900524748 Sat, 09 Aug 2008 00:52:00 +0900 http://mystral-kk.net/article.php/2008080900524748#comments GeekLog <p>先日、<a href="http://www.php.net/archive/2008.php#id2008-08-07-1">PHP-4.4.9</a>がリリースされ、これで4.x系列に対するセキュリティパッチ提供も最後となった。</p><p>PHPの安全性を高める<a href="http://www.suhosin.org/">Suhosin</a>も、<a href="http://www.suspekt.org/2008/08/08/php-4-requiescat-in-pace/">この記事</a>によると、今年いっぱいは4.xに対するパッチを提供するが、年が明けたら提供を打ち切るとのこと。いよいよPHP-5.x系列への移行を迫られる状況となった。GeeklogはPHP-5.xでも動作するが、そのパワー(クラス、インターフェースなど)を生かしているとはお世辞にも言えないので、そのうち、PHP-5.x専用にコードを書き直す気運が高まるかもしれない。</p> http://mystral-kk.net/trackback.php/2008080900524748 DbmanプラグインがGeeklog-1.5.0に対応 http://mystral-kk.net/article.php/20080727001203617 http://mystral-kk.net/article.php/20080727001203617 Sun, 27 Jul 2008 00:12:03 +0900 http://mystral-kk.net/article.php/20080727001203617#comments Geeklog -- Plugins <p>延び延びになっていたプラグインのアップデート第一弾ということで、DbmanをGL-1.5.0に対応させた。<a href="http://mystral-kk.net/filemgmt/index.php?id=10">ダウンロードはこちらから</a>どうぞ。機能追加はなく、GL-1.5.0のコンフィギュレーション対応、CSRF対策追加のみ。とはいえ、元のコードでADMIN_simpleList()を複数回使用していたので、これを1.4.xでも1.5.0でも動作するように変更するのと、コンフィギュレーションに対応させるのに時間がかかった。</p><p>他のプラグインも更新を待っているのだが、続きはいつになることやら...</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog-1.5">geeklog-1.5</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/dbman">dbman</a> http://mystral-kk.net/trackback.php/20080727001203617 掲示板プラグインの脆弱性 http://mystral-kk.net/article.php/20080719230038742 http://mystral-kk.net/article.php/20080719230038742 Sat, 19 Jul 2008 23:00:00 +0900 http://mystral-kk.net/article.php/20080719230038742#comments Geeklog -- Plugins <p>Geeklogの掲示板プラグインに脆弱性が発見された。検索機能でJavaScriptのフィルタリングが不十分なため,クロスサイトスクリプティング(XSS)の危険性があるらしい。<a href="http://www.geeklog.net/article.php/20080719093147449">Blaineさんによる元記事はこちら</a>からどうぞ。対策はバージョン2.7.1へアップグレードすること。<a href="http://www.geeklog.net/filemgmt/index.php/866">ダウンロードはこちら</a>からどうぞ。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">セキュリティ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/xss">xss</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E6%8E%B2%E7%A4%BA%E6%9D%BF">掲示板</a> http://mystral-kk.net/trackback.php/20080719230038742 Geeklogに2つの脆弱性 http://mystral-kk.net/article.php/20080705csrf_kses http://mystral-kk.net/article.php/20080705csrf_kses Sat, 05 Jul 2008 17:56:35 +0900 http://mystral-kk.net/article.php/20080705csrf_kses#comments GeekLog <p>遅ればせながら,先ほどGeeklog.jpに<a href="http://www.geeklog.jp/article.php/20080705csrf_kses">2つの脆弱性</a>に関する記事を投稿した。</p><p>1つ目は,CSRF(Cross-Site Request Forgery)攻撃に関するもので,Geeklogに管理者としてログインしている場合,予期しないフォームを送信するなどの危険性がある。Geeklog-1.5.0では,フォーム表示時にデータベースにトークンを登録し,POST時に照合するというオーソドックスな対策をとっている。大規模なコードの改修を伴うため,<strong>Geeklog-1.4.xではこの問題に対応できない</strong>。せいぜい,管理者としてログインする期間を短くし,こまめにログアウトを心がけるしかない。</p><p>2つ目は,Geeklog内部でHTMLフィルタとして使用されているksesライブラリに脆弱性が見つかったというもの。<strong>HTMLフィルタでstyle属性を許可していなければ</strong>,問題にはならない。まあ,普通の管理者なら,一般ユーザに &lt;img&gt;タグや style属性の使用を許可してはいないだろうが...</p><p>そろそろ当サイトも1.5.0にアップグレードしなければならない状況になったようだ。しばらくは,自作のプラグインのアップグレードにまで手が回りそうにない。</p><p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">セキュリティ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/csrf">csrf</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/kses">kses</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog-1.5">geeklog-1.5</a></p> http://mystral-kk.net/trackback.php/20080705csrf_kses Geeklog本家,GSoC用にMercurial採用 http://mystral-kk.net/article.php/20080626082943714 http://mystral-kk.net/article.php/20080626082943714 Thu, 26 Jun 2008 08:29:00 +0900 http://mystral-kk.net/article.php/20080626082943714#comments GeekLog <p>Geeklog本家のバージョン管理にはCVSを用いているが,</p><ol><li>ディレクトリの移動をしにくい。</li><li>コミット権を持った人以外はコミットできない。</li></ol><p>という点がいつも問題になる。他の開発者たちは「せめてSubversionにしよう」と提案するが,Dirkさんは「CVSとSubversionは大して違わない。今から新規にプロジェクトを興すならわざわざCVSを選ぶ理由はないが,現状はうまくいっているからCVSで運用する。」と言っていた。</p><p>今朝流れたメーリングリストでは,Dirkさんが「GSoCに取り組む学生たちのコードを管理するのに分散型バージョン管理システムを使いたい。Linuxカーネルのコード管理に使われているGitについて調べてみたが,似たようなコマンドがたくさんあって引いてしまう(全部で152コマンド)。他に誰も口にしないから,自分は<a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a>を使おうと思う。これは最終決定ではなく,お試しだ。」と発言していた。本家のWiki上には<a href="http://wiki.geeklog.net/wiki/index.php/Using_Mercurial">Mercurialに関するページ</a>もできている。GeeklogがGSoCで取り組む内容をいち早く知りたい人は上記ページをチェックしてほしい。</p> http://mystral-kk.net/trackback.php/20080626082943714 Geeklog-1.5以降 http://mystral-kk.net/article.php/20080623231627175 http://mystral-kk.net/article.php/20080623231627175 Mon, 23 Jun 2008 23:16:27 +0900 http://mystral-kk.net/article.php/20080623231627175#comments GeekLog <p>メーリングリストでのDirkさんの話によれば,今後の予定として,</p><ul><li>Geeklog 1.5.0-1: バグ修正のみ。リリース目標は7月後半。</li><li>Geeklog 1.5.1: バグ修正+ユーザが投稿した機能拡張パッチ適用。リリース目標はGoogle Summer of Codeの終わり頃,つまり,9月上旬から中旬。</li><li>Geeklog-1.5.2ないし1.6.0: Google Summer of Codeの成果を統合し,他の機能追加。目標は今年の終わりから来年の初め。</ul><p>を考えているが,みんなの意見は?というコメントが出ていた。Blaineさん,Vinnyさん,Mikeさんは,1.5.1でJoeさんのCaching Template Libraryを導入してはどうかと口を揃えて言っている。Blaineさんは,現在のコンフィギュレーションエディタは直感的でなく使いにくいため,今回のGSoCで改良に取り組む学生を期待したが,適当な応募者がおらず,指導者(メンター)も不足していたと発言していた。</p><p>中でも過激なのはMikeさんで,1.5.1のベータ版を7月半ばに,最終版を7月31日に公開すべきだと発言している。他のオープンソースWebアプリケーションと同様,今後のロードマップとリリース予定を公開することでユーザからの信頼を高め,コアチームとユーザのコミュニティが協力し,コアチームの責任をDirkさんだけでなく,全員で共有すべきだと提言している。すべて,Geeklog.jpにも当てはまることで,耳が痛い。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog-1.5">geeklog-1.5</a> http://mystral-kk.net/trackback.php/20080623231627175 Geeklog 1.5公開 http://mystral-kk.net/article.php/Geeklog15 http://mystral-kk.net/article.php/Geeklog15 Sun, 15 Jun 2008 23:23:40 +0900 http://mystral-kk.net/article.php/Geeklog15#comments GeekLog <p>先ほど<a href="http://www.geeklog.net/article.php/geeklog-1.5.0">本家</a>で1.5.0が公開された。Firefox-3の公開よりは早かった。</p><p>日本語版は,有志が作業中だが,1ヶ月と経たないうちにGeeklog.jpでも公開できるだろう。1.5.0ではインストールが格段に容易になり,OpenIDやAtomPubもサポートされた。従来,config.phpをせっせといじっていた設定もオンラインのコンフィギュレーションが可能になった。そういう意味では初心者にとって敷居が低くなったと言えるが,また,不安の要素でもある。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog-1.5">geeklog-1.5</a> http://mystral-kk.net/trackback.php/Geeklog15 Geeklog 1.5 BETA1 http://mystral-kk.net/article.php/Geeklog15BETA1 http://mystral-kk.net/article.php/Geeklog15BETA1 Tue, 06 May 2008 07:46:22 +0900 http://mystral-kk.net/article.php/Geeklog15BETA1#comments GeekLog 最近Geeklogを触っていないが,本家で1.5BETA1が公開された。同時に言語ファイルの翻訳を求めている。Configuration UIで大量の翻訳が必要になるとのこと。また,同梱プラグインの言語ファイルの翻訳も求めている。メーリングリストでは,Geeklog-1.5は今月中(確か5月26日?)に公開するとDirkさんが発言していたので,Release Candidateもすぐに公開されることだろう。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog-1.5">geeklog-1.5</a> http://mystral-kk.net/trackback.php/Geeklog15BETA1 geeklog2mtカスタム関数,mt2geeklogカスタム関数機能追加 http://mystral-kk.net/article.php/2008022820145261 http://mystral-kk.net/article.php/2008022820145261 Thu, 28 Feb 2008 20:14:52 +0900 http://mystral-kk.net/article.php/2008022820145261#comments GeekLog CATEGORY IDというproprietaryなメタタグをサポートするバージョンを公開した。トピックIDがfooとなっている記事を全てbarに変えるだけなら,phpMyAdminを使って UPDATE `gl_stories` SET `tid` = 'bar' WHERE `tid` = 'foo' とすれば,一発なのだが... http://mystral-kk.net/trackback.php/2008022820145261 タグプラグイン-0.3.2 http://mystral-kk.net/article.php/20080228194720766 http://mystral-kk.net/article.php/20080228194720766 Thu, 28 Feb 2008 19:47:20 +0900 http://mystral-kk.net/article.php/20080228194720766#comments Geeklog -- Plugins タグをテンプレート変数として出力するオプション($_TAG_CONF['publish_as_template_vars'])に関するマニュアルの誤り訂正及び,アンダースコアの扱いを改善した。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BF%E3%82%B0">タグ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/20080228194720766 タグプラグイン-0.3.1 http://mystral-kk.net/article.php/20080123223618783 http://mystral-kk.net/article.php/20080123223618783 Wed, 23 Jan 2008 22:36:18 +0900 http://mystral-kk.net/article.php/20080123223618783#comments Geeklog -- Plugins <p>バージョン0.2.0から0.3.0にアップグレードするときにエラーが発生する問題に対処した。また,タグメニューの横に,含まれるアイテム数を表示するオプションを追加した。このプラグインの更新もそろそろ一段落つきそうだ。次は何を作ろうか...</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BF%E3%82%B0">タグ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/20080123223618783 タグプラグイン-0.2.0 http://mystral-kk.net/article.php/20080114215535447 http://mystral-kk.net/article.php/20080114215535447 Mon, 14 Jan 2008 21:55:35 +0900 http://mystral-kk.net/article.php/20080114215535447#comments Geeklog -- Plugins <p>タグプラグインに関して,「間違ったタグを削除するインターフェースの提供を!」という声が多かったので,追加してみた。その他,URLリライト時に記事へのリンクがおかしくなるバグ修正や,インストール時のタグクラウドブロック自動作成などの機能を追加してみた。</p><p>今,考えているのは,タグ付けを利用した多階層のメニュー作成。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BF%E3%82%B0">タグ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/20080114215535447 タグプラグイン公開 http://mystral-kk.net/article.php/20080113000621317 http://mystral-kk.net/article.php/20080113000621317 Sun, 13 Jan 2008 00:06:21 +0900 http://mystral-kk.net/article.php/20080113000621317#comments Geeklog -- Plugins 先日から試作していたGeeklogの記事にタグ付けを行うプラグインを公開した。まだ,開発段階だが,そこそこ便利に使えると思う。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BF%E3%82%B0">タグ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> http://mystral-kk.net/trackback.php/20080113000621317 タグもどきプラグイン試作中 http://mystral-kk.net/article.php/20080108211306485 http://mystral-kk.net/article.php/20080108211306485 Tue, 08 Jan 2008 21:13:06 +0900 http://mystral-kk.net/article.php/20080108211306485#comments Geeklog -- Plugins <p>Geeklogの記事は複数のカテゴリを指定できないので,後から記事を探そうと思ったら全文検索するしかない。他のブログシステム・CMSなら,マルチカテゴリやタグをサポートしているのに,実にお寒い状況だ。</p><p>そこで,タグ置き換えを利用し,記事に自分でタグを埋め込んでタグ付けをするプラグインを考えている。当サイトの右ブロックにはタグクラウドもどきとグローバルメニューにはタグが表示されているが,まだほんの試作段階だ。</p><p>今,ひっかかっているのは,プラグインのfunctions.incから外部スタイルシートを読み込むようにしていて,IE6では読み込むが,Firefox-2.0.0.11だと読み込まないということ。正確に言うと,FFでも読み込みはするがなぜか反映されない。ブラウザのキャッシュクリアやCSSファイルの文字コード指定の確認,スタイルに!importantを付加してもなぜか反映されない。でもこのCSSファイルをテーマデフォルトのstyle.cssからインポートするとFFでも反映される。なぜだろう?</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BF%E3%82%B0">タグ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BF%E3%82%B0%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89">タグクラウド</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E5%A4%96%E9%83%A8%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%82%B7%E3%83%BC%E3%83%88">外部スタイルシート</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/ie6">ie6</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/firefox">firefox</a> http://mystral-kk.net/trackback.php/20080108211306485 geeklog2mtカスタム関数 http://mystral-kk.net/article.php/20080104223904351 http://mystral-kk.net/article.php/20080104223904351 Fri, 04 Jan 2008 22:39:00 +0900 http://mystral-kk.net/article.php/20080104223904351#comments GeekLog <p>Geeklogの記事をMovable Type(R)形式のフォーマットでエクスポートするカスタム関数を作成してみた。これでいつでもGeeklogから他のブログシステムやCMSに移行できると思うと,安心して記事を書ける。まだ開発段階だが,そこそこ使い物になると思うので,必要な方は<a href="http://mystral-kk.net/filemgmt/index.php?id=19">こちらからダウンロード</a>してください。</p><p><strong>(2008年 1月 5日追記)</strong>エクスポートされたデータのうち,BODYを取り込めなかったバグを修正したバージョン0.1.1を公開しました。</p><p><strong>(2008年 1月 7日追記)</strong>seesaaに取り込む場合は,phpblock_geeklog2mt.phpの336行目を<br><pre><code>. 'STATUS: ' . (&#36;S&#91;'draft_flag'&#93; == 0 ? 'publish' : 'draft') . LB</code></pre>から<pre><code>. 'STATUS: ' . (&#36;S&#91;'draft_flag'&#93; == 0 ? 'Publish' : 'Draft') . LB</code></pre>に変えないと,インポートした記事がみな下書き状態になるというレポートをkinoさんからいただいた。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/mt">mt</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88">インポート</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog2mt">geeklog2mt</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E9%96%A2%E6%95%B0">カスタム関数</a> http://mystral-kk.net/trackback.php/20080104223904351 Dataproxyプラグイン,サイトマッププラグイン完成 http://mystral-kk.net/article.php/200711042225512 http://mystral-kk.net/article.php/200711042225512 Sun, 04 Nov 2007 22:25:00 +0900 http://mystral-kk.net/article.php/200711042225512#comments Geeklog -- Plugins <p>Geeklogのコンテンツ取得を代行する<a href='http://technorati.jp/tag/Dataproxy%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3' rel='Dataproxyプラグイン'>Dataproxyプラグイン</a>とこのプラグインを利用する<a href='http://technorati.jp/tag/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3' rel='サイトマッププラグイン'>サイトマッププラグイン</a>がとりあえず完成し,当サイトとGeeklog.jpにて公開した。Dataproxyの方はまだ,基本的なデータ取得機能しか持たせておらず,キャッシュ管理機能などは実装していないが,そこそこ使えるものになっていると思う。サイトマッププラグインは,文字通りサイトマップの表示に加えて,Googleサイトマップも作成できる。拙作のGoogle Sitemap Generatorを使用されている方は,サイトマッププラグインをインストールする前に削除しておいてほしい。なお,サイトマップ・Googleサイトマップに含めることができるデータソースは以下の通り:</p><ul><li>記事</li><li>コメント</li><li>トラックバック</li><li>静的ページプラグイン</li><li>カレンダプラグイン</li><li>リンクプラグイン</li><li>アンケートプラグイン</li><li>DokuWikiプラグイン</li><li>掲示板プラグイン</li><li>ファイル管理プラグイン</li><li>FAQプラグイン</li><li>メディアギャラリプラグイン</li></ul><p>サイトマッププラグインの設定は全て管理画面から行え,config.phpを編集する必要はなくなっている。いったんインストールが済めば,Googleサイトマップの方は1日に1回自動的に更新されるので,lib-custom.php等をいじる必要もない。Geeklogサイトのコンテンツが赤裸々にあぶり出されるという意味では,怖いプラグインを作ってしまった。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/dataproxy">dataproxy</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/200711042225512 DataProxyプラグイン? http://mystral-kk.net/article.php/20071014095827919 http://mystral-kk.net/article.php/20071014095827919 Sun, 14 Oct 2007 09:58:00 +0900 http://mystral-kk.net/article.php/20071014095827919#comments Geeklog -- Plugins <p>サイトマップとGoogleサイトマップを作成していて思ったのだが,どちらのプラグインも他のプラグインからデータを取り出す作業はほぼ共通。つまり,各プラグインごとにSQLを組み立て,データベース・テーブルからデータを読み込む。SQLを書く過程では,ユーザの権限(や多言語機能を有効にしている場合には,言語サフィックス)を意識しなければならない。IDを指定すれば,コンテンツを返すAPIを各プラグインが実装していれば少しは楽ができるのだが,Geeklogにはない(はず)。RSSフィード作成やサイトカレンダを作成するときも事情は同じ。みんなが車輪の再発明を行っている。DRY(Don't Repeat Yourself)ではなくRY(Repeat Yourself)というわけだ。</p><p>ということは,各プラグインからのデータ取り出しとキャッシュ管理を専門に行うプラグインを1つ作り,他のプラグインはこのプラグインが公開しているAPI経由でデータを取得すれば,みんなが幸せになれそうだ。プラグインの名前は,ContentsProxyでは長ったらしいので,DataProxyとでもしようか。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/google">google</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/dataproxy">dataproxy</a> http://mystral-kk.net/trackback.php/20071014095827919 sitemap2.php作成中 http://mystral-kk.net/article.php/20071004225724221 http://mystral-kk.net/article.php/20071004225724221 Thu, 04 Oct 2007 22:57:00 +0900 http://mystral-kk.net/article.php/20071004225724221#comments GeekLog <p>Geeklog日本語版に同梱されているpublic_html/directory/sitemap.phpのソースコードを見ると??という感じだったので,新たに書き直して,静的ページや掲示板のトピック一覧も表示するように改造中。</p><p>コードを書いていると,以前作ったGoogle Sitemap Generatorのコードがかなり流用できることに気づいた。いっそのことプラグイン化して,人間用のサイトマップとGoogle用のサイトマップの両方をサポートするものにしてしまえば皆が幸せになれるかも。そういえば,以前,kimonoさんがリクエストを出していた気がする...</p><p>この作業が終わったら,RSS Aggregator改造版を見直す予定。RSSフィードの取り込みを強化し,RSSのフィルタリング機能を追加するつもり。こちらもプラグイン化した方が早そうだ。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/google">google</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/rss">rss</a> http://mystral-kk.net/trackback.php/20071004225724221 nexPro Portal Suite http://mystral-kk.net/article.php/20071002073622653 http://mystral-kk.net/article.php/20071002073622653 Tue, 02 Oct 2007 07:36:00 +0900 http://mystral-kk.net/article.php/20071002073622653#comments GeekLog <p>Geeklogをベースにし,様々なビジネス用途のコンポーネントを組み込んだ<a href='http://technorati.jp/tag/nexPro' rel='nexPro'>nexPro</a> Portal Suiteが<a href="http://www.nextide.ca/">nextide</a>にて公開されている。コンポーネントの多くはBlaineさんが開発したものを改良したもののようだが,見慣れないものもある。</p><ul><li>nexForm - ダイナミックなオンラインフォーム&amp;エディタ。</li><li>nexFlow - ワークフローエンジン。文書の回覧や承認を行う。</li><li>nexFile - バージョンコントロール付きのファイル管理。</li><li>nexList - リスト管理。</li><li>nexMenu - ダイナミックなサイトメニュー管理。</li></ul><p>以上の機能に加えて,掲示板とCAPTCHAが組み込まれている。基本的には,GPLでサポート有償というパターンのようだ。日本語できちんと動作するかどうかはさだかではないが,Geeklogベースの商業サイトをすぐに構築したい人にとっては,有力な選択肢の1つになるだろう。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/nexpro">nexpro</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> http://mystral-kk.net/trackback.php/20071002073622653 GeeklogのCVSアクセス http://mystral-kk.net/article.php/20070926221804407 http://mystral-kk.net/article.php/20070926221804407 Wed, 26 Sep 2007 22:18:00 +0900 http://mystral-kk.net/article.php/20070926221804407#comments GeekLog <p><a href="www.ggeklog.net/">Geeklog本家</a>のサーバが移動した後,anonymousユーザでCVSにアクセスすることができなくなっていて,歯がゆい思いをしていた。<a href="http://www.geeklog.net/staticpages/index.php/CVS">CVSアクセスに関する説明</a>によると,</p><p><code>cvs -d:ext:anonymous@cvs.geeklog.net:/cvsroot/geeklog co Geeklog-1.x</code></p><p>で良いはずなのだが,anonymousユーザは帰れと言われてしまう。extをpserverに変えても同じ。このときはMS Windows上でコマンドライン版のCVSを使っていた。</p><p>今日,メーリングリストを眺めていると,<a href="http://www.tortoisecvs.org/">Tortoise CVS</a>ユーザが同じような質問をしていた。それによると,MS Windowsではextは使えず,sshにする必要があるとのこと。自分もTortoise CVSはインストールしていたので,やってみると成功した。以下はその覚え書き(というほどの代物ではないけど...)。</p><ol><li>チェックアウトしたいフォルダで右クリック。「CVSチェックアウト(k)...」を選択。</li><li>モジュールタブで,「CVSROOT」に <b>:ssh:anonymous@cvs.geeklog.net:/cvsroot/geeklog</b> を入力。</li><li>「モジュール」に <b>Geeklog-1.x</b> を入力。その右の「一覧の取得(F)...」はGeeklog.netのCVSサーバでは動作しないようだ。</li><li>「OK」を押して少しすると,パスワードを訊かれるので, <b>geeklog</b> と入力。チェックアウトが始まる。1回目は全ファイルをチェックアウトするので,それなりの時間がかかる。</li></ol><p>これでいつでも最新版のソースコードを眺めることができる。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/cvs">cvs</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/tortoisecvs">tortoisecvs</a> http://mystral-kk.net/trackback.php/20070926221804407 Geeklog-1.4.1の後継者 http://mystral-kk.net/article.php/20070909214514995 http://mystral-kk.net/article.php/20070909214514995 Sun, 09 Sep 2007 21:45:00 +0900 http://mystral-kk.net/article.php/20070909214514995#comments GeekLog <p>以下の話は確定ではない&amp;うろ覚えで勘違いしている可能性があるので,その点をお含みいただきたい。本家のメーリングリストによると,Google Summer of Codeの成果を取り込んだGeeklogの次期バージョンは1.4.2ではなく,1.5.0になるらしい。主な変更点は,</p><ul><li>インストーラの改善。今までテキストエディタでconfig.phpとlib-common.phpを編集してからアップロードしていたが,これがオンラインでできるようになる。これに伴い,nmoxさんが開発しているuserconfigプラグインのようなGUIエディタが搭載され,オンラインで設定を変更できるようになる(らしい)。</li><li>OpenID認証をサポート。OpenIDを持っていれば,Geeklogにもシングルサインオンできるようになる。</li><li>Geeklogの機能の一部(記事・静的ページ)をWebサービス経由で公開する機能。ATOM publishing APIを使用する模様。</li><li>プラグイン関係のAPIが改良される模様。</li><li>linksプラグインが改良され,サブカテゴリを指定できるようになった。</li></ul><p>など。次期バージョンをいち早く試してみたい人は,<a href="http://www.geeklog.net/staticpages/index.php/CVS">こちら</a>からどうぞ。Anonymous CVSは調子が悪いが,Nightly CVS tarballは常にダウンロードできる。どんどんテストして,フィードバックを本家のメーリングリストに投げてくれ,とのこと。</p><p>ついでに書くと,Geeklog-2.xも最近急速に開発が進んできているようだ。CVSリポジトリにコミットされる量が増えてきている。一度コードを読もうとしたことがあるが,Model = Propel + Creole, View = Flexy, Controler = Geeklog2コア,という今までとは全く違うMVC構成で,PHP5のパワーを生かしたデザインパターンを豊富に取り入れた設計なので,どちらの知識も乏しい自分には難しかった。それはさておき,このペースで行くと,来年はGeeklog-2.xのアルファ版が出ているかも。</p><p>(9月12日追記)言うまでもないが,CVSからダウンロードしたバージョンを使用する際は自己責任でどうぞ。まだ実装されていない機能やバグが結構あるし,CVS版やリリース候補(RC)版から正規版へのアップグレードはサポートされていないので,そのつもりで。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/openid">openid</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/cvs">cvs</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog2">geeklog2</a> http://mystral-kk.net/trackback.php/20070909214514995 テーマの移植チュートリアル http://mystral-kk.net/article.php/PORTING_A_THEME_TRANSLATED http://mystral-kk.net/article.php/PORTING_A_THEME_TRANSLATED Mon, 27 Aug 2007 09:40:00 +0900 http://mystral-kk.net/article.php/PORTING_A_THEME_TRANSLATED#comments GeekLog <p>Eric Warrenさんが<a href="http://www.gllabs.org/">GL Labs</a>に投稿していた<a href="http://www.gllabs.org/wiki/doku.php?id=geeklog:development:themes:porting_a_theme">Porting a Theme</a>が面白かったので,自分が和訳したものを<a href="http://www.gllabs.org/wiki/doku.php?id=ja:geeklog:development:themes:porting_a_theme">GL Labs Wiki</a>と<a href="http://wiki.geeklog.jp/index.php/%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E7%A7%BB%E6%A4%8D">Geeklog.jp Wiki</a>とに掲載してもらった。CMS用に公開されているオープンソースのテーマファイルはたくさんあるので,Geeklog用にテーマを移植する人が一人でも増えることを願う。</p><p>掲載に際して意外と苦労したのが,Wikiの表記法の違い。最初にGL Labsの記事を翻訳した際には,Wikiの編集権を持っていなかったので,HTMLファイルとして保存したものを和訳した。GL Labsに投稿するにあたって管理者のMarkさんから編集権をもらったのだが,ふだん使っていない<a href='http://technorati.jp/tag/DokuWiki' rel='DokuWiki'>DokuWiki</a>なので,手作業で変換するのかと思ってぞっとした。</p><p>すると,MarkさんがHTMLからのコンバータを紹介してくれた。</p><ul><li><a href="http://runtime-basic.net/Projekt:WikiTool">http://runtime-basic.net/Projekt:WikiTool</a></li><li><a href="http://diberri.dyndns.org/wikipedia/html2wiki/">http://diberri.dyndns.org/wikipedia/html2wiki/</a></li></ul><p>前者はMS Windows用のスタンドアロンのプログラムだが,日本語の処理がうまくいかないようだ。後者はPerlをベースとしたWebインターフェースを利用するので,コピペだけでOK。日本語も処理できるし,Wikiの種類も選べる。対応しているのは,Confluence, DokuWiki, Kwiki, Markdown, MediaWiki, MoinMoin, Oddmuse, PbWiki, PhpWiki, PmWiki, SnipSnap, Socialtext, TikiWiki, UseMod, WakkaWiki。このサイトを利用して,DokuWikiへの変換はさほど苦労せずにできた。</p><p>次にGeeklog.jp Wikiに投稿するのに,同じHTMLファイルを使用して,MediaWiki用に変換したが,注釈()や画像のリサイズオプションが利用できないため,GL Labsのレイアウトを忠実に再現することはできなかった。表記法もDokuWikiの方が洗練されていて使いやすい。改めてDokuWikiの実力を思い知らされた。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/dokuwiki">dokuwiki</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/wiki">wiki</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%86%E3%83%BC%E3%83%9E">テーマ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E7%A7%BB%E6%A4%8D">移植</a> http://mystral-kk.net/trackback.php/PORTING_A_THEME_TRANSLATED カレンダプラグイン http://mystral-kk.net/article.php/20070716192528771 http://mystral-kk.net/article.php/20070716192528771 Mon, 16 Jul 2007 19:25:28 +0900 http://mystral-kk.net/article.php/20070716192528771#comments GeekLog <p>Geeklog標準のカレンダプラグインに,<a href="http://www.sweetphp.com/nuke/modules.php?name=Script_Preview&amp;script=12">TotalCalendar</a>のような反復されるイベントを指定する機能やリマインダ機能,グループを指定しての検索機能を追加して欲しいという要望は以前から何度も話題に出ていたが,<a href="http://www.geeklog.net/forum/viewtopic.php?showtopic=76193">最近立っていたスレッド</a>では実装してくれた人に寄付金(pledges)を提供するという話が出ていた。</p><p>先ほど掲示板を覗いてみると,寄付金の申し出も増え,結局,jmucchielloさんが実装を引き受けることになった。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80">カレンダ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/totalcalendar">totalcalendar</a> http://mystral-kk.net/trackback.php/20070716192528771 PHP-4.x系列の終焉 http://mystral-kk.net/article.php/20070714160255707 http://mystral-kk.net/article.php/20070714160255707 Sat, 14 Jul 2007 16:02:55 +0900 http://mystral-kk.net/article.php/20070714160255707#comments ソフトウェア <p><a href="http://php.net/">PHP本家</a>の記事によると,PHP5が登場して3年経ち,PHP6も開発中であることから,今年いっぱいで4.x系列のサポートは終了,来年8月8日でセキュリティパッチの提供も終わるとのこと。PHP5普及のはずみになればよいが,国内のレンタルサーバ各社は追従できるだろうか? セキュリティパッチを提供しないままで4.x系列を提供するところもでてくるのではなかろうか?</p><p>本格的に5.x系列が普及すれば,少しはまともなオブジェクト指向プログラミングが可能になるし,Zend Framework, Symfonyなどの5.x系列専用のフレームワークも使いやすくなる。</p><p>アプリケーション制作者の側でも積極にPHP5への乗り換えを検討している人が増えてきていて,<a href="http://gophp5.org/">goPHP5</a>なんてサイトもある。このサイトに掲載されているアプリケーションの中には,PEAR, PHPUnit, CMS Made Simple, Website Baker, Drupal, phpMyAdmin, Propel, Typo3などのビッグネームもある。</p><p>Geeklog本家のメーリングリストでも1週間ほど前に<a href='http://technorati.jp/tag/goPHP5' rel='goPHP5'>goPHP5</a>の話題が出ていて,Dirkさんを除くコア開発者たちはおおむねPHP5へ移行するのに肯定的だ。Dirkさんは例によって静観して議論のおとしどころを見守っている感じ。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/php">php</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/gophp5">gophp5</a> http://mystral-kk.net/trackback.php/20070714160255707 RSS Aggregator改造版(その3) http://mystral-kk.net/article.php/20070613191758394 http://mystral-kk.net/article.php/20070613191758394 Wed, 13 Jun 2007 19:17:58 +0900 http://mystral-kk.net/article.php/20070613191758394#comments GeekLog <p>RSS Aggregator改造版で,</p><ul><li>ATOM1.0の時間情報を取れない</li><li>リンクテキストに &amp; が含まれている場合, &amp;amp; と表示される</li></ul><p>という問題が報告された。前者は,ATOMのフィードを解析するGeeklogシステム側の問題。フィードの種類に応じてパーサを生成するファクトリ内部のエラーだった。Geeklog.netに投稿して,改修したとレスが来た。</p><p>後者は,リンクテキストに単純に htmlspecialchars() を適用していたのが原因。&amp; などは二重にエスケープされることになってしまう。htmlspecialchars()で変換される前にいったんエンティティに戻しておき,htmlspecialchars()を適用すればよい。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/rss">rss</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/rss_aggregator">rss_aggregator</a> http://mystral-kk.net/trackback.php/20070613191758394 厄日 http://mystral-kk.net/article.php/200705282325078 http://mystral-kk.net/article.php/200705282325078 Mon, 28 May 2007 23:25:07 +0900 http://mystral-kk.net/article.php/200705282325078#comments その他もろもろ <p>昨日は光化学スモッグ注意報のせいで運動会は中止。実際,目がひりひりした(ような気がする)。</p><p>今朝は,JRの人身事故のせいで,通勤先に1時間30分の延着。まあ,業務に支障は出なかったからよかったが...</p><p>「この調子だとあと1回は災いに遭いそう。おばさんドライバーがバックしようとしている後ろを通っているときに,アクセルとブレーキを踏み間違えてドシン!かな」などと考えながら歩いていると,そのようにバックしかけている軽自動車の後ろを2回通る羽目になってしまった。明日が来るのがちょっと怖い...</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E5%8E%84%E6%97%A5">厄日</a> http://mystral-kk.net/trackback.php/200705282325078 RSS Aggregator改造版(その2) http://mystral-kk.net/article.php/20070411231346503 http://mystral-kk.net/article.php/20070411231346503 Wed, 11 Apr 2007 23:13:46 +0900 http://mystral-kk.net/article.php/20070411231346503#comments GeekLog <p>RSS Aggregator改造版がGeeklog.jpで動作しない理由がやっと判明した。PHPのxml_parser_create()関数が受け付けるエンコーディングはUTF-8, ISO-8859-1, US-ASCIIの3種類なので,日本語を含むxmlファイルを処理するには,必然的にUTF-8を指定することになる。PHPのバージョンにかかわらず,ソースエンコーディングをUTF-8にするためには,xml_parser_create( 'UTF-8' );とすればよい。</p><p>あとはUTF-8以外のフィード(EUC-JPなど)をxml_parse()に喰わせる前に,encoding='foo'を含めてUTF-8に変換してやればよい。この方針で行けば,mb_detect_encoding()などの確実性に欠ける関数を使わなくても済む。</p><p>というところまではすぐに思いついたが,PHP4だと文字化けする。フィードデータはまちがいなくUTF-8で与えているのに,どうもxml_parse()がISO-8859-1と決めつけている節がある。なぜ...</p><p>ふと,英語版のPHPマニュアルを見ていると,xml_parser_create()のノートにこんなコメントが載っていた。</p>[quote]<p>php at stock-consulting dot com (21-Feb-2005 10:47)</p><p>Even though I passed "UTF-8" as encoding type PHP (Version 4.3.3) did *not* treat the input file as UTF-8. The input file was missing the BOM header bytes (which may indeed be omitted, according to RFC3629...but things are a bit unclear there. The RFC seems to make mere recommendations concering the BOM header). If you want to sure that PHP treats an UTF-8 encoded file correctly, make sure that it begins with the corresponding 3 byte BOM header (0xEF 0xBB 0xBF)</p>[/quote]<br><p>このメモによると,どうもこの関数は好みがうるさく,PHP4を使ってUTF-8でデータを与えるときにはBOMをつけないとだめなようだ。これをヒントに,フィードデータをUTF-8に変換した後,BOMをつけてからパーサに読み込ませるとあっさり動作する。orz</p><p>PHPはマニュアルが充実しているのが長所の1つだが,マニュアル化されていない地雷も数多くある。そういう意味で,マニュアルに付属しているUser contributed notesは貴重な資料であることは間違いない。</p><p>これで安心したのも束の間,今度はGeeklog.jpの掲示板のフィードデータをいつのまにか読み込まなくなった。PHP5でも同様。<a href="http://feedvalidator.org/">FEED Validator</a>にかけてみると,不正な文字が含まれているせいでxmlパーサがエラーを起こしている。こういう状況だから,フィードデータを読み込めないのはある意味しかたないと思うが,FirefoxのSageはそんな逆境にもめげずにきちんと読み込んで動作する。</p><p>まだまだ修行が足りないようだ。xml_parse()関数を使いながら,エラーをリカバーする方法があるのかもしれないし,だめならxml_parse()系の関数に頼らず自力でパーサーもどきを書く必要があるのかもしれない。SimpleXMLやDOMを使えば簡単だが,PHP4でも動作させるとなるとその方法も採れない。先は長そうだ...</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/rss">rss</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/rss_aggregator">rss_aggregator</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/xml_parse">xml_parse</a> http://mystral-kk.net/trackback.php/20070411231346503 RSS Aggregator改造版 http://mystral-kk.net/article.php/20070408163812977 http://mystral-kk.net/article.php/20070408163812977 Sun, 08 Apr 2007 16:38:12 +0900 http://mystral-kk.net/article.php/20070408163812977#comments GeekLog SaYさんが作成したRSS AggregatorがGeeklog-1.4.1では動作しないというレポートがGeeklog.jpの掲示板に複数,寄せられていた。関心があったので,ハックしたものが<a href="http://www.geeklog.jp/filemgmt/index.php?id=160">これ</a>。オリジナル版との違いは,<ul><li>Geeklog-1.4.0, 1.4.1のどちらでも動作する。</li><li>lib-common.phpを改造する必要はなくなった。必要な関数は皆phpblock_rssaggregator.phpに含まれている。</li><li>タイムスタンプは,RSS2.0で使われているRFC822フォーマットだけでなく,Atom1.0などでも使われているISO.8601.1988フォーマットにも対応。</li><li>フィードデータを表示するHTMLコードを指定可。</li><li>記事が更新された時刻を表示可。</li><li>簡単なキャッシュ機能を実装。</li><li>フィードデータに含まれるURLをサニタイズ。RSSインジェクションをある程度防げる。実装の際には,<a href="http://ha.ckers.org/xss.html">XSS Cheat Sheet</a>を参考にした。</li></ul><p>ただ,問題点もあり,設置するサイトによっては文字化けしてしまう。PHP4を使うと文字化けするようなのだが,理由はまだわからない。Geeklog.jpに設置した場合がそうなのだが,phpblock_rssaggregator.phpの254行目を</p><pre><code>&#36;feed = &#36;factory-&amp;gt;reader( &#36;rdfurl, &#36;_CONF&#91;'default_charset'&#93; );</code></pre>から,<pre><code>&#36;feed = &#36;factory-&amp;gt;reader( &#36;rdfurl, '' );</code></pre><p>に変えると正常に動作することから,XMLパーサ関数に関連する不具合のようだ。この問題を解決すれば,使い勝手のよいものになりそう。<a href="http://www.geeklog.jp/">Geeklog.jp</a>の左ブロックに,RSS Aggregatorのデモを表示しているので,よろしければどうぞ。</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/rss">rss</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/rss_aggregator">rss_aggregator</a> http://mystral-kk.net/trackback.php/20070408163812977 mt2geeklogカスタム関数バージョンアップ http://mystral-kk.net/article.php/20070324183157154 http://mystral-kk.net/article.php/20070324183157154 Sat, 24 Mar 2007 18:31:57 +0900 http://mystral-kk.net/article.php/20070324183157154#comments Geeklog -- Plugins Movable Typeのデータファイルをインポートするmt2geeklogカスタム関数を更新した。といっても,インポートファイルの拡張子を .log から .txt へ変更しただけ。必要な人は,<a href="http://mystral-kk.net/filemgmt/index.php?id=1">こちら</a>からどうぞ。タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/mt">mt</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/mt2geeklog">mt2geeklog</a> http://mystral-kk.net/trackback.php/20070324183157154 jpmailプラグイン公開 http://mystral-kk.net/article.php/jpmail http://mystral-kk.net/article.php/jpmail Sun, 18 Mar 2007 15:47:00 +0900 http://mystral-kk.net/article.php/jpmail#comments Geeklog -- Plugins <p>Geeklog-1.4.1ではメールの文字コードがUTF-8になってしまい,サーバーの環境やメーラによっては文字化けするケースが出てきた。特にhotmailでは顕著なようだ。</p><p>lib-common.phpのコードを読んでみると,マルチバイト文字を含むメールのヘッダや本文はUTF-8でエンコードされる仕様になっている。ある意味,強引な仕様だ。</p><p>この状況を改善すべく文字コードやメールの勉強を始めたが,なかなかややこしい。<a href="http://d.hatena.ne.jp/t_komura/20051105">「t_komuraの日記」</a>を読むと,文字コード変換はPHPのバージョンによって対応の仕方が違うし,<a href="http://www.kiwameru-php.net/">「超極める!PHP」</a>の上鍵さんの記事を読むと,日本語のメールを正しく送るのは至難の業であることがよくわかる。さらに<a href="http://hain.jp/index.php/tech-j/2007/02/13/p125">この記事</a>を読むと,PHPと文字コードの関係について自分がいかに無知だったかを思い知らされる。</p><p>そんなこんなで自分のようなホビープログラマには荷が重いが,ないよりはましだろうと思って,<a href="http://www.geeklog.jp/article.php/jpmail">jpmailプラグイン</a>を作成した。GeeklogがUTF-8にエンコードしたヘッダや本文をデコードし,ISO-2022-JPでエンコードするだけなのだが,PHPのmb_detect_encoding()やmb_encode_mimeheader()を使わないで実装するのはかなりややこしい。</p><p>結局,エンコーディングの検出はNucleusに含まれているmb_emulatorを使い,行の折りたたみやコメントの処理は「超極める!PHP」の記事を参考にした。</p><p>XREA(PHP-5.1.4, MySQL-5.0.22)とノートPC(Windows XP PRO, PHP-5.2.1, MySQL-4.0.18)の環境では動作しているし,hotmail宛でも文字化けしていない。他の環境でもうまく動作すればよいのだが...</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/jpmail">jpmail</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/jpmail メーリングリストgeeklog-devel開放 http://mystral-kk.net/article.php/2007010607203858 http://mystral-kk.net/article.php/2007010607203858 Sat, 06 Jan 2007 07:20:38 +0900 http://mystral-kk.net/article.php/2007010607203858#comments GeekLog 今まで開発者しか購読できなかったメーリングリストを購読できるようになったので,早速登録。従来のgeeklog-devtalkは閉鎖される。関心のある方は <a href="http://lists.geeklog.net/mailman/listinfo/geeklog-devel">http://lists.geeklog.net/mailman/listinfo/geeklog-devel</a> からどうぞ。 別の話だが,Geeklogの機能リクエストの山が膨れあがっているのに業を煮やしてか,開発者を発掘するためかは定かではないが,Geeklog本家で賞金レースを行うという発表があった。 <a href="http://www.geeklog.net/article.php/bounties">http://www.geeklog.net/article.php/bounties</a> geeklog-devtalkでつい最近出ていた話題だが,あっさりと現実の提案になった模様。腕に覚えのある方は参加してみては? タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%A1%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%AA%E3%82%B9%E3%83%88">メーリングリスト</a> http://mystral-kk.net/trackback.php/2007010607203858 Geeklog-1.4.1公開 http://mystral-kk.net/article.php/Geeklog141 http://mystral-kk.net/article.php/Geeklog141 Mon, 01 Jan 2007 08:24:09 +0900 http://mystral-kk.net/article.php/Geeklog141#comments GeekLog Geeklog-1.4.1が正式にリリースされた。リリース直前でconfig.phpのデフォルトがutf-8から<pre><code>&#36;_CONF&#91;'language'&#93; = 'english';&#36;_CONF&#91;'default_charset'&#93; = 'iso-8859-1';</code></pre>に戻り,一安心。個人的にはMicrosoft SQL Serverがサポートされたことはどうでもよく,コンテンツの多言語化,カレンダ機能のプラグイン化,CAPTCHAのサポートが興味深い。タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E5%A4%9A%E8%A8%80%E8%AA%9E%E5%8C%96">多言語化</a> http://mystral-kk.net/trackback.php/Geeklog141 テーマエディタプラグイン 1.0.4 http://mystral-kk.net/article.php/2006122122142143 http://mystral-kk.net/article.php/2006122122142143 Thu, 21 Dec 2006 22:14:21 +0900 http://mystral-kk.net/article.php/2006122122142143#comments Geeklog -- Plugins <p><a href='http://technorati.jp/tag/Geeklog' rel='Geeklog'>Geeklog</a>テーマエディタプラグインのバージョン1.0.4を公開した。簡易版の画像アップローダを搭載し,テーマディレクトリ下の /images ディレクトリにテーマエディタから直接画像をアップロードできるようになった。<a href="http://mystral-kk.net/filemgmt/index.php?id=13">ダウンロードはこちらからどうぞ</a>。</p><p>I've released the themedit (Theme Editor) plugin 1.0.4 for <a href='http://technorati.jp/tag/Geeklog' rel='Geeklog'>Geeklog</a>. In this version, you can uoload image files directly to /images directories under each theme's directory. You can <a href="http://mystral-kk.net/filemgmt/index.php?id=13">DOWNLOAD it from here</a>.</p>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%86%E3%83%BC%E3%83%9E%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF">テーマエディタ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/2006122122142143 Geeklog-1.4.1-RC1公開 http://mystral-kk.net/article.php/200612180632308 http://mystral-kk.net/article.php/200612180632308 Mon, 18 Dec 2006 06:32:30 +0900 http://mystral-kk.net/article.php/200612180632308#comments GeekLog 予定通り,RC1が公開された。データベースの変更はなし。MSSQL関係のバグつぶしと,多言語サポート改善,Professionalテーマの改善,投稿する前に呼び出されるAPIフックの追加,など。 正規版ではないが,どんどんダウンロード&フィードバックしてほしいとのこと。 なお,1.4.1の正式版がリリースされると,1.3.x系列のサポートは終了するするので,まだのサイトはそろそろ1.4.x系列へ移行した方がよいかもしれない。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> http://mystral-kk.net/trackback.php/200612180632308 Geeklog-1.4.1-RC1間近 http://mystral-kk.net/article.php/20061211081456884 http://mystral-kk.net/article.php/20061211081456884 Mon, 11 Dec 2006 08:14:56 +0900 http://mystral-kk.net/article.php/20061211081456884#comments GeekLog Google <a href='http://technorati.jp/tag/Sitemap' rel='Sitemap'>Sitemap</a> Generatorのバグつぶしが終わって一息ついていたら,メーリングリストでDirkさんが「遅くとも来週(今週?)末にはRC1を出す」と発言していた。現在のところ,MSSQL関連のバグつぶしと,<a href='http://technorati.jp/tag/CAPTCHA' rel='CAPTCHA'>CAPTCHA</a>関連のAPI追加で調整している。 RC1を出した後は,さっさとやりたいとのことなので,ひょっとすると年内にも<a href='http://technorati.jp/tag/Geeklog' rel='Geeklog'>Geeklog</a>-1.4.1正式版がリリースされるかもしれない。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/geeklog">geeklog</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/captcha">captcha</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> http://mystral-kk.net/trackback.php/20061211081456884 Google Sitemap Generator-0.1.3 http://mystral-kk.net/article.php/20061207202119422 http://mystral-kk.net/article.php/20061207202119422 Thu, 07 Dec 2006 21:00:19 +0900 http://mystral-kk.net/article.php/20061207202119422#comments GeekLog バグ修正のみ。<ul><li>未来の記事までサイトマップにに含めていたバグを修正。</li><li>サイトマップを作成した後,ファイルのタイムスタンプを更新するよう修正。</li></ul>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/google_sitemap_generator">google_sitemap_generator</a> http://mystral-kk.net/trackback.php/20061207202119422 Google Sitemap Generator-0.1.2 http://mystral-kk.net/article.php/20061206215356864 http://mystral-kk.net/article.php/20061206215356864 Wed, 06 Dec 2006 21:53:56 +0900 http://mystral-kk.net/article.php/20061206215356864#comments GeekLog バグ修正とオプション追加。<ul><li>静的ページのうち,センターブロックに表示されるものの扱いを決めるオプションを追加。デフォルトでは,センターブロックに表示されないものだけをピックアップする。</li><li>記事のうち,ドラフト(書きかけ)フラグが立っていたものまでサイトマップに含めていたバグを修正。</li></ul>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/google_sitemap_generator">google_sitemap_generator</a> http://mystral-kk.net/trackback.php/20061206215356864 Google Sitemap Generator-0.1.1 http://mystral-kk.net/article.php/GoogleSitemapGenerator011 http://mystral-kk.net/article.php/GoogleSitemapGenerator011 Mon, 04 Dec 2006 22:49:39 +0900 http://mystral-kk.net/article.php/GoogleSitemapGenerator011#comments GeekLog バグ修正が1つ,動作変更が1つ。<ol><li>静的ページでURLリライトするかどうかの判断を逆にしていたので,訂正。<a href="http://mystral-kk.net/forum/viewtopic.php?showtopic=8">参考スレッド</a></li><li>静的ページで中央ブロックに表示されるものだけをサイトマップに載せるよう,修正。<a href="http://mystral-kk.net/forum/viewtopic.php?showtopic=9">参考スレッド</a></li></ol>以上の訂正を行ったものをバージョン0.1.1として,アップロードした。<a href="http://mystral-kk.net/filemgmt/index.php?id=14">ダウンロードはこちらから</a>どうぞ。タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/google_sitemap_generator">google_sitemap_generator</a> http://mystral-kk.net/trackback.php/GoogleSitemapGenerator011 Google Sitemap Generator http://mystral-kk.net/article.php/GoogleSitemapGenerator http://mystral-kk.net/article.php/GoogleSitemapGenerator Fri, 01 Dec 2006 08:37:56 +0900 http://mystral-kk.net/article.php/GoogleSitemapGenerator#comments GeekLog Google <a href='http://technorati.jp/tag/Sitemap' rel='Sitemap'>Sitemap</a>用の<a href='http://technorati.jp/tag/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97' rel='サイトマップ'>サイトマップ</a>を作成するGeeklogのカスタム関数を書いて,本家に投稿したら,さっそく承認されたので,当サイトにもアップロードしておく。<a href="http://mystral-kk.net/filemgmt/index.php?id=14">ダウンロードはこちらから</a>どうぞ。記事,静的ページ,リンク,掲示板のトピックをサイトマップに含めることができる。Google Sitemapでは,サイトマップのサイズは10MB以下,サイトマップ内のエントリ数は50,000以下という制限があるが,この関数ではチェックしていないので,巨大なサイトに使用する場合には適当にハックしていただきたい。タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/google_sitemap_generator">google_sitemap_generator</a> http://mystral-kk.net/trackback.php/GoogleSitemapGenerator sitemaps.org http://mystral-kk.net/article.php/SitemapsOrg http://mystral-kk.net/article.php/SitemapsOrg Mon, 27 Nov 2006 23:25:22 +0900 http://mystral-kk.net/article.php/SitemapsOrg#comments GeekLog sitemaps.org(<a href="http://www.sitemaps.org/">http://www.sitemaps.org/</a>)で,Google, Yahoo, Microsoft共通の<a href='http://technorati.jp/tag/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97' rel='サイトマップ'>サイトマップ</a>の仕様が公開されている。Googleのサイトマップとほぼ同じで,xmlの名前空間が違うくらい^^; 今までこのサイトではRSSフィードをGoogleに読ませていたが,古いエントリはどうなるのかとか,やはり静的ページやリンクプラグインのデータも読ませたいとか考えると,RSSではもの足らない。そこで,昨日,サイトマップを出力する簡単なスクリプトを書いて,Googleのウェブマスターツールに読み込ませたらOKだった。 このサイトのPage Rankもいつのまにか6になっているが,このサイトマップ作成用スクリプトが役に立ってくれれば,と思う。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/sitemap">sitemap</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9E%E3%83%83%E3%83%97">サイトマップ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/google">google</a> http://mystral-kk.net/trackback.php/SitemapsOrg 掲示板プラグインを2.6RC1にアップデート http://mystral-kk.net/article.php/2006112323422215 http://mystral-kk.net/article.php/2006112323422215 Thu, 23 Nov 2006 23:42:22 +0900 http://mystral-kk.net/article.php/2006112323422215#comments GeekLog Blaineさんの掲示板プラグインの新バージョンが公開されたので,早速インストールしてみた。register_globals = off でインストール・作動する。相変わらず文字切れはするが,substr()をmb_strimwidth()に置換すれば済む話だ。SQLが最適化されたとのことで,結構軽快に動作する。 日付のフォーマットにstrftime()を使用している箇所が多いため,いまいち気に入らない表示の箇所もあるが,これも書き換えれば済む話。もう少し使ってみないと何とも言えないが,今のところは,総じて2.5RC1よりもかなり改善されたと思う。Blaineさんに感謝! タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E6%8E%B2%E7%A4%BA%E6%9D%BF">掲示板</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/2006112323422215 Sage-1.3.9 http://mystral-kk.net/article.php/20061119203753227 http://mystral-kk.net/article.php/20061119203753227 Sun, 19 Nov 2006 20:37:53 +0900 http://mystral-kk.net/article.php/20061119203753227#comments Firefox 今日の夕方,<a href='http://technorati.jp/tag/Firefox' rel='Firefox'>Firefox</a>を起動すると,<a href='http://technorati.jp/tag/Sage' rel='Sage'>Sage</a>がアップグレードされているという通知が来たので,早速バージョンアップした。いつものようにAlt+Sを叩いても反応がない。メインメニューのツールから開いてみると,ショートカットがAlt+Zに変更されていた...しかたがないので,例によって全く自信はないが,設定を書き換えた。MS-Windowsユーザーの方は,<strong>*** 自己責任にて ***</strong>参考までにどうぞ。<ol><li>Firefoxを終了させる。</li><li>[Documents and Settings]/your_account/Application Data/Mozilla/Firefox/Profiles/*****/extensions/&#123;******&#125;/chrome/sage.jarのバックアップを取る。</li><li>sage.zipにリネームし,右クリックして展開(解凍)する。</li><li>その中のlocale/ja-JP/sage.dtdをUTF-8が編集できるテキストエディタで開く。</li><li>52行目付近に,<br><code>&lt;!ENTITY openSageSidebar.commandkey "Z"&gt;</code><br>という行があるので,"Z"を"S"に変える。</li><li>保存してエディタを終了。</li><li>2つ上のディレクトリに移動し,content, locale, skinを選択してから,Zipで圧縮。</li><li>出来上がったZipファイルをsage.jarにリネーム。</li><li>sage.jarを[Documents and Settings]/your_account/Application Data/Mozilla/Firefox/Profiles/*****/extensions/&#123;******&#125;/chrome/に戻す。</li></ol>タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/firefox">firefox</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/sage">sage</a> http://mystral-kk.net/trackback.php/20061119203753227 Bad Behavior,頑張る http://mystral-kk.net/article.php/20061118065745550 http://mystral-kk.net/article.php/20061118065745550 Sat, 18 Nov 2006 06:57:45 +0900 http://mystral-kk.net/article.php/20061118065745550#comments GeekLog 最近,Bad Behaviorプラグインの実力を実感することが多くなった。「フェンタミンを買え!」だの「バイア*ラを買え!」だの「ローンはいかがですか」などといったコメントスパム/トラックバックスパムが来ても,この頼もしい風紀委員は門前払いをくらわす。このサイトにインストールされているBad Behaviorはオリジナルのままで,Geeklog.jpのそれとは違い,飼い慣らされていないバージョンだ。 Bad Behavior本家(<a href="http://www.homelandstupidity.us/software/bad-behavior/">http://www.homelandstupidity.us/software/bad-behavior/</a>)では,既にバージョン2.0.7がリリースされているが,Geeklogへの取り込みはまだなされていないようだ(Dirkさん,お願いしますだ&lt;(_ _)&gt;)。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/bad_behavior">bad_behavior</a> http://mystral-kk.net/trackback.php/20061118065745550 UNIX系雑誌 http://mystral-kk.net/article.php/20061117220608115 http://mystral-kk.net/article.php/20061117220608115 Fri, 17 Nov 2006 22:06:08 +0900 http://mystral-kk.net/article.php/20061117220608115#comments その他もろもろ 今年3月に休刊になった「Unix Magazine」に続き,「オープンソースマガジン」も来月で休刊することになった。自分が定期的に読んでいるもので残っているのは「ソフトウェアデザイン」と「WEB+DB PRESS」だけ。時代の流れなのかもしれないが,寂しくなる。 技術の進歩の速さやRSSをはじめとする情報発信手段の多様化・迅速化を考えると,技術系雑誌の立場は難しいかもしれないが,新手のツール・開発環境などを定期的に特集してくれる雑誌は貴重な情報源だ。 このての雑誌を読み始めたのは,「Oh! MZ」が最初だが,あの頃(20年前)の記事の濃さ・執筆陣の文才・雑誌全体を覆う熱気と比べれば,現在発行されている雑誌はどれも取るに足らない。その中で,唯一,「Unix Magazine」は独自の香りのする雑誌だったと個人的には思う。そのユニマガとライバル関係にあった「オープンソースマガジン(旧UNIX USER)」までもが休刊とあっては,残る「ソフトウェアデザイン」のレベルダウンが心配だ。今まで同様の質の高い記事を願ってやまない。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/unix">unix</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E9%9B%91%E8%AA%8C">雑誌</a> http://mystral-kk.net/trackback.php/20061117220608115 テーマエディタプラグイン 1.0.3 http://mystral-kk.net/article.php/Themedit103 http://mystral-kk.net/article.php/Themedit103 Tue, 07 Nov 2006 21:56:12 +0900 http://mystral-kk.net/article.php/Themedit103#comments Geeklog -- Plugins システムのデフォルト言語が &quot;japanese&quot; や &quot;japanese_utf-8&quot; の場合,デフォルトのテーマ名としてIvySOHOを追加するようにした。編集できるファイルの数を大幅に増やした。Ivyさんに感謝! Geeklog-1.4.1b2 にテーマエディタプラグインをインストールしてみたが,問題なく動作する。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%86%E3%83%BC%E3%83%9E%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF">テーマエディタ</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3">プラグイン</a> http://mystral-kk.net/trackback.php/Themedit103 PHPのhtml*()関数 http://mystral-kk.net/article.php/20061105211042465 http://mystral-kk.net/article.php/20061105211042465 Sun, 05 Nov 2006 21:10:42 +0900 http://mystral-kk.net/article.php/20061105211042465#comments ソフトウェア Secuniaのメーリングリストによると,htmlentities(), htmlspecialchars() にバッファーオーバーフローを利用してセキュリティホールをつくことが可能なバグがあるらしい。危険度は Highly critical で影響を受けるのは,PHP 4.0.x-4.4.x, 5.0.x-5.1.x と広範囲。 DoS攻撃を受けたり,リモートから任意のコードを実行される可能性があるとのこと。とはいえ,後者は,文字セットとしてUTF-8が選択されている場合に限る。 解決策としては,リリースされたばかりの PHP-5.2.0 にアップグレードすることが推奨されている。5.1.x系列は,5.1.6で終わりとなった。 タグ:<a class="tag_link" href="http://mystral-kk.net/tag/index.php/php">php</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/secunia">secunia</a> <a class="tag_link" href="http://mystral-kk.net/tag/index.php/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">セキュリティ</a> http://mystral-kk.net/trackback.php/20061105211042465 テーマエディタプラグイン 1.0.2 http://mystral-kk.net/article.php/Themedit102 http://mystral-kk.net/article.php/Themedit102 Thu, 02 Nov 2006 22:33:12 +0900 http://mystral-kk.net/article.php/Themedit102#comments Geeklog -- Plugins Geeklog.netの掲示板から,プレビュー時・保存時にクォーテーションマークの前に余分なバックスラッシュがつくんだけどというレスがあった。調べてみると,案の定,magic_quotes_gpc がオンになっているサーバーのようだ。Geeklog本体の COM_stripslashes() を使ってもよいけど,変数の数が多いので,array_map()と stripslashes() を使った。 これで一安心と思ってマニュアルを眺めていると,magic_quotes_runtime や magic_quotes_sybase の設定によってもエスケープされるデータソース・方法は様々に変化するらしい。特に,前者がオンの場合,データベースやテキストファイルからの入力でもクォートはバックスラッシュでエスケープされると書いてある。きちんと対応するのはかなり面倒だ。 某有名メーカーのワープロソフトの自動書式設定じゃないが,magic_quotes_gpc は小さな親切大きなお世話の典型だろう。 そういえば,メーリングリストでも,Oliverさんが「Geeklogには無駄な stripslashes()が山のようにあるから,なくせるものはなくしたら? データベースから取り出した変数に stripslashes() するのは明らかに無意味でしょ」という趣旨の発言をされていた。日ごろから自分もそう感じていたので,他の開発者の反応を楽しみしていると,「データベースから取り出した変数に stripslashes()を使う必要があるよ」というレスが返ってきた。なぜ? ひょっとして,magic_quotes_runtime = on を前