ページの作成や編集にはユーザ登録が必要です。
ページ名として使えるかどうかチェックするサブモジュール
- 投稿者: MRB
- カテゴリ: 本体機能要望
- 優先度: 普通
- 状態: 提案
- 日時: 2009年12月10日 02時59分02秒
内容
プラグインの中でページを作成するもの(FSWikiに同梱されているプラグインでは、coreのeditpage、Rename)があります。
これらのプラグインの中で個別にその文字列がページ名として使えるかどうかチェックし、さらにwiki->save_pageの中でも同様にページ名として使えるかどうかチェックしています。
しかし、「その文字列がページ名として使えるかどうか」は、それぞれのプラグイン仕様上その文字列がページ名として使えないのではなく、FSWikiの仕様として使えない、ということだとおもいます。
であれば、本体側のサブモジュールとしてページ名として使えるかどうかチェックするものを実装いただき、必要に応じて各プラグインで呼び出しすれば、本体側の仕様変更でページ名として使える文字が追加・削除されたときに各プラグインも追加修正する必要が無くなり、手間が少なくなってハッピーなのですが、取り込んでもらえないでしょうか。
とりあえず、上記に上げたプラグインでは、editpage.pmとRenameHandler.pmでチェックの内容が異なっています(最後はsave_pageでチェックされるので結果は同じになるのですが)。
(editpage.pm)
if($pagename =~ /([\|\[\]])|^:|([^:]:[^:])/){ return $wiki->error("ページ名に使用できない文字が含まれています。"); }
(RenameHandler.pm)
if($newpagename =~ /[\|:\[\]]/){ return $wiki->error("ページ名に使用できない文字が含まれています。"); }
ちなみにですが、そもそもページ名として使えるかどうかチェックは本体側で行うのだから、プラグイン側では何もせずsave_pageに投げてしまうのが正しいのでしょうか。
最終更新時間:2014年10月30日 11時31分56秒