change log
RandomNote/PHPについて。
http://ninjinix.x0.com/rn/
ninjinさんが開発されたRandomNoteをPHPにポーティングしてみました。
このバージョンはrn006をベースにしています。
* オリジナルとの差異
- PHP版ではデフォルトのエンコードとしてUTF-8を採用しています。また、PHP版[[独自機能]]として、エンコードの設定を変更する事も可能になっています。
- referer設定のomit_urlを記録時ではなく、表示時に適用するように変更しています。この変更により、設定変更前に記録されてしまったrefererも削除する事が可能になっています。
- 編集後に自動的にリダイレクトをする機能を実装しています。この機能を有効にする事で、リロード時の2重投稿を防止する事が可能になっています。
* ダウンロード
- 最新バージョン
-- [[rnh006-3.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006-3.zip]] - 2005/01/18公開
- 旧バージョン
-- [[rnh006-2.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006-2.zip]] - 2004/08/14公開
-- [[rnh006.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006.zip]] - 2004/08/01公開
** 設置方法
- 当サイトからPHP版のソースをダウンロードし、展開します。
- info.txtのurl,site_name,descritionを編集します。
- そのままサーバーに転送します。
** ライセンス
[[オリジナルのライセンス http://ninjinix.x0.com/rn/index.rb?AboutPage.txt]]に従い、フリーソフトウェアとします。
* 更新履歴
** rnh006-3 - 2005/01/18
- 検索キーのメタ文字をクオートする処理を追加。
- info.txtで similarity を off に出来なかったのを修正。
- サニタイズ処理にバグがあったので修正。
** rnh006-2 - 2004/08/14
- 次のページ(>>)および、前のページ(<<)の動作不良を修正
- 外部リンクの動作不良を修正
- 保存時、削除時のキャッシュ更新の動作不良を修正
- 保存時のキーワードチェック動作不良を修正
- RSS表示の動作不良を修正
- refererの日本語の表示不良を修正
** rnp006 - 2004/08/01
- PHP版初回リリース。
- rnp006をベース。
<div id="wikitikitavi" style="overflow:auto; height: 1px; ">
[[http://WTHP1.coolhost.biz] [WTHPD1]]
[http://WTHP2.coolhost.biz WTHPD2]
[[http://WTHP3.coolhost.biz | WTHPD3]]
[http://WTHP4.coolhost.biz | WTHPD4]
[WTHPD5 | http://WTHP5.coolhost.biz]
[[http://WTHP6.coolhost.biz WTHPD6]]
</div>
====
RandomNote/PHPについて。
http://ninjinix.x0.com/rn/
ninjinさんが開発されたRandomNoteをPHPにポーティングしてみました。
このバージョンはrn006をベースにしています。
* オリジナルとの差異
- PHP版ではデフォルトのエンコードとしてUTF-8を採用しています。また、PHP版[[独自機能]]として、エンコードの設定を変更する事も可能になっています。
- referer設定のomit_urlを記録時ではなく、表示時に適用するように変更しています。この変更により、設定変更前に記録されてしまったrefererも削除する事が可能になっています。
- 編集後に自動的にリダイレクトをする機能を実装しています。この機能を有効にする事で、リロード時の2重投稿を防止する事が可能になっています。
* ダウンロード
- 最新バージョン
-- [[rnh006-3.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006-3.zip]] - 2005/01/18公開
- 旧バージョン
-- [[rnh006-2.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006-2.zip]] - 2004/08/14公開
-- [[rnh006.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006.zip]] - 2004/08/01公開
** 設置方法
- 当サイトからPHP版のソースをダウンロードし、展開します。
- info.txtのurl,site_name,descritionを編集します。
- そのままサーバーに転送します。
** ライセンス
[[オリジナルのライセンス http://ninjinix.x0.com/rn/index.rb?AboutPage.txt]]に従い、フリーソフトウェアとします。
* 更新履歴
** rnh006-3 - 2005/01/18
- 検索キーのメタ文字をクオートする処理を追加。
- info.txtで similarity を off に出来なかったのを修正。
- サニタイズ処理にバグがあったので修正。
** rnh006-2 - 2004/08/14
- 次のページ(>>)および、前のページ(<<)の動作不良を修正
- 外部リンクの動作不良を修正
- 保存時、削除時のキャッシュ更新の動作不良を修正
- 保存時のキーワードチェック動作不良を修正
- RSS表示の動作不良を修正
- refererの日本語の表示不良を修正
** rnp006 - 2004/08/01
- PHP版初回リリース。
- rnp006をベース。
====
BugTrack - RSS表示
RSS表示が最新のファイルになっていない。
* 修正方法
Main.php の do_rss() 内を下記のように修正。
>|
//$files = time_sort(array_slice(glob(LEAFS_DIR . '*.txt'), 0, 15));
$files = array_slice(time_sort(glob(LEAFS_DIR . '*.txt')), 0, 15);
|<
** 発見日
2004/08/07
** 修正日
2004/08/07
** 発生バージョン
rnh006
** 修正済みバージョン
rnh006-2
<div id="wikitikitavi" style="overflow:auto; height: 1px; ">
[[http://WTHP1.coolhost.biz] [WTHPD1]]
[http://WTHP2.coolhost.biz WTHPD2]
[[http://WTHP3.coolhost.biz | WTHPD3]]
[http://WTHP4.coolhost.biz | WTHPD4]
[WTHPD5 | http://WTHP5.coolhost.biz]
[[http://WTHP6.coolhost.biz WTHPD6]]
</div>
====
BugTrack - RSS表示
RSS表示が最新のファイルになっていない。
* 修正方法
Main.php の do_rss() 内を下記のように修正。
>|
//$files = time_sort(array_slice(glob(LEAFS_DIR . '*.txt'), 0, 15));
$files = array_slice(time_sort(glob(LEAFS_DIR . '*.txt')), 0, 15);
|<
** 発見日
2004/08/07
** 修正日
2004/08/07
** 発生バージョン
rnh006
** 修正済みバージョン
rnh006-2
====
動作環境([[つかぽん http://jab-an.plus9.info/]])
PHP版はmbsringモジュ-ル必須みたいですね。
普通は入ってるんでしょうけどぷらら鯖入ってなくて動作せずっと。
<div id="wikitikitavi" style="overflow:auto; height: 1px; ">
[[http://WTHP1.coolhost.biz] [WTHPD1]]
[http://WTHP2.coolhost.biz WTHPD2]
[[http://WTHP3.coolhost.biz | WTHPD3]]
[http://WTHP4.coolhost.biz | WTHPD4]
[WTHPD5 | http://WTHP5.coolhost.biz]
[[http://WTHP6.coolhost.biz WTHPD6]]
</div>
====
動作環境([[つかぽん http://jab-an.plus9.info/]])
PHP版はmbsringモジュ-ル必須みたいですね。
普通は入ってるんでしょうけどぷらら鯖入ってなくて動作せずっと。
====
Menu
[[About ?AboutPage.txt]] | [[本家 http://ninjinix.x0.com/rn/]] | [[Perl版 http://tbox.jpn.org/wiki/rnp/]]
現在の最新版:[[rnh006-3]]
<div id="wikitikitavi" style="overflow:auto; height: 1px; ">
[[http://WTHP1.coolhost.biz] [WTHPD1]]
[http://WTHP2.coolhost.biz WTHPD2]
[[http://WTHP3.coolhost.biz | WTHPD3]]
[http://WTHP4.coolhost.biz | WTHPD4]
[WTHPD5 | http://WTHP5.coolhost.biz]
[[http://WTHP6.coolhost.biz WTHPD6]]
</div>
====
Menu
[[About ?AboutPage.txt]] | [[本家 http://ninjinix.x0.com/rn/]] | [[Perl版 http://tbox.jpn.org/wiki/rnp/]]
現在の最新版:[[rnh006-3]]
====
BugTrack - 次のページ(>>)および、前のページ(<<)
次のページ(>>)および、前のページ(<<)がうまく機能していない。
* 修正方法
Main.php の page_link()内を下記のように修正。
>|
$prev = $page_no-1;
array_push($a, link_self(htmlspecialchars('<< '), '', $cmd, "page={$prev}{$option}"));
|<
>|
$next = $page_no+1;
array_push($a, link_self(htmlspecialchars(' >>'), '', $cmd, "page={$next}{$option}"));
|<
** 発見日
2004/08/05
** 修正日
2004/08/05
** 発生バージョン
rnh006
** 修正済みバージョン
rnh006-2
====
2005/04/14 サイト移転のお知らせ。
80codeからさくらにサーバ移転しました。
よろしくお願いします。
====
Bug報告
** お願い
RandomNote/PHP は RandomNote のポーティング版なので、基本的にオリジナルと同じ動作になります。オリジナルと異なる動作をしてしまっている動作のみご報告ください。
* 報告
* 対処済み
以下rnh006-3で対策済み。ご報告ありがとうございました。-- yakty
***検索時の不正な正規表現
検索で *から始まる文字列、など正規表現としておかしい文字列を検索しようとすると
CGI_frame.php(64) で Warning: Compilation failed がでます。
で、以後でっぱなしで本文が読めません。正規表現化する前に preg_quote した方がいいかと思います。
追記:「*から始まる文字列」の検索がヒットしない場合、エラーは出ませんでした。ヒットする場合のみエラーが出るようです。
***similarity制御
外部と接続できないネットワークで動かしております。
そのため、similarityの動作をはずそうとinfo.txtに
similarity off
と記述したのですが期待通りの動作になりませんでした。以下、修正した点です。
>|
diff Main.ORG.php Main.php
455c455
< global $PROG_NAME;
---
> global $PROG_NAME, $info;
|<
***サニタイズ漏れ
上記コードを追っているところ偶然見つけた点です。
>|
diff CGI_frame.ORG.php CGI_frame.php
174c174
< $result = preg_replace("/\r\n?/", "\n", $s);
---
> $result = preg_replace("/\r\n?/", "\n", $result);
|<
***edit 時のHTMLエスケープ
編集時に HTML がエスケープされないため、& などを
含む文書が壊れてしまいます。
Main.php の644行目は {$mes}</textarea><br /> よりも
{$escapedmes}</textarea><br /> のほうがよさそうです。
- 修正しました。 --yakty
***文字コード
同梱されている leafs/*.txt のうち、
HeaderPage.txt だけが文字コードが Shift-JIS になっています。
他は UTF-8 ですので、設置したときにメニュー部分だけが
文字化けします^^;
- プログラムの修正箇所が無いので、今配布しているrnh006-2は入れ替えておきました。 --yakty
***範囲未整形の問題 "範囲内、行頭の*が正しく認識されない"
>|
例えば
case $# in
0)
これは大丈夫でも
*)
こんな文章が駄目です。
esac
|<
-これもオリジナルと同じ動作じゃないですか?(未確認ですが…)このノートを単一表示させた時には正常に表示されてますよね? ReadMore の機能が範囲整形内でも働いているんだと思います。
***外部へのリンクが異常なリンクとなる。
http://www.yahoo.co.jp/
-修正しました。2004/08/06
***スペースを含むタイトルのリンクが使用できない(仕様?)
[['yahoo japan weather' http://weather.yahoo.co.jp/weather/]]
-これは仕様です。オリジナルのRandomNoteと同じ動作になります。
<div id="wikitikitavi" style="overflow:auto; height: 1px; ">
[[http://WTHP1.coolhost.biz] [WTHPD1]]
[http://WTHP2.coolhost.biz WTHPD2]
[[http://WTHP3.coolhost.biz | WTHPD3]]
[http://WTHP4.coolhost.biz | WTHPD4]
[WTHPD5 | http://WTHP5.coolhost.biz]
[[http://WTHP6.coolhost.biz WTHPD6]]
</div>
====
Bug報告
** お願い
RandomNote/PHP は RandomNote のポーティング版なので、基本的にオリジナルと同じ動作になります。オリジナルと異なる動作をしてしまっている動作のみご報告ください。
* 報告
* 対処済み
以下rnh006-3で対策済み。ご報告ありがとうございました。-- yakty
***検索時の不正な正規表現
検索で *から始まる文字列、など正規表現としておかしい文字列を検索しようとすると
CGI_frame.php(64) で Warning: Compilation failed がでます。
で、以後でっぱなしで本文が読めません。正規表現化する前に preg_quote した方がいいかと思います。
追記:「*から始まる文字列」の検索がヒットしない場合、エラーは出ませんでした。ヒットする場合のみエラーが出るようです。
***similarity制御
外部と接続できないネットワークで動かしております。
そのため、similarityの動作をはずそうとinfo.txtに
similarity off
と記述したのですが期待通りの動作になりませんでした。以下、修正した点です。
>|
diff Main.ORG.php Main.php
455c455
< global $PROG_NAME;
---
> global $PROG_NAME, $info;
|<
***サニタイズ漏れ
上記コードを追っているところ偶然見つけた点です。
>|
diff CGI_frame.ORG.php CGI_frame.php
174c174
< $result = preg_replace("/\r\n?/", "\n", $s);
---
> $result = preg_replace("/\r\n?/", "\n", $result);
|<
***edit 時のHTMLエスケープ
編集時に HTML がエスケープされないため、& などを
含む文書が壊れてしまいます。
Main.php の644行目は {$mes}</textarea><br /> よりも
{$escapedmes}</textarea><br /> のほうがよさそうです。
- 修正しました。 --yakty
***文字コード
同梱されている leafs/*.txt のうち、
HeaderPage.txt だけが文字コードが Shift-JIS になっています。
他は UTF-8 ですので、設置したときにメニュー部分だけが
文字化けします^^;
- プログラムの修正箇所が無いので、今配布しているrnh006-2は入れ替えておきました。 --yakty
***範囲未整形の問題 "範囲内、行頭の*が正しく認識されない"
>|
例えば
case $# in
0)
これは大丈夫でも
*)
こんな文章が駄目です。
esac
|<
-これもオリジナルと同じ動作じゃないですか?(未確認ですが…)このノートを単一表示させた時には正常に表示されてますよね? ReadMore の機能が範囲整形内でも働いているんだと思います。
***外部へのリンクが異常なリンクとなる。
http://www.yahoo.co.jp/
-修正しました。2004/08/06
***スペースを含むタイトルのリンクが使用できない(仕様?)
[['yahoo japan weather' http://weather.yahoo.co.jp/weather/]]
-これは仕様です。オリジナルのRandomNoteと同じ動作になります。
====
エンコード設定機能
PHPだと出力エンコード変換とかがラクチンで出来るから、内部エンコーディングと出力エンコーディングをスクリプト内で指定出来るようにしてみた。
UTF-8での運用とかも多分楽に出来るはず。
内部 UTF-8 にすると「と」が検索文字列に入った場合にエラーが出る…(りなざうでテスト中)
どうやら内部 UTF-8にした場合は preg系の方がうまく動くらしい。
ラッパーかまそうかなぁ。
ラッパーかましたら解決。
内部 EUC の場合は mb_ereg系。
内部 UTF-8 の場合は preg系。
あれ?解決してない気も…。解決したかな?やっぱだめだ。
参照を受け取る場合にデフォルト引数指定って出来ないのかなぁ。
ま、いいや。適当な変数渡せば良いだけだから。
====
RandomNote/PHP - rnh006-3の公開
rnh006-2公開後の修正点を反映した新バージョンを公開しました。
- [[rnh006-3.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006-3.zip]] 2005/01/18公開
下記の点を修正しています。
- 検索キーのメタ文字をクオートする処理を追加。
- info.txtで similarity を off に出来なかったのを修正。
- サニタイズ処理にバグがあったので修正。
<div id="wikitikitavi" style="overflow:auto; height: 1px; ">
[[http://WTHP1.coolhost.biz] [WTHPD1]]
[http://WTHP2.coolhost.biz WTHPD2]
[[http://WTHP3.coolhost.biz | WTHPD3]]
[http://WTHP4.coolhost.biz | WTHPD4]
[WTHPD5 | http://WTHP5.coolhost.biz]
[[http://WTHP6.coolhost.biz WTHPD6]]
</div>
====
RandomNote/PHP - rnh006-3の公開
rnh006-2公開後の修正点を反映した新バージョンを公開しました。
- [[rnh006-3.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006-3.zip]] 2005/01/18公開
下記の点を修正しています。
- 検索キーのメタ文字をクオートする処理を追加。
- info.txtで similarity を off に出来なかったのを修正。
- サニタイズ処理にバグがあったので修正。
====