diff options
author | Benjamin Kellermann <Benjamin.Kellermann@gmx.de> | 2008-10-27 09:13:53 +0100 |
---|---|---|
committer | Benjamin Kellermann <Benjamin.Kellermann@gmx.de> | 2008-10-27 09:13:53 +0100 |
commit | ab9b9c0a5ea1a34676fd7055fe2953fbdbdd9d75 (patch) | |
tree | a8cc87f5577eecff733ef3acdfee1669de7c13eb /overview.rb | |
parent | eed0f2ecfe0e96e073b9d87e713a531767384eba (diff) |
splitted files for more overview
Diffstat (limited to 'overview.rb')
-rw-r--r-- | overview.rb | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/overview.rb b/overview.rb new file mode 100644 index 0000000..78225ae --- /dev/null +++ b/overview.rb @@ -0,0 +1,103 @@ +#!/usr/bin/env ruby +load "/home/ben/src/lib.rb/pphtml.rb" +require "pp" +require "yaml" +require "cgi" +require "date" +require "poll" + +puts <<HEAD +<head> +<title>dudle</title> +<link rel="alternate" type="application/atom+xml" href="atom.cgi" /> +</head> +<body> +HEAD + +if $cgi.include?("create_poll") + SITE=$cgi["create_poll"] + unless File.exist?(SITE) + Dir.mkdir(SITE) + Dir.chdir(SITE) + `bzr init` + File.symlink("../index.cgi","index.cgi") + File.symlink("../atom.cgi","atom.cgi") + File.open("data.yaml","w").close + `bzr add data.yaml` + hidden = ($cgi["hidden"] == "true") + case $cgi["poll_type"] + when "Poll" + Poll.new SITE, hidden + when "DatePoll" + DatePoll.new SITE, hidden + end + Dir.chdir("..") + if hidden + puts <<HIDDENINFO +<fieldset> +<legend>Info</legend> +Poll #{SITE} created successfull! +<br /> +Please remember the url (<a href="#{SITE}">#{$cgi.server_name}#{$cgi.script_name.gsub(/index.cgi$/,"")}#{SITE}</a>) while it will not be visible here. +</fieldset> +HIDDENINFO + end + else + puts "<fieldset><legend>Error</legend>This poll already exists!</fieldset>" + end +end + +puts "<fieldset><legend>Available Polls</legend>" +puts "<table><tr><th>Poll</th><th>Last change</th></tr>" +Dir.glob("*/data.yaml").sort_by{|f| + File.new(f).mtime +}.reverse.collect{|f| + f.gsub(/\/data\.yaml$/,'') +}.each{|site| + unless YAML::load_file("#{site}/data.yaml" ).hidden + puts "<tr>" + puts "<td class='site'><a href='#{site}'>#{site}</a></td>" + puts "<td class='mtime'>#{File.new(site + "/data.yaml").mtime.strftime('%d.%m, %H:%M')}</td>" + puts "</tr>" + end +} +puts "</table>" +puts "</fieldset>" + +puts <<CHARSET +<fieldset><legend>change charset</legend> +#{UTFASCII} +</fieldset> +CHARSET + +puts <<CREATE +<fieldset><legend>Create new Poll</legend> +<form method='post' action='.'> +<table> +<tr> + <td><label title="#{poll_name_tip = "the name equals the link under which you receive the poll"}" for="poll_name">Name:</label></td> + <td><input title="#{poll_name_tip}" id="poll_name" size='16' type='text' name='create_poll' value='#{$cgi["create_poll"]}' /></td> +</tr> +<tr> + <td><label for="poll_type">Type:</label></td> + <td> + <select id="poll_type" name="poll_type"> + <option value="Poll" selected="selected">normal</option> + <option value="DatePoll">date</option> + </select> + </td> +</tr> +<tr> + <td><label title="#{hidden_tip = "do not list the poll here (you have to remember the link)"}" for="hidden">Hidden?:</label></td> + <td><input id="hidden" type="checkbox" name="hidden" value="true" title="#{hidden_tip}"></td> +</tr> +<tr> + <td colspan='2'><input type='submit' value='create' /></td> +</tr> +</table> +</form> +</fieldset> +CREATE + +puts "</body></html>" + |