BugTrack/2243
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* Tracker_list プラグインの無駄な処理 [#n257252a]
- ページ: [[BugTrack2]]
- 投稿者: 名無しさん
- 優先順位: 低
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2007-05-30 (水) 01:32:59
- バージョン:
#contents
** [fixed] fixed heading anchor を削除する処理が過剰 (二...
次の部分の処理が無駄だと思うのですが、いかがでしょう。
// $Id: tracker.inc.php,v 1.36 2007/03/29 15:05:52 henoh...
(中略)
class Tracker_list
{
(中略)
function add($page,$name)
{
(中略)
$source = plugin_tracker_get_source($page);
if (preg_match('/move\sto\s(.+)/',$source[0],$matches))
{
(中略)
return $this->add($page,$name);
}
$source = join('',preg_replace('/^(\*{1,3}.*)\[#[A-Za-z...
(中略)
function plugin_tracker_get_source($page)
{
$source = get_source($page);
// 見出しの固有ID部を削除
$source = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\]...
// #freezeを削除
return preg_replace('/^#freeze\s*$/im', '', $source);
}
plugin_tracker_get_source の途中、preg_replace でアンカー...
plugin_tracker_get_source で呼び出したソースに、もう一度...
この部分は、
- $source = join('',preg_replace('/^(\*{1,3}.*)\[#[A-Za...
+ $source = join('',$source);
と修正したほうが、よいと思います。
- コメントありがとうございます。この件、正規表現も完全一...
-- [[cvs:plugin/tracker.inc.php]] (1.37) -- まさにその通...
- 確認しました。この部分は完了ですね。 -- &new{2007-06-1...
//#comment
--------
** [fixed] unset() すべきリソース [#s0d4de98]
- [[BugTrack2/159]] を見たので、これも修正候補という事で...
// $Id: tracker.inc.php,v 1.36 2007/03/29 15:05:52 henoh...
// Copyright (C) 2003-2005 PukiWiki Developers Team
(中略)
class Tracker_list
{
(中略)
function add($page,$name)
{
(中略)
if ($this->rows[$name]['_match'] = preg_match("/{$this-...
{
+ unset($source);
array_shift($matches);
foreach ($this->pattern_fields as $key=>$field)
{
$this->rows[$name][$field] = trim($matches[$key]);
}
}
}
(中略)
function toString($limit=NULL)
{
(中略)
foreach ($this->rows as $key=>$row)
{
if (!TRACKER_LIST_SHOW_ERROR_PAGE and !$row['_match'])
{
+ unset($this->rows[$key]);
continue;
}
$this->items = $row;
foreach ($body as $line)
{
if (trim($line) == '')
{
$source .= $line;
continue;
}
$this->pipe = ($line{0} == '|' or $line{0} == ':');
$source .= preg_replace_callback('/\[([^\[\]]+)\]/',a...
}
+ unset($this->rows[$key]);
}
return convert_html($source);
}
1つ目のTracker_list->add() でのunset は、「1ページ分のソ...
2つ目のTracker_list->toString() でのunset は、「リストの...
って効果を実証できてない。テストを準備して~の時点でつま...
- 一つ目の unset() の意図はわかりました。問題ないかと思い...
-- [[cvs:plugin/tracker.inc.php]] (1.37) -- 一つ目のunset...
-確認しました。2つ目はreturn でtoString() を呼んでいるの...
//#comment
------------------------
** [fixed] 不要なフィールドをテーブルに抱え込んでいる [#m...
- そもそも、予約語やテンプレート名のページ((デフォルトな...
// $Id: tracker.inc.php,v 1.36 2007/03/29 15:05:52 henoh...
(中略)
class Tracker_list
{
(中略)
function Tracker_list($page,$refer,&$config,$list)
{
(中略)
while (count($pattern))
{
$this->pattern .= preg_replace('/\s+/','\\s*','(?>\\s*...
if (count($pattern))
{
$field = array_shift($pattern);
$this->pattern_fields[] = $field;
$this->pattern .= '(.*)';
}
}
+ $this->pattern_fields = array_intersect($this->patter...
// ページの列挙と取り込み
$this->rows = array();
少しでもデータが減った分、後の処理が軽くならないかな~。 ...
- この件は雰囲気は伝わったものの、(私がTracker_list を理...
- 上の部分で、$this->pattern に各リスト対象ページを項目ご...
Tracker_list->add() の最後で、preg_match('/' . $this->pat...
各項目名の配列に収納するために、foreach ($this->pattern_f...
例として、デフォルトの:config/plugin/tracker/default/page...
$this->pattern = '(?>\s*\*\s*)(.*)(?>\s*-ページ\:\s*)(.*...
'(?>\s*-状態\:\s*)(.*)(?>\s*-カテゴリー\:\s*)(.*)(?>\s*...
'(?>\s*\*\*\s*メッセージ\s*)(.*)(?>\s*----\s*)(.*)(?>\...
$this->pattern_fields = Array ( [0] => Summary [1] => _r...
[5] => Category [6] => _date [7] => Version [8] => Mess...
[9] => _block_comment )
見にくくなるので適当に加工してます。
です。~
$this->pattern_fields = array_intersect($this->pattern_fi...
「$this->pattern_fields の各値の中で、予約語など($this->...
という処理です。
入力ミスがなければ、該当するのはブロック型プラグイン(_bl...
上の例で言えば、水平線以降のコメント部分が該当します。~
~上の例だと、実際に$this->rows に入るのは各ページ10項目で...
_block_comment をリストの表示につかわない((リストのページ...
同じプラグインが複数回使われたとしても、今の置き換えルー...
設定されていない項目のデータを得なくてもかまわないだろう...
- :confing/tracker/default の場合、 array_intersect() で...
-- このパッチの主張が「[_block_XXX] についての $this->pat...
-- そうならば array_intersect() を後からかけるより、while...
-- Tracker_list::add() を見てようやく理解できました。確か...
-- [[cvs:plugin/tracker.inc.php]] (r1.49) -- [[henoheno]]...
-- 元の提案のままだと block plugin などをかわすための仮想...
- 動作の確認しました。この部分の変更については特に問題も...
//#comment
--------
** [rejected] その他: $this->order [#wcdc13d6]
- [[cvs:plugin/tracker.inc.php]] (v 1.38) の中に消し忘れ...
class Tracker_list
{
(中略)
function sort($order)
{
if ($order == '')
{
return;
}
$names = array_flip(array_keys($this->fields));
$this->order = array();//これ
foreach (explode(';',$order) as $item)
{
初期化処理をTracker_list->Tracker_list() に移した時に、見...
-- $this->order は、Tracker_list::sort() を実行する度に初...
- あ、通常(改造なし)の利用しか考えてませんでした。とい...
//#comment
--------
** [fixed] その他: 表示上限をマイナスで指定した時 [#f4532...
- 表示上限をマイナスで指定した時にメッセージがおかしくな...
例
全50件中、上位-20件を表示しています。
array_splice()は負の値にも対応しているので、リストには、...
表示上限としているので、負の値とした時に無効とするか、メ...
下は該当箇所周辺です。
// $Id: tracker.inc.php,v 1.38 2007/06/10 14:17:01 henohe...
(中略)
class Tracker_list
{
(中略)
function toString($limit=NULL)
{
global $_tracker_messages;
$source = array();
$body = array();
$count = count($this->rows);
if ($limit !== NULL && $count > $limit)
{
$source[] = str_replace(
array('$1', '$2'),
array($count,$limit),
$_tracker_messages['msg_limit']) . "\n";
$this->rows = array_splice($this->rows,0,$limit);
}
if (empty($this->rows))
{
return '';
}
(中略)
foreach ($this->rows as $row)
{
if (! TRACKER_LIST_SHOW_ERROR_PAGE && ! $row['_match'])
{
continue;
}
(以降、略)
表示上限が0 のときは、if (empty($this->rows)) が拾ってく...
それとこの部分に関連して、「項目の取り出しに失敗したペー...
まずこの部分で、ソートした後の$this->rows を表示上限まで...
全50件中、上位20件を表示しています。
となっていても、実際にはリストが20件でない可能性がありま...
- #tracker_list の引数「表示上限」にマイナスを入れると、...
-- とりあえず現状、0とすると制限なしとして動作、0未満の値...
#comment
--------
** その他: ヘルプの記載と実際の動作の違いについて [#s2cf6...
- ページのタイトルとは少し外れますが、最近ここを中心にCle...
[[tracker_list のヘルプ>PukiWiki/1.4/Manual/Plugin/S-U#t7...
ヘッダ行やフッタ行に表示されるリンクの表示を制御できるか...
今のバージョンだと例えば昇順固定にしていてもその項目に、...
どちらにあわせて修正する方がいいのかがわからないのでとり...
- 追記ありがとうございます。編集認証の話とか色々あって、...
- 「昇順固定」「降順固定」という脚注は見逃していました。A...
- Tracker_list->sort() でASCをSORT_ASCにといった様に置き...
- 今の Tracker_list::sort() は ASC と SORT_ASC を完全に同...
- tracker_list 周りのこの辺りの下地は大体直しましたが、周...
-- ええと、あまりいい答えじゃない気がしますが。~
私がこの機能について疑問を抱いたのは、[[ぱんだ:tracker.in...
どの機能が先で、どれが後から追加されたかがあまりわかって...
それで(2)の質問なのですが、今すぐぱっと思いつくのはBugTra...
参考になるか微妙なんですが、ひとまずこんなところで。もっ...
-- 便利さを読み取れていないという点で同じ立場みたいですね...
- 別の場所でも触れましたが、ASC, DESC ともに、 SORT_ASC, ...
-- (少し話題からずれますが)[[tracker 系のヘルプ>PukiWik...
--- バージョンつながりから今気づいたので、ついでにメモ。2...
#comment
** 改行の扱い (tracker_listにおいて、表が崩れたり、意図し...
- (=> [[BugTrack2/275]] に移動しました)
-----------------
* コメント [#g4b13ec1]
- その他にもざっくり手を入れました。まだ妙な部分はいろい...
-- [[cvs:plugin/tracker.inc.php]] (1.37) -- 何か妙なとこ...
-- (今回の修正では、体感上の速度は変わらないかも) -- [[he...
-- なお、めったに使われていないかと思いますが、bugtrackプ...
[[tracker/1]], [[tracker/2]], ... という形でtrackerが展...
[[tracker/3]] の中身が 'move to [[foobar]]' だったならば...
[[tracker/3]] の代わりに [[foobar]] を表示する。しかし、...
中身が例えば 'move to [[tracker/4]]' だった時、tracker_l...
を二回表示してしまう。
(移動先が tracker/ 以下でなければこのような挙動は起きない)
- 他の方が見つけられたからageられたのであろう、tracker関...
- 関連: [[BugTrack/599]] tracker_listでブラケットがそのま...
- (1.78) 記載の「TODO: Why not $pagename」について少しコ...
もし今のままこの部分で$pagename を採用(代入)すると、ソ...
もし今、$pagename を採用して'_real'だけでソートしたら......
質問箱4/1
質問箱4/10
質問箱4/100
質問箱4/101
質問箱4/102
質問箱4/103
質問箱4/104
質問箱4/105
質問箱4/106
質問箱4/107
質問箱4/108
質問箱4/109
質問箱4/11
質問箱4/110
--1,2,3,...と順番に並べることができるのはメリットだと思う...
- 解説つきのコメントをありがとうございます。ここで実現し...
-- [[cvs:plugin/tracker.inc.php]] (r1.82) -- &new{2007-0...
-- (r1.85) で試しました。かなりいいですよね。ここから先は...
- [[開発日記/2007-11-05]], [[BugTrack2/284]] -- &new{201...
#comment
-----------------
* 補足 [#o5fade0c]
- tracker, tracker_list 両プラグインから呼び出されるもの...
[[cvs:plugin/tracker.inc.php]] (v 1.38) には特にコメント...
蛇足な気はしますが、簡単に役割の説明を。
: Tracker_field->Tracker_field()|
plugin_tracker_get_fields() で、クラスのインスタンスを生...
: Tracker_field->get_tag()|
plugin_tracker_convert() が、入力フォームを形成するために...
: Tracker_field->get_style()|
Tracker_list->replace_item() が、リストの各項目に応じてテ...
例えば、defaultの[Status]で、提案のスタイルを適用すると...
単純に%s を各データに置き換えるだけなので、
表形式以外でこの機能を使うには、「&color(,#ffccff){%s};...
: Tracker_field->format_value()|
plugin_tracker_action() が、フォームから送信されたデータ...
: Tracker_field->format_cell()|
Tracker_list->replace_item() が、ページに記録されたデータ...
例えば、textarea のデータを表形式に対応させるため改行を...
例えば、[_update]等の日時データを人が読める形式にする
など...
: Tracker_field->get_value()|
Tracker_list->sort() が、ソート専用の値を得るために、呼び...
例えば、defaultの[Status]は、提案は0番、着手は1番、...、...
ただ、その他の値は、意図した順番(最初か最後)にならない...
- 今ソースに記載されている順と、実際の呼び出し順が違った...
-----
*test&br;TEST [#dc0e929e]
*test&br;TEST
:test&br;TEST|test&br;TEST
:test&br;TEST|test&br;TEST
|test&br;TEST|test&br;TEST|
|test&br;TEST|test&br;TEST|
,test&br;TEST,test&br;TEST
,test&br;TEST,test&br;TEST
-test&br;TEST
-test&br;TEST
&size(22){test&br;TEST};
&size(22){test&br;TEST};
終了行:
* Tracker_list プラグインの無駄な処理 [#n257252a]
- ページ: [[BugTrack2]]
- 投稿者: 名無しさん
- 優先順位: 低
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2007-05-30 (水) 01:32:59
- バージョン:
#contents
** [fixed] fixed heading anchor を削除する処理が過剰 (二...
次の部分の処理が無駄だと思うのですが、いかがでしょう。
// $Id: tracker.inc.php,v 1.36 2007/03/29 15:05:52 henoh...
(中略)
class Tracker_list
{
(中略)
function add($page,$name)
{
(中略)
$source = plugin_tracker_get_source($page);
if (preg_match('/move\sto\s(.+)/',$source[0],$matches))
{
(中略)
return $this->add($page,$name);
}
$source = join('',preg_replace('/^(\*{1,3}.*)\[#[A-Za-z...
(中略)
function plugin_tracker_get_source($page)
{
$source = get_source($page);
// 見出しの固有ID部を削除
$source = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\]...
// #freezeを削除
return preg_replace('/^#freeze\s*$/im', '', $source);
}
plugin_tracker_get_source の途中、preg_replace でアンカー...
plugin_tracker_get_source で呼び出したソースに、もう一度...
この部分は、
- $source = join('',preg_replace('/^(\*{1,3}.*)\[#[A-Za...
+ $source = join('',$source);
と修正したほうが、よいと思います。
- コメントありがとうございます。この件、正規表現も完全一...
-- [[cvs:plugin/tracker.inc.php]] (1.37) -- まさにその通...
- 確認しました。この部分は完了ですね。 -- &new{2007-06-1...
//#comment
--------
** [fixed] unset() すべきリソース [#s0d4de98]
- [[BugTrack2/159]] を見たので、これも修正候補という事で...
// $Id: tracker.inc.php,v 1.36 2007/03/29 15:05:52 henoh...
// Copyright (C) 2003-2005 PukiWiki Developers Team
(中略)
class Tracker_list
{
(中略)
function add($page,$name)
{
(中略)
if ($this->rows[$name]['_match'] = preg_match("/{$this-...
{
+ unset($source);
array_shift($matches);
foreach ($this->pattern_fields as $key=>$field)
{
$this->rows[$name][$field] = trim($matches[$key]);
}
}
}
(中略)
function toString($limit=NULL)
{
(中略)
foreach ($this->rows as $key=>$row)
{
if (!TRACKER_LIST_SHOW_ERROR_PAGE and !$row['_match'])
{
+ unset($this->rows[$key]);
continue;
}
$this->items = $row;
foreach ($body as $line)
{
if (trim($line) == '')
{
$source .= $line;
continue;
}
$this->pipe = ($line{0} == '|' or $line{0} == ':');
$source .= preg_replace_callback('/\[([^\[\]]+)\]/',a...
}
+ unset($this->rows[$key]);
}
return convert_html($source);
}
1つ目のTracker_list->add() でのunset は、「1ページ分のソ...
2つ目のTracker_list->toString() でのunset は、「リストの...
って効果を実証できてない。テストを準備して~の時点でつま...
- 一つ目の unset() の意図はわかりました。問題ないかと思い...
-- [[cvs:plugin/tracker.inc.php]] (1.37) -- 一つ目のunset...
-確認しました。2つ目はreturn でtoString() を呼んでいるの...
//#comment
------------------------
** [fixed] 不要なフィールドをテーブルに抱え込んでいる [#m...
- そもそも、予約語やテンプレート名のページ((デフォルトな...
// $Id: tracker.inc.php,v 1.36 2007/03/29 15:05:52 henoh...
(中略)
class Tracker_list
{
(中略)
function Tracker_list($page,$refer,&$config,$list)
{
(中略)
while (count($pattern))
{
$this->pattern .= preg_replace('/\s+/','\\s*','(?>\\s*...
if (count($pattern))
{
$field = array_shift($pattern);
$this->pattern_fields[] = $field;
$this->pattern .= '(.*)';
}
}
+ $this->pattern_fields = array_intersect($this->patter...
// ページの列挙と取り込み
$this->rows = array();
少しでもデータが減った分、後の処理が軽くならないかな~。 ...
- この件は雰囲気は伝わったものの、(私がTracker_list を理...
- 上の部分で、$this->pattern に各リスト対象ページを項目ご...
Tracker_list->add() の最後で、preg_match('/' . $this->pat...
各項目名の配列に収納するために、foreach ($this->pattern_f...
例として、デフォルトの:config/plugin/tracker/default/page...
$this->pattern = '(?>\s*\*\s*)(.*)(?>\s*-ページ\:\s*)(.*...
'(?>\s*-状態\:\s*)(.*)(?>\s*-カテゴリー\:\s*)(.*)(?>\s*...
'(?>\s*\*\*\s*メッセージ\s*)(.*)(?>\s*----\s*)(.*)(?>\...
$this->pattern_fields = Array ( [0] => Summary [1] => _r...
[5] => Category [6] => _date [7] => Version [8] => Mess...
[9] => _block_comment )
見にくくなるので適当に加工してます。
です。~
$this->pattern_fields = array_intersect($this->pattern_fi...
「$this->pattern_fields の各値の中で、予約語など($this->...
という処理です。
入力ミスがなければ、該当するのはブロック型プラグイン(_bl...
上の例で言えば、水平線以降のコメント部分が該当します。~
~上の例だと、実際に$this->rows に入るのは各ページ10項目で...
_block_comment をリストの表示につかわない((リストのページ...
同じプラグインが複数回使われたとしても、今の置き換えルー...
設定されていない項目のデータを得なくてもかまわないだろう...
- :confing/tracker/default の場合、 array_intersect() で...
-- このパッチの主張が「[_block_XXX] についての $this->pat...
-- そうならば array_intersect() を後からかけるより、while...
-- Tracker_list::add() を見てようやく理解できました。確か...
-- [[cvs:plugin/tracker.inc.php]] (r1.49) -- [[henoheno]]...
-- 元の提案のままだと block plugin などをかわすための仮想...
- 動作の確認しました。この部分の変更については特に問題も...
//#comment
--------
** [rejected] その他: $this->order [#wcdc13d6]
- [[cvs:plugin/tracker.inc.php]] (v 1.38) の中に消し忘れ...
class Tracker_list
{
(中略)
function sort($order)
{
if ($order == '')
{
return;
}
$names = array_flip(array_keys($this->fields));
$this->order = array();//これ
foreach (explode(';',$order) as $item)
{
初期化処理をTracker_list->Tracker_list() に移した時に、見...
-- $this->order は、Tracker_list::sort() を実行する度に初...
- あ、通常(改造なし)の利用しか考えてませんでした。とい...
//#comment
--------
** [fixed] その他: 表示上限をマイナスで指定した時 [#f4532...
- 表示上限をマイナスで指定した時にメッセージがおかしくな...
例
全50件中、上位-20件を表示しています。
array_splice()は負の値にも対応しているので、リストには、...
表示上限としているので、負の値とした時に無効とするか、メ...
下は該当箇所周辺です。
// $Id: tracker.inc.php,v 1.38 2007/06/10 14:17:01 henohe...
(中略)
class Tracker_list
{
(中略)
function toString($limit=NULL)
{
global $_tracker_messages;
$source = array();
$body = array();
$count = count($this->rows);
if ($limit !== NULL && $count > $limit)
{
$source[] = str_replace(
array('$1', '$2'),
array($count,$limit),
$_tracker_messages['msg_limit']) . "\n";
$this->rows = array_splice($this->rows,0,$limit);
}
if (empty($this->rows))
{
return '';
}
(中略)
foreach ($this->rows as $row)
{
if (! TRACKER_LIST_SHOW_ERROR_PAGE && ! $row['_match'])
{
continue;
}
(以降、略)
表示上限が0 のときは、if (empty($this->rows)) が拾ってく...
それとこの部分に関連して、「項目の取り出しに失敗したペー...
まずこの部分で、ソートした後の$this->rows を表示上限まで...
全50件中、上位20件を表示しています。
となっていても、実際にはリストが20件でない可能性がありま...
- #tracker_list の引数「表示上限」にマイナスを入れると、...
-- とりあえず現状、0とすると制限なしとして動作、0未満の値...
#comment
--------
** その他: ヘルプの記載と実際の動作の違いについて [#s2cf6...
- ページのタイトルとは少し外れますが、最近ここを中心にCle...
[[tracker_list のヘルプ>PukiWiki/1.4/Manual/Plugin/S-U#t7...
ヘッダ行やフッタ行に表示されるリンクの表示を制御できるか...
今のバージョンだと例えば昇順固定にしていてもその項目に、...
どちらにあわせて修正する方がいいのかがわからないのでとり...
- 追記ありがとうございます。編集認証の話とか色々あって、...
- 「昇順固定」「降順固定」という脚注は見逃していました。A...
- Tracker_list->sort() でASCをSORT_ASCにといった様に置き...
- 今の Tracker_list::sort() は ASC と SORT_ASC を完全に同...
- tracker_list 周りのこの辺りの下地は大体直しましたが、周...
-- ええと、あまりいい答えじゃない気がしますが。~
私がこの機能について疑問を抱いたのは、[[ぱんだ:tracker.in...
どの機能が先で、どれが後から追加されたかがあまりわかって...
それで(2)の質問なのですが、今すぐぱっと思いつくのはBugTra...
参考になるか微妙なんですが、ひとまずこんなところで。もっ...
-- 便利さを読み取れていないという点で同じ立場みたいですね...
- 別の場所でも触れましたが、ASC, DESC ともに、 SORT_ASC, ...
-- (少し話題からずれますが)[[tracker 系のヘルプ>PukiWik...
--- バージョンつながりから今気づいたので、ついでにメモ。2...
#comment
** 改行の扱い (tracker_listにおいて、表が崩れたり、意図し...
- (=> [[BugTrack2/275]] に移動しました)
-----------------
* コメント [#g4b13ec1]
- その他にもざっくり手を入れました。まだ妙な部分はいろい...
-- [[cvs:plugin/tracker.inc.php]] (1.37) -- 何か妙なとこ...
-- (今回の修正では、体感上の速度は変わらないかも) -- [[he...
-- なお、めったに使われていないかと思いますが、bugtrackプ...
[[tracker/1]], [[tracker/2]], ... という形でtrackerが展...
[[tracker/3]] の中身が 'move to [[foobar]]' だったならば...
[[tracker/3]] の代わりに [[foobar]] を表示する。しかし、...
中身が例えば 'move to [[tracker/4]]' だった時、tracker_l...
を二回表示してしまう。
(移動先が tracker/ 以下でなければこのような挙動は起きない)
- 他の方が見つけられたからageられたのであろう、tracker関...
- 関連: [[BugTrack/599]] tracker_listでブラケットがそのま...
- (1.78) 記載の「TODO: Why not $pagename」について少しコ...
もし今のままこの部分で$pagename を採用(代入)すると、ソ...
もし今、$pagename を採用して'_real'だけでソートしたら......
質問箱4/1
質問箱4/10
質問箱4/100
質問箱4/101
質問箱4/102
質問箱4/103
質問箱4/104
質問箱4/105
質問箱4/106
質問箱4/107
質問箱4/108
質問箱4/109
質問箱4/11
質問箱4/110
--1,2,3,...と順番に並べることができるのはメリットだと思う...
- 解説つきのコメントをありがとうございます。ここで実現し...
-- [[cvs:plugin/tracker.inc.php]] (r1.82) -- &new{2007-0...
-- (r1.85) で試しました。かなりいいですよね。ここから先は...
- [[開発日記/2007-11-05]], [[BugTrack2/284]] -- &new{201...
#comment
-----------------
* 補足 [#o5fade0c]
- tracker, tracker_list 両プラグインから呼び出されるもの...
[[cvs:plugin/tracker.inc.php]] (v 1.38) には特にコメント...
蛇足な気はしますが、簡単に役割の説明を。
: Tracker_field->Tracker_field()|
plugin_tracker_get_fields() で、クラスのインスタンスを生...
: Tracker_field->get_tag()|
plugin_tracker_convert() が、入力フォームを形成するために...
: Tracker_field->get_style()|
Tracker_list->replace_item() が、リストの各項目に応じてテ...
例えば、defaultの[Status]で、提案のスタイルを適用すると...
単純に%s を各データに置き換えるだけなので、
表形式以外でこの機能を使うには、「&color(,#ffccff){%s};...
: Tracker_field->format_value()|
plugin_tracker_action() が、フォームから送信されたデータ...
: Tracker_field->format_cell()|
Tracker_list->replace_item() が、ページに記録されたデータ...
例えば、textarea のデータを表形式に対応させるため改行を...
例えば、[_update]等の日時データを人が読める形式にする
など...
: Tracker_field->get_value()|
Tracker_list->sort() が、ソート専用の値を得るために、呼び...
例えば、defaultの[Status]は、提案は0番、着手は1番、...、...
ただ、その他の値は、意図した順番(最初か最後)にならない...
- 今ソースに記載されている順と、実際の呼び出し順が違った...
-----
*test&br;TEST [#dc0e929e]
*test&br;TEST
:test&br;TEST|test&br;TEST
:test&br;TEST|test&br;TEST
|test&br;TEST|test&br;TEST|
|test&br;TEST|test&br;TEST|
,test&br;TEST,test&br;TEST
,test&br;TEST,test&br;TEST
-test&br;TEST
-test&br;TEST
&size(22){test&br;TEST};
&size(22){test&br;TEST};
ページ名: