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