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

BugTrack-plugin/424

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

ページ名のチェック処理を拡張するブラグイン

  • 投稿者: MRB
  • カテゴリ: 新規
  • 優先度: 低
  • 状態: 完了
  • 日時: 2015年02月07日 00時24分56秒

 内容

ページを保存するときにページ名がFSWikiで利用可能かどうかをチェックする処理を拡張するプラグインです。

 

plugin.zip(103)

 いきさつ

UTF8対応をしているときにページ名が長くなりすぎないようにチェックしたかったのですが、標準ではWiki::save_pageのサブルーチンの中のif文中にチェック処理が書かれており、再利用できなかったので、チェック処理そのものをサブルーチン化しました。

また、Plugin::core::EditPageでもページ名のチェック処理がされているので、その処理を上書きます。

 使い方など

通常のプラグインのインストール方法と同じです。「_ex_check_pagename」「zzz_check_pagename」両方を有効化してください。前者がWiki::save_pageの拡張、後者が「Plugin::core::EditPage」の書き換えです。

 その他

  • 元々UTF8対応用に作っていたのでファイル内の説明文がUTF8云々となっていますが、無視してください。
  • ページ名として利用できるものは標準よりかなり厳しくしています(一部記号のみ)。不都合がある場合は修正ください。

 コメント

  • EditPage.pmからページ名チェック処理の実行方法が間違っていたのと、チェック処理の正規表現が正しくなかった部分を修正しました - MRB (2015年02月11日 00時48分56秒)
  • save_before フックを利用することでもチェックすること自体は可能です。その後の動作をどうするかと言うのはありますけど・・・。ページ名の特定の文字を代替文字に置換するような場合はWiki::save_page内を修正する必要はありますけどね。 - KG (2015年02月12日 09時27分27秒)
  • なるほど、そういう手もあるんですね。いずれにしても、categoryプラグインのようにwikiページを作成するプラグインで利用できるよう、本体側で実装してもらえるのがありがたいです。希望薄ですが - MRB (2015年02月13日 07時45分08秒)
  • check_pagename 内のチェックでは連続したコロン("\x3a")が使用できないようになっていますね。また、スペースのみの部分は "^[\s]+$" とした方がよさそうです。ページ名チェックに関してはUtil.pm辺りに外だしを検討してみます。 - KG (2018年01月15日 18時29分19秒)
  • 標準検証部分のみにしてコミットしました。 - KG (2018年03月23日 18時43分40秒)
お名前: コメント:
plugin.zip

最終更新時間:2018年03月23日 18時43分49秒