aboutsummaryrefslogtreecommitdiff
path: root/example.cgi
diff options
context:
space:
mode:
authorBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2010-09-22 14:10:48 +0200
committerBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2010-09-22 14:10:48 +0200
commitcc5025b06013380fe07adecab5ca670b75eb690f (patch)
tree66e4ce495b91883663c5b3e8611d4b1ca8726476 /example.cgi
parentf20c638c9e25b3da22fd8125c13a6b5ca3a8a9a2 (diff)
better approach to example polls (generate a new one for every user)
Diffstat (limited to 'example.cgi')
-rwxr-xr-xexample.cgi48
1 files changed, 48 insertions, 0 deletions
diff --git a/example.cgi b/example.cgi
new file mode 100755
index 0000000..4c7a970
--- /dev/null
+++ b/example.cgi
@@ -0,0 +1,48 @@
+#!/usr/bin/env ruby
+
+############################################################################
+# Copyright 2010 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 <http://www.gnu.org/licenses/>. #
+############################################################################
+
+require "cgi"
+$cgi = CGI.new
+def _(string)
+ string
+end
+require "config"
+
+source = nil
+EXAMPLES.each{|poll|
+ source = poll[:url] if $cgi["poll"] == poll[:url]
+}
+
+raise "Example not found" unless source
+target = "#{source}_#{Time.now.to_i}"
+
+while (File.exists?(target))
+ target += "I"
+end
+VCS.branch(source,target)
+`rm #{target}/.htaccess`
+`rm #{target}/.htdigest`
+
+$cgi.out({
+ "status" => "REDIRECT",
+ "Cache-Control" => "no-cache",
+ "Location" => SITEURL + target
+}){""}