parlement 0.13 → 0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ );