1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,100 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+* eSales Media Cookie Policy |
|
5 |
+* |
|
6 |
+* Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+* |
|
8 |
+* @package eSM_cookiepolicy |
|
9 |
+* @link http://www.esales-media.de |
|
10 |
+* @license commercial |
|
11 |
+* |
|
12 |
+* @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+*/ |
|
14 |
+ |
|
15 |
+namespace eSM_cookiepolicy; |
|
16 |
+ |
|
17 |
+ |
|
18 |
+/** |
|
19 |
+ * Class CookiePolicy |
|
20 |
+ */ |
|
21 |
+class CookiePolicy extends \Frontend |
|
22 |
+{ |
|
23 |
+ |
|
24 |
+ /** |
|
25 |
+ * Template |
|
26 |
+ * @var string |
|
27 |
+ */ |
|
28 |
+ protected $strTemplate = 'cookiepolicy_dialog'; |
|
29 |
+ |
|
30 |
+ |
|
31 |
+ /** |
|
32 |
+ * Cookie policy check |
|
33 |
+ */ |
|
34 |
+ public function cookiePolicyCheck(\PageModel $objPage, \LayoutModel $objLayout, \PageRegular $objPageRegular) |
|
35 |
+ { |
|
36 |
+ // Skip cookie policy if passed before |
|
37 |
+ if ($this->Input->cookie('eSM_cookiepolicy_passed') || $objPage->esm_cookiepolicy_ignore) |
|
38 |
+ { |
|
39 |
+ return; |
|
40 |
+ } |
|
41 |
+ |
|
42 |
+ // Get root page |
|
43 |
+ $objRootPage = $this->getRootPageFromUrl(); |
|
44 |
+ |
|
45 |
+ // Don't check if cookie policy is disabled |
|
46 |
+ if (!$objRootPage->esm_cookiepolicy_check) |
|
47 |
+ { |
|
48 |
+ return; |
|
49 |
+ } |
|
50 |
+ |
|
51 |
+ // Get cookie policy page |
|
52 |
+ $objPolicyPage = \PageModel::findByPk($objRootPage->esm_cookiepolicy_jumpTo); |
|
53 |
+ |
|
54 |
+ // Load dialog template |
|
55 |
+ $objTemplate = new \FrontendTemplate($this->strTemplate); |
|
56 |
+ |
|
57 |
+ // Set template vars |
|
58 |
+ $objTemplate->title = $GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['title']; |
|
59 |
+ $objTemplate->text = sprintf($GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['text'], $this->generateFrontendUrl($objPolicyPage->row())); |
|
60 |
+ $objTemplate->btn_confirm = $GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['btn_confirm']; |
|
61 |
+ $objTemplate->commitURL = 'system/modules/eSM_cookiepolicy/ajax/Ajax.php?do=cookiepolicy_authentication&cookiepolicy_commit='.$this->createToken(); |
|
62 |
+ |
|
63 |
+ // Add dialog code to page |
|
64 |
+ $GLOBALS['TL_JQUERY'][] = $objTemplate->parse(); |
|
65 |
+ |
|
66 |
+ |
|
67 |
+ } |
|
68 |
+ |
|
69 |
+ public static function ajaxPassCookiePolicy() |
|
70 |
+ { |
|
71 |
+ if (!\Input::get('cookiepolicy_commit')) |
|
72 |
+ return false; |
|
73 |
+ |
|
74 |
+ if (\Input::get('cookiepolicy_commit') == $_SESSION['eSM_cookiepolicy_token']) |
|
75 |
+ { |
|
76 |
+ preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', \Environment::get('host'), $regs); |
|
77 |
+ |
|
78 |
+ setcookie('eSM_cookiepolicy_passed', true, time()+31536000, '/','.'.$regs['domain']); |
|
79 |
+ unset($_SESSION['eSM_cookiepolicy_token']); |
|
80 |
+ |
|
81 |
+ return true; |
|
82 |
+ } |
|
83 |
+ } |
|
84 |
+ |
|
85 |
+ protected function createToken() |
|
86 |
+ { |
|
87 |
+ if (!$_SESSION['eSM_cookiepolicy_token']) |
|
88 |
+ { |
|
89 |
+ $length = 32; |
|
90 |
+ $characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
|
91 |
+ $random_string = ""; |
|
92 |
+ for ($p = 0; $p < $length; $p++) |
|
93 |
+ { |
|
94 |
+ $random_string .= $characters[mt_rand(0, strlen($characters))]; |
|
95 |
+ } |
|
96 |
+ $_SESSION['eSM_cookiepolicy_token'] = $random_string; |
|
97 |
+ } |
|
98 |
+ return $_SESSION['eSM_cookiepolicy_token']; |
|
99 |
+ } |
|
100 |
+} |
|
0 | 101 |
\ No newline at end of file |
1 | 4 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,93 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * eSales Media Cookie Policy |
|
5 |
+ * |
|
6 |
+ * Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+ * |
|
8 |
+ * @package eSM_cookiepolicy |
|
9 |
+ * @link http://www.esales-media.de |
|
10 |
+ * @license commercial |
|
11 |
+ * |
|
12 |
+ * @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+ */ |
|
14 |
+ |
|
15 |
+namespace eSM_cookiepolicy; |
|
16 |
+ |
|
17 |
+/** |
|
18 |
+ * AJAX check |
|
19 |
+ */ |
|
20 |
+ |
|
21 |
+if(!$_SERVER['HTTP_X_REQUESTED_WITH'] || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') { |
|
22 |
+ header('HTTP/1.1 403 Forbidden'); |
|
23 |
+ die("File cannot be executed directly"); |
|
24 |
+} |
|
25 |
+ |
|
26 |
+ |
|
27 |
+/** |
|
28 |
+ * Initialize the system |
|
29 |
+ */ |
|
30 |
+ |
|
31 |
+define('TL_MODE', 'FE'); |
|
32 |
+require '../../../initialize.php'; |
|
33 |
+ |
|
34 |
+class CookiePolicyAsync extends \Frontend |
|
35 |
+{ |
|
36 |
+ public function __construct() |
|
37 |
+ { |
|
38 |
+ \Controller::setStaticUrls(); |
|
39 |
+ \Controller::loadLanguageFile('default'); |
|
40 |
+ |
|
41 |
+ $this->import('FrontendUser', 'User'); |
|
42 |
+ parent::__construct(); |
|
43 |
+ |
|
44 |
+ // Check whether a user is logged in |
|
45 |
+ define('BE_USER_LOGGED_IN', $this->getLoginStatus('BE_USER_AUTH')); |
|
46 |
+ define('FE_USER_LOGGED_IN', $this->getLoginStatus('FE_USER_AUTH')); |
|
47 |
+ } |
|
48 |
+ |
|
49 |
+ public function run() |
|
50 |
+ { |
|
51 |
+ $this->User->authenticate(); |
|
52 |
+ |
|
53 |
+ $strBuffer = ''; |
|
54 |
+ switch(\Input::get('do')) |
|
55 |
+ { |
|
56 |
+ case 'cookiepolicy_authentication': |
|
57 |
+ if (!is_null(\Input::get('cookiepolicy_commit'))) |
|
58 |
+ { |
|
59 |
+ $strBuffer = json_encode(array('status'=>(CookiePolicy::ajaxPassCookiePolicy() ? 'OK' : 'FAILED'))); |
|
60 |
+ } else { |
|
61 |
+ $this->preconditionFailed(); |
|
62 |
+ } |
|
63 |
+ break; |
|
64 |
+ |
|
65 |
+ default: |
|
66 |
+ $this->preconditionFailed(); |
|
67 |
+ break; |
|
68 |
+ } |
|
69 |
+ |
|
70 |
+ header('Content-Type: application/json; charset=utf-8'); |
|
71 |
+ echo $strBuffer; |
|
72 |
+ exit; |
|
73 |
+ } |
|
74 |
+ |
|
75 |
+ protected function authorizedOrDie() |
|
76 |
+ { |
|
77 |
+ if (!FE_USER_LOGGED_IN) |
|
78 |
+ { |
|
79 |
+ header('HTTP/1.1 403 Forbidden'); |
|
80 |
+ die('Community: User not logged in'); |
|
81 |
+ } |
|
82 |
+ } |
|
83 |
+ |
|
84 |
+ protected function preconditionFailed() |
|
85 |
+ { |
|
86 |
+ header('HTTP/1.1 412 Precondition Failed'); |
|
87 |
+ echo 'Community: Precondition failed'; |
|
88 |
+ exit(); |
|
89 |
+ } |
|
90 |
+} |
|
91 |
+ |
|
92 |
+$Ajax = new CookiePolicyAsync(); |
|
93 |
+$Ajax->run(); |
|
0 | 94 |
\ No newline at end of file |
1 | 4 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,656 @@ |
1 |
+@keyframes vex-dropin { |
|
2 |
+ /* line 51, ../sass/_keyframes.sass */ |
|
3 |
+ 0% { |
|
4 |
+ transform: translateY(100%); |
|
5 |
+ -webkit-transform: translateY(100%); |
|
6 |
+ -moz-transform: translateY(100%); |
|
7 |
+ -ms-transform: translateY(100%); |
|
8 |
+ -o-transform: translateY(100%); |
|
9 |
+ opacity: 0; |
|
10 |
+ } |
|
11 |
+ |
|
12 |
+ /* line 54, ../sass/_keyframes.sass */ |
|
13 |
+ 51% { |
|
14 |
+ transform: translateY(100%); |
|
15 |
+ -webkit-transform: translateY(100%); |
|
16 |
+ -moz-transform: translateY(100%); |
|
17 |
+ -ms-transform: translateY(100%); |
|
18 |
+ -o-transform: translateY(100%); |
|
19 |
+ opacity: 0; |
|
20 |
+ } |
|
21 |
+ |
|
22 |
+ /* line 59, ../sass/_keyframes.sass */ |
|
23 |
+ 52% { |
|
24 |
+ transform: translateY(100%); |
|
25 |
+ -webkit-transform: translateY(100%); |
|
26 |
+ -moz-transform: translateY(100%); |
|
27 |
+ -ms-transform: translateY(100%); |
|
28 |
+ -o-transform: translateY(100%); |
|
29 |
+ opacity: 0; |
|
30 |
+ } |
|
31 |
+ |
|
32 |
+ /* line 62, ../sass/_keyframes.sass */ |
|
33 |
+ 100% { |
|
34 |
+ transform: translateY(0); |
|
35 |
+ -webkit-transform: translateY(0); |
|
36 |
+ -moz-transform: translateY(0); |
|
37 |
+ -ms-transform: translateY(0); |
|
38 |
+ -o-transform: translateY(0); |
|
39 |
+ opacity: 1; |
|
40 |
+ } |
|
41 |
+} |
|
42 |
+ |
|
43 |
+@-webkit-keyframes vex-dropin { |
|
44 |
+ /* line 51, ../sass/_keyframes.sass */ |
|
45 |
+ 0% { |
|
46 |
+ transform: translateY(100%); |
|
47 |
+ -webkit-transform: translateY(100%); |
|
48 |
+ -moz-transform: translateY(100%); |
|
49 |
+ -ms-transform: translateY(100%); |
|
50 |
+ -o-transform: translateY(100%); |
|
51 |
+ opacity: 0; |
|
52 |
+ } |
|
53 |
+ |
|
54 |
+ /* line 54, ../sass/_keyframes.sass */ |
|
55 |
+ 51% { |
|
56 |
+ transform: translateY(100%); |
|
57 |
+ -webkit-transform: translateY(100%); |
|
58 |
+ -moz-transform: translateY(100%); |
|
59 |
+ -ms-transform: translateY(100%); |
|
60 |
+ -o-transform: translateY(100%); |
|
61 |
+ opacity: 0; |
|
62 |
+ } |
|
63 |
+ |
|
64 |
+ /* line 59, ../sass/_keyframes.sass */ |
|
65 |
+ 52% { |
|
66 |
+ transform: translateY(100%); |
|
67 |
+ -webkit-transform: translateY(100%); |
|
68 |
+ -moz-transform: translateY(100%); |
|
69 |
+ -ms-transform: translateY(100%); |
|
70 |
+ -o-transform: translateY(100%); |
|
71 |
+ opacity: 0; |
|
72 |
+ } |
|
73 |
+ |
|
74 |
+ /* line 62, ../sass/_keyframes.sass */ |
|
75 |
+ 100% { |
|
76 |
+ transform: translateY(0); |
|
77 |
+ -webkit-transform: translateY(0); |
|
78 |
+ -moz-transform: translateY(0); |
|
79 |
+ -ms-transform: translateY(0); |
|
80 |
+ -o-transform: translateY(0); |
|
81 |
+ opacity: 1; |
|
82 |
+ } |
|
83 |
+} |
|
84 |
+ |
|
85 |
+@-moz-keyframes vex-dropin { |
|
86 |
+ /* line 51, ../sass/_keyframes.sass */ |
|
87 |
+ 0% { |
|
88 |
+ transform: translateY(100%); |
|
89 |
+ -webkit-transform: translateY(100%); |
|
90 |
+ -moz-transform: translateY(100%); |
|
91 |
+ -ms-transform: translateY(100%); |
|
92 |
+ -o-transform: translateY(100%); |
|
93 |
+ opacity: 0; |
|
94 |
+ } |
|
95 |
+ |
|
96 |
+ /* line 54, ../sass/_keyframes.sass */ |
|
97 |
+ 51% { |
|
98 |
+ transform: translateY(100%); |
|
99 |
+ -webkit-transform: translateY(100%); |
|
100 |
+ -moz-transform: translateY(100%); |
|
101 |
+ -ms-transform: translateY(100%); |
|
102 |
+ -o-transform: translateY(100%); |
|
103 |
+ opacity: 0; |
|
104 |
+ } |
|
105 |
+ |
|
106 |
+ /* line 59, ../sass/_keyframes.sass */ |
|
107 |
+ 52% { |
|
108 |
+ transform: translateY(100%); |
|
109 |
+ -webkit-transform: translateY(100%); |
|
110 |
+ -moz-transform: translateY(100%); |
|
111 |
+ -ms-transform: translateY(100%); |
|
112 |
+ -o-transform: translateY(100%); |
|
113 |
+ opacity: 0; |
|
114 |
+ } |
|
115 |
+ |
|
116 |
+ /* line 62, ../sass/_keyframes.sass */ |
|
117 |
+ 100% { |
|
118 |
+ transform: translateY(0); |
|
119 |
+ -webkit-transform: translateY(0); |
|
120 |
+ -moz-transform: translateY(0); |
|
121 |
+ -ms-transform: translateY(0); |
|
122 |
+ -o-transform: translateY(0); |
|
123 |
+ opacity: 1; |
|
124 |
+ } |
|
125 |
+} |
|
126 |
+ |
|
127 |
+@-ms-keyframes vex-dropin { |
|
128 |
+ /* line 51, ../sass/_keyframes.sass */ |
|
129 |
+ 0% { |
|
130 |
+ transform: translateY(100%); |
|
131 |
+ -webkit-transform: translateY(100%); |
|
132 |
+ -moz-transform: translateY(100%); |
|
133 |
+ -ms-transform: translateY(100%); |
|
134 |
+ -o-transform: translateY(100%); |
|
135 |
+ opacity: 0; |
|
136 |
+ } |
|
137 |
+ |
|
138 |
+ /* line 54, ../sass/_keyframes.sass */ |
|
139 |
+ 51% { |
|
140 |
+ transform: translateY(100%); |
|
141 |
+ -webkit-transform: translateY(100%); |
|
142 |
+ -moz-transform: translateY(100%); |
|
143 |
+ -ms-transform: translateY(100%); |
|
144 |
+ -o-transform: translateY(100%); |
|
145 |
+ opacity: 0; |
|
146 |
+ } |
|
147 |
+ |
|
148 |
+ /* line 59, ../sass/_keyframes.sass */ |
|
149 |
+ 52% { |
|
150 |
+ transform: translateY(100%); |
|
151 |
+ -webkit-transform: translateY(100%); |
|
152 |
+ -moz-transform: translateY(100%); |
|
153 |
+ -ms-transform: translateY(100%); |
|
154 |
+ -o-transform: translateY(100%); |
|
155 |
+ opacity: 0; |
|
156 |
+ } |
|
157 |
+ |
|
158 |
+ /* line 62, ../sass/_keyframes.sass */ |
|
159 |
+ 100% { |
|
160 |
+ transform: translateY(0); |
|
161 |
+ -webkit-transform: translateY(0); |
|
162 |
+ -moz-transform: translateY(0); |
|
163 |
+ -ms-transform: translateY(0); |
|
164 |
+ -o-transform: translateY(0); |
|
165 |
+ opacity: 1; |
|
166 |
+ } |
|
167 |
+} |
|
168 |
+ |
|
169 |
+@-o-keyframes vex-dropin { |
|
170 |
+ /* line 51, ../sass/_keyframes.sass */ |
|
171 |
+ 0% { |
|
172 |
+ transform: translateY(100%); |
|
173 |
+ -webkit-transform: translateY(100%); |
|
174 |
+ -moz-transform: translateY(100%); |
|
175 |
+ -ms-transform: translateY(100%); |
|
176 |
+ -o-transform: translateY(100%); |
|
177 |
+ opacity: 0; |
|
178 |
+ } |
|
179 |
+ |
|
180 |
+ /* line 54, ../sass/_keyframes.sass */ |
|
181 |
+ 51% { |
|
182 |
+ transform: translateY(100%); |
|
183 |
+ -webkit-transform: translateY(100%); |
|
184 |
+ -moz-transform: translateY(100%); |
|
185 |
+ -ms-transform: translateY(100%); |
|
186 |
+ -o-transform: translateY(100%); |
|
187 |
+ opacity: 0; |
|
188 |
+ } |
|
189 |
+ |
|
190 |
+ /* line 59, ../sass/_keyframes.sass */ |
|
191 |
+ 52% { |
|
192 |
+ transform: translateY(100%); |
|
193 |
+ -webkit-transform: translateY(100%); |
|
194 |
+ -moz-transform: translateY(100%); |
|
195 |
+ -ms-transform: translateY(100%); |
|
196 |
+ -o-transform: translateY(100%); |
|
197 |
+ opacity: 0; |
|
198 |
+ } |
|
199 |
+ |
|
200 |
+ /* line 62, ../sass/_keyframes.sass */ |
|
201 |
+ 100% { |
|
202 |
+ transform: translateY(0); |
|
203 |
+ -webkit-transform: translateY(0); |
|
204 |
+ -moz-transform: translateY(0); |
|
205 |
+ -ms-transform: translateY(0); |
|
206 |
+ -o-transform: translateY(0); |
|
207 |
+ opacity: 1; |
|
208 |
+ } |
|
209 |
+} |
|
210 |
+ |
|
211 |
+@keyframes vex-dropout { |
|
212 |
+ /* line 68, ../sass/_keyframes.sass */ |
|
213 |
+ 0% { |
|
214 |
+ transform: translateY(0); |
|
215 |
+ -webkit-transform: translateY(0); |
|
216 |
+ -moz-transform: translateY(0); |
|
217 |
+ -ms-transform: translateY(0); |
|
218 |
+ -o-transform: translateY(0); |
|
219 |
+ opacity: 1; |
|
220 |
+ } |
|
221 |
+ |
|
222 |
+ /* line 70, ../sass/_keyframes.sass */ |
|
223 |
+ 100% { |
|
224 |
+ transform: translateY(100%); |
|
225 |
+ -webkit-transform: translateY(100%); |
|
226 |
+ -moz-transform: translateY(100%); |
|
227 |
+ -ms-transform: translateY(100%); |
|
228 |
+ -o-transform: translateY(100%); |
|
229 |
+ opacity: 0; |
|
230 |
+ } |
|
231 |
+} |
|
232 |
+ |
|
233 |
+@-webkit-keyframes vex-dropout { |
|
234 |
+ /* line 68, ../sass/_keyframes.sass */ |
|
235 |
+ 0% { |
|
236 |
+ transform: translateY(0); |
|
237 |
+ -webkit-transform: translateY(0); |
|
238 |
+ -moz-transform: translateY(0); |
|
239 |
+ -ms-transform: translateY(0); |
|
240 |
+ -o-transform: translateY(0); |
|
241 |
+ opacity: 1; |
|
242 |
+ } |
|
243 |
+ |
|
244 |
+ /* line 70, ../sass/_keyframes.sass */ |
|
245 |
+ 100% { |
|
246 |
+ transform: translateY(100%); |
|
247 |
+ -webkit-transform: translateY(100%); |
|
248 |
+ -moz-transform: translateY(100%); |
|
249 |
+ -ms-transform: translateY(100%); |
|
250 |
+ -o-transform: translateY(100%); |
|
251 |
+ opacity: 0; |
|
252 |
+ } |
|
253 |
+} |
|
254 |
+ |
|
255 |
+@-moz-keyframes vex-dropout { |
|
256 |
+ /* line 68, ../sass/_keyframes.sass */ |
|
257 |
+ 0% { |
|
258 |
+ transform: translateY(0); |
|
259 |
+ -webkit-transform: translateY(0); |
|
260 |
+ -moz-transform: translateY(0); |
|
261 |
+ -ms-transform: translateY(0); |
|
262 |
+ -o-transform: translateY(0); |
|
263 |
+ opacity: 1; |
|
264 |
+ } |
|
265 |
+ |
|
266 |
+ /* line 70, ../sass/_keyframes.sass */ |
|
267 |
+ 100% { |
|
268 |
+ transform: translateY(100%); |
|
269 |
+ -webkit-transform: translateY(100%); |
|
270 |
+ -moz-transform: translateY(100%); |
|
271 |
+ -ms-transform: translateY(100%); |
|
272 |
+ -o-transform: translateY(100%); |
|
273 |
+ opacity: 0; |
|
274 |
+ } |
|
275 |
+} |
|
276 |
+ |
|
277 |
+@-ms-keyframes vex-dropout { |
|
278 |
+ /* line 68, ../sass/_keyframes.sass */ |
|
279 |
+ 0% { |
|
280 |
+ transform: translateY(0); |
|
281 |
+ -webkit-transform: translateY(0); |
|
282 |
+ -moz-transform: translateY(0); |
|
283 |
+ -ms-transform: translateY(0); |
|
284 |
+ -o-transform: translateY(0); |
|
285 |
+ opacity: 1; |
|
286 |
+ } |
|
287 |
+ |
|
288 |
+ /* line 70, ../sass/_keyframes.sass */ |
|
289 |
+ 100% { |
|
290 |
+ transform: translateY(100%); |
|
291 |
+ -webkit-transform: translateY(100%); |
|
292 |
+ -moz-transform: translateY(100%); |
|
293 |
+ -ms-transform: translateY(100%); |
|
294 |
+ -o-transform: translateY(100%); |
|
295 |
+ opacity: 0; |
|
296 |
+ } |
|
297 |
+} |
|
298 |
+ |
|
299 |
+@-o-keyframes vex-dropout { |
|
300 |
+ /* line 68, ../sass/_keyframes.sass */ |
|
301 |
+ 0% { |
|
302 |
+ transform: translateY(0); |
|
303 |
+ -webkit-transform: translateY(0); |
|
304 |
+ -moz-transform: translateY(0); |
|
305 |
+ -ms-transform: translateY(0); |
|
306 |
+ -o-transform: translateY(0); |
|
307 |
+ opacity: 1; |
|
308 |
+ } |
|
309 |
+ |
|
310 |
+ /* line 70, ../sass/_keyframes.sass */ |
|
311 |
+ 100% { |
|
312 |
+ transform: translateY(100%); |
|
313 |
+ -webkit-transform: translateY(100%); |
|
314 |
+ -moz-transform: translateY(100%); |
|
315 |
+ -ms-transform: translateY(100%); |
|
316 |
+ -o-transform: translateY(100%); |
|
317 |
+ opacity: 0; |
|
318 |
+ } |
|
319 |
+} |
|
320 |
+ |
|
321 |
+@keyframes vex-pulse { |
|
322 |
+ /* line 136, ../sass/_keyframes.sass */ |
|
323 |
+ 0% { |
|
324 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
325 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
326 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
327 |
+ } |
|
328 |
+ |
|
329 |
+ /* line 138, ../sass/_keyframes.sass */ |
|
330 |
+ 70% { |
|
331 |
+ -webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
332 |
+ -moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
333 |
+ box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
334 |
+ } |
|
335 |
+ |
|
336 |
+ /* line 140, ../sass/_keyframes.sass */ |
|
337 |
+ 100% { |
|
338 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
339 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
340 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
341 |
+ } |
|
342 |
+} |
|
343 |
+ |
|
344 |
+@-webkit-keyframes vex-pulse { |
|
345 |
+ /* line 136, ../sass/_keyframes.sass */ |
|
346 |
+ 0% { |
|
347 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
348 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
349 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
350 |
+ } |
|
351 |
+ |
|
352 |
+ /* line 138, ../sass/_keyframes.sass */ |
|
353 |
+ 70% { |
|
354 |
+ -webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
355 |
+ -moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
356 |
+ box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
357 |
+ } |
|
358 |
+ |
|
359 |
+ /* line 140, ../sass/_keyframes.sass */ |
|
360 |
+ 100% { |
|
361 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
362 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
363 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
364 |
+ } |
|
365 |
+} |
|
366 |
+ |
|
367 |
+@-moz-keyframes vex-pulse { |
|
368 |
+ /* line 136, ../sass/_keyframes.sass */ |
|
369 |
+ 0% { |
|
370 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
371 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
372 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
373 |
+ } |
|
374 |
+ |
|
375 |
+ /* line 138, ../sass/_keyframes.sass */ |
|
376 |
+ 70% { |
|
377 |
+ -webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
378 |
+ -moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
379 |
+ box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
380 |
+ } |
|
381 |
+ |
|
382 |
+ /* line 140, ../sass/_keyframes.sass */ |
|
383 |
+ 100% { |
|
384 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
385 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
386 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
387 |
+ } |
|
388 |
+} |
|
389 |
+ |
|
390 |
+@-ms-keyframes vex-pulse { |
|
391 |
+ /* line 136, ../sass/_keyframes.sass */ |
|
392 |
+ 0% { |
|
393 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
394 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
395 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
396 |
+ } |
|
397 |
+ |
|
398 |
+ /* line 138, ../sass/_keyframes.sass */ |
|
399 |
+ 70% { |
|
400 |
+ -webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
401 |
+ -moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
402 |
+ box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
403 |
+ } |
|
404 |
+ |
|
405 |
+ /* line 140, ../sass/_keyframes.sass */ |
|
406 |
+ 100% { |
|
407 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
408 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
409 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
410 |
+ } |
|
411 |
+} |
|
412 |
+ |
|
413 |
+@-o-keyframes vex-pulse { |
|
414 |
+ /* line 136, ../sass/_keyframes.sass */ |
|
415 |
+ 0% { |
|
416 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
417 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
418 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
419 |
+ } |
|
420 |
+ |
|
421 |
+ /* line 138, ../sass/_keyframes.sass */ |
|
422 |
+ 70% { |
|
423 |
+ -webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
424 |
+ -moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
425 |
+ box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); |
|
426 |
+ } |
|
427 |
+ |
|
428 |
+ /* line 140, ../sass/_keyframes.sass */ |
|
429 |
+ 100% { |
|
430 |
+ -webkit-box-shadow: inset 0 0 0 300px transparent; |
|
431 |
+ -moz-box-shadow: inset 0 0 0 300px transparent; |
|
432 |
+ box-shadow: inset 0 0 0 300px transparent; |
|
433 |
+ } |
|
434 |
+} |
|
435 |
+ |
|
436 |
+body.vex-open { |
|
437 |
+ overflow: inherit; |
|
438 |
+} |
|
439 |
+ |
|
440 |
+.vex.vex-theme-cp-bottom { |
|
441 |
+ top: auto; |
|
442 |
+ bottom: 0; |
|
443 |
+ right: 0; |
|
444 |
+ overflow: visible; |
|
445 |
+ z-index: 1110; |
|
446 |
+} |
|
447 |
+ |
|
448 |
+.vex.vex-theme-cp-bottom .vex-overlay { |
|
449 |
+ display: none; |
|
450 |
+} |
|
451 |
+ |
|
452 |
+/* line 15, ../sass/vex-theme-cp-bottom.sass */ |
|
453 |
+.vex.vex-theme-cp-bottom.vex-closing .vex-content { |
|
454 |
+ animation: vex-dropout 0.5s; |
|
455 |
+ -webkit-animation: vex-dropout 0.5s; |
|
456 |
+ -moz-animation: vex-dropout 0.5s; |
|
457 |
+ -ms-animation: vex-dropout 0.5s; |
|
458 |
+ -o-animation: vex-dropout 0.5s; |
|
459 |
+ -webkit-backface-visibility: hidden; |
|
460 |
+} |
|
461 |
+/* line 18, ../sass/vex-theme-cp-bottom.sass */ |
|
462 |
+.vex.vex-theme-cp-bottom .vex-content { |
|
463 |
+ animation: vex-dropin 2s; |
|
464 |
+ -webkit-animation: vex-dropin 2s; |
|
465 |
+ -moz-animation: vex-dropin 2s; |
|
466 |
+ -ms-animation: vex-dropin 2s; |
|
467 |
+ -o-animation: vex-dropin 2s; |
|
468 |
+ -webkit-backface-visibility: hidden; |
|
469 |
+ border-bottom-width: 0; |
|
470 |
+} |
|
471 |
+/* line 21, ../sass/vex-theme-cp-bottom.sass */ |
|
472 |
+.vex.vex-theme-cp-bottom .vex-content { |
|
473 |
+ -webkit-border-radius: 5px 5px 0 0; |
|
474 |
+ -moz-border-radius: 5px 5px 0 0; |
|
475 |
+ border-radius: 5px 5px 0 0; |
|
476 |
+ background: #a00831; |
|
477 |
+ color: #fff; |
|
478 |
+ padding: 15px; |
|
479 |
+ position: relative; |
|
480 |
+ margin: 0 auto; |
|
481 |
+ max-width: 100%; |
|
482 |
+ width: 900px; |
|
483 |
+ font-size: 12px; |
|
484 |
+ line-height: 1.5em; |
|
485 |
+} |
|
486 |
+ |
|
487 |
+.vex.vex-theme-cp-bottom .vex-content a { |
|
488 |
+ color: #FF9292; |
|
489 |
+} |
|
490 |
+ |
|
491 |
+.vex.vex-theme-cp-bottom .vex-content .vex-header { |
|
492 |
+ margin: -15px -15px 15px; |
|
493 |
+ padding: 5px 15px; |
|
494 |
+ border-bottom: 1px solid #790726; |
|
495 |
+ line-height: 2; |
|
496 |
+ font-size: 125%; |
|
497 |
+ text-transform: uppercase; |
|
498 |
+ -webkit-border-radius: 5px 5px 0 0; |
|
499 |
+ -moz-border-radius: 5px 5px 0 0; |
|
500 |
+ -ms-border-radius: 5px 5px 0 0; |
|
501 |
+ -o-border-radius: 5px 5px 0 0; |
|
502 |
+ border-radius: 5px 5px 0 0; |
|
503 |
+ background-color: #790726; |
|
504 |
+} |
|
505 |
+/* line 34, ../sass/vex-theme-cp-bottom.sass */ |
|
506 |
+.vex.vex-theme-cp-bottom .vex-content h1, .vex.vex-theme-cp-bottom .vex-content h2, .vex.vex-theme-cp-bottom .vex-content h3, .vex.vex-theme-cp-bottom .vex-content h4, .vex.vex-theme-cp-bottom .vex-content h5, .vex.vex-theme-cp-bottom .vex-content h6, .vex.vex-theme-cp-bottom .vex-content p, .vex.vex-theme-cp-bottom .vex-content ul, .vex.vex-theme-cp-bottom .vex-content li { |
|
507 |
+ color: inherit; |
|
508 |
+} |
|
509 |
+/* line 37, ../sass/vex-theme-cp-bottom.sass */ |
|
510 |
+.vex.vex-theme-cp-bottom .vex-close { |
|
511 |
+ -webkit-border-radius: 5px; |
|
512 |
+ -moz-border-radius: 5px; |
|
513 |
+ -ms-border-radius: 5px; |
|
514 |
+ -o-border-radius: 5px; |
|
515 |
+ border-radius: 5px; |
|
516 |
+ position: absolute; |
|
517 |
+ top: 0; |
|
518 |
+ right: 0; |
|
519 |
+ cursor: pointer; |
|
520 |
+} |
|
521 |
+/* line 44, ../sass/vex-theme-cp-bottom.sass */ |
|
522 |
+.vex.vex-theme-cp-bottom .vex-close:before { |
|
523 |
+ -webkit-border-radius: 3px; |
|
524 |
+ -moz-border-radius: 3px; |
|
525 |
+ -ms-border-radius: 3px; |
|
526 |
+ -o-border-radius: 3px; |
|
527 |
+ border-radius: 3px; |
|
528 |
+ position: absolute; |
|
529 |
+ content: "\00D7"; |
|
530 |
+ font-size: 26px; |
|
531 |
+ font-weight: normal; |
|
532 |
+ line-height: 31px; |
|
533 |
+ height: 30px; |
|
534 |
+ width: 30px; |
|
535 |
+ text-align: center; |
|
536 |
+ top: 3px; |
|
537 |
+ right: 3px; |
|
538 |
+ color: #bbbbbb; |
|
539 |
+ background: transparent; |
|
540 |
+} |
|
541 |
+/* line 59, ../sass/vex-theme-cp-bottom.sass */ |
|
542 |
+.vex.vex-theme-cp-bottom .vex-close:hover:before, .vex.vex-theme-cp-bottom .vex-close:active:before { |
|
543 |
+ color: #777777; |
|
544 |
+ background: #e0e0e0; |
|
545 |
+} |
|
546 |
+/* line 65, ../sass/vex-theme-cp-bottom.sass */ |
|
547 |
+.vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-message { |
|
548 |
+ margin-bottom: 0.5em; |
|
549 |
+} |
|
550 |
+/* line 68, ../sass/vex-theme-cp-bottom.sass */ |
|
551 |
+.vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input { |
|
552 |
+ margin-bottom: 1em; |
|
553 |
+} |
|
554 |
+/* line 71, ../sass/vex-theme-cp-bottom.sass */ |
|
555 |
+.vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input textarea, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="date"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="datetime"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="datetime-local"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="email"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="month"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="number"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="password"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="search"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="tel"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="text"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="time"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="url"], .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="week"] { |
|
556 |
+ -webkit-border-radius: 3px; |
|
557 |
+ -moz-border-radius: 3px; |
|
558 |
+ -ms-border-radius: 3px; |
|
559 |
+ -o-border-radius: 3px; |
|
560 |
+ border-radius: 3px; |
|
561 |
+ background: white; |
|
562 |
+ width: 100%; |
|
563 |
+ padding: 0.25em 0.67em; |
|
564 |
+ border: 0; |
|
565 |
+ font-family: inherit; |
|
566 |
+ font-weight: inherit; |
|
567 |
+ font-size: inherit; |
|
568 |
+ min-height: 2.5em; |
|
569 |
+ margin: 0 0 0.25em; |
|
570 |
+} |
|
571 |
+/* line 83, ../sass/vex-theme-cp-bottom.sass */ |
|
572 |
+.vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-input input[type="week"]:focus { |
|
573 |
+ -webkit-box-shadow: inset 0 0 0 2px #8dbdf1; |
|
574 |
+ -moz-box-shadow: inset 0 0 0 2px #8dbdf1; |
|
575 |
+ box-shadow: inset 0 0 0 2px #8dbdf1; |
|
576 |
+ outline: none; |
|
577 |
+} |
|
578 |
+/* line 87, ../sass/vex-theme-cp-bottom.sass */ |
|
579 |
+.vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-buttons { |
|
580 |
+ *zoom: 1; |
|
581 |
+} |
|
582 |
+/* line 38, ../../../../../.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss */ |
|
583 |
+.vex.vex-theme-cp-bottom .vex-dialog-form .vex-dialog-buttons:after { |
|
584 |
+ content: ""; |
|
585 |
+ display: table; |
|
586 |
+ clear: both; |
|
587 |
+} |
|
588 |
+/* line 90, ../sass/vex-theme-cp-bottom.sass */ |
|
589 |
+.vex.vex-theme-cp-bottom .vex-dialog-button { |
|
590 |
+ -webkit-border-radius: 3px; |
|
591 |
+ -moz-border-radius: 3px; |
|
592 |
+ -ms-border-radius: 3px; |
|
593 |
+ -o-border-radius: 3px; |
|
594 |
+ border-radius: 3px; |
|
595 |
+ border: 0; |
|
596 |
+ float: right; |
|
597 |
+ margin: 0 0 0 0.5em; |
|
598 |
+ font-family: inherit; |
|
599 |
+ text-transform: uppercase; |
|
600 |
+ letter-spacing: 0.1em; |
|
601 |
+ font-size: 0.8em; |
|
602 |
+ line-height: 1em; |
|
603 |
+ padding: 0.75em 2em; |
|
604 |
+} |
|
605 |
+/* line 102, ../sass/vex-theme-cp-bottom.sass */ |
|
606 |
+.vex.vex-theme-cp-bottom .vex-dialog-button.vex-last { |
|
607 |
+ margin-left: 0; |
|
608 |
+} |
|
609 |
+/* line 105, ../sass/vex-theme-cp-bottom.sass */ |
|
610 |
+.vex.vex-theme-cp-bottom .vex-dialog-button:focus { |
|
611 |
+ animation: vex-pulse 1.1s infinite; |
|
612 |
+ -webkit-animation: vex-pulse 1.1s infinite; |
|
613 |
+ -moz-animation: vex-pulse 1.1s infinite; |
|
614 |
+ -ms-animation: vex-pulse 1.1s infinite; |
|
615 |
+ -o-animation: vex-pulse 1.1s infinite; |
|
616 |
+ -webkit-backface-visibility: hidden; |
|
617 |
+ outline: none; |
|
618 |
+} |
|
619 |
+@media (max-width: 568px) { |
|
620 |
+ /* line 105, ../sass/vex-theme-cp-bottom.sass */ |
|
621 |
+ .vex.vex-theme-cp-bottom .vex-dialog-button:focus { |
|
622 |
+ animation: none; |
|
623 |
+ -webkit-animation: none; |
|
624 |
+ -moz-animation: none; |
|
625 |
+ -ms-animation: none; |
|
626 |
+ -o-animation: none; |
|
627 |
+ -webkit-backface-visibility: hidden; |
|
628 |
+ } |
|
629 |
+} |
|
630 |
+/* line 114, ../sass/vex-theme-cp-bottom.sass */ |
|
631 |
+.vex.vex-theme-cp-bottom .vex-dialog-button.vex-dialog-button-primary { |
|
632 |
+ background: #790726; |
|
633 |
+ color: white; |
|
634 |
+} |
|
635 |
+/* line 118, ../sass/vex-theme-cp-bottom.sass */ |
|
636 |
+.vex.vex-theme-cp-bottom .vex-dialog-button.vex-dialog-button-secondary { |
|
637 |
+ background: #e0e0e0; |
|
638 |
+ color: #777777; |
|
639 |
+} |
|
640 |
+ |
|
641 |
+/* line 122, ../sass/vex-theme-cp-bottom.sass */ |
|
642 |
+.vex-loading-spinner.vex-theme-cp-bottom { |
|
643 |
+ -webkit-box-shadow: 0 0 0 0.5em #f0f0f0, 0 0 1px 0.5em rgba(0, 0, 0, 0.3); |
|
644 |
+ -moz-box-shadow: 0 0 0 0.5em #f0f0f0, 0 0 1px 0.5em rgba(0, 0, 0, 0.3); |
|
645 |
+ box-shadow: 0 0 0 0.5em #f0f0f0, 0 0 1px 0.5em rgba(0, 0, 0, 0.3); |
|
646 |
+ -webkit-border-radius: 100%; |
|
647 |
+ -moz-border-radius: 100%; |
|
648 |
+ -ms-border-radius: 100%; |
|
649 |
+ -o-border-radius: 100%; |
|
650 |
+ border-radius: 100%; |
|
651 |
+ background: #f0f0f0; |
|
652 |
+ border: 0.2em solid transparent; |
|
653 |
+ border-top-color: #bbbbbb; |
|
654 |
+ top: -1.1em; |
|
655 |
+ bottom: auto; |
|
656 |
+} |
0 | 657 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,20 @@ |
1 |
+;; |
|
2 |
+; List modules which are required to be loaded beforehand |
|
3 |
+;; |
|
4 |
+requires[] = "core" |
|
5 |
+requires[] = "eSM_vexdialog" |
|
6 |
+ |
|
7 |
+;; |
|
8 |
+; Configure what you want the autoload creator to register |
|
9 |
+;; |
|
10 |
+register_namespaces = true |
|
11 |
+register_classes = true |
|
12 |
+register_templates = true |
|
13 |
+ |
|
14 |
+;; |
|
15 |
+; Override the default configuration for certain sub directories |
|
16 |
+;; |
|
17 |
+[vendor/*] |
|
18 |
+register_namespaces = false |
|
19 |
+register_classes = false |
|
20 |
+register_templates = false |
0 | 21 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,36 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * Contao Open Source CMS |
|
5 |
+ * |
|
6 |
+ * Copyright (c) 2005-2015 Leo Feyer |
|
7 |
+ * |
|
8 |
+ * @license LGPL-3.0+ |
|
9 |
+ */ |
|
10 |
+ |
|
11 |
+ |
|
12 |
+/** |
|
13 |
+ * Register the namespaces |
|
14 |
+ */ |
|
15 |
+ClassLoader::addNamespaces(array |
|
16 |
+( |
|
17 |
+ 'eSM_cookiepolicy', |
|
18 |
+)); |
|
19 |
+ |
|
20 |
+ |
|
21 |
+/** |
|
22 |
+ * Register the classes |
|
23 |
+ */ |
|
24 |
+ClassLoader::addClasses(array |
|
25 |
+( |
|
26 |
+ 'eSM_cookiepolicy\CookiePolicy' => 'system/modules/eSM_cookiepolicy/CookiePolicy.php', |
|
27 |
+)); |
|
28 |
+ |
|
29 |
+ |
|
30 |
+/** |
|
31 |
+ * Register the templates |
|
32 |
+ */ |
|
33 |
+TemplateLoader::addFiles(array |
|
34 |
+( |
|
35 |
+ 'cookiepolicy_dialog' => 'system/modules/eSM_cookiepolicy/templates', |
|
36 |
+)); |
0 | 37 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,16 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * eSales Media Cookie Policy |
|
5 |
+ * |
|
6 |
+ * Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+ * |
|
8 |
+ * @package eSM_cookiepolicy |
|
9 |
+ * @link http://www.esales-media.de |
|
10 |
+ * @license commercial |
|
11 |
+ * |
|
12 |
+ * @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+ */ |
|
14 |
+ |
|
15 |
+ |
|
16 |
+$GLOBALS['TL_HOOKS']['generatePage'][] = array('\CookiePolicy', 'cookiePolicyCheck'); |
|
0 | 17 |
\ No newline at end of file |
1 | 18 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,53 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * eSales Media Cookie Policy |
|
5 |
+ * |
|
6 |
+ * Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+ * |
|
8 |
+ * @package eSM_cookiepolicy |
|
9 |
+ * @link http://www.esales-media.de |
|
10 |
+ * @license commercial |
|
11 |
+ * |
|
12 |
+ * @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+ */ |
|
14 |
+ |
|
15 |
+ |
|
16 |
+/** |
|
17 |
+ * Palettes |
|
18 |
+ */ |
|
19 |
+$GLOBALS['TL_DCA']['tl_page']['palettes']['root'] = str_replace('{meta_legend}', '{cookiepolicy_legend:hide},esm_cookiepolicy_check;{meta_legend}',$GLOBALS['TL_DCA']['tl_page']['palettes']['root']); |
|
20 |
+$GLOBALS['TL_DCA']['tl_page']['palettes']['regular'] = str_replace('{meta_legend}', '{cookiepolicy_legend:hide},esm_cookiepolicy_ignore;{meta_legend}',$GLOBALS['TL_DCA']['tl_page']['palettes']['regular']); |
|
21 |
+$GLOBALS['TL_DCA']['tl_page']['palettes']['__selector__'][] = 'esm_cookiepolicy_check'; |
|
22 |
+$GLOBALS['TL_DCA']['tl_page']['subpalettes']['esm_cookiepolicy_check'] = 'esm_cookiepolicy_jumpTo'; |
|
23 |
+ |
|
24 |
+/** |
|
25 |
+ * Fields |
|
26 |
+ */ |
|
27 |
+$GLOBALS['TL_DCA']['tl_page']['fields']['esm_cookiepolicy_check'] = array |
|
28 |
+( |
|
29 |
+ 'label' => &$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_check'], |
|
30 |
+ 'exclude' => true, |
|
31 |
+ 'inputType' => 'checkbox', |
|
32 |
+ 'eval' => array('submitOnChange'=>true), |
|
33 |
+ 'sql' => "char(1) NOT NULL default ''" |
|
34 |
+); |
|
35 |
+ |
|
36 |
+$GLOBALS['TL_DCA']['tl_page']['fields']['esm_cookiepolicy_jumpTo'] = array |
|
37 |
+( |
|
38 |
+ 'label' => &$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_jumpTo'], |
|
39 |
+ 'exclude' => true, |
|
40 |
+ 'inputType' => 'pageTree', |
|
41 |
+ 'foreignKey' => 'tl_page.title', |
|
42 |
+ 'eval' => array('fieldType'=>'radio', 'mandatory'=>true), |
|
43 |
+ 'sql' => "int(10) unsigned NOT NULL default '0'", |
|
44 |
+ 'relation' => array('type'=>'hasOne', 'load'=>'lazy') |
|
45 |
+); |
|
46 |
+ |
|
47 |
+$GLOBALS['TL_DCA']['tl_page']['fields']['esm_cookiepolicy_ignore'] = array |
|
48 |
+( |
|
49 |
+ 'label' => &$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_ignore'], |
|
50 |
+ 'exclude' => true, |
|
51 |
+ 'inputType' => 'checkbox', |
|
52 |
+ 'sql' => "char(1) NOT NULL default ''" |
|
53 |
+); |
|
0 | 54 |
\ No newline at end of file |
1 | 55 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,21 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * eSales Media Cookie Policy |
|
5 |
+ * |
|
6 |
+ * Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+ * |
|
8 |
+ * @package eSM_cookiepolicy |
|
9 |
+ * @link http://www.esales-media.de |
|
10 |
+ * @license commercial |
|
11 |
+ * |
|
12 |
+ * @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+ */ |
|
14 |
+ |
|
15 |
+ |
|
16 |
+/** |
|
17 |
+ * Miscellaneous |
|
18 |
+ */ |
|
19 |
+$GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['title'] = 'Cookies auf dieser Seite'; |
|
20 |
+$GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['text'] = 'Diese Webseite verwendet Cookies gemäß unseren <a href="%s" target="_blank">Datenschutzbestimmungen</a>. Durch die Nutzung unserer Webseite und dem abrufen von Inhalten, erklärst Du Dich mit der Verwendung von Cookies einverstanden.'; |
|
21 |
+$GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['btn_confirm'] = 'Hinweis schließen'; |
0 | 22 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,35 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * eSales Media Cookie Policy |
|
5 |
+ * |
|
6 |
+ * Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+ * |
|
8 |
+ * @package eSM_cookiepolicy |
|
9 |
+ * @link http://www.esales-media.de |
|
10 |
+ * @license commercial |
|
11 |
+ * |
|
12 |
+ * @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+ */ |
|
14 |
+ |
|
15 |
+ |
|
16 |
+/** |
|
17 |
+ * Fields |
|
18 |
+ */ |
|
19 |
+$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_check'] = array('Cookie-Hinweis anzeigen', 'Es erscheint eine Dialogbox mit dem Hinweis, dass diese Seite Cookies verwendet.'); |
|
20 |
+$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_jumpTo'] = array('Seite mit Datenschutzhinweisen', 'Die Seite, auf welcher sich die Datenschutzhinweise befinden.'); |
|
21 |
+$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_ignore'] = array('Cookie-Hinweis ignorieren', 'Auf dieser Seite wird der Cookie-Hinweis nicht dargestellt.'); |
|
22 |
+ |
|
23 |
+ |
|
24 |
+/** |
|
25 |
+ * Reference |
|
26 |
+ */ |
|
27 |
+$GLOBALS['TL_LANG']['tl_page'][''] = ''; |
|
28 |
+ |
|
29 |
+/** |
|
30 |
+ * Legends |
|
31 |
+ */ |
|
32 |
+$GLOBALS['TL_LANG']['tl_page']['cookiepolicy_legend'] = 'Cookie-Hinweis'; |
|
33 |
+ |
|
34 |
+ |
|
35 |
+?> |
|
0 | 36 |
\ No newline at end of file |
1 | 37 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,21 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * eSales Media Cookie Policy |
|
5 |
+ * |
|
6 |
+ * Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+ * |
|
8 |
+ * @package eSM_cookiepolicy |
|
9 |
+ * @link http://www.esales-media.de |
|
10 |
+ * @license commercial |
|
11 |
+ * |
|
12 |
+ * @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+ */ |
|
14 |
+ |
|
15 |
+ |
|
16 |
+/** |
|
17 |
+ * Miscellaneous |
|
18 |
+ */ |
|
19 |
+$GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['title'] = 'Cookies on this page'; |
|
20 |
+$GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['text'] = 'This website is using cookies according to our <a href="%s" target="_blank">Privacy Policy</a>. By using this site and accessing provided informations, you accept the usage of cookies.'; |
|
21 |
+$GLOBALS['TL_LANG']['MSC']['esm_cookiepolicy']['btn_confirm'] = 'Close notification'; |
0 | 22 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,35 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * eSales Media Cookie Policy |
|
5 |
+ * |
|
6 |
+ * Copyright (C) 2013-2015 eSalesMedia |
|
7 |
+ * |
|
8 |
+ * @package eSM_cookiepolicy |
|
9 |
+ * @link http://www.esales-media.de |
|
10 |
+ * @license commercial |
|
11 |
+ * |
|
12 |
+ * @author Benjamin Roth <benjamin@esales-media.de> |
|
13 |
+ */ |
|
14 |
+ |
|
15 |
+ |
|
16 |
+/** |
|
17 |
+ * Fields |
|
18 |
+ */ |
|
19 |
+$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_check'] = array('Show cookie policy', 'Will show a dialog with the information that this site is using cookies.'); |
|
20 |
+$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_jumpTo'] = array('Privacy Policy Page', 'The page containing the Privacy Policy.'); |
|
21 |
+$GLOBALS['TL_LANG']['tl_page']['esm_cookiepolicy_ignore'] = array('Ignore cookie policy', 'The page will not show the cookie policy dialog.'); |
|
22 |
+ |
|
23 |
+ |
|
24 |
+/** |
|
25 |
+ * Reference |
|
26 |
+ */ |
|
27 |
+$GLOBALS['TL_LANG']['tl_page'][''] = ''; |
|
28 |
+ |
|
29 |
+/** |
|
30 |
+ * Legends |
|
31 |
+ */ |
|
32 |
+$GLOBALS['TL_LANG']['tl_page']['cookiepolicy_legend'] = 'Cookie Policy'; |
|
33 |
+ |
|
34 |
+ |
|
35 |
+?> |
|
0 | 36 |
\ No newline at end of file |
1 | 37 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,26 @@ |
1 |
+<?php |
|
2 |
+$GLOBALS['TL_CSS']['COOKIE_POLICY'] = 'system/modules/eSM_cookiepolicy/assets/css/vex-theme-cp-bottom.css'; |
|
3 |
+?> |
|
4 |
+ |
|
5 |
+<script> |
|
6 |
+ var cookiePolicy = vex.dialog.open({ |
|
7 |
+ message: '<h1 class="vex-header"><?php echo $this->title; ?></h1>' + |
|
8 |
+ '<?php echo $this->text; ?>', |
|
9 |
+ overlayClosesOnClick: false, |
|
10 |
+ escapeButtonCloses: false, |
|
11 |
+ showCloseButton: false, |
|
12 |
+ className: 'vex-theme-cp-bottom', |
|
13 |
+ preventBodyClass: true, |
|
14 |
+ buttons: [{text: '<?php echo $this->btn_confirm; ?>',type: 'button',className: 'vex-dialog-button-primary',click: function(vexContent, event) { |
|
15 |
+ $.ajax({ |
|
16 |
+ url: '<?php echo $this->commitURL; ?>', |
|
17 |
+ type: 'GET', |
|
18 |
+ dataType: 'json', |
|
19 |
+ success: function (data) { |
|
20 |
+ return vex.close(vexContent.data().vex.id); |
|
21 |
+ } |
|
22 |
+ }); |
|
23 |
+ }}] |
|
24 |
+ }); |
|
25 |
+ |
|
26 |
+</script> |
|
0 | 27 |
\ No newline at end of file |