編集時に整形ルールを表示していると、その部分で相対リンクや凍結の判定などをミスしている

  • ページ: BugTrack
  • 投稿者: 名無しさん
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2007-11-14 (水) 00:16:33
  • バージョン: 1.4.7
  • リリース予定バージョン: 1.5.2

メッセージ

編集中に「テキスト整形のルールを表示する」を選んだ時はcatrule() を呼び出していますが、
$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;
 	}
 }

  • BugTrack/2266 の対応で編集中の「テキスト整形のルールを表示する」では別ページを表示するようになりました。完了とします -- umorigu 2017-10-27 (金) 07:19:04


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-10-27 (金) 07:19:36
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.253 sec.

OSDN