BugTrack/2187
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
RIGHT:&size(12){Category:[[:Plugin]]};
* bugtrack_list プラグインで、&と表示される [#b87...
- ページ: [[BugTrack2]]
- 投稿者: [[muu-muu-]]
- 優先順位: 低
- 状態: 完了
- カテゴリー: 本体バグ
- 投稿日: 2006-07-03 (月) 14:15:48
- バージョン: 1.4.7
- リリース予定バージョン: 1.5.2
** メッセージ [#j2ae6029]
bugtrack プラグインのサマリに、&を含む文字列を入力して追...
bugtrack_list プラグインで一覧を表示すると、サマリ中の&am...
[[BugTrack2]]で、[[BugTrack2/18]]のサマリを見ると、現象を...
**原因 [#d81774d4]
plugin_bugtrack_list_convert() の戻り値までは、正常だった...
--------
- なるほど、お知らせいただきありがとうございます :) -- [[...
- いろいろ試してわかったことを書きます。ていうか、試して...
-- 'summary' 以外は正常に動作していそうです。~
「'summary', 'name', 'priority', 'state', 'category'」の...
'summary'だけ " に変わっていました。~
テスト場所は、[[お試しサイト>test1.4:FrontPage]]です。何...
- ひと休みして調査してみたら原因がわかりました。 -- &new...
//もし写し間違いがあった場合は、指摘をよろしくお願いします
-- 上のから、値を代入するときが怪しいので見てみました。
// $Id: bugtrack.inc.php,v 1.25 2005/04/03 03:33:47 heno...
(中略)
function plugin_bugtrack_list_pageinfo($page, $no = NULL...
{
global $WikiName, $InterWikiName, $BracketName, $_plugin...
(中略)
$body = join("\n", $source);
foreach(array('summary', 'name', 'priority', 'state', 'c...
$regex = '/-\s*' . preg_quote($_plugin_bugtrack[$item],...
if (preg_match($regex, $body, $matches)) {
if ($item == 'name') {
$$item = strip_bracket(trim($matches[1]));
} else {
$$item = trim($matches[1]);
}
} else {
$$item = ''; // Data not found
}
}
if (preg_match("/\*([^\n]*)/", $body, $matches)) {
$summary = $matches[1];
make_heading($summary);
}
return array($page, $no, $summary, $name, $priority, $st...
}
$summary とそれ以外の大きな違いが、make_heading を使って...
if (preg_match("/\*([^\n]*)/", $body, $matches)) {
$summary = $matches[1];
make_heading($summary, FALSE);
としてみました。その結果、注釈が一覧に表示されるようにな...
もし、bugtrack.inc.php だけに修正範囲をとどめるのなら、こ...
// $Id: bugtrack.inc.php,v 1.25 2005/04/03 03:33:47 heno...
(中略)
function plugin_bugtrack_list_pageinfo($page, $no = NULL...
{
- global $WikiName, $InterWikiName, $BracketName, $_plug...
+ global $WikiName, $InterWikiName, $BracketName, $_plug...
(中略)
if (preg_match("/\*([^\n]*)/", $body, $matches)) {
- $summary = $matches[1];
+ $summary = preg_replace($NotePattern, '', $matches[1]);
- make_heading($summary);
+ make_heading($summary, FALSE);
}
return array($page, $no, $summary, $name, $priority, $st...
}
たぶん問題ないと思いますが、確認をお願いします。 -- &new...
--- 全パラメータに対してhtmlspecialchars しているところか...
-- これだけだと、どこでhtmlspecialchars を実行しているの...
// $Id: html.php,v 1.59 2007/02/11 05:53:30 henoheno Exp $
(中略)
function make_heading(& $str, $strip = TRUE)
{
(中略)
// Cut footnotes and tags
if ($strip === TRUE)
$str = strip_htmltag(make_link(preg_replace($NotePatter...
return $id;
}
make_heading には、htmlspecialchars が無かったので、次にm...
// $Id: make_link.php,v 1.35 2006/09/30 02:10:50 henohen...
(中略)
// Hyperlink decoration
function make_link($string, $page = '')
{
global $vars;
static $converter;
if (! isset($converter)) $converter = new InlineConverte...
$clone = $converter->get_clone($converter);
return $clone->convert($string, ($page != '') ? $page : ...
}
// Converters of inline element
class InlineConverter
{
var $converters; // as array()
var $pattern;
var $pos;
var $result;
(中略)
function convert($string, $page)
{
$this->page = $page;
$this->result = array();
$string = preg_replace_callback('/' . $this->pattern . ...
array(& $this, 'replace'), $string);
$arr = explode("\x08", make_line_rules(htmlspecialchars...
$retval = '';
while (! empty($arr)) {
$retval .= array_shift($arr) . array_shift($this->resu...
}
return $retval;
}
結論だけを書くためにかなり省略してますが、function conver...
$arr = explode("\x08", make_line_rules(htmlspecialchars...
の部分で1回実行していたようです。~
このプラグイン以外で「 make_heading($str [, TRUE]) 」 の...
- 対応しました。summaryはhtmlscしないようにしました [[com...
#comment
終了行:
RIGHT:&size(12){Category:[[:Plugin]]};
* bugtrack_list プラグインで、&と表示される [#b87...
- ページ: [[BugTrack2]]
- 投稿者: [[muu-muu-]]
- 優先順位: 低
- 状態: 完了
- カテゴリー: 本体バグ
- 投稿日: 2006-07-03 (月) 14:15:48
- バージョン: 1.4.7
- リリース予定バージョン: 1.5.2
** メッセージ [#j2ae6029]
bugtrack プラグインのサマリに、&を含む文字列を入力して追...
bugtrack_list プラグインで一覧を表示すると、サマリ中の&am...
[[BugTrack2]]で、[[BugTrack2/18]]のサマリを見ると、現象を...
**原因 [#d81774d4]
plugin_bugtrack_list_convert() の戻り値までは、正常だった...
--------
- なるほど、お知らせいただきありがとうございます :) -- [[...
- いろいろ試してわかったことを書きます。ていうか、試して...
-- 'summary' 以外は正常に動作していそうです。~
「'summary', 'name', 'priority', 'state', 'category'」の...
'summary'だけ " に変わっていました。~
テスト場所は、[[お試しサイト>test1.4:FrontPage]]です。何...
- ひと休みして調査してみたら原因がわかりました。 -- &new...
//もし写し間違いがあった場合は、指摘をよろしくお願いします
-- 上のから、値を代入するときが怪しいので見てみました。
// $Id: bugtrack.inc.php,v 1.25 2005/04/03 03:33:47 heno...
(中略)
function plugin_bugtrack_list_pageinfo($page, $no = NULL...
{
global $WikiName, $InterWikiName, $BracketName, $_plugin...
(中略)
$body = join("\n", $source);
foreach(array('summary', 'name', 'priority', 'state', 'c...
$regex = '/-\s*' . preg_quote($_plugin_bugtrack[$item],...
if (preg_match($regex, $body, $matches)) {
if ($item == 'name') {
$$item = strip_bracket(trim($matches[1]));
} else {
$$item = trim($matches[1]);
}
} else {
$$item = ''; // Data not found
}
}
if (preg_match("/\*([^\n]*)/", $body, $matches)) {
$summary = $matches[1];
make_heading($summary);
}
return array($page, $no, $summary, $name, $priority, $st...
}
$summary とそれ以外の大きな違いが、make_heading を使って...
if (preg_match("/\*([^\n]*)/", $body, $matches)) {
$summary = $matches[1];
make_heading($summary, FALSE);
としてみました。その結果、注釈が一覧に表示されるようにな...
もし、bugtrack.inc.php だけに修正範囲をとどめるのなら、こ...
// $Id: bugtrack.inc.php,v 1.25 2005/04/03 03:33:47 heno...
(中略)
function plugin_bugtrack_list_pageinfo($page, $no = NULL...
{
- global $WikiName, $InterWikiName, $BracketName, $_plug...
+ global $WikiName, $InterWikiName, $BracketName, $_plug...
(中略)
if (preg_match("/\*([^\n]*)/", $body, $matches)) {
- $summary = $matches[1];
+ $summary = preg_replace($NotePattern, '', $matches[1]);
- make_heading($summary);
+ make_heading($summary, FALSE);
}
return array($page, $no, $summary, $name, $priority, $st...
}
たぶん問題ないと思いますが、確認をお願いします。 -- &new...
--- 全パラメータに対してhtmlspecialchars しているところか...
-- これだけだと、どこでhtmlspecialchars を実行しているの...
// $Id: html.php,v 1.59 2007/02/11 05:53:30 henoheno Exp $
(中略)
function make_heading(& $str, $strip = TRUE)
{
(中略)
// Cut footnotes and tags
if ($strip === TRUE)
$str = strip_htmltag(make_link(preg_replace($NotePatter...
return $id;
}
make_heading には、htmlspecialchars が無かったので、次にm...
// $Id: make_link.php,v 1.35 2006/09/30 02:10:50 henohen...
(中略)
// Hyperlink decoration
function make_link($string, $page = '')
{
global $vars;
static $converter;
if (! isset($converter)) $converter = new InlineConverte...
$clone = $converter->get_clone($converter);
return $clone->convert($string, ($page != '') ? $page : ...
}
// Converters of inline element
class InlineConverter
{
var $converters; // as array()
var $pattern;
var $pos;
var $result;
(中略)
function convert($string, $page)
{
$this->page = $page;
$this->result = array();
$string = preg_replace_callback('/' . $this->pattern . ...
array(& $this, 'replace'), $string);
$arr = explode("\x08", make_line_rules(htmlspecialchars...
$retval = '';
while (! empty($arr)) {
$retval .= array_shift($arr) . array_shift($this->resu...
}
return $retval;
}
結論だけを書くためにかなり省略してますが、function conver...
$arr = explode("\x08", make_line_rules(htmlspecialchars...
の部分で1回実行していたようです。~
このプラグイン以外で「 make_heading($str [, TRUE]) 」 の...
- 対応しました。summaryはhtmlscしないようにしました [[com...
#comment
ページ名: