プラグインのオーバーホール: bugtrack†
- ページ: BugTrack2
- 投稿者: henoheno
- 優先順位: 普通
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2005-04-03 (日) 22:32:00
- バージョン: 1.4.6_alpha
メッセージ†
今まで気になっていた基礎構造周りをまとめて修正しました。とはいっても(設定部分に)日本語がハードコードなのは変わらず。
htmlspecialchars() などを適宜組み込んでいるのは、どちらかと言うと将来の事故防止・将来のいたずら防止・将来のセキュリティホールつぶしです。
bugtrackプラグイン -- 大幅に作り直し†
(開発日記/2005-04-02 より移動)
- cvs:plugin/bugtrack.inc.php (1.23)
- (内部で使っている)多数のグローバル変数を一つのグローバル配列に集約。
- 初期化時、存在しないはずのグローバル配列が存在するとエラーを出して落ちる
- 初期化後のグローバル配列の値も適宜htmlspechalchars() やpreg_quote()しながら用いる
- 「サマリ」が空欄の時、代わりに既定のメッセージを挿入する => 「ここにサマリを記入して下さい」
- 投稿者名が空欄の時、代わりに既定の名称を挿入する => 「名無しさん」(※ブラケットなし)
- 追加されるページのテキストを修正(Wiki文法とそうでない所の境界に適宜スペースを挿入/横罫線をやや長く)
- printf で言うところの '%03d' (0で埋めて必ず3ケタになるようにした数字列) のようなナンバリングフォーマットを導入可能に (定数を追加)。最初から番号を3ケタ(程度)で統一することにより、ページ一覧時の検索性などが上がると思われる。欠点は、「1番」を見ようとした時に、ページ名が何であるのか (page/1 か、 page/01 か、 page/001 か、 page/0001 か・・・) を人間が一意に決定できなくなる可能性が生まれること。
- 最新のナンバーを探す処理を1刻みではなく50刻みとなる様に修正 (page/1が存在するか => page/51が存在するか => page/101 が存在するか ...)
- #bugtrack_list のテーブルヘッダーの一つ目に値が表示されます => 「ページ名」
- #bugtrack_list のテーブルヘッダーの背景色を指定できます => デフォルトは薄い黄色に
- #bugtrack_list はテーブルを幅 '100%' で表示します
- #bugtrack_list は各ページから情報をより正確に/厳密に取得します (意図しないデータを拾わない)
- #bugtrack_list は'move to ...' ページを辿る処理を一度だけ行います (再帰的には動作しない)
- #bugtrack_list のXHTML出力を読みやすい様に整形
- 単純化: スペース・コメント・冗長なコードの挿入および削除
- global $script => get_script_uri()
- Some Japanese => English
関数の順番の変更や、bugtrack_list.inc.php の修正?をこの後行います。
(開発日記/2005-04-03より移動)
- cvs:plugin/bugtrack.inc.php (1.24)
- 関数定義の順番を修正。関数 plugin_bugtrack_pageinfo() を plugin_bugtrack_list_pageinfo() とりネーム。(bugtrack_listプラグインの関数なので)
- cvs:plugin/bugtrack.inc.php (1.25)
- テーブルヘッダの htmlspecialchars() 漏れを修正 (※修正前であっても、ハードコードされている部分を管理者が異常な値に改造しない限り基本的に問題ありません)
- htmlspecialchars() のタイミングが、XHTMLの出力直前となるように修正。