トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-request/92

ページの作成や編集にはユーザ登録が必要です。

ページ名として使えるかどうかチェックするサブモジュール

  • 投稿者: 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秒