cmdもpluginも指定されていない場合、GETの引数指定(&...)があると、「有効なWikiNameではありません」と表示される。

メッセージ

lib/init.phpにて、cmdもpluginも指定されていない場合は、QUERY_STRINGをページ名かInterWikiNameであるとみなしているため、アンカー指定(#...)やGETの引数指定(&...)までがページ名として$vars['page']に入ってしまい、plugin/read.inc.phpで「有効なWikiNameではありません」とエラー出力してしまう。

lib/init.phpのl.354

- $get['page'] = $post['page'] = $vars['page'] = $arg;
+ $get['page'] = $post['page'] = $vars['page'] = preg_replace("/(.*?)[#&].*/", "$1", $arg);

として、#もしくは&以降は削ってしまってはどうでしょうか。

pukiwiki:自作プラグイン/areaedit.inc.phpのv0.18が動かないのがきっかけで調査しました。記入時に#areaedit数値へとぶ機能が追加されると、「有効なWikiNameではありません」と表示されるようになってしまいました。このプラグインの動作確認は1.4.3だったようなので、それ以降のバージョンでのデグレードでしょうか?

実装



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-02-02 (木) 22:55:48
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.760 sec.

OSDN