- 追加された行はこの色です。
- 削除された行はこの色です。
* 編集時に整形ルールを表示すると、整形ルールの部分で相対リンクや凍結の判定などをミスしている [#eff6e61b]
* 編集時に整形ルールを表示していると、その部分で相対リンクや凍結の判定などをミスしている [#eff6e61b]
- ページ: [[BugTrack2]]
- 投稿者: 名無しさん
- 優先順位: 普通
- 状態: 提案
- カテゴリー: 本体バグ
- 投稿日: 2007-11-14 (水) 00:16:33
- バージョン:
** メッセージ [#y14f388f]
編集中に「整形ルールを表示する」を選んだ時はcatrule() を呼び出していますが、$vars['page'] を修正していないので、今編集しているページ名を相対リンクや凍結判定の基準にしてしまっています。
編集中に「テキスト整形のルールを表示する」を選んだ時はcatrule() を呼び出していますが、&br;$vars['page'] を修正していないので、今編集しているページ名を相対リンクや凍結判定の基準にしてしまっています。
なので、見出し横のアンカー表示のリンク先が編集中のページ名になっていたり、整形ルールのページを凍結していても'#nofollow: Page not freezed' と表示されてしまいます。
include プラグインを参考に、include プラグインがなくても動く修正を考えてみました。
[[cvs:lib/func.php]] (1.93)
function catrule()
{
global $rule_page;
if (! is_page($rule_page)) {
return '<p>Sorry, page \'' . htmlspecialchars($rule_page) .
'\' unavailable.</p>';
} else {
- return convert_html(get_source($rule_page));
+ $root = isset($vars['page']) ? $vars['page'] : '';
+ $get['page'] = $post['page'] = $vars['page'] = $rule_page;
+ $text = convert_html(get_source($rule_page));
+ $get['page'] = $post['page'] = $vars['page'] = $root;
+ return $text;
}
}
--------
#comment