damagecontrol 0.5.0 → 0.5.0.1391
Sign up to get free protection for your applications and to get access to all the features.
- data/README +67 -11
- data/Rakefile +15 -6
- data/app/controllers/admin_controller.rb +0 -3
- data/app/controllers/application.rb +42 -163
- data/app/controllers/build_controller.rb +33 -0
- data/app/controllers/files_controller.rb +1 -1
- data/app/controllers/project_controller.rb +23 -65
- data/app/controllers/rails_ext.rb +247 -0
- data/app/controllers/rscm_ext.rb +52 -0
- data/app/helpers/build_helper.rb +2 -0
- data/app/views/build/email.rhtml +18 -0
- data/app/views/build/status.rhtml +20 -0
- data/app/views/build/tests.rhtml +2 -0
- data/app/views/layouts/{rscm.rhtml → default.rhtml} +10 -4
- data/app/views/project/_changesets_list.rhtml +2 -2
- data/app/views/project/_cvs.rhtml +4 -5
- data/app/views/project/_project.rhtml +9 -9
- data/app/views/project/_select_pane.rhtml +26 -0
- data/app/views/project/_tab_pane.rhtml +23 -0
- data/app/views/project/changeset.rhtml +35 -0
- data/app/views/project/view.rhtml +18 -32
- data/app/views/setup/welcome.rhtml +118 -0
- data/config/database.yml +20 -20
- data/config/environment.rb +66 -60
- data/config/environments/development.rb +3 -2
- data/config/environments/production.rb +3 -2
- data/config/environments/test.rb +3 -2
- data/config/routes.rb +15 -0
- data/lib/damagecontrol/app.rb +11 -40
- data/lib/damagecontrol/build.rb +50 -8
- data/lib/damagecontrol/directories.rb +7 -6
- data/lib/damagecontrol/poller.rb +11 -20
- data/lib/damagecontrol/project.rb +83 -16
- data/lib/damagecontrol/publisher/ambient_orb.rb +16 -0
- data/lib/damagecontrol/publisher/archive.rb +16 -0
- data/lib/damagecontrol/publisher/base.rb +25 -0
- data/lib/damagecontrol/publisher/build_duration.rb +16 -0
- data/lib/damagecontrol/publisher/email.rb +59 -0
- data/lib/damagecontrol/publisher/execute.rb +49 -0
- data/lib/damagecontrol/publisher/ftp.rb +16 -0
- data/lib/damagecontrol/publisher/growl.rb +44 -0
- data/lib/damagecontrol/publisher/irc.rb +31 -0
- data/lib/damagecontrol/publisher/jabber.rb +68 -0
- data/lib/damagecontrol/publisher/scp.rb +16 -0
- data/lib/damagecontrol/publisher/x10cm11a.rb +17 -0
- data/lib/damagecontrol/publisher/x10cm17a.rb +17 -0
- data/lib/damagecontrol/publisher/yahoo.rb +16 -0
- data/lib/damagecontrol/standard_persister.rb +2 -2
- data/lib/damagecontrol/tracker.rb +48 -6
- data/lib/damagecontrol/visitor/rss_writer.rb +1 -1
- data/lib/damagecontrol/visitor/yaml_persister.rb +10 -1
- data/public/404.html +5 -5
- data/public/500.html +5 -5
- data/public/dispatch.cgi +2 -2
- data/public/dispatch.fcgi +1 -1
- data/public/dispatch.rb +2 -2
- data/public/images/growlicon.png +0 -0
- data/public/images/megaphone.png +0 -0
- data/public/images/monotone-logo.png +0 -0
- data/public/images/publisher/ambient_orb.png +0 -0
- data/public/images/publisher/build_duration.png +0 -0
- data/public/images/publisher/email.png +0 -0
- data/public/images/publisher/execute.png +0 -0
- data/public/images/publisher/growl.png +0 -0
- data/public/images/publisher/irc.png +0 -0
- data/public/images/publisher/jabber.png +0 -0
- data/public/images/publisher/x10cm11a.png +0 -0
- data/public/images/publisher/x10cm17a.png +0 -0
- data/public/images/publisher/yahoo.png +0 -0
- data/public/index.html +70 -1
- data/public/javascripts/dateFormat.js +283 -0
- data/public/javascripts/jscalendar/ChangeLog +500 -0
- data/public/javascripts/jscalendar/README +33 -0
- data/public/javascripts/jscalendar/bugtest-hidden-selects.html +108 -0
- data/public/javascripts/jscalendar/calendar-blue.css +231 -0
- data/public/javascripts/jscalendar/calendar-blue2.css +235 -0
- data/public/javascripts/jscalendar/calendar-brown.css +224 -0
- data/public/javascripts/jscalendar/calendar-green.css +228 -0
- data/public/javascripts/jscalendar/calendar-setup.js +181 -0
- data/public/javascripts/jscalendar/calendar-setup_stripped.js +21 -0
- data/public/javascripts/jscalendar/calendar-system.css +250 -0
- data/public/javascripts/jscalendar/calendar-tas.css +238 -0
- data/public/javascripts/jscalendar/calendar-win2k-1.css +270 -0
- data/public/javascripts/jscalendar/calendar-win2k-2.css +270 -0
- data/public/javascripts/jscalendar/calendar-win2k-cold-1.css +264 -0
- data/public/javascripts/jscalendar/calendar-win2k-cold-2.css +270 -0
- data/public/javascripts/jscalendar/calendar.js +1715 -0
- data/public/javascripts/jscalendar/calendar.php +119 -0
- data/public/javascripts/jscalendar/calendar_stripped.js +12 -0
- data/public/javascripts/jscalendar/doc/html/reference-Z-S.css +0 -0
- data/public/javascripts/jscalendar/doc/html/reference.css +34 -0
- data/public/javascripts/jscalendar/doc/html/reference.html +1316 -0
- data/public/javascripts/jscalendar/doc/reference.pdf +0 -0
- data/public/javascripts/jscalendar/img.gif +0 -0
- data/public/javascripts/jscalendar/index.html +333 -0
- data/public/javascripts/jscalendar/lang/calendar-af.js +39 -0
- data/public/javascripts/jscalendar/lang/calendar-br.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-ca.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-cs-win.js +34 -0
- data/public/javascripts/jscalendar/lang/calendar-da.js +63 -0
- data/public/javascripts/jscalendar/lang/calendar-de.js +100 -0
- data/public/javascripts/jscalendar/lang/calendar-du.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-el.js +89 -0
- data/public/javascripts/jscalendar/lang/calendar-en.js +123 -0
- data/public/javascripts/jscalendar/lang/calendar-es.js +114 -0
- data/public/javascripts/jscalendar/lang/calendar-fi.js +98 -0
- data/public/javascripts/jscalendar/lang/calendar-fr.js +86 -0
- data/public/javascripts/jscalendar/lang/calendar-hr-utf8.js +49 -0
- data/public/javascripts/jscalendar/lang/calendar-hr.js +0 -0
- data/public/javascripts/jscalendar/lang/calendar-hu.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-it.js +79 -0
- data/public/javascripts/jscalendar/lang/calendar-jp.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-ko-utf8.js +120 -0
- data/public/javascripts/jscalendar/lang/calendar-ko.js +120 -0
- data/public/javascripts/jscalendar/lang/calendar-lt-utf8.js +114 -0
- data/public/javascripts/jscalendar/lang/calendar-lt.js +114 -0
- data/public/javascripts/jscalendar/lang/calendar-nl.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-no.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-pl-utf8.js +93 -0
- data/public/javascripts/jscalendar/lang/calendar-pl.js +56 -0
- data/public/javascripts/jscalendar/lang/calendar-pt.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-ro.js +66 -0
- data/public/javascripts/jscalendar/lang/calendar-ru.js +45 -0
- data/public/javascripts/jscalendar/lang/calendar-si.js +94 -0
- data/public/javascripts/jscalendar/lang/calendar-sk.js +99 -0
- data/public/javascripts/jscalendar/lang/calendar-sp.js +63 -0
- data/public/javascripts/jscalendar/lang/calendar-sv.js +93 -0
- data/public/javascripts/jscalendar/lang/calendar-tr.js +58 -0
- data/public/javascripts/jscalendar/lang/calendar-zh.js +45 -0
- data/public/javascripts/jscalendar/menuarrow.gif +0 -0
- data/public/javascripts/jscalendar/menuarrow2.gif +0 -0
- data/public/javascripts/jscalendar/release-notes.html +334 -0
- data/public/javascripts/jscalendar/simple-1.html +244 -0
- data/public/javascripts/jscalendar/simple-2.html +108 -0
- data/public/javascripts/jscalendar/simple-3.html +130 -0
- data/public/javascripts/jscalendar/test-position.html +40 -0
- data/public/javascripts/jscalendar/test.php +116 -0
- data/public/javascripts/toggle_div.js +18 -0
- data/public/stylesheets/niceones.txt +1 -0
- data/public/stylesheets/style.css +8 -1
- data/script/breakpointer +4 -5
- data/script/console +19 -27
- data/script/console_sandbox.rb +7 -0
- data/script/destroy +5 -0
- data/script/generate +3 -68
- data/script/server +6 -16
- data/test/damagecontrol/build_test.rb +8 -8
- data/test/damagecontrol/poller_test.rb +10 -18
- data/test/damagecontrol/project_test.rb +49 -13
- data/test/damagecontrol/publisher/base_test.rb +26 -0
- data/test/damagecontrol/publisher/build/email.rhtml +0 -0
- data/test/damagecontrol/publisher/email_test.rb +26 -0
- data/test/damagecontrol/publisher/fixture.rb +34 -0
- data/test/damagecontrol/publisher/growl_test.rb +15 -0
- data/test/damagecontrol/publisher/jabber_test.rb +15 -0
- data/test/damagecontrol/scm_web_test.rb +1 -1
- data/test/damagecontrol/visitor/changesets.rss +1 -1
- data/test/damagecontrol/visitor/diff_persister_test.rb +4 -4
- data/test/functional/build_controller_test.rb +17 -0
- data/test/test_helper.rb +13 -13
- metadata +185 -24
- data/app/views/project/_bugzilla.rhtml +0 -13
- data/app/views/project/_jira.rhtml +0 -19
- data/app/views/project/_mooky.rhtml +0 -23
- data/app/views/project/_rubyforge.rhtml +0 -19
- data/app/views/project/_scarab.rhtml +0 -19
- data/app/views/project/_scms.rhtml +0 -15
- data/app/views/project/_sourceforge.rhtml +0 -19
- data/app/views/project/_starteam.rhtml +0 -43
- data/app/views/project/_svn.rhtml +0 -22
- data/app/views/project/_trac.rhtml +0 -13
- data/app/views/project/_trackers.rhtml +0 -18
- data/app/views/project/changesets.rhtml +0 -31
@@ -0,0 +1,244 @@
|
|
1
|
+
<html style="background-color: buttonface; color: buttontext;">
|
2
|
+
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="content-type" content="text/xml; charset=utf-8" />
|
5
|
+
|
6
|
+
<title>Simple calendar setups [popup calendar]</title>
|
7
|
+
|
8
|
+
<!-- calendar stylesheet -->
|
9
|
+
<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" />
|
10
|
+
|
11
|
+
<!-- main calendar program -->
|
12
|
+
<script type="text/javascript" src="calendar.js"></script>
|
13
|
+
|
14
|
+
<!-- language for the calendar -->
|
15
|
+
<script type="text/javascript" src="lang/calendar-en.js"></script>
|
16
|
+
|
17
|
+
<!-- the following script defines the Calendar.setup helper function, which makes
|
18
|
+
adding a calendar a matter of 1 or 2 lines of code. -->
|
19
|
+
<script type="text/javascript" src="calendar-setup.js"></script>
|
20
|
+
|
21
|
+
</head>
|
22
|
+
|
23
|
+
<body>
|
24
|
+
|
25
|
+
<h2>DHTML Calendar — for the impatient</h2>
|
26
|
+
|
27
|
+
<blockquote>
|
28
|
+
<p>
|
29
|
+
This page lists some common setups for the popup calendar. In
|
30
|
+
order to see how to do any of them please see the source of this
|
31
|
+
page. For each example it's structured like this: there's the
|
32
|
+
<form> that contains the input field, and following there is
|
33
|
+
the JavaScript snippet that setups that form. An example of
|
34
|
+
<em>flat</em> calendar is available in <a
|
35
|
+
href="simple-2.html">another page</a>.
|
36
|
+
</p>
|
37
|
+
<p>
|
38
|
+
The code in this page uses a helper function defined in
|
39
|
+
"calendar-setup.js". With it you can setup the calendar in
|
40
|
+
minutes. If you're not <em>that</em> impatient, ;-) <a
|
41
|
+
href="doc/html/reference.html">complete documenation</a> is
|
42
|
+
available.
|
43
|
+
</p>
|
44
|
+
</blockquote>
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
<hr />
|
49
|
+
|
50
|
+
<p><b>Basic setup: one input per calendar.</b> Clicking in the input field
|
51
|
+
activates the calendar. The date format is "%m/%d/%Y %I:%M %p". The
|
52
|
+
calendar defaults to "single-click mode".</p>
|
53
|
+
|
54
|
+
<p>The example below has been updated to show you how to create "linked"
|
55
|
+
fields. Basically, when some field is filled with a date, the other
|
56
|
+
is updated so that the difference between them remains one week. The
|
57
|
+
property useful here is "onUpdate".</p>
|
58
|
+
|
59
|
+
<form action="#" method="get">
|
60
|
+
<input type="text" name="date" id="f_date_a" />
|
61
|
+
<input type="text" name="date" id="f_calcdate" />
|
62
|
+
</form>
|
63
|
+
|
64
|
+
<script type="text/javascript">
|
65
|
+
function catcalc(cal) {
|
66
|
+
var date = cal.date;
|
67
|
+
var time = date.getTime()
|
68
|
+
// use the _other_ field
|
69
|
+
var field = document.getElementById("f_calcdate");
|
70
|
+
if (field == cal.params.inputField) {
|
71
|
+
field = document.getElementById("f_date_a");
|
72
|
+
time -= Date.WEEK; // substract one week
|
73
|
+
} else {
|
74
|
+
time += Date.WEEK; // add one week
|
75
|
+
}
|
76
|
+
var date2 = new Date(time);
|
77
|
+
field.value = date2.print("%Y-%m-%d %H:%M");
|
78
|
+
}
|
79
|
+
Calendar.setup({
|
80
|
+
inputField : "f_date_a", // id of the input field
|
81
|
+
ifFormat : "%Y-%m-%d %H:%M", // format of the input field
|
82
|
+
showsTime : true,
|
83
|
+
timeFormat : "24",
|
84
|
+
onUpdate : catcalc
|
85
|
+
});
|
86
|
+
Calendar.setup({
|
87
|
+
inputField : "f_calcdate",
|
88
|
+
ifFormat : "%Y-%m-%d %H:%M",
|
89
|
+
showsTime : true,
|
90
|
+
timeFormat : "24",
|
91
|
+
onUpdate : catcalc
|
92
|
+
});
|
93
|
+
</script>
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
<hr />
|
98
|
+
|
99
|
+
<p><b>Input field with a trigger button.</b> Clicking the button activates
|
100
|
+
the calendar. Note that this one needs double-click (singleClick parameter
|
101
|
+
is explicitely set to false). Also demonstrates the "step" parameter
|
102
|
+
introduced in 0.9.6 (show all years in drop-down boxes, instead of every
|
103
|
+
other year as default).</p>
|
104
|
+
|
105
|
+
<form action="#" method="get">
|
106
|
+
<input type="text" name="date" id="f_date_b" /><button type="reset" id="f_trigger_b">...</button>
|
107
|
+
</form>
|
108
|
+
|
109
|
+
<script type="text/javascript">
|
110
|
+
Calendar.setup({
|
111
|
+
inputField : "f_date_b", // id of the input field
|
112
|
+
ifFormat : "%m/%d/%Y %I:%M %p", // format of the input field
|
113
|
+
showsTime : true, // will display a time selector
|
114
|
+
button : "f_trigger_b", // trigger for the calendar (button ID)
|
115
|
+
singleClick : false, // double-click mode
|
116
|
+
step : 1 // show all years in drop-down boxes (instead of every other year as default)
|
117
|
+
});
|
118
|
+
</script>
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
<hr />
|
123
|
+
|
124
|
+
<p><b>Input field with a trigger image.</b> Note that the Calendar.setup
|
125
|
+
function doesn't care if the trigger is a button, image, or anything else.
|
126
|
+
Also in this example we setup a different alignment, just to show how it's
|
127
|
+
done. The input field is read-only (that is set from HTML).</p>
|
128
|
+
|
129
|
+
<form action="#" method="get">
|
130
|
+
<table cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
|
131
|
+
<td><input type="text" name="date" id="f_date_c" readonly="1" /></td>
|
132
|
+
<td><img src="img.gif" id="f_trigger_c" style="cursor: pointer; border: 1px solid red;" title="Date selector"
|
133
|
+
onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td>
|
134
|
+
</table>
|
135
|
+
</form>
|
136
|
+
|
137
|
+
<script type="text/javascript">
|
138
|
+
Calendar.setup({
|
139
|
+
inputField : "f_date_c", // id of the input field
|
140
|
+
ifFormat : "%B %e, %Y", // format of the input field
|
141
|
+
button : "f_trigger_c", // trigger for the calendar (button ID)
|
142
|
+
align : "Tl", // alignment (defaults to "Bl")
|
143
|
+
singleClick : true
|
144
|
+
});
|
145
|
+
</script>
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
<hr />
|
150
|
+
|
151
|
+
<p><b>Hidden field, display area.</b> The calendar now puts the date into 2
|
152
|
+
elements: one is an input field of type "hidden"—so that the user
|
153
|
+
can't directly see or modify it— and one is a <span> element in
|
154
|
+
which the date is displayed. Note that if the trigger is not specified the
|
155
|
+
calendar will use the displayArea (or inputField as in the first example).
|
156
|
+
The display area can have it's own format. This is useful if, for instance,
|
157
|
+
we need to store one format in the database (thus pass it in the input
|
158
|
+
field) but we wanna show a friendlier format to the end-user.</p>
|
159
|
+
|
160
|
+
<form action="#" method="get" style="visibility: hidden">
|
161
|
+
<input type="hidden" name="date" id="f_date_d" />
|
162
|
+
</form>
|
163
|
+
|
164
|
+
<p>Your birthday:
|
165
|
+
<span style="background-color: #ff8; cursor: default;"
|
166
|
+
onmouseover="this.style.backgroundColor='#ff0';"
|
167
|
+
onmouseout="this.style.backgroundColor='#ff8';"
|
168
|
+
id="show_d"
|
169
|
+
>Click to open date selector</span>.</p>
|
170
|
+
|
171
|
+
<script type="text/javascript">
|
172
|
+
Calendar.setup({
|
173
|
+
inputField : "f_date_d", // id of the input field
|
174
|
+
ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored)
|
175
|
+
displayArea : "show_d", // ID of the span where the date is to be shown
|
176
|
+
daFormat : "%A, %B %d, %Y",// format of the displayed date
|
177
|
+
align : "Tl", // alignment (defaults to "Bl")
|
178
|
+
singleClick : true
|
179
|
+
});
|
180
|
+
</script>
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
<hr />
|
185
|
+
|
186
|
+
<p><b>Hidden field, display area, trigger image.</b> Very similar to the
|
187
|
+
previous example. The difference is that we also have a trigger image.</p>
|
188
|
+
|
189
|
+
<form action="#" method="get" style="visibility: hidden">
|
190
|
+
<input type="hidden" name="date" id="f_date_e" />
|
191
|
+
</form>
|
192
|
+
|
193
|
+
<p>Your birthday: <span id="show_e">-- not entered --</span> <img
|
194
|
+
src="img.gif" id="f_trigger_e" style="cursor: pointer; border: 1px solid
|
195
|
+
red;" title="Date selector" onmouseover="this.style.background='red';"
|
196
|
+
onmouseout="this.style.background=''" />.</p>
|
197
|
+
|
198
|
+
<script type="text/javascript">
|
199
|
+
Calendar.setup({
|
200
|
+
inputField : "f_date_e", // id of the input field
|
201
|
+
ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored)
|
202
|
+
displayArea : "show_e", // ID of the span where the date is to be shown
|
203
|
+
daFormat : "%A, %B %d, %Y",// format of the displayed date
|
204
|
+
button : "f_trigger_e", // trigger button (well, IMG in our case)
|
205
|
+
align : "Tl", // alignment (defaults to "Bl")
|
206
|
+
singleClick : true
|
207
|
+
});
|
208
|
+
</script>
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
<hr />
|
213
|
+
|
214
|
+
<p><b>Hidden field, display area.</b> Very much like the previous examples,
|
215
|
+
but we now disable some dates (all weekends, that is, Saturdays and
|
216
|
+
Sundays).</p>
|
217
|
+
|
218
|
+
<form action="#" method="get" style="visibility: hidden">
|
219
|
+
<input type="hidden" name="date" id="f_date_f" />
|
220
|
+
</form>
|
221
|
+
|
222
|
+
<p>Your birthday:
|
223
|
+
<span style="background-color: #ff8; cursor: default;"
|
224
|
+
onmouseover="this.style.backgroundColor='#ff0';"
|
225
|
+
onmouseout="this.style.backgroundColor='#ff8';"
|
226
|
+
id="show_f"
|
227
|
+
>Click to open date selector</span>.</p>
|
228
|
+
|
229
|
+
<script type="text/javascript">
|
230
|
+
Calendar.setup({
|
231
|
+
inputField : "f_date_f", // id of the input field
|
232
|
+
ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored)
|
233
|
+
displayArea : "show_f", // ID of the span where the date is to be shown
|
234
|
+
daFormat : "%A, %B %d, %Y",// format of the displayed date
|
235
|
+
align : "Tl", // alignment (defaults to "Bl")
|
236
|
+
dateStatusFunc : function (date) { // disable weekend days (Saturdays == 6 and Subdays == 0)
|
237
|
+
return (date.getDay() == 6 || date.getDay() == 0) ? true : false;
|
238
|
+
}
|
239
|
+
});
|
240
|
+
</script>
|
241
|
+
|
242
|
+
|
243
|
+
</body>
|
244
|
+
</html>
|
@@ -0,0 +1,108 @@
|
|
1
|
+
<html style="background-color: buttonface; color: buttontext;">
|
2
|
+
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="content-type" content="text/xml; charset=utf-8" />
|
5
|
+
|
6
|
+
<title>Simple calendar setup [flat calendar]</title>
|
7
|
+
|
8
|
+
<!-- calendar stylesheet -->
|
9
|
+
<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" />
|
10
|
+
|
11
|
+
<!-- main calendar program -->
|
12
|
+
<script type="text/javascript" src="calendar.js"></script>
|
13
|
+
|
14
|
+
<!-- language for the calendar -->
|
15
|
+
<script type="text/javascript" src="lang/calendar-en.js"></script>
|
16
|
+
|
17
|
+
<!-- the following script defines the Calendar.setup helper function, which makes
|
18
|
+
adding a calendar a matter of 1 or 2 lines of code. -->
|
19
|
+
<script type="text/javascript" src="calendar-setup.js"></script>
|
20
|
+
|
21
|
+
</head>
|
22
|
+
|
23
|
+
<body>
|
24
|
+
|
25
|
+
<h2>DHTML Calendar — for the impatient</h2>
|
26
|
+
|
27
|
+
<blockquote>
|
28
|
+
<p>
|
29
|
+
This page demonstrates how to setup a flat calendar. Examples of
|
30
|
+
<em>popup</em> calendars are available in <a
|
31
|
+
href="simple-1.html">another page</a>.
|
32
|
+
</p>
|
33
|
+
<p>
|
34
|
+
The code in this page uses a helper function defined in
|
35
|
+
"calendar-setup.js". With it you can setup the calendar in
|
36
|
+
minutes. If you're not <em>that</em> impatient, ;-) <a
|
37
|
+
href="doc/html/reference.html">complete documenation</a> is
|
38
|
+
available.
|
39
|
+
</p>
|
40
|
+
</blockquote>
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
<hr />
|
45
|
+
|
46
|
+
<div style="float: right; margin-left: 1em; margin-bottom: 1em;"
|
47
|
+
id="calendar-container"></div>
|
48
|
+
|
49
|
+
<script type="text/javascript">
|
50
|
+
function dateChanged(calendar) {
|
51
|
+
// Beware that this function is called even if the end-user only
|
52
|
+
// changed the month/year. In order to determine if a date was
|
53
|
+
// clicked you can use the dateClicked property of the calendar:
|
54
|
+
if (calendar.dateClicked) {
|
55
|
+
// OK, a date was clicked, redirect to /yyyy/mm/dd/index.php
|
56
|
+
var y = calendar.date.getFullYear();
|
57
|
+
var m = calendar.date.getMonth(); // integer, 0..11
|
58
|
+
var d = calendar.date.getDate(); // integer, 1..31
|
59
|
+
// redirect...
|
60
|
+
window.location = "/" + y + "/" + m + "/" + d + "/index.php";
|
61
|
+
}
|
62
|
+
};
|
63
|
+
|
64
|
+
Calendar.setup(
|
65
|
+
{
|
66
|
+
flat : "calendar-container", // ID of the parent element
|
67
|
+
flatCallback : dateChanged // our callback function
|
68
|
+
}
|
69
|
+
);
|
70
|
+
</script>
|
71
|
+
|
72
|
+
<p>The positioning of the DIV that contains the calendar is entirely your
|
73
|
+
job. For instance, the "calendar-container" DIV from this page has the
|
74
|
+
following style: "float: right; margin-left: 1em; margin-bottom: 1em".</p>
|
75
|
+
|
76
|
+
<p>Following there is the code that has been used to create this calendar.
|
77
|
+
You can find the full description of the <tt>Calendar.setup()</tt> function
|
78
|
+
in the <a href="doc/html/reference.html">calendar documenation</a>.</p>
|
79
|
+
|
80
|
+
<pre
|
81
|
+
><div style="float: right; margin-left: 1em; margin-bottom: 1em;"
|
82
|
+
id="calendar-container"></div>
|
83
|
+
|
84
|
+
<script type="text/javascript">
|
85
|
+
function dateChanged(calendar) {
|
86
|
+
// Beware that this function is called even if the end-user only
|
87
|
+
// changed the month/year. In order to determine if a date was
|
88
|
+
// clicked you can use the dateClicked property of the calendar:
|
89
|
+
if (calendar.dateClicked) {
|
90
|
+
// OK, a date was clicked, redirect to /yyyy/mm/dd/index.php
|
91
|
+
var y = calendar.date.getFullYear();
|
92
|
+
var m = calendar.date.getMonth(); // integer, 0..11
|
93
|
+
var d = calendar.date.getDate(); // integer, 1..31
|
94
|
+
// redirect...
|
95
|
+
window.location = "/" + y + "/" + m + "/" + d + "/index.php";
|
96
|
+
}
|
97
|
+
};
|
98
|
+
|
99
|
+
Calendar.setup(
|
100
|
+
{
|
101
|
+
flat : "calendar-container", // ID of the parent element
|
102
|
+
flatCallback : dateChanged // our callback function
|
103
|
+
}
|
104
|
+
);
|
105
|
+
</script></pre>
|
106
|
+
|
107
|
+
</body>
|
108
|
+
</html>
|
@@ -0,0 +1,130 @@
|
|
1
|
+
<html style="background-color: buttonface; color: buttontext;">
|
2
|
+
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="content-type" content="text/xml; charset=utf-8" />
|
5
|
+
|
6
|
+
<title>Simple calendar setup [flat calendar]</title>
|
7
|
+
|
8
|
+
<!-- calendar stylesheet -->
|
9
|
+
<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" />
|
10
|
+
|
11
|
+
<!-- main calendar program -->
|
12
|
+
<script type="text/javascript" src="calendar.js"></script>
|
13
|
+
|
14
|
+
<!-- language for the calendar -->
|
15
|
+
<script type="text/javascript" src="lang/calendar-en.js"></script>
|
16
|
+
|
17
|
+
<!-- the following script defines the Calendar.setup helper function, which makes
|
18
|
+
adding a calendar a matter of 1 or 2 lines of code. -->
|
19
|
+
<script type="text/javascript" src="calendar-setup.js"></script>
|
20
|
+
|
21
|
+
<style type="text/css">
|
22
|
+
.special { background-color: #000; color: #fff; }
|
23
|
+
</style>
|
24
|
+
|
25
|
+
</head>
|
26
|
+
|
27
|
+
<body>
|
28
|
+
|
29
|
+
<h2>DHTML Calendar — for the impatient</h2>
|
30
|
+
|
31
|
+
<blockquote>
|
32
|
+
<p>
|
33
|
+
This page demonstrates how to setup a flat calendar. Examples of
|
34
|
+
<em>popup</em> calendars are available in <a
|
35
|
+
href="simple-1.html">another page</a>.
|
36
|
+
</p>
|
37
|
+
<p>
|
38
|
+
The code in this page uses a helper function defined in
|
39
|
+
"calendar-setup.js". With it you can setup the calendar in
|
40
|
+
minutes. If you're not <em>that</em> impatient, ;-) <a
|
41
|
+
href="doc/html/reference.html">complete documenation</a> is
|
42
|
+
available.
|
43
|
+
</p>
|
44
|
+
</blockquote>
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
<hr />
|
49
|
+
|
50
|
+
<div style="float: right; margin-left: 1em; margin-bottom: 1em;"
|
51
|
+
id="calendar-container"></div>
|
52
|
+
|
53
|
+
<script type="text/javascript">
|
54
|
+
var SPECIAL_DAYS = {
|
55
|
+
0 : [ 13, 24 ], // special days in January
|
56
|
+
2 : [ 1, 6, 8, 12, 18 ], // special days in March
|
57
|
+
8 : [ 21, 11 ] // special days in September
|
58
|
+
};
|
59
|
+
|
60
|
+
function dateIsSpecial(year, month, day) {
|
61
|
+
var m = SPECIAL_DAYS[month];
|
62
|
+
if (!m) return false;
|
63
|
+
for (var i in m) if (m[i] == day) return true;
|
64
|
+
return false;
|
65
|
+
};
|
66
|
+
|
67
|
+
function dateChanged(calendar) {
|
68
|
+
// Beware that this function is called even if the end-user only
|
69
|
+
// changed the month/year. In order to determine if a date was
|
70
|
+
// clicked you can use the dateClicked property of the calendar:
|
71
|
+
if (calendar.dateClicked) {
|
72
|
+
// OK, a date was clicked, redirect to /yyyy/mm/dd/index.php
|
73
|
+
var y = calendar.date.getFullYear();
|
74
|
+
var m = calendar.date.getMonth(); // integer, 0..11
|
75
|
+
var d = calendar.date.getDate(); // integer, 1..31
|
76
|
+
// redirect...
|
77
|
+
window.location = "/" + y + "/" + m + "/" + d + "/index.php";
|
78
|
+
}
|
79
|
+
};
|
80
|
+
|
81
|
+
Calendar.setup(
|
82
|
+
{
|
83
|
+
flat : "calendar-container", // ID of the parent element
|
84
|
+
flatCallback : dateChanged, // our callback function
|
85
|
+
dateStatusFunc : function(date, y, m, d) {
|
86
|
+
if (dateIsSpecial(y, m, d)) return "special";
|
87
|
+
else return false; // other dates are enabled
|
88
|
+
// return true if you want to disable other dates
|
89
|
+
}
|
90
|
+
}
|
91
|
+
);
|
92
|
+
</script>
|
93
|
+
|
94
|
+
<p>The positioning of the DIV that contains the calendar is entirely your
|
95
|
+
job. For instance, the "calendar-container" DIV from this page has the
|
96
|
+
following style: "float: right; margin-left: 1em; margin-bottom: 1em".</p>
|
97
|
+
|
98
|
+
<p>Following there is the code that has been used to create this calendar.
|
99
|
+
You can find the full description of the <tt>Calendar.setup()</tt> function
|
100
|
+
in the <a href="doc/html/reference.html">calendar documenation</a>.</p>
|
101
|
+
|
102
|
+
<pre
|
103
|
+
><div style="float: right; margin-left: 1em; margin-bottom: 1em;"
|
104
|
+
id="calendar-container"></div>
|
105
|
+
|
106
|
+
<script type="text/javascript">
|
107
|
+
function dateChanged(calendar) {
|
108
|
+
// Beware that this function is called even if the end-user only
|
109
|
+
// changed the month/year. In order to determine if a date was
|
110
|
+
// clicked you can use the dateClicked property of the calendar:
|
111
|
+
if (calendar.dateClicked) {
|
112
|
+
// OK, a date was clicked, redirect to /yyyy/mm/dd/index.php
|
113
|
+
var y = calendar.date.getFullYear();
|
114
|
+
var m = calendar.date.getMonth(); // integer, 0..11
|
115
|
+
var d = calendar.date.getDate(); // integer, 1..31
|
116
|
+
// redirect...
|
117
|
+
window.location = "/" + y + "/" + m + "/" + d + "/index.php";
|
118
|
+
}
|
119
|
+
};
|
120
|
+
|
121
|
+
Calendar.setup(
|
122
|
+
{
|
123
|
+
flat : "calendar-container", // ID of the parent element
|
124
|
+
flatCallback : dateChanged // our callback function
|
125
|
+
}
|
126
|
+
);
|
127
|
+
</script></pre>
|
128
|
+
|
129
|
+
</body>
|
130
|
+
</html>
|