title

change log

RandomNote/PHPについて。
http://dungeon.walker.jp/rn/
ninjinさんが開発されたRandomNoteをPHPにポーティングしてみました。
このバージョンはrn006をベースにしています。

* オリジナルとの差異
- PHP版ではデフォルトのエンコードとしてUTF-8を採用しています。また、PHP版[[独自機能]]として、エンコードの設定を変更する事も可能になっています。
- referer設定のomit_urlを記録時ではなく、表示時に適用するように変更しています。この変更により、設定変更前に記録されてしまったrefererも削除する事が可能になっています。
- 編集後に自動的にリダイレクトをする機能を実装しています。この機能を有効にする事で、リロード時の2重投稿を防止する事が可能になっています。

* ダウンロード
- 最新バージョン
-- [[rnh006.zip http://tbox.80code.com/misc/dl.cgi?file=rnh006.zip]] - 2004/08/01公開

** 設置方法
- 当サイトからPHP版のソースをダウンロードし、展開します。
- info.txtのurl,site_name,descritionを編集します。
- そのままサーバーに転送します。

** ライセンス
[[オリジナルのライセンス http://dungeon.walker.jp/rn/index.rb?AboutPage.txt]]に従い、フリーソフトウェアとします。

* 更新履歴
** rnp006 - 2004/08/01
- PHP版初回リリース。
- rnp006をベース。
====
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

** 修正済みバージョン

未リリース
====
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

** 修正済みバージョン

未リリース
====
BugTrack - 同一ファイルの重複カウント

保存時のキーワードチェックで、同一ファイルが重複してどんどん加算されてしまっていた。

* 修正方法

SearchData.php の check_text() 内を下記のように修正。

>|
$this->files = array_unique($this->files);
|<

** 発見日

2004/08/06

** 修正日

2004/08/06

** 発生バージョン

rnh006

** 修正済みバージョン

未リリース
====
BugTrack - 保存時、削除時のキャッシュ更新

保存時、削除時のキャッシュ更新がうまく動いていない。

* 修正方法

Main.php の do_edit_do() 内を下記のように修正。

>|
//foreach (array_values($search) as $v){
foreach (array_keys($search) as $k){
$search[$k]->check_text($fname);
//$v->check_text($fname);
}
|<

>|
//foreach (array_values($search) as $v){
foreach (array_keys($search) as $k){
$search[$k]->delete_files($fname);
//$v->delete_files($fname);
}
|<

** 発見日

2004/08/06

** 修正日

2004/08/06

** 発生バージョン

rnh006

** 修正済みバージョン

未リリース
====
BugTrack - 外部へのリンク

外部へのリンクが異常なリンクとなる。

* 修正方法

Main.php の _inline_sub()内を下記のように修正。

>|
} else if(preg_match("/((mailto|http|https|ftp):($LINK_CHAR))/", $s, $regs)){
return "<a href=\"{$regs[1]}\">$regs[1]</a>";
|<

** 発見日

2004/08/06

** 修正日

2004/08/06

** 発生バージョン

rnh006

** 修正済みバージョン

未リリース
====
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

** 修正済みバージョン

未リリース
====
RandomNote の [[Wiki記法]] - TextFormat

本家からコピペ

-改行は改行として、空行は空行として扱われます。
-行の先頭が空白の場合、その行はそのまま表示されます。整形されません。
-URL(http://tbox.80code.com/wiki/rnh/)はそのURLへのリンクになります。
-[''''''[ ]''''''] で囲まれた言葉は、その言葉を検索するリンクになります。
----

''ボールド''
'''イタリック'''
*大見出し
**中見出し
***小見出し
-箇条書き1
--箇条書き2
---箇条書き3
>引用1
>>引用2
>>>引用3
:用語:説明

,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル

----
↑水平線

>>
範囲引用
範囲引用
<<

>|
範囲未整形
範囲未整形
|<

[[検索キーワード]]
[[self:AboutPage.txt]] <- ページ直接指定
[[ここ http://tbox.80code.com/wiki/rnh/]] <- 空行区切りで直接リンク指定

''ボールド''
'''イタリック'''
*大見出し
**中見出し
***小見出し
-箇条書き1
--箇条書き2
---箇条書き3
>引用1
>>引用2
>>>引用3
:用語:説明

,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル
,テーブル,テーブル,テーブル

----
↑水平線

>>
範囲引用
範囲引用
<<

>|
範囲未整形
範囲未整形
|<

[[検索キーワード]]
[[self:AboutPage.txt]] <- ページ直接指定
[[ここ http://tbox.80code.com/wiki/rnh/]] <- 空行区切りで直接リンク指定
====
BugTrack - refererの日本語

refererの日本語がうまく表示されていない。

* 修正方法



** 発見日

2004/08/06

** 修正日



** 発生バージョン

rnh006

** 修正済みバージョン


====
Menu
[[About ?AboutPage.txt]] | [[本家 http://dungeon.walker.jp/rn/]] | [[Perl版 http://tbox.80code.com/wiki/rnh/]]
====
Bug報告

- ''お願い'' RandomNote/PHP は RandomNote のポーティング版なので、基本的にオリジナルと同じ動作になります。オリジナルと異なる動作をしてしまっている動作のみご報告ください。

***範囲未整形の問題 "範囲内、行頭の*が正しく認識されない"
>|
例えば
case $# in
0)
これは大丈夫でも
*)
こんな文章が駄目です。
esac
|<
-これもオリジナルと同じ動作じゃないですか?(未確認ですが…)このノートを単一表示させた時には正常に表示されてますよね? ReadMore の機能が範囲整形内でも働いているんだと思います。

***外部へのリンクが異常なリンクとなる。
http://www.yahoo.co.jp/
-修正しました。2004/08/06
***スペースを含むタイトルのリンクが使用できない(仕様?)
[['yahoo japan weather' http://weather.yahoo.co.jp/weather/]]
-これは仕様です。オリジナルのRandomNoteと同じ動作になります。
====
Bug報告

***範囲未整形の問題 "範囲内、行頭の*が正しく認識されない"
>|
例えば
case $# in
0)
これは大丈夫でも
*)
こんな文章が駄目です。
esac
|<

***外部へのリンクが異常なリンクとなる。
http://www.yahoo.co.jp/
-修正しました。2004/08/06
***スペースを含むタイトルのリンクが使用できない(仕様?)
[['yahoo japan weather' http://weather.yahoo.co.jp/weather/]]
-これは仕様です。オリジナルのRandomNoteと同じ動作になります。
====
Bug報告

***範囲未整形の問題 "範囲内、行頭の*が正しく認識されない"
>|
例えば
case $# in
*)
こんな文章が駄目です。
esac
|<

***外部へのリンクが異常なリンクとなる。
http://www.yahoo.co.jp/
-修正しました。2004/08/06
***スペースを含むタイトルのリンクが使用できない(仕様?)
[['yahoo japan weather' http://weather.yahoo.co.jp/weather/]]
-これは仕様です。オリジナルのRandomNoteと同じ動作になります。
====
Bug報告

***範囲未整形の問題 "範囲内、行頭の*が正しく認識されない"
>|
例えば
case $# in
こんな文章が
*)
駄目です。
esac
|<

***外部へのリンクが異常なリンクとなる。
http://www.yahoo.co.jp/
-修正しました。2004/08/06
***スペースを含むタイトルのリンクが使用できない(仕様?)
[['yahoo japan weather' http://weather.yahoo.co.jp/weather/]]
-これは仕様です。オリジナルのRandomNoteと同じ動作になります。
====
Bug報告

***範囲未整形の問題
>|
case $# in
こんな文章が
*)
駄目です。
esac
|<

***外部へのリンクが異常なリンクとなる。
http://www.yahoo.co.jp/
-修正しました。2004/08/06
***スペースを含むタイトルのリンクが使用できない(仕様?)
[['yahoo japan weather' http://weather.yahoo.co.jp/weather/]]
-これは仕様です。オリジナルのRandomNoteと同じ動作になります。
====
page 21 - << : 0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : >>