change log
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と同じ動作になります。
====
RandomNote の [[Wiki記法]] - TextFormat
-改行は改行として、空行は空行として扱われます。
-行の先頭が空白の場合、その行はそのまま表示されます。整形されません。
-URL(http://tbox.jpn.org/wiki/rnh/)はそのURLへのリンクになります。
-[''''''[ ]''''''] で囲まれた言葉は、その言葉を検索するリンクになります。
----
''ボールド''
'''イタリック'''
*大見出し
**中見出し
***小見出し
-箇条書き1
--箇条書き2
---箇条書き3
>引用1
>>引用2
>>>引用3
:用語:説明
,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル
----
↑水平線
>>
範囲引用
範囲引用
<<
>|
範囲未整形
範囲未整形
|<
[[検索キーワード]]
[[self:AboutPage.txt]] <- ページ直接指定
[[ここ http://tbox.jpn.org/wiki/rnh/]] <- 空行区切りで直接リンク指定
''ボールド''
'''イタリック'''
*大見出し
**中見出し
***小見出し
-箇条書き1
--箇条書き2
---箇条書き3
>引用1
>>引用2
>>>引用3
:用語:説明
,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル
----
↑水平線
>>
範囲引用
範囲引用
<<
>|
範囲未整形
範囲未整形
|<
[[検索キーワード]]
[[self:AboutPage.txt]] <- ページ直接指定
[[ここ http://tbox.jpn.org/wiki/rnh/]] <- 空行区切りで直接リンク指定
====
RandomNote/PHP - rnh006-2の公開
rnh006公開後の修正点を反映した新バージョンを公開しました。
- [[rnh006-2.zip http://tbox.jpn.org/misc/dl2.cgi?file=rnh006-2.zip]] 2004/08/14公開
下記の点を修正しています。
- 次のページ(>>)および、前のページ(<<)の動作不良を修正
- 外部リンクの動作不良を修正
- 保存時、削除時のキャッシュ更新の動作不良を修正
- 保存時のキーワードチェック動作不良を修正
- RSS表示の動作不良を修正
- refererの日本語の表示不良を修正
====
BugTrack - refererの日本語
refererの日本語がうまく表示されていない。
* 修正方法
Main.php の do_referer() を下記のように修正。
>|
$url = urldecode($k);
$encoding = mb_detect_encoding($url, 'auto');
$url = mb_convert_encoding($url, OUTPUT_ENCODING, $encoding);
$url = replace_url($url);
|<
** 発見日
2004/08/06
** 修正日
2004/08/09
** 発生バージョン
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 - refererの日本語
refererの日本語がうまく表示されていない。
* 修正方法
Main.php の do_referer() を下記のように修正。
>|
$url = urldecode($k);
$encoding = mb_detect_encoding($url, 'auto');
$url = mb_convert_encoding($url, OUTPUT_ENCODING, $encoding);
$url = replace_url($url);
|<
** 発見日
2004/08/06
** 修正日
2004/08/09
** 発生バージョン
rnh006
** 修正済みバージョン
rnh006-2
====
RandomNote/PHPの独自機能
PHP版独自機能の設定方法です。
* エンコード変更機能
CGI_frame.php の
define('INTERNAL_ENCODING', 'UTF-8');
define('OUTPUT_ENCODING', 'UTF-8');
を書き換える事で、内部エンコーディング、出力エンコーディングを変更する事が出来ます。
* リロードでの2重投稿防止機能
info.txtに
redirect on
という行を付け加える事で、編集後にリダイレクトを行い、リロードでの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>
====
RandomNote/PHPの独自機能
PHP版独自機能の設定方法です。
* エンコード変更機能
CGI_frame.php の
define('INTERNAL_ENCODING', 'UTF-8');
define('OUTPUT_ENCODING', 'UTF-8');
を書き換える事で、内部エンコーディング、出力エンコーディングを変更する事が出来ます。
* リロードでの2重投稿防止機能
info.txtに
redirect on
という行を付け加える事で、編集後にリダイレクトを行い、リロードでの2重投稿を防止する事が出来ます。
====
エンコード設定機能
PHPだと出力エンコード変換とかがラクチンで出来るから、内部エンコーディングと出力エンコーディングをスクリプト内で指定出来るようにしてみた。
UTF-8での運用とかも多分楽に出来るはず。
内部 UTF-8 にすると「と」が検索文字列に入った場合にエラーが出る…(りなざうでテスト中)
どうやら内部 UTF-8にした場合は preg系の方がうまく動くらしい。
ラッパーかまそうかなぁ。
ラッパーかましたら解決。
内部 EUC の場合は mb_ereg系。
内部 UTF-8 の場合は preg系。
あれ?解決してない気も…。解決したかな?やっぱだめだ。
参照を受け取る場合にデフォルト引数指定って出来ないのかなぁ。
ま、いいや。適当な変数渡せば良いだけだから。
<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>
====
エンコード設定機能
PHPだと出力エンコード変換とかがラクチンで出来るから、内部エンコーディングと出力エンコーディングをスクリプト内で指定出来るようにしてみた。
UTF-8での運用とかも多分楽に出来るはず。
内部 UTF-8 にすると「と」が検索文字列に入った場合にエラーが出る…(りなざうでテスト中)
どうやら内部 UTF-8にした場合は preg系の方がうまく動くらしい。
ラッパーかまそうかなぁ。
ラッパーかましたら解決。
内部 EUC の場合は mb_ereg系。
内部 UTF-8 の場合は preg系。
あれ?解決してない気も…。解決したかな?やっぱだめだ。
参照を受け取る場合にデフォルト引数指定って出来ないのかなぁ。
ま、いいや。適当な変数渡せば良いだけだから。
====
BugTrack - 編集フォームのメッセージエスケープ
編集フォームのメッセージがエスケープされていない。
* 修正方法
Main.php の edit_form()を下記のように修正。
エスケープした変数は用意していたのに、使用していなかったので使用するように修正する。
>|
return <<< END
<form action="{$PROG_NAME}" method="post">
<input type="hidden" name="cmd" value="edit_do" />
<input type="hidden" name="fname" value="{$escapedfname}" />
<textarea name="mes" cols="60" rows="25">
{$escapedmes}</textarea><br />
<input type="submit" value=" ok " /><br />
</form>
END;
}
|<
** 発見日
2004/08/23
** 修正日
2004/08/24
** 発生バージョン
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 - 編集フォームのメッセージエスケープ
編集フォームのメッセージがエスケープされていない。
* 修正方法
Main.php の edit_form()を下記のように修正。
エスケープした変数は用意していたのに、使用していなかったので使用するように修正する。
>|
return <<< END
<form action="{$PROG_NAME}" method="post">
<input type="hidden" name="cmd" value="edit_do" />
<input type="hidden" name="fname" value="{$escapedfname}" />
<textarea name="mes" cols="60" rows="25">
{$escapedmes}</textarea><br />
<input type="submit" value=" ok " /><br />
</form>
END;
}
|<
** 発見日
2004/08/23
** 修正日
2004/08/24
** 発生バージョン
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>
====
RandomNote/PHP用テーマ。
[[sbox http://jm.vis.ne.jp/sbox/]]のricaさんにRandomNote/PHP用のテーマを作って頂きました。
どうもありがとうございました。
この場を借りて厚く御礼申し上げます。
<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用テーマ。
[[sbox http://jm.vis.ne.jp/sbox/]]のricaさんにRandomNote/PHP用のテーマを作って頂きました。
どうもありがとうございました。
この場を借りて厚く御礼申し上げます。
====
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 - 次のページ(>>)および、前のページ(<<)
次のページ(>>)および、前のページ(<<)がうまく機能していない。
* 修正方法
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
<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>
====