parlement 0.13 → 0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/CHANGES +15 -0
  2. data/Rakefile +1 -1
  3. data/app/controllers/account_controller.rb +20 -20
  4. data/app/controllers/application.rb +18 -17
  5. data/app/controllers/elt_controller.rb +92 -71
  6. data/app/controllers/subscriber_controller.rb +1 -1
  7. data/app/helpers/elt_helper.rb +2 -1
  8. data/app/models/elt.rb +3 -1
  9. data/app/models/mail.rb +0 -3
  10. data/app/views/_help.rhtml +2 -0
  11. data/app/views/account/_login.rhtml +39 -37
  12. data/app/views/account/_show.rhtml +24 -18
  13. data/app/views/elt/_choice.rhtml +22 -22
  14. data/app/views/elt/_elt.rhtml +73 -64
  15. data/app/views/elt/choices.rhtml +22 -18
  16. data/app/views/elt/list/_byDate.rhtml +71 -0
  17. data/app/views/elt/list/_byVote.rhtml +71 -0
  18. data/app/views/elt/{_list.rhtml → list/_children.rhtml} +3 -3
  19. data/app/views/{subscriber/_list.rhtml → elt/list/_subscribers.rhtml} +0 -0
  20. data/app/views/elt/{_listVisitors.rhtml → list/_visitors.rhtml} +0 -0
  21. data/app/views/elt/{_listByVote.rhtml → list/byVote.rhtml} +3 -2
  22. data/app/views/elt/new.rhtml +26 -11
  23. data/app/views/elt/show.rhtml +32 -31
  24. data/app/views/layouts/_title.rhtml +10 -0
  25. data/app/views/layouts/top.rhtml +41 -23
  26. data/app/views/person/_listElts.rhtml +1 -1
  27. data/app/views/person/show.rhtml +19 -16
  28. data/config/boot.rb +2 -2
  29. data/config/environment.rb +1 -1
  30. data/db/ROOT/perso.txt +214 -0
  31. data/db/development_structure.sql +1 -1
  32. data/public/javascripts/mybehaviour.js +21 -21
  33. data/public/javascripts/prototype.js +1 -1
  34. data/public/javascripts/shadedborder.js +249 -0
  35. data/public/stylesheets/blue.css +471 -0
  36. data/public/stylesheets/default.css +165 -310
  37. data/vendor/plugins/engines/README +2 -0
  38. data/vendor/plugins/engines/Rakefile +18 -0
  39. data/vendor/plugins/engines/lib/engines/testing.rb +0 -1
  40. data/vendor/plugins/engines/tasks/engines.rake +4 -2
  41. data/vendor/plugins/login_engine/app/controllers/user_controller.rb +2 -1
  42. metadata +13 -7
  43. data/app/views/elt/_listByDate.rhtml +0 -76
@@ -0,0 +1,249 @@
1
+ /**
2
+ * RUZEE.ShadedBorder 0.2
3
+ * (c) 2006 Steffen Rusitschka
4
+ *
5
+ * RUZEE.ShadedBorder is freely distributable under the terms of an MIT-style license.
6
+ * For details, see http://www.ruzee.com/
7
+ */
8
+
9
+ var RUZEE = window.RUZEE || {};
10
+
11
+ RUZEE.ShadedBorder = {
12
+
13
+ create: function(opts) {
14
+ var isie = /msie/i.test(navigator.userAgent) && !window.opera;
15
+ function sty(el, h) {
16
+ for(k in h) {
17
+ if (/ie_/.test(k)) {
18
+ if (isie) el.style[k.substr(3)]=h[k];
19
+ } else el.style[k]=h[k];
20
+ }
21
+ }
22
+ function crdiv(h) {
23
+ var el=document.createElement("div");
24
+ el.className = "sb-gen";
25
+ sty(el, h);
26
+ return el;
27
+ }
28
+ function op(v) {
29
+ v = v<0 ? 0 : v;
30
+ v = v>0.99999 ? 0.99999 : v;
31
+ if (isie) {
32
+ return " filter:alpha(opacity=" + (v*100) + ");";
33
+ } else {
34
+ return " opacity:" + v + ';';
35
+ }
36
+ }
37
+
38
+ var sr = opts.shadow || 0;
39
+ var r = opts.corner || 0;
40
+ var bor = 0;
41
+ var bow = opts.border || 0;
42
+ var shadow = sr != 0;
43
+ var lw = r > sr ? r : sr;
44
+ var rw = lw;
45
+ var th = lw;
46
+ var bh = lw;
47
+ if (bow > 0) {
48
+ bor = r;
49
+ r = r - bow;
50
+ }
51
+ var cx = r != 0 && shadow ? Math.round(lw/3) : 0;
52
+ var cy = cx;
53
+ var cs = Math.round(cx/2);
54
+ var iclass = r > 0 ? "sb-inner" : "sb-shadow";
55
+ var sclass = "sb-shadow";
56
+ var bclass = "sb-border";
57
+ var edges = opts.edges || "trlb";
58
+ if (!/t/i.test(edges)) th=0;
59
+ if (!/b/i.test(edges)) bh=0;
60
+ if (!/l/i.test(edges)) lw=0;
61
+ if (!/r/i.test(edges)) rw=0;
62
+
63
+ var p = { position:"absolute", left:"0", top:"0", width:lw + "px", height:th + "px",
64
+ ie_fontSize:"1px", overflow:"hidden" }; var tl = crdiv(p);
65
+ delete p.left; p.right="0"; p.width=rw + "px"; var tr = crdiv(p);
66
+ delete p.top; p.bottom="0"; p.height=bh + "px"; var br = crdiv(p);
67
+ delete p.right; p.left="0"; p.width=lw + "px"; var bl = crdiv(p);
68
+
69
+ var tw = crdiv({ position:"absolute", width:"100%", height:th + "px", ie_fontSize:"1px",
70
+ top:"0", left:"0", overflow:"hidden" });
71
+ var t = crdiv({ position:"relative", height:th + "px", ie_fontSize:"1px", marginLeft:lw + "px",
72
+ marginRight:rw + "px", overflow:"hidden" });
73
+ tw.appendChild(t);
74
+
75
+ var bw = crdiv({ position:"absolute", left:"0", bottom:"0", width:"100%", height:bh + "px",
76
+ ie_fontSize:"1px", overflow:"hidden" });
77
+
78
+ var b = crdiv({ position:"relative", height:bh + "px", ie_fontSize:"1px", marginLeft:lw + "px",
79
+ marginRight:rw + "px", overflow:"hidden" });
80
+
81
+ bw.appendChild(b);
82
+
83
+ var mw = crdiv({ position:"absolute", top:(-bh)+"px", left:"0", width:"100%", height:"100%",
84
+ overflow:"hidden", ie_fontSize:"1px" });
85
+
86
+ function corner(el,t,l) {
87
+ var w = l ? lw : rw;
88
+ var h = t ? th : bh;
89
+ var s = t ? cs : -cs;
90
+ var dsb = []; var dsi = []; var dss = [];
91
+
92
+ var xp=0; var xd=1; if (l) { xp=w-1; xd=-1; }
93
+ for (var x=0; x<w; ++x) {
94
+ var yp=0; var yd=1; if (t) { yp=h-1; yd=-1; }
95
+ for (var y=0; y<h; ++y) {
96
+ var div = '<div style="position:absolute; top:' + yp + 'px; left:' + xp + 'px; ' +
97
+ 'width:1px; height:1px; overflow:hidden;';
98
+
99
+ var xc = x - cx; var yc = y - cy - s;
100
+ var d = Math.sqrt(xc*xc+yc*yc);
101
+ var doShadow = false;
102
+
103
+ if (r > 0) {
104
+ // draw border
105
+ if (xc < 0 && yc < bor && yc >= r || yc < 0 && xc < bor && xc >= r) {
106
+ dsb.push(div + '" class="' + bclass + '"></div>');
107
+ } else
108
+ if (d<bor && d>=r-1 && xc>=0 && yc>=0) {
109
+ var dd = div;
110
+ if (d>=bor-1) {
111
+ dd += op(bor-d);
112
+ doShadow = true;
113
+ }
114
+ dsb.push(dd + '" class="' + bclass + '"></div>');
115
+ }
116
+
117
+ // draw inner
118
+ var dd = div + ' z-index:2;';
119
+ if (xc < 0 && yc < r || yc < 0 && xc < r) {
120
+ dsi.push(dd + '" class="' + iclass + '"></div>');
121
+ } else
122
+ if (d<r && xc>=0 && yc>=0) {
123
+ if (d>=r-1) {
124
+ dd += op(r-d);
125
+ doShadow = true;
126
+ }
127
+ dsi.push(dd + '" class="' + iclass + '"></div>');
128
+ } else doShadow = true;
129
+ } else doShadow = true;
130
+
131
+ // draw shadow
132
+ if (sr > 0 && doShadow) {
133
+ d = Math.sqrt(x*x+y*y);
134
+ if (d<sr) {
135
+ dss.push(div + ' z-index:0; ' + op(1-(d/sr)) + '" class="' + sclass + '"></div>');
136
+ }
137
+ }
138
+ yp += yd;
139
+ }
140
+ xp += xd;
141
+ }
142
+ el.innerHTML = dss.concat(dsb.concat(dsi)).join('');
143
+ }
144
+
145
+ function mid(mw) {
146
+ var ds = [];
147
+
148
+ ds.push('<div style="position:relative; top:' + (th+bh) + 'px;' +
149
+ ' height:10000px; margin-left:' + (lw-r-cx) + 'px;' +
150
+ ' margin-right:' + (rw-r-cx) + 'px; overflow:hidden;"' +
151
+ ' class="' + iclass + '"></div>');
152
+
153
+ var dd = '<div style="position:absolute; width:1px;' +
154
+ ' top:' + (th+bh) + 'px; height:10000px;';
155
+ for (var x=0; x<lw-r-cx; ++x) {
156
+ ds.push(dd + ' left:' + x + 'px;' + op((x+1.0)/lw) +
157
+ '" class="' + sclass + '"></div>');
158
+ }
159
+
160
+ for (var x=0; x<rw-r-cx; ++x) {
161
+ ds.push(dd + ' right:' + x + 'px;' + op((x+1.0)/rw) +
162
+ '" class="' + sclass + '"></div>');
163
+ }
164
+
165
+ if (bow > 0) {
166
+ var su = ' width:' + bow + 'px;' + '" class="' + bclass + '"></div>';
167
+ ds.push(dd + ' left:' + (lw-bor-cx) + 'px;' + su);
168
+ ds.push(dd + ' right:' + (rw-bor-cx) + 'px;' + su);
169
+ }
170
+
171
+ mw.innerHTML = ds.join('');
172
+ }
173
+
174
+ function tb(el, t) {
175
+ var ds = [];
176
+ var h = t ? th : bh;
177
+ var dd = '<div style="height:1px; overflow:hidden; position:absolute;' +
178
+ ' width:100%; left:0px; ';
179
+ var s = t ? cs : -cs;
180
+ for (var y=0; y<h-s-cy-r; ++y) {
181
+ ds.push(dd + (t ? 'top:' : 'bottom:') + y + 'px;' + op((y+1)*1.0/h) +
182
+ '" class="' + sclass + '"></div>');
183
+ }
184
+ if (y >= bow) {
185
+ ds.push(dd + (t ? 'top:' : 'bottom:') + (y - bow) + 'px;' +
186
+ ' height:' + bow + 'px;" class="' + bclass + '"></div>');
187
+ }
188
+
189
+ ds.push(dd + (t ? 'top:' : 'bottom:') + y + 'px;' +
190
+ ' height:' + (r+cy+s) + 'px;" class="' + iclass + '"></div>');
191
+
192
+ el.innerHTML = ds.join('');
193
+ }
194
+
195
+ corner(tl, true, true); corner(tr, true, false);
196
+ corner(bl, false, true); corner(br, false, false);
197
+ mid(mw); tb(t, true); tb(b, false);
198
+
199
+ return {
200
+ render: function(el) {
201
+ if (typeof el == 'string') el = document.getElementById(el);
202
+ if (el.length != undefined) {
203
+ for (var i=0; i<el.length; ++i) this.render(el[i]);
204
+ return;
205
+ }
206
+ // remove generated children
207
+ var node = el.firstChild;
208
+ while (node) {
209
+ var nextNode = node.nextSibling;
210
+ if (node.nodeType == 1 && node.className == 'sb-gen')
211
+ el.removeChild(node);
212
+ node = nextNode;
213
+ }
214
+
215
+ var iel = el.firstChild;
216
+
217
+ var twc = tw.cloneNode(true);
218
+ var mwc = mw.cloneNode(true);
219
+ var bwc = bw.cloneNode(true);
220
+
221
+ el.insertBefore(tl.cloneNode(true), iel); el.insertBefore(tr.cloneNode(true), iel);
222
+ el.insertBefore(bl.cloneNode(true), iel); el.insertBefore(br.cloneNode(true), iel);
223
+ el.insertBefore(twc, iel); el.insertBefore(mwc, iel);
224
+ el.insertBefore(bwc, iel);
225
+
226
+ if (isie) {
227
+ function resize() {
228
+ twc.style.width = bwc.style.width = mwc.style.width = el.offsetWidth + "px";
229
+ mwc.firstChild.style.height = el.offsetHeight + "px";
230
+ }
231
+ el.onresize=resize;
232
+ resize();
233
+ }
234
+ }
235
+ };
236
+ }
237
+ }
238
+
239
+ // add our styles to the document
240
+ document.write(
241
+ '<style type="text/css">' +
242
+ '.sb, .sbi, .sb *, .sbi * { position:relative; z-index:1; }' +
243
+ '* html .sb, * html .sbi { height:1%; }' +
244
+ '.sbi { display:inline-block; }' +
245
+ '.sb-inner { background:#ddd; }' +
246
+ '.sb-shadow { background:#000; }' +
247
+ '.sb-border { background:#bbb; }' +
248
+ '</style>'
249
+ );