新規作成認証
<↰認証付きHiki>
この変更はクイックハック 無保証です
この改造は Hiki 0.6.5 を対象にしています。
0.8.X では edit_user.rbプラグイン で十分です(auth_typekey.rb でもOKかも[未確認])
hiki/command.rb
if @db.is_frozen?( page ) unless pass_check
の部分を
if @db.is_frozen?( page ) || ( ! @db.exist?( page ) ) unless pass_check
これでパスワードなしでは新しいページの保存が出来なくなるはず
ここから後はメッセージ関係の修正(たぶんやらないでも大丈夫)
messages/ja.rb
def msg_newpage; '新規' end
を
def msg_newpage; '新規(管理者のみ)' end
に訂正
これはページ上部の新規作成でページを作るときのSubmitボタンタイトル
def msg_page_not_exist; '指定のページは存在しません。ぜひ、作成してください:-)' end
を
def msg_page_not_exist; '指定のページは存在しません。管理者だけ作成できますB-(' end
と修正。これはURLで指定されたページが存在しなかった時のメッセージ
hiki/command.rbの中でもう一箇所のis_frozen?を使っている部分
f = @db.is_frozen?( page ) data[:freeze] = a(:checked => f ? 'on': nil) data[:freeze_msg] = msg_freeze if f data[:form_proc] = @plugin.form_proc.sanitize
の後に
f = ! @db.exist?( page ) data[:freeze_msg] = msg_new if f
を追加してmessages/ja.rbに
def msg_new; 'このページは新しいページです。保存には管理者用のパスワードが必要です。' end
を追加
たぶん大丈夫だけど 特に一番最後の修正で、元の凍結ページ時の処理、
data[:freeze] = a(:checked => f ? 'on': nil)
と
data[:form_proc] = @plugin.form_proc.sanitize
が何をしてるのか理解していないのであくまで自己責任でどうぞ
Keyword(s):
References:[認証付きHiki]