hadai
hadai****@hadai*****
2005年 10月 27日 (木) 01:26:24 JST
ご無沙汰しております。hadai です。 現在の実装では、管理者用パスワードが設定されている場合に 非管理者によるページ削除ができませんが、削除の可否を選択するようにした パッチを作りました。 #とりあえず日本語にしか対応していません。 ニーズがあれば使って頂きたいと思います。 よろしくお願いします。 RCS file: /cvsroot/hiki/hiki/hikiconf.rb.sample,v retrieving revision 1.12 diff -u -r1.12 hikiconf.rb.sample --- hikiconf.rb.sample 28 Jul 2005 15:05:30 -0000 1.12 +++ hikiconf.rb.sample 26 Oct 2005 16:06:58 -0000 @@ -47,6 +47,10 @@ # 更新内容を送信するメールアドレス @mail = 'hoge****@examp*****' +# 非管理者によるページの削除 +# trueにすると非管理者でもページが削除できるようになります。 + @ non_admin_remove = false + # テーマ # 使用するテーマ @theme = 'hiki' RCS file: /cvsroot/hiki/hiki/hiki/command.rb,v retrieving revision 1.75 diff -u -r1.75 command.rb --- hiki/command.rb 13 Sep 2005 08:57:46 -0000 1.75 +++ hiki/command.rb 26 Oct 2005 15:57:22 -0000 @@ -340,7 +340,7 @@ def cmd_save( page, text, md5hex, update_timestamp = true ) raise PermissionError if @session_id && @session_id != @cgi.params['session_id'][0] subject = '' - if text.size == 0 && @plugin.admin? + if text.size == 0 && (@plugin.admin? || @conf.non_admin_remove) @db.delete( page ) @plugin.delete_proc data = get_common_data( @db, @plugin, @conf ) RCS file: /cvsroot/hiki/hiki/hiki/config.rb,v retrieving revision 1.97 diff -u -r1.97 config.rb --- hiki/config.rb 25 Oct 2005 02:51:48 -0000 1.97 +++ hiki/config.rb 26 Oct 2005 15:57:22 -0000 @@ -134,6 +134,7 @@ @site_name ||= 'Hiki' @author_name ||= '' @mail_on_update||= false + @non_admin_remove||= false @mail ||= '' @theme ||= 'hiki' @theme_url ||= 'theme' @@ -200,7 +201,7 @@ variables = [:site_name, :author_name, :mail, :theme, :password, :theme_url, :sidebar_class, :main_class, :theme_path, - :mail_on_update, :use_sidebar, :auto_link, :use_wikiname, + :mail_on_update, :non_admin_remove, :use_sidebar, :auto_link, :use_wikiname, :xmlrpc_enabled, :options2] begin cgi_conf = File::open( @config_file ){|f| f.read }.untaint RCS file: /cvsroot/hiki/hiki/plugin/00default.rb,v retrieving revision 1.52 diff -u -r1.52 00default.rb --- plugin/00default.rb 30 Sep 2005 11:45:49 -0000 1.52 +++ plugin/00default.rb 26 Oct 2005 15:57:22 -0000 @@ -229,6 +229,7 @@ @conf.author_name =****@cgi*****['author_name'][0] @conf.mail =****@cgi*****['mail'][0] @conf.mail_on_update =****@cgi*****['mail_on_update'][0] == "true" + @conf.non_admin_remove =****@cgi*****['non_admin_remove'][0] == "true" end end RCS file: /cvsroot/hiki/hiki/plugin/ja/00default.rb,v retrieving revision 1.9 diff -u -r1.9 00default.rb --- plugin/ja/00default.rb 28 Jul 2005 15:05:31 -0000 1.9 +++ plugin/ja/00default.rb 26 Oct 2005 15:57:22 -0000 @@ -19,6 +19,12 @@ <option value="true"#{@conf.mail_on_update ? ' selected' : ''}>メール で通知</option> <option value="false"#{@conf.mail_on_update ? '' : ' selected'}>非通知</option> </select></p> + <h3 class="subtitle">非管理者によるページの削除</h3> + <p>管理者用パスワードが設定されている場合に非管理者によるページの 削除が行なえるか指定します。</p> + <p><select name="non_admin_remove"> + <option value="false"#{@conf.non_admin_remove ? '' : ' selected'}>削除不可能</option> + <option value="true"#{@conf.non_admin_remove ? ' selected' : ''}>削除可能</option> + </select></p> HTML end RCS file: /cvsroot/hiki/hiki/template/hiki.conf,v retrieving revision 1.4 diff -u -r1.4 hiki.conf --- template/hiki.conf 28 Jul 2005 15:05:31 -0000 1.4 +++ template/hiki.conf 26 Oct 2005 15:57:22 -0000 @@ -9,6 +9,7 @@ author_name = <%= @author_name.dump %> mail = <%= (@mail || '').dump %> mail_on_update = <%= @mail_on_update.inspect %> +non_admin_remove = <%= @non_admin_remove.inspect %> # # password -- hadai <hadai [at] hadai.net> http://www.hadai.net/