#!/usr/bin/env ruby ############################################################################ # Copyright 2009 Benjamin Kellermann # # # # This file is part of dudle. # # # # Dudle is free software: you can redistribute it and/or modify it under # # the terms of the GNU Affero General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # Dudle is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or # # FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public # # License for more details. # # # # You should have received a copy of the GNU Affero General Public License # # along with dudle. If not, see . # ############################################################################ require "cgi" if __FILE__ == $0 $cgi = CGI.new load "../html.rb" acusers = {} File.open(".htdigest","r").each_line{|l| user,realm = l.scan(/^(.*):(.*):.*$/).flatten acusers[user] = realm } def writehtaccess(acusers) File.open(".htaccess","w"){|htaccess| if acusers.values.include?("config") htaccess << < AuthType digest AuthName "config" AuthUserFile "#{File.expand_path(".").gsub('"','\\\\"')}/.htdigest" Require valid-user HTACCESS end if acusers.values.include?("vote") htaccess << <" $html << Dudle::tabs("Access Control") $html << < TABLE # ACCESS CONTROL $accesslevels = { "vote" => "Vote Interface", "config" => "Config Interface" } $html << <

#{POLL}

Change Access Control Settings

ACL acusers.each{|user,action| $html << < USER } $html << < ACL $html << < #{usercreatenotice} ACL $html << "" $html.out($cgi) end
Access toUsernamePasswordPassword (repeat)
#{$accesslevels[action]} #{user} ***************** *****************