1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
#!/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 <http://www.gnu.org/licenses/>. #
############################################################################
require "cgi"
if __FILE__ == $0
$cgi = CGI.new
load "../html.rb"
$html = HTML.new("dudle - Customize")
load "../charset.rb"
$html.header["Cache-Control"] = "no-cache"
$html.add_css("../dudle.css")
$html << <<END
<body>
#{Dudle::tabs("Customize")}
<div id='main'>
<h1>Customize Personal Settings</h1>
You need cookies enabled in order to personalize your settings.
END
def choosetable(tablesummary, options, cursetting)
ret = <<HEAD
<table summary='#{tablesummary}'>
<tr>
<th>Current Setting</th>
<th>Description</th>
</tr>
HEAD
options.each{|description,href,title|
selected = href == cursetting
ret += "<tr><td>"
ret += CROSS if selected
ret += "</td><td class='settingstable' title='#{title}'>"
ret += "<a href='?#{href}'>" unless selected
ret += description
ret += "</a>" unless selected
ret += "</td></tr>"
}
ret += "</table>"
ret
end
a = [["Use normal strings","ascii"],
["Use special characters (#{UTFCHARS})","utf", "Use this options if you see the characters in the parenthesis."]]
$html << <<CHARSET
<div id='charset'>
<h2>Charset</h2>
#{choosetable("Charset settings",a,USEUTF ? "utf" : "ascii")}
</div>
CHARSET
a = [["default","css=dudle.css"],
["PrimeLife","css=primelife.css"],
["TU Dresden","css=tud.css"]]
$html << <<CSS
<div id='config_stylesheet'>
<h2>Stylesheet</h2>
#{choosetable("Stylesheet settings",a,"css=dudle.css")}
</div>
CSS
username = $cgi.cookies["username"][0]
if $cgi.include?("delete_username")
username = ""
$html.add_cookie("username",username,"/",Time.now - 1*60*60*24*365)
elsif $cgi.include?("username")
username = $cgi["username"]
$html.add_cookie("username",username,"/",Time.now + 1*60*60*24*365)
end
$html << <<CHARSET
<div id='config_user'>
<h2>Default Username</h2>
<form method='get' action=''>
<div>
<label for='username'>Username: </label>
<input id='username' size='16' type='text' value="#{username}" name='username' />
<input type='submit' value='Save' />
<input type='submit' name='delete_username' value='Delete' />
</div>
</form>
</div>
CHARSET
$html << "</div>"
$html << "</body>"
$html.out($cgi)
end
|