under_construction 0.0.1

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 (74) hide show
  1. data/README.md +156 -0
  2. data/Rakefile +35 -0
  3. data/app/assets/fonts/under_construction/site-under-construction-fa/IranianSans.eot +0 -0
  4. data/app/assets/fonts/under_construction/site-under-construction-fa/IranianSans.ttf +0 -0
  5. data/app/assets/fonts/under_construction/site-under-construction-fa/IranianSans.woff +0 -0
  6. data/app/assets/images/under_construction/site-under-construction/bg.jpg +0 -0
  7. data/app/assets/images/under_construction/site-under-construction/button.png +0 -0
  8. data/app/assets/images/under_construction/site-under-construction/counter_bg.png +0 -0
  9. data/app/assets/images/under_construction/site-under-construction/deviantart.png +0 -0
  10. data/app/assets/images/under_construction/site-under-construction/facebook.png +0 -0
  11. data/app/assets/images/under_construction/site-under-construction/flickr.png +0 -0
  12. data/app/assets/images/under_construction/site-under-construction/google.png +0 -0
  13. data/app/assets/images/under_construction/site-under-construction/identica.png +0 -0
  14. data/app/assets/images/under_construction/site-under-construction/linkedin.png +0 -0
  15. data/app/assets/images/under_construction/site-under-construction/logo.png +0 -0
  16. data/app/assets/images/under_construction/site-under-construction/mail-bg.png +0 -0
  17. data/app/assets/images/under_construction/site-under-construction/next.png +0 -0
  18. data/app/assets/images/under_construction/site-under-construction/page_background.png +0 -0
  19. data/app/assets/images/under_construction/site-under-construction/prev.png +0 -0
  20. data/app/assets/images/under_construction/site-under-construction/skype.png +0 -0
  21. data/app/assets/images/under_construction/site-under-construction/stumbleupon.png +0 -0
  22. data/app/assets/images/under_construction/site-under-construction/twitter.png +0 -0
  23. data/app/assets/images/under_construction/site-under-construction/yahoo.png +0 -0
  24. data/app/assets/images/under_construction/site-under-construction/youtube.png +0 -0
  25. data/app/assets/images/under_construction/site-under-construction-fa/bg.jpg +0 -0
  26. data/app/assets/images/under_construction/site-under-construction-fa/button.png +0 -0
  27. data/app/assets/images/under_construction/site-under-construction-fa/counter_bg.png +0 -0
  28. data/app/assets/images/under_construction/site-under-construction-fa/deviantart.png +0 -0
  29. data/app/assets/images/under_construction/site-under-construction-fa/facebook.png +0 -0
  30. data/app/assets/images/under_construction/site-under-construction-fa/flickr.png +0 -0
  31. data/app/assets/images/under_construction/site-under-construction-fa/google.png +0 -0
  32. data/app/assets/images/under_construction/site-under-construction-fa/identica.png +0 -0
  33. data/app/assets/images/under_construction/site-under-construction-fa/linkedin.png +0 -0
  34. data/app/assets/images/under_construction/site-under-construction-fa/logo.png +0 -0
  35. data/app/assets/images/under_construction/site-under-construction-fa/mail-bg.png +0 -0
  36. data/app/assets/images/under_construction/site-under-construction-fa/next.png +0 -0
  37. data/app/assets/images/under_construction/site-under-construction-fa/page_background.png +0 -0
  38. data/app/assets/images/under_construction/site-under-construction-fa/prev.png +0 -0
  39. data/app/assets/images/under_construction/site-under-construction-fa/skype.png +0 -0
  40. data/app/assets/images/under_construction/site-under-construction-fa/stumbleupon.png +0 -0
  41. data/app/assets/images/under_construction/site-under-construction-fa/twitter.png +0 -0
  42. data/app/assets/images/under_construction/site-under-construction-fa/yahoo.png +0 -0
  43. data/app/assets/images/under_construction/site-under-construction-fa/youtube.png +0 -0
  44. data/app/assets/javascripts/under_construction/site-under-construction/DD_belatedPNG_0.0.7a-min.js +14 -0
  45. data/app/assets/javascripts/under_construction/site-under-construction/jcarousellite1.0.1_min.js +1 -0
  46. data/app/assets/javascripts/under_construction/site-under-construction/jquery.countdown.min.js +6 -0
  47. data/app/assets/javascripts/under_construction/site-under-construction-fa/DD_belatedPNG_0.0.7a-min.js +14 -0
  48. data/app/assets/javascripts/under_construction/site-under-construction-fa/jcarousellite1.0.1_min.js +1 -0
  49. data/app/assets/javascripts/under_construction/site-under-construction-fa/jquery.countdown-fa.js +13 -0
  50. data/app/assets/javascripts/under_construction/site-under-construction-fa/jquery.countdown.min.js +6 -0
  51. data/app/assets/stylesheets/under_construction/site-under-construction/style.css +325 -0
  52. data/app/assets/stylesheets/under_construction/site-under-construction-fa/style.css +326 -0
  53. data/app/controllers/under_construction_controller.rb +20 -0
  54. data/app/controllers/under_construction_email_storage_controller.rb +17 -0
  55. data/app/helpers/email_storage_helper.rb +13 -0
  56. data/app/mailers/notify_under_construction_submitted_mails.rb +7 -0
  57. data/app/models/under_construction_email_storage.rb +61 -0
  58. data/app/views/email_storage/_form.html.erb +6 -0
  59. data/app/views/notify_under_construction_submitted_mails/under_construction_notify.text.erb +1 -0
  60. data/lib/generators/under_construction/USAGE +8 -0
  61. data/lib/generators/under_construction/clear_generator.rb +38 -0
  62. data/lib/generators/under_construction/config_generator.rb +38 -0
  63. data/lib/generators/under_construction/constants.rb +37 -0
  64. data/lib/generators/under_construction/templates/under_construction/site-under-construction/index.html.erb +116 -0
  65. data/lib/generators/under_construction/templates/under_construction/site-under-construction-fa/index.html.erb +116 -0
  66. data/lib/generators/under_construction/templates/under_construction.yml +41 -0
  67. data/lib/generators/under_construction/templates/under_construction_scheduler.rb +6 -0
  68. data/lib/tasks/under_cunstruction_tasks.rake +12 -0
  69. data/lib/under_construction/config.rb +46 -0
  70. data/lib/under_construction/engine.rb +15 -0
  71. data/lib/under_construction/schedule.rb +39 -0
  72. data/lib/under_construction/version.rb +3 -0
  73. data/lib/under_construction.rb +18 -0
  74. metadata +283 -0
@@ -0,0 +1,325 @@
1
+
2
+ /* === Font Styles === */
3
+
4
+ @font-face {
5
+ font-family: 'PTSansRegular';
6
+ src: url('fonts/pt-sans/PTS55F-webfont.eot');
7
+ src: url('fonts/pt-sans/PTS55F-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/pt-sans/PTS55F-webfont.woff') format('woff'), url('fonts/pt-sans/PTS55F-webfont.ttf') format('truetype'), url('fonts/pt-sans/PTS55F-webfont.svg#PTSansRegular') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+
13
+ /* === General Styles === */
14
+
15
+ html,
16
+ div,
17
+ span,
18
+ head,
19
+ h1,
20
+ h2,
21
+ h3,
22
+ h4,
23
+ h5,
24
+ h6,
25
+ p,
26
+ blockquote,
27
+ a,
28
+ font,
29
+ img,
30
+ small,
31
+ strong,
32
+ ol,
33
+ ul,
34
+ li {
35
+ margin: 0;
36
+ padding: 0;
37
+ border: 0;
38
+ outline: 0;
39
+ font-size: 100%;
40
+ background: transparent;
41
+ }
42
+
43
+ ol,
44
+ ul { list-style: none }
45
+
46
+ blockquote,
47
+ q { quotes: none }
48
+
49
+ body {
50
+ font-family: PTSansRegular;
51
+ margin: 0;
52
+ padding: 0;
53
+ border: 0;
54
+ outline: 0;
55
+ font-size: 100%;
56
+ line-height: 1;
57
+ }
58
+
59
+ body { background: #aaaaaa url(bg.jpg) repeat scroll 0 0 }
60
+
61
+ .container {
62
+ width: 885px;
63
+ margin: 0 auto;
64
+ }
65
+
66
+ #main {
67
+ background: url(page_background.png) no-repeat scroll 0 0;
68
+ margin: 0 auto;
69
+ padding: 0;
70
+ height: 430px;
71
+ }
72
+
73
+ /* === Flashes === */
74
+ .flash {
75
+ text-align: center;
76
+ position: relative;
77
+ margin: 0 auto;
78
+ top: 20px;
79
+ width: 300px;
80
+ padding: 10px;
81
+ -webkit-border-radius: 5px;
82
+ -moz-border-radius: 5px;
83
+ -ms-border-radius: 5px;
84
+ -o-border-radius: 5px;
85
+ border-radius: 5px;
86
+ }
87
+
88
+ .notice {
89
+ background-color: #DFF0D8;
90
+ border: 1px solid #D6E9C6;
91
+ color: #468847;
92
+ }
93
+
94
+ .alert {
95
+ background-color: #F2DEDE;
96
+ border: 1px solid #EED3D7;
97
+ color: #B94A48;
98
+ }
99
+
100
+ /* === Header Styles === */
101
+
102
+ #header {
103
+ margin: auto;
104
+ margin-top: 80px;
105
+ margin-bottom: 10px;
106
+ height: 50px;
107
+ }
108
+
109
+ #logo {
110
+ position: relative;
111
+ float: left;
112
+ padding-left: 42px;
113
+ }
114
+
115
+ #contact_details {
116
+ float: right;
117
+ color: #333333;
118
+ font-size: 13px;
119
+ font-style: normal;
120
+ line-height: 22px;
121
+ padding-right: 42px;
122
+ text-align: right;
123
+ }
124
+
125
+ #contact_details a {
126
+ color: #333333;
127
+ font-size: 13px;
128
+ text-decoration: none;
129
+ letter-spacing: 0.5px;
130
+ }
131
+
132
+
133
+ /* === Content Styles === */
134
+
135
+ #content { padding: 10px 44px }
136
+
137
+ .text {
138
+ text-align: center;
139
+ margin-top: 40px;
140
+ padding-bottom: 40px;
141
+ border-bottom: 1px solid #262626;
142
+ }
143
+
144
+ .text h2 {
145
+ font-size: 30px;
146
+ color: #e5e5e5;
147
+ font-style: normal;
148
+ font-variant: normal;
149
+ font-weight: lighter;
150
+ letter-spacing: 2px;
151
+ }
152
+
153
+ .counter {
154
+ background: url(counter_bg.png) no-repeat scroll center 57px;
155
+ width: 797px;
156
+ height: 150px;
157
+ border-top: 1px solid #4f4f4f;
158
+ border-bottom: 1px solid #262626;
159
+ text-align: center;
160
+ position: relative;
161
+ }
162
+
163
+ .counter h3 {
164
+ font-size: 14px;
165
+ color: #e5e5e5;
166
+ font-style: normal;
167
+ font-variant: normal;
168
+ font-weight: lighter;
169
+ letter-spacing: 1px;
170
+ margin-top: 20px;
171
+ }
172
+
173
+ .details {
174
+ border-top: 1px solid #4f4f4f;
175
+ height: 120px;
176
+ }
177
+
178
+ #sliderwrap {
179
+ float: left;
180
+ text-align: center;
181
+ width: 600px;
182
+ overflow: hidden;
183
+ position: relative;
184
+ height: 110px;
185
+ margin-left: 10px;
186
+ }
187
+
188
+ #slidertext h3 {
189
+ font-size: 14px;
190
+ font-style: normal;
191
+ font-weight: lighter;
192
+ color: #e5e5e5;
193
+ letter-spacing: 1px;
194
+ margin-bottom: 15px;
195
+ }
196
+
197
+ #slidertext p {
198
+ font-size: 12px;
199
+ font-style: normal;
200
+ font-weight: normal;
201
+ color: #CCCCCC;
202
+ padding: 0 25px;
203
+ }
204
+
205
+ a.prev {
206
+ float: left;
207
+ margin-top: 50px;
208
+ margin-left: 50px;
209
+ }
210
+
211
+ a.next {
212
+ float: right;
213
+ margin-top: 50px;
214
+ margin-right: 50px;
215
+ }
216
+
217
+ #slidertext {
218
+ margin-top: 15px;
219
+ float: left;
220
+ width: 600px;
221
+ overflow: hidden;
222
+ position: relative;
223
+ }
224
+
225
+ #slidertext li {
226
+ overflow: hidden;
227
+ position: relative;
228
+ width: 600px;
229
+ height: 100px;
230
+ }
231
+
232
+ #slidertext ul { width: 600px }
233
+
234
+ .social {
235
+ position: relative;
236
+ text-align: center;
237
+ padding-top: 10px;
238
+ }
239
+
240
+ .social a {
241
+ width: 48px;
242
+ height: 48px;
243
+ margin-right: 20px;
244
+ text-indent: -9999px;
245
+ display: inline-block;
246
+ z-index: 1000;
247
+ }
248
+
249
+ #slidertext ul li a.twitter { background: url(twitter.png) no-repeat scroll 0 0 }
250
+
251
+ #slidertext ul li a.google { background: url(google.png) no-repeat scroll 0 0 }
252
+
253
+ #slidertext ul li a.yahoo { background: url(yahoo.png) no-repeat scroll 0 0 }
254
+
255
+ #slidertext ul li a.facebook { background: url(facebook.png) no-repeat scroll 0 0 }
256
+
257
+ #slidertext ul li a.stumbleupon { background: url(stumbleupon.png) no-repeat scroll 0 0 }
258
+
259
+ #slidertext ul li a.deviantart { background: url(deviantart.png) no-repeat scroll 0 0 }
260
+
261
+ #slidertext ul li a.skype { background: url(skype.png) no-repeat scroll 0 0 }
262
+
263
+ #slidertext ul li a.youtube { background: url(youtube.png) no-repeat scroll 0 0 }
264
+
265
+ #slidertext ul li a.google { background: url(google.png) no-repeat scroll 0 0 }
266
+
267
+ #slidertext ul li a.googleplus { background: url(googleplus.png) no-repeat scroll 0 0 }
268
+
269
+ #slidertext ul li a.flickr { background: url(flickr.png) no-repeat scroll 0 0 }
270
+
271
+ #slidertext ul li a.identica { background: url(identica.png) no-repeat scroll 0 0 }
272
+
273
+ #subscribeform {
274
+ margin-top: 20px;
275
+ margin-left: 135px;
276
+ }
277
+
278
+ input#email {
279
+ background: url(mail-bg.png) no-repeat scroll 0 0;
280
+ width: 217px;
281
+ height: 42px;
282
+ border: 0 none;
283
+ padding: 0 0 0 20px;
284
+ color: #868686;
285
+ float: left;
286
+ margin-right: 10px;
287
+ line-height: 40px;
288
+ }
289
+
290
+ input#submit {
291
+ background: url(button.png) no-repeat scroll 0 0;
292
+ width: 92px;
293
+ height: 43px;
294
+ border: 0 none;
295
+ cursor: pointer;
296
+ color: #fff;
297
+ float: left;
298
+ font-weight: bold;
299
+ text-shadow: 1px 1px 0px #393939;
300
+ }
301
+
302
+ .copyright {
303
+ text-align: center;
304
+ margin-top: 10px;
305
+ font-size: 12px;
306
+ margin-bottom: 50px;
307
+ }
308
+
309
+
310
+ /* === jQuery Countdown Styles === */
311
+
312
+ #defaultCountdown {
313
+ width: 757px;
314
+ height: 60px;
315
+ }
316
+
317
+ .hasCountdown {
318
+ text-align: center;
319
+ margin-left: 20px;
320
+ margin-right: 20px;
321
+ color: #E5E5E5;
322
+ margin-top: 45px;
323
+ font-size: 26px;
324
+ font-weight: normal;
325
+ }
@@ -0,0 +1,326 @@
1
+
2
+ /* === Font Styles === */
3
+
4
+ @font-face {
5
+ font-family: 'IranianSans';
6
+ src: url('/assets/under_construction/site-under-construction-fa/IranianSans.eot');
7
+ src: url('/assets/under_construction/site-under-construction-fa/IranianSans.eot?#iefix') format('embedded-opentype'), url('/assets/under_construction/site-under-construction-fa/IranianSans.woff') format('woff'), url('/assets/under_construction/site-under-construction-fa/IranianSans.ttf') format('truetype'), url('/assets/under_construction/site-under-construction-fa/IranianSans.svg#IranianSans') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+
13
+ /* === General Styles === */
14
+
15
+ html,
16
+ div,
17
+ span,
18
+ head,
19
+ h1,
20
+ h2,
21
+ h3,
22
+ h4,
23
+ h5,
24
+ h6,
25
+ p,
26
+ blockquote,
27
+ a,
28
+ font,
29
+ img,
30
+ small,
31
+ strong,
32
+ ol,
33
+ ul,
34
+ li {
35
+ margin: 0;
36
+ padding: 0;
37
+ border: 0;
38
+ outline: 0;
39
+ font-size: 100%;
40
+ background: transparent;
41
+ }
42
+
43
+ ol,
44
+ ul { list-style: none }
45
+
46
+ blockquote,
47
+ q { quotes: none }
48
+
49
+ body {
50
+ font-family: IranianSans;
51
+ margin: 0;
52
+ padding: 0;
53
+ border: 0;
54
+ outline: 0;
55
+ font-size: 100%;
56
+ line-height: 1;
57
+ }
58
+
59
+ body { background: #aaaaaa url(bg.jpg) repeat scroll 0 0 }
60
+
61
+ .container {
62
+ width: 885px;
63
+ margin: 0 auto;
64
+ }
65
+
66
+ #main {
67
+ background: url(page_background.png) no-repeat scroll 0 0;
68
+ margin: 0 auto;
69
+ padding: 0;
70
+ height: 430px;
71
+ }
72
+
73
+ /* === Flashes === */
74
+ .flash {
75
+ text-align: center;
76
+ position: relative;
77
+ margin: 0 auto;
78
+ top: 20px;
79
+ width: 300px;
80
+ padding: 10px;
81
+ -webkit-border-radius: 5px;
82
+ -moz-border-radius: 5px;
83
+ -ms-border-radius: 5px;
84
+ -o-border-radius: 5px;
85
+ border-radius: 5px;
86
+ }
87
+
88
+ .notice {
89
+ background-color: #DFF0D8;
90
+ border: 1px solid #D6E9C6;
91
+ color: #468847;
92
+ }
93
+
94
+ .alert {
95
+ background-color: #F2DEDE;
96
+ border: 1px solid #EED3D7;
97
+ color: #B94A48;
98
+ }
99
+
100
+ /* === Header Styles === */
101
+
102
+ #header {
103
+ margin: auto;
104
+ margin-top: 80px;
105
+ margin-bottom: 10px;
106
+ height: 50px;
107
+ }
108
+
109
+ #logo {
110
+ position: relative;
111
+ float: left;
112
+ padding-left: 42px;
113
+ }
114
+
115
+ #contact_details {
116
+ float: right;
117
+ color: #333333;
118
+ font-size: 13px;
119
+ font-style: normal;
120
+ line-height: 22px;
121
+ padding-right: 42px;
122
+ text-align: right;
123
+ }
124
+
125
+ #contact_details a {
126
+ color: #333333;
127
+ font-size: 13px;
128
+ text-decoration: none;
129
+ letter-spacing: 0.5px;
130
+ }
131
+
132
+
133
+ /* === Content Styles === */
134
+
135
+ #content { padding: 10px 44px }
136
+
137
+ .text {
138
+ text-align: center;
139
+ margin-top: 40px;
140
+ padding-bottom: 40px;
141
+ border-bottom: 1px solid #262626;
142
+ }
143
+
144
+ .text h2 {
145
+ font-size: 30px;
146
+ color: #e5e5e5;
147
+ font-style: normal;
148
+ font-variant: normal;
149
+ font-weight: lighter;
150
+ letter-spacing: 2px;
151
+ }
152
+
153
+ .counter {
154
+ background: url(counter_bg.png) no-repeat scroll center 57px;
155
+ width: 797px;
156
+ height: 150px;
157
+ border-top: 1px solid #4f4f4f;
158
+ border-bottom: 1px solid #262626;
159
+ text-align: center;
160
+ position: relative;
161
+ }
162
+
163
+ .counter h3 {
164
+ font-size: 14px;
165
+ color: #e5e5e5;
166
+ font-style: normal;
167
+ font-variant: normal;
168
+ font-weight: lighter;
169
+ letter-spacing: 1px;
170
+ margin-top: 20px;
171
+ }
172
+
173
+ .details {
174
+ border-top: 1px solid #4f4f4f;
175
+ height: 120px;
176
+ }
177
+
178
+ #sliderwrap {
179
+ float: left;
180
+ text-align: center;
181
+ width: 600px;
182
+ overflow: hidden;
183
+ position: relative;
184
+ height: 110px;
185
+ margin-right: 10px;
186
+ }
187
+
188
+ #slidertext h3 {
189
+ font-size: 14px;
190
+ font-style: normal;
191
+ font-weight: lighter;
192
+ color: #e5e5e5;
193
+ letter-spacing: 1px;
194
+ margin-bottom: 15px;
195
+ }
196
+
197
+ #slidertext p {
198
+ font-size: 12px;
199
+ font-style: normal;
200
+ font-weight: normal;
201
+ color: #CCCCCC;
202
+ padding: 0 25px;
203
+ line-height: 2em;
204
+ }
205
+
206
+ a.prev {
207
+ float: left;
208
+ margin-top: 50px;
209
+ margin-left: 50px;
210
+ }
211
+
212
+ a.next {
213
+ float: right;
214
+ margin-top: 50px;
215
+ margin-right: 50px;
216
+ }
217
+
218
+ #slidertext {
219
+ margin-top: 15px;
220
+ float: left;
221
+ width: 600px;
222
+ overflow: hidden;
223
+ position: relative;
224
+ }
225
+
226
+ #slidertext li {
227
+ overflow: hidden;
228
+ position: relative;
229
+ width: 600px;
230
+ height: 100px;
231
+ }
232
+
233
+ #slidertext ul { width: 600px }
234
+
235
+ .social {
236
+ position: relative;
237
+ text-align: center;
238
+ padding-top: 10px;
239
+ }
240
+
241
+ .social a {
242
+ width: 48px;
243
+ height: 48px;
244
+ margin-right: 20px;
245
+ text-indent: -9999px;
246
+ display: inline-block;
247
+ z-index: 1000;
248
+ }
249
+
250
+ #slidertext ul li a.twitter { background: url(twitter.png) no-repeat scroll 0 0 }
251
+
252
+ #slidertext ul li a.google { background: url(google.png) no-repeat scroll 0 0 }
253
+
254
+ #slidertext ul li a.yahoo { background: url(yahoo.png) no-repeat scroll 0 0 }
255
+
256
+ #slidertext ul li a.facebook { background: url(facebook.png) no-repeat scroll 0 0 }
257
+
258
+ #slidertext ul li a.stumbleupon { background: url(stumbleupon.png) no-repeat scroll 0 0 }
259
+
260
+ #slidertext ul li a.deviantart { background: url(deviantart.png) no-repeat scroll 0 0 }
261
+
262
+ #slidertext ul li a.skype { background: url(skype.png) no-repeat scroll 0 0 }
263
+
264
+ #slidertext ul li a.youtube { background: url(youtube.png) no-repeat scroll 0 0 }
265
+
266
+ #slidertext ul li a.google { background: url(google.png) no-repeat scroll 0 0 }
267
+
268
+ #slidertext ul li a.googleplus { background: url(googleplus.png) no-repeat scroll 0 0 }
269
+
270
+ #slidertext ul li a.flickr { background: url(flickr.png) no-repeat scroll 0 0 }
271
+
272
+ #slidertext ul li a.identica { background: url(identica.png) no-repeat scroll 0 0 }
273
+
274
+ #subscribeform {
275
+ margin-top: 20px;
276
+ margin-left: 135px;
277
+ }
278
+
279
+ input#email {
280
+ background: url(mail-bg.png) no-repeat scroll 0 0;
281
+ width: 217px;
282
+ height: 42px;
283
+ border: 0 none;
284
+ padding: 0 20px 0 0;
285
+ color: #868686;
286
+ float: left;
287
+ margin-right: 10px;
288
+ line-height: 40px;
289
+ }
290
+
291
+ input#submit {
292
+ background: url(button.png) no-repeat scroll 0 0;
293
+ width: 92px;
294
+ height: 40px;
295
+ border: 0 none;
296
+ cursor: pointer;
297
+ color: #fff;
298
+ float: left;
299
+ font-weight: bold;
300
+ text-shadow: 1px 1px 0px #393939;
301
+ }
302
+
303
+ .copyright {
304
+ text-align: center;
305
+ margin-top: 10px;
306
+ font-size: 12px;
307
+ margin-bottom: 50px;
308
+ }
309
+
310
+
311
+ /* === jQuery Countdown Styles === */
312
+
313
+ #defaultCountdown {
314
+ width: 757px;
315
+ height: 60px;
316
+ }
317
+
318
+ .hasCountdown {
319
+ text-align: center;
320
+ margin-left: 20px;
321
+ margin-right: 20px;
322
+ color: #E5E5E5;
323
+ margin-top: 45px;
324
+ font-size: 26px;
325
+ font-weight: normal;
326
+ }
@@ -0,0 +1,20 @@
1
+ class UnderConstructionController < ApplicationController
2
+ layout false
3
+
4
+ def index
5
+ assign_config_options_to_view
6
+ @email = UnderConstructionEmailStorage.new
7
+
8
+ respond_to do |format|
9
+ format.html { render template: "under_construction/#{@theme}/index" }
10
+ end
11
+ end
12
+
13
+ private
14
+ def assign_config_options_to_view
15
+ configs = UnderConstruction.config_file
16
+ configs.each_pair do |key, value|
17
+ instance_variable_set '@'+key, value
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ class UnderConstructionEmailStorageController < ApplicationController
2
+ def create
3
+ @email = UnderConstructionEmailStorage.new(params[:under_construction_email_storage])
4
+
5
+ respond_to do |format|
6
+ if @email.valid?
7
+ @email.save_to_file
8
+ format.html { redirect_to under_construction_index_path,
9
+ notice: I18n.t('controllers.under_construction_email_storage.create.flash.success',
10
+ default: "Your email added successfully"
11
+ )}
12
+ else
13
+ format.html { redirect_to under_construction_index_path, alert: @email.errors.full_messages }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module EmailStorageHelper
2
+ def view_flash_messages
3
+ flash.each do |type, msgs|
4
+ if msgs.is_a? String
5
+ msgs = [msgs]
6
+ end
7
+
8
+ msgs.each do |msg|
9
+ return content_tag(:p, msg, class: "flash #{type}") unless msg.empty?
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,7 @@
1
+ class NotifyUnderConstructionSubmittedMails < ActionMailer::Base
2
+ default from: UnderConstruction.config.notify_mail["sender_email_address"]
3
+
4
+ def under_construction_notify(email)
5
+ mail to: email, subject: UnderConstruction.config.notify_mail["email_subject"]
6
+ end
7
+ end