よろづ書込処v4 - 全改造履歴
トップ
雑記
雑記索引
予定帳
書庫
掲示板
新規投稿
について
サイトマップ
- タグ処理の厳格化。
- スレッドの一部取り出し。複数の任意レスの取り出し。複数の任意スレッドの取り出し。
- データ処理と出力の分離。
- ファイル添付(ゑ。
- 「記事検索」がログ全体を検索対象としているのをどうにかする(例えば "hotcn" で検索すると‥‥)。
- 「記事検索」でタグも引っかかるのをどうにかする。
- ログを分割するだけ(?)の「過去ログ」。
- オプションデータ ($opt) の書式変更。
- 「タグ無効」オプションはデフォルトで checked。
- RFC3986 と RFC3987 を読む(必要なら自動 URL 判定ルーチンの修正)。
- 不正なレスポンスヘッダが返される事があった不具合を修正(したはず)。
- 新規投稿でエラーになって投稿画面に戻った場合にも、「コメント」にフォーカスが移動する度に入力がクリアされてしまう不具合を修正。
ver.1.35 (2004-09-30/2005-01-30)
- flock 関数による排他処理を実装(実装しただけ)。
- ファイルI/O 処理を汎用化。
- 緊急避難的にログに書き込む各機能を停止するためのフラグを導入。
- いろいろ未実装機能が‥‥。
- Expensive Noise より「まほらば」「マブラヴ」のアイコンを追加。
- ソース。
ver.1.34 (2004-06-29/2004-11-30)
- かなりほったらかしになっていた管理モードをいまさら整備(表示スレッド数を指定できるようにしたりとか)。
- ついでにチェックモードに項目追加。
- ver.1.33.1 に「管理モードにおいて特定の場合に整形式になっていなかった問題」が発覚したが、今更 ver.1.33.2 を出すのもアレなのでローカルでほったらかしてた ver.1.34 を出すことにした(1.34 では問題の場所がそっくり書き換えられている)。
- ソース。
- perl 5.005_03 で動かなかった不具合を修正(原因は qw//。5.6 以降なら問題ないんだが)。
- 泣きながらチェックモードをパワーアップ。
- HTTP_USER_AGENT もサニタイズする。
- 「URL」の入力内容が(http/ftp スキームの)URL でない場合にはリンクにしない(自動 URL 判定を流用)。
自動 URL 判定を改善したつもり。
- (http スキーム【謎】での ")" は、末尾のもの以外は URL に含めるようにした(はず)。
- RFC2396 で delims や unwise とされる文字(これまでは URL に含めていなかった)が出現した時はエスケープする。
- ついでに 0x7E もエスケープする。
- 「メールアドレス」の入力内容がメールアドレスでない場合にはリンクにしない(do_mail サブルーチン)。ただし微妙に手抜き。
- 一部の投稿チェックでエラーになった時に(エラー画面を表示するのではなく)エラーメッセージを付記したフォーム画面に戻る。
- 汎用メッセージ出力。
- Perlメモを参考に排他処理を修正。
- 置換機能における「置換許可記号の前にある "\" は削除(ver.1.25.1)」を削除。
- header サブルーチンの呼び出し方を変えた。
- その他色々。
- いくつかの変数の整理。
- チェックモードの拡充。
- form 要素の name 属性【謎】を削除。
- 子記事の見出しは h3 でマークアップ(親記事は h2)。
- 「記事検索」の検索結果で「$x 件中 $m - $n 件目」。
- スレッド表示用のパラメータ
class=no:xx,thread
を非推奨に。
- 自動 URL 判定で "," が使えなかったバグを修正。
- 色々と細かいところ(コメント書いたりとか)。
- アイコン表示機能。
数値参照処理を改善。
- 十進では 9-10, 13, 32-126, 160-55295, 57344-65533, 65536-1114111。
- 十六進では 0x9-0xA, 0xD, 0x20-0x7E, 0xA0-0xD7FF, 0xE000-0xFFFD, 0x10000-0x10FFFF。
自動 URL 判定の改善。
- URL 内で "&" "(" ")" が出現してもちゃんとリンクになる(多分)。
- (http スキーム【謎】では ")" は URL に含めない。
- ポート番号は 0-65535 のみ有効。
- フラグメント ID の文字列を(概ね) RFC 2396 っぽく。
(('X'|'x') ('M'|'m') ('L'|'l'))
で始まるフラグメント ID を排除 (XML 1.0)。
- 数値参照処理を改善(十進で 1-1114111、十六進で 0x1-0x10FFFF の範囲内のみ有効)。
- Accept 要求ヘッダの q 値を(ほぼ)適正に処理する。
- Accept 要求ヘッダを無視する
output
パラメータの追加。
- 置換辞書の書式変更に置換処理サブルーチンを対応させてなかった(切腹)。
- 置換機能における "\" エスケープ処理(ver.1.21)を削除(置換許可記号の前にある "\" は削除され、対象文字列は置換される)。
- 「記事一覧」の「ハンドル」と「タイトル」で文字実体参照が展開されないバグを修正。
- 「改造履歴」で「最近の改造履歴」よりも古い履歴を単独で表示できないバグを修正。
- 置換辞書の書式を微妙に変更(ついでに変換用スクリプトを書いたり)。
- 自動 URL 判定を(それなりに)改善。
- 「改造履歴」のバージョン番号にリンク。
- 「改造履歴」にアクセスキー "Y"。
- 「記事一覧」のアクセスキーを "C" に変更(「雑記索引」と衝突してた)。
- Accept 要求ヘッダを見て出力メディアタイプを変える(手抜き実装)。
- メディアタイプが application/xhtml+xml の時は XHTML 1.1 でマークアップ(head 要素付近しか違わないが)。
- タグ有効時は「ハンドル」と「タイトル」で文字実体参照を展開する(数値文字参照は展開しない)。
- レス表示モードで記事番号を間違って表示していたのを修正。
- 「使い方」を改正。
- 管理モード周りの修正。
- サブメニューの試験的実装(関係ない)。
- メインメニュー周りの調整。
- link 要素をいくつか追加。
- (また)JavaScript 周りを整理。
- 細かいところをいくつか。
- さらにメニュー周りの微調整。
- (スタイルシート変更に伴なう)メニュー周りの微調整。
- 「特定文字列を変換する」オプションを廃止。「置換許可記号」の有無によって置換処理を行なう。
- 「置換許可記号」は
\
でエスケープ可能(あまり意味は無い)。
- ログ中、コメント部の改行文字を <br> に変更(特に意味は無い)。
- フォーム画面が XHTML 1.0 Transitional として valid ではなかったのを修正。
- オプション周りのスクリプトを追加、修正。
class=last
(と class=all
)時に「スレッド表示」のリンクが正しくなかったのを修正。
- 最新から指定数のスレッドを展開して表示する
mode=view;class=last
を追加。
mode=view
でのデフォルトを class=last
に変更(class=default
は廃止)。
- 記事一覧表示の時もログの最終更新時間を Last-Modified ヘッダで返す。
- デフォルトでタグ等を解釈する。「タグ有効」オプションを廃止、「タグ無効」オプションを追加。
- コメント入力欄クリアボタン(要 JavaScript サポート)。
- 全ての記事を展開して表示する
mode=view;class=all
(わりと危険)。
- 記事タイトルの一覧を表示する
mode=view;class=list
を追加。
mode=view
でのデフォルトを class=default
に変更(class=all
は一旦廃止)。
mode=view;class=default
では最近の記事をいくつか展開して表示する。
- 各モードに簡単な説明。
- 子記事からも返信操作が可能。
- 「記事操作メニュー」(今、名付けた)に「スレッド表示」を移動。
- ページ下部のナビゲーションメニューを整理。
- スタイルシート非対応orオフ環境へのいくつかの配慮(かも)。
- 返信・修正・削除モードでは各フォームを先に、関連記事をあとに表示する。
- 返信フォームのコメント入力欄には、返信元の記事が引用される。
- 返信・修正フォームのコメント入力欄の行数は初期文章量によって増減。
- 他、細かい調整。
- 不正なパラメータの取り扱いを改善。
- 記事更新時刻表示の不具合修正(前にも直したような‥‥)。
- なんちゃってツリー式。
- なんちゃってツリー式関係で「使い方」に追記。
- 都合によりログのカラム順を変更。
- ついでにログ中の旧形式オプションを現方式にあわせる(記事表示処理中のオプション解釈の後方互換性は削除)。
- accept-charset="UTF-8"
- Jcode.pm を使わない(投稿文字列は UTF-8 で決め打ち)。
- 掲示板のカウンタを削除。
- 掲示板トップに新規投稿フォームを置かない。
- accesskey="R" を「新規投稿フォームを開く」に変更。
- 「置換辞書を表示」を追加。accesskey="D"。
- GET リクエストで色々遊べる(実用性はあまりない)。詳しい遊び方は「使い方」に。
- 色々遊ぶために内部的に結構変えた。
- 返信・修正・削除フォームへの入り口のフォームをやめてハイパーリンクに変更。
- 検索モードで使うパラメータ名を短くした。
- 色々変更に伴なう「使い方」の整備。
「使い方」が大きくなりすぎたので howto.txt としてスクリプト本体から切り離す。変数の置換が面倒なのでやめた(ぉ。
- JavaScript 周りを整理。
- 「特定文字列を変換する」オプションを追加(自動変換はしない)。
- body 要素の onload 属性は投稿フォームがあるときだけ付ける。
- label 要素の一部についていた tabindex 属性を適当な要素に移した。
- バージョンの付け方をここから変える(ぉ。
- 新規投稿・返信・修正・削除のあと、掲示板に戻る前にワンクッション置く。
- Cookie 周りの「強引な解決(ver.0.94)」を削除。
- 「メールアドレス」入力欄を移動したり、オプションの各チェックボックスの tabindex 属性を外したり、記事削除フォームの各コントロールに tabindex 属性を追加したり。
- v3時代に導入した「@ は全て @ に変換」を、v4にも適用したつもりでいて実際には適用してなかったのを修正。
- いつの間にかパラメータ区切りに ; が使えなくなっていたのを修正。
- 投稿データの文字コードが判断できなかった場合は UTF-8 と仮定する(これまでは ISO-2022-JP として処理されていた、らしい)。
- Cookie の過去互換性(ver.0.92)を削除。
- 掲示板全域で「↑ページの先頭へ...」のナビゲーションがなかった(ぉ。
- Cookie の中身はURLエンコード(?)して保存。
- 「タグ有効」は Cookie に保存しない。
- 「preモード」追加。
- 「URL自動リンク」廃止。「URLをリンクにする」オプション追加。
- スクリプト周り追加修正。
- 投稿時のレス番処理に潜んでいた恐ろしすぎる不具合を修正。
- 過去ログ表示周り修正。
- ページヘッダ、フッタを他のページに合わせて修正。
- accesskey 属性、tabindex 属性を適宜追加。
ちょっとだけ JavaScript。
- あまりにもアレな実装だったので差し戻し。
- 過去ログNOファイル pastno.dat に代えて過去ログ情報ファイル pastidx.dat。
- 投稿処理後にスレッド数が $max を超えているときは、古い方から $pastctn 個を過去ログに送る。
- 文字コードを EUC-JP から UTF-8 に変更。
- 一通りやる事やったはずなので ver.1.0。
- Cookie の反映がワンテンポ遅れていたのを強引に解決。
- とりあえず過去ログモードに入るとエラーになるようにする(ぉぃ。
- タグ処理周りの再修正。「使い方」の不適切な用語【謎】の修正。
- ワード検索、管理モードの整備完了。
- ログの最終更新時間を Last-Modified ヘッダで返すのは記事表示の時だけ。
- ユーザ削除しようとすると「名前が入力されていません」とか言われるのを修正(アホでした)。
- 管理削除で子記事を削除するとスレッドもろとも削除されるのを修正(アホでした)。
- 親記事数カウンタ $pcnt。
- タグ処理周りの修正。
- Cookie の互換性を確保。
- User-Agent が取れてなかった。
- 改造履歴(これ)をスクリプトから呼び出せる(でも更新は間抜けな事にエディタ→FTP)。
- ファーストリリース(リリース?)。
- 文字コードを Shift_JIS から EUC-JP に変更。
- 出力テキストのマークアップを xhtml 1.0 Transitional に変更。
- xhtml 1.0 Transitional で非推奨なタグ、属性等を削除。
- ページ内スタイルを削除。ぽあぞんでずゅーのスタイルを適用。
- ページ内スクリプトも削除。
- 各出力の先頭のサブルーチン
header
に見出しとかメインメニューとか放り込む。
- 各出力の末尾をサブルーチン
footer
として <address> とか放り込む。
- 大して意味のない <table> とか 引用でない <blockquote> とかアレなのを削除。
- アイコン表示を削除。その他の画像を表示させる機能も全て削除。
- sendmail 周辺の処理を削除。
- レスがついた記事は常にトップへ。
- クッキー周りを RFC2965 に準拠。
- ‥‥したところ、mozilla が Set-Cookie2 応答ヘッダを読んでいないっぽいので RFC2109 の Set-Cookie 応答ヘッダも送ることにする。
- ‥‥‥‥ Max-Age 属性を理解していないようなので Expires を付けて送る。
- ログを更新する form(新規投稿とか)と読むだけの form(ログ検索とか)に別の method 属性を指定出来るように。
- 時間は 1970/01/01 00:00:00 UTC からの秒数のままログに保存。
- cgi へのリクエストに対してログの最終更新時間を Last-Modified ヘッダで返す(WWWCとか向け)。
- cgi スクリプトそのものの更新時間とバージョンを <address> 内に表示。
- ログ形式を変更、というか現状に合わせるというか。
- 記事修正・ユーザ削除フォームを各記事の横に。
- 各記事の整形は
res_fmt
サブルーチンが行なう。
- 新規投稿・返信・記事修正の各フォームの整形は
form_fmt
サブルーチンが行なう。
- 日付の整形は
time_fmt
サブルーチンが行なう。
- 指定の記事やスレッドの取り出し用サブルーチン
cnctd_res
と cnctd_view
を追加。
- URL自動リンクは記事表示時に
res_fmt
の中で行なう。
- ユーザ削除では完全に削除しない。
- 記事修正サブルーチン
usr_edt
、ユーザ削除サブルーチン usr_del
から記事更新処理を切り離し、ログ書込処理サブルーチン regist
に統合。
- 返信、記事修正、ユーザ削除の各モードの画面出力を、サブルーチン
user_edit
として共通化。
- 指定のタグだけ使用可能にする(ことも出来るように)。
©KENT
©Expensive Noise
©NEXTON
©オーガスト
©ねこねこソフト
もりば <pdy@moriba.jp>
Script: YY_BOARD/4.8 Poison_des_Yeux/1.35.4
Script-Updated: Mon, 05 May 2008 23:26:52 JST