#author("2017-08-27T11:18:03+09:00","default:user","user")
#author("2017-08-27T19:37:08+09:00;2017-08-27T11:18:03+09:00","","")
* editプラグインで、テンプレート呼び出しボタンをクリックしたかどうかが正しく判断されていない [#t917285e]

- ページ: [[BugTrack2]]
- ページ: [[BugTrack]]
- 投稿者: [[ぃぉぃぉ]]
- 優先順位: 普通
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2007-07-06 (金) 03:35:58
- バージョン: 1.4.7(edit.inc.php : v 1.40)
- リリース予定バージョン: 1.5.2

** メッセージ [#ec3f7862]
editプラグインで、テンプレート呼び出しボタンをクリックしたかどうかが正しく判断されていません。雛形とするページのセレクトボックスを選択したかどうかで判断されています。
plugin/edit.inc.php(v 1.40)のl.46
	// Loading template
	if (isset($vars['template_page']) && is_page($vars['template_page'])) {
が、該当部分です。テンプレート呼び出しボタンを押したかどうかはvars['template']が存在するかどうか(冗長に見るなら=$_btn_load(global)かどうか)を見なくてはいけません。修正案は次のようになります。
	// Loading template
	if (isset($vars['template']) && isset($vars['template_page']) && is_page($vars['template_page'])) {

ちなみに、フォームはlib/html.phpのedit_form()で作成されます。
--------
- 現状では、セレクトボックスを選択していると、プレビューボタンでも選択したページが取り込まれてしまい、編集内容が消えてしまいます。 -- [[ぃぉぃぉ]] &new{2007-07-06 (金) 03:33:37};

- 勝手な補足: メッセージに書いてある問題について。これは、'wiki/.txt' が存在する時に起こるそうです。(参照: [[BugTrack/699#p32ae5fe]])&br;lib/html.phpのedit_form() でページを何も選択していない時、つまり
    <option value="">-- $_btn_template --</option>
が選択されると、メッセージの部分でisset($vars['template_page']) はTRUE を、is_page($vars['template_page']) は'wiki/.txt' が存在する時にTRUE を返すので、テンプレートの読み込みが行われてしまいます。 --  &new{2007-10-13 (土) 14:54:22};
- 好みの問題かもしれませんが、不正なページ名からの読み込みを防げるように、if 条件にis_pagename($vars['template_page']) を追加したほうがいいと思います。&br;PukiWiki 1.3 から1.4 にアップデートしようとする人は昔のページ名形式(&#91;&#91;ページ名&#93;&#93;)からコピーできなくて困るかもしれませんが。 --  &new{2007-10-13 (土) 14:54:22};
- 対応しました commit:cf24849164 -- [[umorigu]] &new{2017-08-27 (日) 11:18:03};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.050 sec.

OSDN