Commit f7818cdf6144b6513c177230037af5647ba3907b
1 parent
62ff66e4
change request to massage
Showing
31 changed files
with
2759 additions
and
1646 deletions
Show diff stats
.gitignore
gdfg.html
1 | -<!DOCTYPE html> | |
2 | -<html> | |
3 | -<head> | |
4 | - <meta charset="utf-8"> | |
5 | -</head> | |
6 | -<body> | |
7 | -<table cellspacing="0" cellpadding="0" width="100%" border="0" style="border-spacing: 0; margin-top: -8px"> | |
8 | - <!------green-line-------> | |
9 | - <tr> | |
10 | - <td> | |
11 | - <table cellspacing="0" cellpadding="0" border="0" width="100%" style="background: #67b73e;"> | |
12 | - <tr> | |
13 | - <td align="center"> | |
14 | - <table cellpadding="0" cellspacing="0" border="0" width="660"> | |
15 | - <tr> | |
16 | - <td width="330" height="30" style="text-align: left"><a href="#" style="font-size: 13px; color: #fff; font-family: calibri; font-style: italic;">Заманчивые предложения</a></td> | |
17 | - <td width="330" height="30" style="text-align: right"><a href="#" style="font-size: 13px; color: #fff; font-family: calibri; font-style: italic;">Загрузить картинки</a></td> | |
18 | - </tr> | |
19 | - </table> | |
20 | - </td> | |
21 | - </tr> | |
22 | - </table> | |
23 | - </td> | |
24 | - </tr> | |
25 | - <!------end-green-line-------> | |
26 | - <!------contacts-line-------> | |
27 | - <tr> | |
28 | - <td> | |
29 | - <table cellpadding="0" cellspacing="0" border="0" width="100%"> | |
30 | - <tr> | |
31 | - <td> | |
32 | - <table cellspacing="0" class="" cellpadding="0" border="0" width="100%" height="30" style="background: #fff;"></table> | |
33 | - </td> | |
34 | - </tr> | |
35 | - <tr> | |
36 | - <td> | |
37 | - <table cellpadding="0" cellspacing="0" border="0" width="100%" style=" | |
38 | - /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+30,f0f0f0+99 */ | |
39 | - background: #ffffff; /* Old browsers */ | |
40 | - background: -moz-linear-gradient(top, #ffffff 30%, #f0f0f0 99%); /* FF3.6+ */ | |
41 | - background: -webkit-gradient(linear, left top, left bottom, color-stop(30%,#ffffff), color-stop(99%,#f0f0f0)); /* Chrome,Safari4+ */ | |
42 | - background: -webkit-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* Chrome10+,Safari5.1+ */ | |
43 | - background: -o-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* Opera 11.10+ */ | |
44 | - background: -ms-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* IE10+ */ | |
45 | - background: linear-gradient(to bottom, #ffffff 30%,#f0f0f0 99%); /* W3C */ | |
46 | - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f0f0',GradientType=0 ); /* IE6-9 */ | |
47 | - "> | |
48 | - <tr> | |
49 | - <td align="center"> | |
50 | - <table cellspacing="0" cellpadding="0" border="0" width="660" height="87" style="margin: 0 20px;"> | |
51 | - <tr> | |
52 | - <td valign="top" > | |
53 | - <table cellpadding="0" cellspacing="0" border="0" width="174"height="42"> | |
54 | - <tr> | |
55 | - <td align="center" valign="top"><a target="_blank" href="http://semena.in.ua/ru"><img src="%!picture_url!%logo.png" width="174" height="42" alt=""/></a></td> | |
56 | - </tr> | |
57 | - </table> | |
58 | - </td> | |
59 | - <td valign="top" align="center"> | |
60 | - <table cellspacing="0" cellpadding="0" border="0" width="336"> | |
61 | - <tr> | |
62 | - <td align="center"> | |
63 | - <table cellpadding="0" cellspacing="0" border="0" width="310"> | |
64 | - <tr> | |
65 | - <td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-1.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">581-67-15</span></span></td> | |
66 | - <td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-1.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">451-48-59</span></span></td> | |
67 | - </tr> | |
68 | - <tr> | |
69 | - <td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-2.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(050) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
70 | - <td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-3.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(067) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
71 | - </tr> | |
72 | - </table> | |
73 | - </td> | |
74 | - </tr> | |
75 | - <tr> | |
76 | - <td align="center"> | |
77 | - <table cellpadding="0" cellspacing="0" border="0"> | |
78 | - <tr> | |
79 | - <td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-4.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(093) <span style="font-size: 20px; font-weight: bold;">026-86-64</span></span></td> | |
80 | - </tr> | |
81 | - </table> | |
82 | - </td> | |
83 | - </tr> | |
84 | - </table> | |
85 | - </td> | |
86 | - <td valign="top"> | |
87 | - <table cellpadding="0" cellspacing="0" border="0"> | |
88 | - <tr> | |
89 | - <td height="24"><img style="vertical-align: middle; " src="%!picture_url!%ico-5.png" /><a target="_blank" href="http://semena.in.ua/customer_login/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;">Личный кабинет</a></td> | |
90 | - </tr> | |
91 | - <tr> | |
92 | - <td height="24"><img style="vertical-align: middle; " src="%!picture_url!%ico-6.png" /><a target="_blank" href="http://semena.in.ua/callback/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;">Обратная связь</a></td> | |
93 | - </tr> | |
94 | - <tr> | |
95 | - <td height="24"><img style="vertical-align: middle; " src="%!picture_url!%ico-7.png" /><a target="_blank" href="http://semena.in.ua/video/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;">Видеообзоры</a></td> | |
96 | - </tr> | |
97 | - </table> | |
98 | - </td> | |
99 | - </tr> | |
100 | - </table> | |
101 | - </td> | |
102 | - </tr> | |
103 | - </table> | |
104 | - </td> | |
105 | - </tr> | |
106 | - </table> | |
107 | - </td> | |
108 | - </tr> | |
109 | - <!------end-contacts-line-------> | |
110 | - <tr> | |
111 | - <td> | |
112 | - <table cellspacing="0" cellpadding="0" border="0" width="100%" style="background: #f0f0f0;"> | |
113 | - <!------menu------> | |
114 | - <tr> | |
115 | - <td valign="top" align="center"> | |
116 | - <table cellpadding="0" cellspacing="0" border="0" width="660"> | |
117 | - <tr> | |
118 | - <td align="center"> | |
119 | - <table cellspacing="0" cellpadding="0" border="0" width="654" height="36" style="background: #67b73e; border-radius: 5px;"> | |
120 | - <tr> | |
121 | - <td align="center" style="border-right: 1px solid #4fa32c;"><a target="_blank" href="http://semena.in.ua/o-kompanii-1/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none; ">О компании</a></td> | |
122 | - <td align="center" style="border-left: 1px solid #86d060;"><a target="_blank" href="http://semena.in.ua/dostavka-i-oplata-2/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;">Доставка и оплата</a></td> | |
123 | - <td align="center" style="padding: 0 7px; background: #4e9f20;"><a target="_blank" href="http://semena.in.ua/news-actions/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;">Акции</a></td> | |
124 | - <td align="center"><a target="_blank" href="http://semena.in.ua/prof_tips/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;">Советы профессионалов</a></td> | |
125 | - </tr> | |
126 | - </table> | |
127 | - </td> | |
128 | - </tr> | |
129 | - </table> | |
130 | - </td> | |
131 | - </tr> | |
132 | - <!----- end menu--------> | |
133 | - | |
134 | - <tr> | |
135 | - <td height="20"></td> | |
136 | - </tr> | |
137 | - <!----kvadratki----> | |
138 | - <tr> | |
139 | - <td align="center"> | |
140 | - <table cellspacing="0" cellpadding="0" border="0" width="660"> | |
141 | - <tr> | |
142 | - <td> | |
143 | - <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
144 | - <tr> | |
145 | - <td valign="top"><a target="_blank" href="#"><img src="%!picture_url!%f-1.jpg" width="96" height="96" /></a></td> | |
146 | - </tr> | |
147 | - <tr> | |
148 | - <td align="center" valign="top"> | |
149 | - <a target="_blank" href="http://semena.in.ua/semena_ovoshchey_1c_20/ru" style="text-transform: uppercase; color: #54a727; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">СЕМЕНА</br>ОВОЩЕЙ</a> | |
150 | - </td> | |
151 | - </tr> | |
152 | - </table> | |
153 | - </td> | |
154 | - <td> | |
155 | - <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
156 | - <tr> | |
157 | - <td valign="top"><a target="_blank" href="http://semena.in.ua/semena_tsvetov_1c_20/ru"><img src="%!picture_url!%f-2.jpg" width="96" height="96" /></a></td> | |
158 | - </tr> | |
159 | - <tr> | |
160 | - <td align="center" valign="top"> | |
161 | - <a target="_blank" href="http://semena.in.ua/semena_tsvetov_1c_20/ru" style="text-transform: uppercase; color: #b12a2c; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">СЕМЕНА</br>ЦВЕТОВ</a> | |
162 | - </td> | |
163 | - </tr> | |
164 | - </table> | |
165 | - </td> | |
166 | - <td> | |
167 | - <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
168 | - <tr> | |
169 | - <td valign="top"><a target="_blank" href="http://semena.in.ua/udobrenija_i_sredstva_zashchity_1c_20/ru"><img src="%!picture_url!%f-3.jpg" width="96" height="96" /></a></td> | |
170 | - </tr> | |
171 | - <tr> | |
172 | - <td align="center" valign="top"> | |
173 | - <a target="_blank" href="http://semena.in.ua/udobrenija_i_sredstva_zashchity_1c_20/ru" style="text-transform: uppercase; color: #f36d01; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Удобрения и</br>средства</br>защиты</a> | |
174 | - </td> | |
175 | - </tr> | |
176 | - </table> | |
177 | - </td> | |
178 | - <td> | |
179 | - <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
180 | - <tr> | |
181 | - <td valign="top"><a target="_blank" href="http://semena.in.ua/gazonnye_travy_1c_20/ru"><img src="%!picture_url!%f-4.jpg" width="96" height="96" /></a></td> | |
182 | - </tr> | |
183 | - <tr> | |
184 | - <td align="center" valign="top"> | |
185 | - <a target="_blank" href="http://semena.in.ua/gazonnye_travy_1c_20/ru" style="text-transform: uppercase; color: #1a7781; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Газонные</br>травы</a> | |
186 | - </td> | |
187 | - </tr> | |
188 | - </table> | |
189 | - </td> | |
190 | - <td> | |
191 | - <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
192 | - <tr> | |
193 | - <td valign="top"><a target="_blank" href="http://semena.in.ua/biopreparaty_1c_20/ru"><img src="%!picture_url!%f-5.jpg" width="96" height="96" /></a></td> | |
194 | - </tr> | |
195 | - <tr> | |
196 | - <td align="center" valign="top"> | |
197 | - <a target="_blank" href="http://semena.in.ua/biopreparaty_1c_20/ru" style="text-transform: uppercase; color: #0aa2dd; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Биопрепараты</a> | |
198 | - </td> | |
199 | - </tr> | |
200 | - </table> | |
201 | - </td> | |
202 | - <td width="96"> | |
203 | - <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
204 | - <tr> | |
205 | - <td valign="top"><a target="_blank" href="http://semena.in.ua/tovary_dlja_sada_i_ogoroda_1c_20/ru"><img src="%!picture_url!%f-6.jpg" width="96" height="96" /></a></td> | |
206 | - </tr> | |
207 | - <tr> | |
208 | - <td align="center" valign="top"> | |
209 | - <a target="_blank" href="http://semena.in.ua/tovary_dlja_sada_i_ogoroda_1c_20/ru" style="text-transform: uppercase; color: #b1873f; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Товары</br>для сада</br>и огорода</a> | |
210 | - </td> | |
211 | - </tr> | |
212 | - </table> | |
213 | - </td> | |
214 | - </tr> | |
215 | - </table> | |
216 | - </td> | |
217 | - </tr> | |
218 | - <tr> | |
219 | - <td height="20"></td> | |
220 | - </tr> | |
221 | - <!-------content-------> | |
222 | - <tr> | |
223 | - <td align="center"> | |
224 | - <table cellspacing="0" cellpadding="0" border="0" width="681"> | |
225 | - <tr> | |
226 | - <td align="center"> | |
227 | - <table cellpadding="0" cellspacing="0" border="0" width="681" height="184" background="%!picture_url!%bg-basket.png"> | |
228 | - <tr> | |
229 | - <td align="center" valign="top"> | |
230 | - <table cellspacing="0" cellpadding="0" border="0" width="620"> | |
231 | - <tr> | |
232 | - <td height="35"></td> | |
233 | - </tr> | |
234 | - <tr> | |
235 | - <td style="color: #333333; font-size: 24px; font-family: calibri; font-weight: bold;">{{name}}!</td> | |
236 | - </tr> | |
237 | - <tr> | |
238 | - <td height="10"></td> | |
239 | - </tr> | |
240 | - <tr> | |
241 | - <td style="color: #333333; font-size: 16px; font-family: calibri;"> | |
242 | - <table cellspacing="0" cellpadding="0" border="0" width="390"> | |
243 | - <tr> | |
244 | - <td> | |
245 | - Мы напоминали вам, но, возможно, письмо затерялось.</br> | |
246 | - В корзине остались зарезервированные вещи на ваше имя. Они могут быть проданы другим пользователям. Не забудьте | |
247 | - <a target="_blank" href="#" style="color: #00aeef; text-decoration: none">оформить заказ</a> или позвоните менеджеру, он поможет. | |
248 | - </td> | |
249 | - </tr> | |
250 | - </table> | |
251 | - </td> | |
252 | - </tr> | |
253 | - </table> | |
254 | - </td> | |
255 | - </tr> | |
256 | - </table> | |
257 | - </td> | |
258 | - </tr> | |
259 | - <tr> | |
260 | - <td> | |
261 | - <table cellspacing="0" cellpadding="0" border="0" width="681" background="%!picture_url!%bg-basket-all.png"> | |
262 | - <tr> | |
263 | - <td align="center" valign="top"> | |
264 | - <table cellspacing="0" cellpadding="0" border="0" width="660"> | |
265 | - <tr> | |
266 | - <td align="center"> | |
267 | - <table cellpadding="0" cellspacing="0" border="0" width="620"> | |
268 | - <tr> | |
269 | - <td height="20"></td> | |
270 | - </tr> | |
271 | - <tr> | |
272 | - <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(044) 581-67-15 </td> | |
273 | - <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(044) 451-48-59</td> | |
274 | - <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(050) 464-48-59</td> | |
275 | - <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(067) 464-48-59</td> | |
276 | - </tr> | |
277 | - </table> | |
278 | - </td> | |
279 | - </tr> | |
280 | - <tr> | |
281 | - <td align="center"> | |
282 | - <table cellpadding="0" cellspacing="0" border="0" width="620"> | |
283 | - <tr> | |
284 | - <td height="10"></td> | |
285 | - </tr> | |
286 | - <tr> | |
287 | - <td style="color: #333333; font-size: 16px; font-family: calibri;">Ваш заказ еще не оплачен и ждет обработки.</td> | |
288 | - </tr> | |
289 | - </table> | |
290 | - </td> | |
291 | - </tr> | |
292 | - <tr> | |
293 | - <td height="30"></td> | |
294 | - </tr> | |
295 | - <tr> | |
296 | - <td align="center"> | |
297 | - <table cellpadding="0" cellspacing="0" border="0" width="636" height="10" background="%!picture_url!%bg-baske-2t-up.png"></table> | |
298 | - </td> | |
299 | - </tr> | |
300 | - <tr> | |
301 | - <td align="center"> | |
302 | - <table cellpadding="0" cellspacing="0" border="0" width="636" background="%!picture_url!%bg-baske-2t-middle.png"> | |
303 | - <tr> | |
304 | - <td height="20"></td> | |
305 | - </tr> | |
306 | - <tr> | |
307 | - <td align="center" > | |
308 | - <table cellspacing="0" cellpadding="0" border="0" width="580" style="border-bottom: 1px solid #67b73e;"> | |
309 | - | |
310 | - <tr> | |
311 | - <td> | |
312 | - <table cellpadding="0" cellspacing="0" border="0"> | |
313 | - <!------tovar-----> | |
314 | - <tr> | |
315 | - <td valign="middle"> | |
316 | - <a href="#"> | |
317 | - <img style="max-width: 51px; max-height: 50px; vertical-align: middle;" src="{{item_image}}" /> | |
318 | - </a> | |
319 | - </td> | |
320 | - <td width="10"></td> | |
321 | - <td> | |
322 | - <table cellspacing="0" cellpadding="0" border="0"> | |
323 | - <tr> | |
324 | - <td><a href="{{item_url}}" style="text-decoration: none; color: #00aeef; font-size: 19px; font-family: calibri; font-weight: bold;">{{item_name}}</a></td> | |
325 | - </tr> | |
326 | - <tr> | |
327 | - <td style="color: #333333; font-size: 16px; font-family: calibri;"><span style="font-weight: bold;">{{quantity}}шт</span> по цене <span style="font-weight: bold;">{{price}} грн</span></td> | |
328 | - </tr> | |
329 | - </table> | |
330 | - </td> | |
331 | - </tr> | |
332 | - <tr> | |
333 | - <td height="10"></td> | |
334 | - </tr> | |
335 | - | |
336 | - <!------end-tovar-----> | |
337 | - </table> | |
338 | - </td> | |
339 | - </tr> | |
340 | - <tr> | |
341 | - <td height="20"></td> | |
342 | - </tr> | |
343 | - | |
344 | - | |
345 | - | |
346 | - <tr> | |
347 | - <td height="20"></td> | |
348 | - </tr> | |
349 | - </table> | |
350 | - </td> | |
351 | - </tr> | |
352 | - <tr> | |
353 | - <td height="20"></td> | |
354 | - </tr> | |
355 | - <tr> | |
356 | - <td align="center" valign="top"> | |
357 | - <table cellpadding="0" cellspacing="0" border="0" width="580"> | |
358 | - <tr> | |
359 | - <td style="font-family: calibri; font-size: 16px; color: #474747; ">Итого: <span style="font-weight: bold;">{{sum}} грн</span></td> | |
360 | - </tr> | |
361 | - <tr> | |
362 | - <td style="font-family: calibri; font-size: 16px; color: #474747; ">Телефон: {{phone}}</td> | |
363 | - </tr> | |
364 | - <tr> | |
365 | - <td style="font-family: calibri; font-size: 16px; color: #474747; ">Адрес доставки: {{address}}</td> | |
366 | - </tr> | |
367 | - <tr> | |
368 | - <td style="font-family: calibri; font-size: 16px; color: #474747; ">Email: <span style="color: #00aeef;">{{email}}</span></td> | |
369 | - </tr> | |
370 | - <tr> | |
371 | - <td style="font-family: calibri; font-size: 16px; color: #474747; ">Способ доставки: <span style="font-weight: bold;"></span></td> | |
372 | - </tr> | |
373 | - <tr> | |
374 | - <td style="font-family: calibri; font-size: 16px; color: #474747; ">Способ оплаты: <span style="font-weight: bold;">Оплата при отриманні товару</span></td> | |
375 | - </tr> | |
376 | - </table> | |
377 | - </td> | |
378 | - </tr> | |
379 | - <tr> | |
380 | - <td height="20"></td> | |
381 | - </tr> | |
382 | - </table> | |
383 | - </td> | |
384 | - </tr> | |
385 | - <tr> | |
386 | - <td align="center"> | |
387 | - <table cellpadding="0" cellspacing="0" border="0" width="636" height="16" background="%!picture_url!%bg-baske-2t-bottom.png"></table> | |
388 | - </td> | |
389 | - </tr> | |
390 | - <tr> | |
391 | - <td align="center"> | |
392 | - <table cellspacing="0" cellpadding="0" border="0" width="620"> | |
393 | - <tr> | |
394 | - <td height="25"></td> | |
395 | - </tr> | |
396 | - <tr> | |
397 | - <td align="center"> | |
398 | - <table cellspacing="0" cellpadding="0" border="0"> | |
399 | - <tr> | |
400 | - <td align="center" height="40" width="268" style="background: #67b73e; border-radius: 4px; border-bottom: 3px solid #55a727; padding-top: 3px; box-sizing: border-box;"> | |
401 | - <a href="#" style="text-decoration: none; text-transform: uppercase; color: #fff; font-size: 14px; font-weight: bold; font-family: calibri;">Завершить оформление заказа</a> | |
402 | - </td> | |
403 | - </tr> | |
404 | - </table> | |
405 | - </td> | |
406 | - </tr> | |
407 | - <tr> | |
408 | - <td height="25"></td> | |
409 | - </tr> | |
410 | - <tr> | |
411 | - <td style="font-size: 16px; font-family: calibri; color: #474747;"> | |
412 | - Возвращайтесь к нам.</br> | |
413 | - Возможно, у вас возникли проблемы? Тогда обращайтесь в службу поддержки, и мы</br> | |
414 | - обязательно поможем! | |
415 | - </td> | |
416 | - </tr> | |
417 | - <tr> | |
418 | - <td height="20"></td> | |
419 | - </tr> | |
420 | - <tr> | |
421 | - <td style="font-size: 18px; font-family: calibri; color: #474747; font-weight: bold;">Мы работаем:</td> | |
422 | - </tr> | |
423 | - <tr> | |
424 | - <td> | |
425 | - <ul style="list-style-position: inside; padding: 0; margin: 0;"> | |
426 | - <li style="font-size: 16px; font-family: calibri; color: #474747;">понедельник-пятница: с 9:00 до 18:00</li> | |
427 | - <li style="font-size: 16px; font-family: calibri; color: #474747;">суббота: с 10:00 до 16:00</li> | |
428 | - <li style="font-size: 16px; font-family: calibri; color: #474747;">воскресенье: выходной</li> | |
429 | - </ul> | |
430 | - </td> | |
431 | - </tr> | |
432 | - <tr> | |
433 | - <tr> | |
434 | - <td height="25"></td> | |
435 | - </tr> | |
436 | - <tr> | |
437 | - <td style="font-size: 16px; font-family: calibri; color: #474747;">С уважением, служба поддержки <a target="_blank" href="http://semena.in.ua/ru" style="text-decoration: none; color: #00aeef;">semena.in.ua</a></td> | |
438 | - </tr> | |
439 | - </table> | |
440 | - </td> | |
441 | - </tr> | |
442 | - </table> | |
443 | - </td> | |
444 | - </tr> | |
445 | - </table> | |
446 | - </td> | |
447 | - </tr> | |
448 | - <tr> | |
449 | - <td> | |
450 | - <table cellpadding="0" cellspacing="0" border="0" width="681" height="42" background="%!picture_url!%bg-basket-grass.png"></table> | |
451 | - </td> | |
452 | - </tr> | |
453 | - </table> | |
454 | - </td> | |
455 | - </tr> | |
456 | - <!-------content-------> | |
457 | - </table> | |
458 | - </td> | |
459 | - </tr> | |
460 | - <tr> | |
461 | - <td height="30" style="background: #f0f0f0;"></td> | |
462 | - </tr> | |
463 | - <!--------footer-------> | |
464 | - <tr> | |
465 | - <td> | |
466 | - <table cellpadding="0" cellspacing="0" border="0" width="100%" height="236" background="%!picture_url!%bg-2.jpg"> | |
467 | - <tr> | |
468 | - <td align="center"> | |
469 | - <table cellspacing="0" border="0" cellpadding="0" width="660"> | |
470 | - <tr> | |
471 | - <td> | |
472 | - <table cellpadding="0" cellspacing="0" border="0" height="236"> | |
473 | - <tr> | |
474 | - <td height="90"><a target="_blank" href="http://semena.in.ua/ru"><img src="%!picture_url!%logo2.png" alt="semena.in.ua" /></a></td> | |
475 | - </tr> | |
476 | - <tr> | |
477 | - <td valign="top" height="60" style="color: #4a4a4a; font-size: 15px; font-family: calibri; font-weight: normal;">Адрес центрального офиса:</br> | |
478 | - <span style="font-weight: bold;">Киев, ул. Садовая, 95</span></td> | |
479 | - </tr> | |
480 | - </table> | |
481 | - </td> | |
482 | - <td align="center"> | |
483 | - <table cellspacing="0" cellpadding="0" border="0"> | |
484 | - <tr><td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-1.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">581-67-15</span></span></td></tr> | |
485 | - <tr><td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-1.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">451-48-59</span></span></td></tr> | |
486 | - <tr><td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-2.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(050) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td></tr> | |
487 | - <tr><td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-3.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(067) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td></tr> | |
488 | - <tr><td width="168"><img style="vertical-align: middle; " src="%!picture_url!%ico-4.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(093) <span style="font-size: 20px; font-weight: bold;">026-86-64</span></span></td></tr> | |
489 | - </table> | |
490 | - </td> | |
491 | - <td align="right"> | |
492 | - <table cellpadding="0" cellspacing="0" border="0"> | |
493 | - <tr> | |
494 | - <td> | |
495 | - <table cellspacing="0" cellpadding="0" border="0" width="168" style="text-align: right"> | |
496 | - <tr> | |
497 | - <td><a target="_blank" href="https://www.facebook.com/Professionalseeds"><img src="%!picture_url!%fb.png" alt=""/></a></td> | |
498 | - <td><a target="_blank" href="https://www.youtube.com/channel/UCMnG-NxtoprcTxKcPouwWdQ"><img src="%!picture_url!%youtube.png" alt=""/></a></td> | |
499 | - </tr> | |
500 | - </table> | |
501 | - </td> | |
502 | - </tr> | |
503 | - <tr> | |
504 | - <td height="10"></td> | |
505 | - </tr> | |
506 | - <tr> | |
507 | - <td align="right"> | |
508 | - <table cellpadding="0" cellspacing="0" border="0" width="148" height="26"> | |
509 | - <tr> | |
510 | - <td style="border: 1px solid #67b73e; text-align: center; border-radius: 3px;"> | |
511 | - <a href="#" style=" color: #333333; font-size: 13px; font-family: calibri; text-decoration: none;">отписаться от рассылки</a></td> | |
512 | - </tr> | |
513 | - </table> | |
514 | - </td> | |
515 | - </tr> | |
516 | - <tr> | |
517 | - <td height="10"></td> | |
518 | - </tr> | |
519 | - <tr> | |
520 | - <td align="right"> | |
521 | - <table cellpadding="0" cellspacing="0" border="0" width="148" height="26"> | |
522 | - <tr> | |
523 | - <td style=" border: 1px solid #67b73e; text-align: center ;border-radius: 3px; background: #67b73e;"> | |
524 | - <a href="#" style=" color: #fff; font-size: 13px; font-family: calibri; text-decoration: none;">Настроить рассылку</a></td> | |
525 | - </tr> | |
526 | - </table> | |
527 | - </td> | |
528 | - </tr> | |
529 | - </table> | |
530 | - </td> | |
531 | - </tr> | |
532 | - </table> | |
533 | - </td> | |
534 | - </tr> | |
535 | - </table> | |
536 | - </td> | |
537 | - </tr> | |
538 | - <!------end--footer-------> | |
539 | - <tr> | |
540 | - <td> | |
541 | - <table cellspacing="0" cellpadding="0" border="0" width="100%" height="30" style="background: #fff;"> | |
542 | - <tr> | |
543 | - <td align="center" style="color: #333333; font-size: 13px; font-family: calibri; font-style: italic; line-height: 30px">Вы получили это письмо, потому что зарегистрированы на сайте | |
544 | - <a href="http://semena.in.ua/" style="color: #3c3b3b;">semena.in.ua</a></td> | |
545 | - </tr> | |
546 | - </table> | |
547 | - </td> | |
548 | - </tr> | |
549 | - </td> | |
550 | - </tr> | |
551 | -</table> | |
552 | -</body> | |
553 | -</html> | |
554 | 1 | \ No newline at end of file |
2 | +Argument 2 passed to MyMailer\EventTemplateManager::prepareEventData() | |
3 | +must be an instance of emailTemplates, string given, called | |
4 | +in /home/dev/www/seo/src/lib/MyMailer/EventAdder.php on line 54 and defined in | |
5 | +<b>/home/dev/www/seo/src/lib/MyMailer/EventTemplateManager.php</b> on line <b>47</b><br /> | |
555 | 6 | \ No newline at end of file | ... | ... |
src/app/backend/views/projects/edit.php
1 | 1 | <h1>Изменить проект</h1> |
2 | -<form id = "send-form" data-url="/check_project" action="add_project" method="post"> | |
2 | +<form id = "send-form" data-url="/check_project" action="/add_project" method="post"> | |
3 | 3 | <div class="input-group"> |
4 | 4 | <span class="input-group-addon title-block-sizing">Название проекта</span> |
5 | 5 | <input type="text" data-reg="login" data-оbligatory="true" class="form-control input-sizing" placeholder="Название проекта" name="name" value="<?=$data->name ?>"> | ... | ... |
src/app/frontend/controllers/EventsController.php
... | ... | @@ -4,344 +4,14 @@ namespace controllers; |
4 | 4 | |
5 | 5 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
6 | 6 | |
7 | +use MyMailer\EventAdder; | |
8 | + | |
7 | 9 | class EventsController extends \Phalcon\Mvc\Controller |
8 | 10 | { |
9 | 11 | |
10 | - private $post; | |
11 | - private $host; | |
12 | - private $temp_model; | |
13 | - private $model; | |
14 | - private $project_model; | |
15 | - private $customers_model; | |
16 | - private $event_info; | |
17 | - private $delivery_model; | |
18 | - private $customer; | |
19 | - private $spy_model; | |
20 | - | |
21 | - private function insertPost( $post){ | |
22 | - | |
23 | - $this->host = $_SERVER['HTTP_ORIGIN']; | |
24 | - | |
25 | - $this->post = $post; | |
26 | - | |
27 | - $this->post['project_id'] = $this->project_model->getProjectId($this->host)->id; | |
28 | - | |
29 | - if(!$this->post['project_id']){ | |
30 | - throw new \Exception("Project {$this->host} not found"); | |
31 | - } else { | |
32 | - print_r($this->post); | |
33 | - } | |
34 | - | |
35 | - } | |
36 | - | |
37 | - private function addOneCustomer($template ){ | |
38 | - | |
39 | - $model = new \customersEmailList(); | |
40 | - if($model->save($this->post)){ | |
41 | - $this->MyMailer->OnlineEvent->SendForSelect($template, array($this->post)); | |
42 | - }; | |
43 | - } | |
44 | - | |
45 | - private function insertEventData(){ | |
46 | - $data = $this->model->findFirst("name = '{$this->post['event']}' AND email_type = 'event_online' AND project_id = {$this->post['project_id']} "); | |
47 | - if($data instanceof \eventEmail){ | |
48 | - return $data; | |
49 | - } else { | |
50 | - throw new \Exception("EventData for event {$this->post['event']} in project {$this->host} not found"); | |
51 | - } | |
52 | - } | |
53 | - | |
54 | - | |
55 | - private function insertItemData(){ | |
56 | - if(isset($this->post['item_data']) && !empty($this->post['item_data'])){ | |
57 | - return json_decode($this->post['item_data']); | |
58 | - } else { | |
59 | - return array(); | |
60 | - } | |
61 | - } | |
62 | - | |
63 | - private function prepareEventData($item_data, $template){ | |
64 | - if($template->text_type=='static' ){ | |
65 | - if( $item_data ){ | |
66 | - $template->text = $this->MyMailer->OnlineEvent->itemSet( $template->toArray(), $item_data ); | |
67 | - } | |
68 | - $template->text = $this->MyMailer->OnlineEvent->dataSet( $template->text, $this->post ); | |
69 | - print $template->text; | |
70 | - } else { | |
71 | - | |
72 | - $template->text = $this->MyMailer->OnlineEvent->itemDynamicSet( $template->toArray(), $item_data ); | |
73 | - unset($this->post['item_data']); | |
74 | - $template->text = $this->MyMailer->OnlineEvent->dataSet( $template->text, $this->post ); | |
75 | - print $template->text; | |
76 | - } | |
77 | - } | |
78 | - | |
79 | - /** | |
80 | - * @param $data | |
81 | - * @param $template | |
82 | - * @throws \Exception | |
83 | - */ | |
84 | - private function sendDelivery($data, $template){ | |
85 | - if($this->post['email']){ | |
86 | - | |
87 | - $customers = $this->customers_model->findFirst("email = '{$this->post['email']}'"); | |
88 | - | |
89 | - if(isset($this->post['event']) && !empty($this->post['event'])) { | |
90 | - if(!$customers && $this->post['event'] == 'registration'){ | |
91 | - | |
92 | - $this->addOneCustomer($template); | |
93 | - | |
94 | - $customers = $this->customers_model->findFirst("email = '{$this->post['email']}'"); | |
95 | - | |
96 | - $this->event_info->event_id = $data->id; | |
97 | - $this->event_info->customer_id = $customers->id; | |
98 | - $this->event_info->project_id = $this->post['project_id']; | |
99 | - | |
100 | - | |
101 | - $this->event_info->save(); | |
102 | - $this->addLetersList($this->post['project_id']); | |
103 | - | |
104 | - } else { | |
105 | - | |
106 | - $this->event_info->event_id = $data->id; | |
107 | - $this->event_info->customer_id = $customers->id; | |
108 | - $this->event_info->project_id = $this->post['project_id']; | |
109 | 12 | |
110 | - if($data->unique) { | |
111 | - $unique = $this->event_info->findFirst("event_id = {$data->id} AND customer_id = {$customers->id} AND project_id = {$this->post['project_id']}"); | |
112 | - if($unique) { | |
113 | - throw new \Exception(); | |
114 | - } | |
115 | - } | |
116 | 13 | |
117 | 14 | |
118 | - | |
119 | - $this->MyMailer->OnlineEvent->SendDelivery($this->delivery_model,$template->toArray(),$data->toArray(),array($customers->toArray())); | |
120 | - | |
121 | - $this->event_info->save(); | |
122 | - } | |
123 | - | |
124 | - } else { | |
125 | - throw new \Exception(); | |
126 | - } | |
127 | - | |
128 | - } else { | |
129 | - throw new \Exception("email missing"); | |
130 | - } | |
131 | - } | |
132 | - | |
133 | - | |
134 | - private function getCustomer(){ | |
135 | - $user = $this->customers_model->findFirst("email = '{$this->post['email']}' AND project_id = {$this->post['project_id']} "); | |
136 | - if($user instanceof \customersEmailList){ | |
137 | - return $user; | |
138 | - } else { | |
139 | - $user['email'] = $this->post['email']; | |
140 | - $user['name'] = isset($this->post['name']) ? $this->post['name']:''; | |
141 | - $user['project_id'] = $this->post['project_id']; | |
142 | - $user['customer_id'] = isset($this->post['customer_id']) ? $this->post['customer_id']:''; | |
143 | - $user['gender'] = isset($this->post['gender']) ? $this->post['gender']:''; | |
144 | - $user['birthday'] = isset($this->post['birthday']) ? $this->post['birthday']:''; | |
145 | - $this->customers_model->save($user); | |
146 | - return $this->customers_model->findFirst("email = '{$this->post['email']}' AND project_id = {$this->post['project_id']} "); | |
147 | - } | |
148 | - } | |
149 | - | |
150 | - private function saveSpyData(){ | |
151 | - if(isset($this->post['action'])){ | |
152 | - $data['project_id'] = $this->post['project_id']; | |
153 | - $data['customer_id'] = $this->customer->id; | |
154 | - $data['action'] = $this->post['action']; | |
155 | - $data['date'] = date("Y-m-d H:i:s"); | |
156 | - $data['target_id'] = isset($this->post['item_id']) ? $this->post['item_id']:null; | |
157 | - if($data['target_id']){ | |
158 | - | |
159 | - $this->spy_model = \spyEvent::findFirst("customer_id = '{$this->customer->id}' AND project_id = {$this->post['project_id']} AND target_id = {$data['target_id']}"); | |
160 | - if( $this->spy_model instanceof \spyEvent){ | |
161 | - $this->spy_model->save($data); | |
162 | - }else{ | |
163 | - $this->spy_model = new \spyEvent(); | |
164 | - $this->spy_model->save( $data ); | |
165 | - } | |
166 | - }else{ | |
167 | - $this->spy_model = new \spyEvent(); | |
168 | - $this->spy_model->save( $data ); | |
169 | - } | |
170 | - | |
171 | - return $this->spy_model->id; | |
172 | - }else{ | |
173 | - throw new \Exception("action missing"); | |
174 | - } | |
175 | - | |
176 | - } | |
177 | - | |
178 | - private function getSpyData(){ | |
179 | - if(isset($this->post['action'])){ | |
180 | - $data['project_id'] = $this->post['project_id']; | |
181 | - $data['customer_id'] = $this->customer->id; | |
182 | - $data['target_id'] = isset($this->post['item_id']) ? $this->post['item_id']:null; | |
183 | - | |
184 | - $this->spy_model = \spyEvent::findFirst("customer_id = '{$this->customer->id}' AND project_id = {$this->post['project_id']} AND target_id = {$data['target_id']}"); | |
185 | - | |
186 | - if( $this->spy_model instanceof \spyEvent){ | |
187 | - $id = $this->spy_model->id; | |
188 | - $this->spy_model->delete(); | |
189 | - return $id; | |
190 | - }else{ | |
191 | - throw new \Exception("spy event not found"); | |
192 | - } | |
193 | - | |
194 | - | |
195 | - | |
196 | - }else{ | |
197 | - throw new \Exception("action missing"); | |
198 | - } | |
199 | - | |
200 | - } | |
201 | - | |
202 | - private function finishSpyOrder(){ | |
203 | - if(isset($this->post['action'])){ | |
204 | - $data['project_id'] = $this->post['project_id']; | |
205 | - $data['customer_id'] = $this->customer->id; | |
206 | - $data['action'] = $this->post['action']; | |
207 | - $data['date'] = date("Y-m-d H:i:s"); | |
208 | - $data['target_id'] = isset($this->post['item_id']) ? $this->post['item_id']:null; | |
209 | - $this->spy_model = \spyEvent::query() | |
210 | - ->where("project_id = :project_id:") | |
211 | - ->andWhere("action ='order_add'") | |
212 | - ->andWhere("customer_id =:customer_id:") | |
213 | - ->bind(array("project_id" => $this->post['project_id'], "customer_id"=>$this->customer->id)) | |
214 | - ->execute(); | |
215 | - | |
216 | - foreach($this->spy_model as $model){ | |
217 | - | |
218 | - $model->update(["action" =>'finish']); | |
219 | - } | |
220 | - | |
221 | - $events_info = \eventInfo::query() | |
222 | - ->where("project_id = :project_id:") | |
223 | - ->andWhere("event_trigger ='order_time_after'") | |
224 | - ->andWhere("customer_id =:customer_id:") | |
225 | - ->bind(array("project_id" => $this->post['project_id'], "customer_id"=>$this->customer->id)) | |
226 | - ->execute(); | |
227 | - | |
228 | - foreach($events_info as $event_info ){ | |
229 | - $event_info->delete(); | |
230 | - } | |
231 | - | |
232 | - | |
233 | - }else{ | |
234 | - throw new \Exception("action missing"); | |
235 | - } | |
236 | - | |
237 | - } | |
238 | - | |
239 | - | |
240 | - private function saveSpyOrder($spyID,$status){ | |
241 | - | |
242 | - if(isset($this->post['item_id'])){ | |
243 | - | |
244 | - | |
245 | - | |
246 | - $data['item_name'] = isset($this->post['item_name']) ? $this->post['item_name']:null; | |
247 | - $data['item_id'] = $this->post['item_id']; | |
248 | - $data['item_url'] = isset($this->post['item_url']) ? $this->post['item_url']:null; | |
249 | - $data['item_image'] = isset($this->post['item_image']) ? $this->post['item_image']:null; | |
250 | - $data['quantity'] = isset($this->post['quantity']) ? $this->post['quantity']:null; | |
251 | - $data['price'] = isset($this->post['price']) ? $this->post['price']:null; | |
252 | - $data['spy_event_id'] = $spyID; | |
253 | - $data['status'] = $status; | |
254 | - if($status == 'added'){ | |
255 | - $model = \spyStore::findFirst("item_id='{$data['item_id']}' AND spy_event_id = {$spyID}"); | |
256 | - if($model instanceof \spyStore){ | |
257 | - $model->save( $data ); | |
258 | - } else { | |
259 | - $model = new \spyStore(); | |
260 | - $model->save( $data ); | |
261 | - } | |
262 | - } else if($status == 'deleted'){ | |
263 | - $model = \spyStore::findFirst("item_id='{$data['item_id']}' AND spy_event_id = {$spyID}"); | |
264 | - if($model instanceof \spyStore){ | |
265 | - $model->delete(); | |
266 | - } else { | |
267 | - throw new \Exception("there is no item with id {$data['item_id']}"); | |
268 | - } | |
269 | - } | |
270 | - | |
271 | - | |
272 | - | |
273 | - | |
274 | - | |
275 | - }else{ | |
276 | - throw new \Exception("missing item id"); | |
277 | - } | |
278 | - | |
279 | - } | |
280 | - | |
281 | - private function getEventDate($first_delivery,$time){ | |
282 | - $now = date("Y-m-d"); | |
283 | - $EmailDate = new \DateTime($first_delivery); | |
284 | - $EmailDate->modify($time); | |
285 | - return $EmailDate->format('Y-m-d'); | |
286 | - } | |
287 | - | |
288 | - | |
289 | - function getNextDate($day) | |
290 | - { | |
291 | - $ret = false; | |
292 | - for ($i=1; $i<=7; $i++) | |
293 | - { | |
294 | - if (date('w',strtotime('+'.$i.' day'))==$day) | |
295 | - { | |
296 | - $ret = date('Y-m-d',strtotime('+'.$i.' day')); | |
297 | - break; | |
298 | - } | |
299 | - } | |
300 | - return $ret; | |
301 | - } | |
302 | - | |
303 | - private function addLetersList($project_id){ | |
304 | - $data = \seriesOfLetters::find("project_id ={$project_id} "); | |
305 | - | |
306 | - foreach($data as $row){ | |
307 | - | |
308 | - $letters = explode(',',$row->letters); | |
309 | - | |
310 | - | |
311 | - $days = count($letters); | |
312 | - for($i=0; $i<$days; $i++){ | |
313 | - $now = date('N'); | |
314 | - $row->first_delivery = $this->getNextDate($row->first_delivery); | |
315 | - $date = $this->getEventDate($row->first_delivery, "+". ($i)*$row->period_val ." days"); | |
316 | - $event = new \eventInfo(); | |
317 | - $event->customer_id = $this->customers_model->id; | |
318 | - $event->event_id = $letters[$i]; | |
319 | - $event->next_delivery = $date; | |
320 | - $event->project_id = $project_id; | |
321 | - $event->event_trigger = 'series_of_letter'; | |
322 | - $event->save(); | |
323 | - } | |
324 | - | |
325 | - } | |
326 | - } | |
327 | - | |
328 | - | |
329 | - private function subscribeNewCustomer(){ | |
330 | - $user['email'] = $this->post['email']; | |
331 | - $user['name'] = isset($this->post['name']) ? $this->post['name']:''; | |
332 | - $user['project_id'] = $this->post['project_id']; | |
333 | - $customer = $this->customers_model->findFirst("email = '{$this->post['email']}'"); | |
334 | - if($customer instanceof \customersEmailList){ | |
335 | - | |
336 | - } else { | |
337 | - $this->customers_model->save($user); | |
338 | - $this->addLetersList($this->post['project_id']); | |
339 | - | |
340 | - | |
341 | - } | |
342 | - | |
343 | - } | |
344 | - | |
345 | 15 | public function eventMailerAction() |
346 | 16 | { |
347 | 17 | header('Access-Control-Allow-Origin: *'); |
... | ... | @@ -349,85 +19,11 @@ class EventsController extends \Phalcon\Mvc\Controller |
349 | 19 | session_write_close(); |
350 | 20 | |
351 | 21 | try{ |
352 | - /* | |
353 | - * $this->project_model = new \projects(); | |
354 | - * $this->customers_model = new \customersEmailList(); | |
355 | - */ | |
356 | - | |
357 | - $this->project_model = new \projects(); | |
358 | - $this->customers_model = new \customersEmailList(); | |
359 | - | |
360 | - | |
361 | - | |
362 | - | |
363 | - $this->insertPost($this->request->get()); | |
364 | - | |
365 | - | |
366 | - if(isset($this->post['event_type'])){ | |
367 | - switch ($this->post['event_type']) { | |
368 | - case 'add_subscribe': | |
369 | - | |
370 | - $this->subscribeNewCustomer(); | |
371 | - | |
372 | - | |
373 | - break; | |
374 | - case 'online_event': | |
375 | - $this->model = new \eventEmail(); | |
376 | - $this->delivery_model = new \delivery(); | |
377 | - $this->temp_model = new \emailTemplates(); | |
378 | - $this->event_info = new \eventInfo(); | |
379 | - | |
380 | - $data = $this->insertEventData(); | |
381 | - | |
382 | - $template = $data->emailTemplates; | |
383 | - | |
384 | - $item_data = $this->insertItemData(); | |
385 | - | |
386 | - $this->MyMailer->OnlineEvent->setFromName($this->project_model->getProjectId($this->host)->name); | |
387 | - | |
388 | - $this->prepareEventData($item_data, $template); | |
389 | - | |
390 | - $template->text = $this->UTMParser->parse($data->toArray(), $template->toArray()); | |
391 | - | |
392 | - $this->sendDelivery( $data, $template); | |
393 | - break; | |
394 | - | |
395 | - case 'spy_event': | |
396 | - | |
397 | - $this->customer = $this->getCustomer(); | |
398 | - | |
399 | - | |
400 | - switch ($this->post['action']) { | |
401 | - case 'order_add': | |
402 | - | |
403 | - $spyID = $this->saveSpyData(); | |
404 | - $this->saveSpyOrder($spyID, 'added'); | |
405 | - | |
406 | - break; | |
407 | - | |
408 | - case 'order_delete': | |
409 | - $spyID = $this->getSpyData(); | |
410 | - $this->saveSpyOrder($spyID, 'deleted'); | |
411 | - | |
412 | - break; | |
413 | - case 'order_finish': | |
414 | - $spyID = $this->saveSpyData(); | |
415 | - $this->finishSpyOrder($spyID, 'finish'); | |
416 | - | |
417 | - break; | |
418 | 22 | |
419 | - default: | |
420 | - throw new \Exception("Unknown event action {$this->post['action']}"); | |
421 | - } | |
422 | 23 | |
423 | - break; | |
424 | - default: | |
425 | - throw new \Exception("Unknown event type"); | |
426 | - } | |
427 | - } else { | |
428 | - throw new \Exception("Unknown event type"); | |
429 | - } | |
24 | + $EventAdder = new EventAdder($this->request->get()); | |
430 | 25 | |
26 | + $EventAdder->callEventFactory(); | |
431 | 27 | |
432 | 28 | |
433 | 29 | } | ... | ... |
src/app/frontend/controllers/SeriesOfLettersController.php
... | ... | @@ -22,9 +22,12 @@ class SeriesOfLettersController extends \Phalcon\Mvc\Controller |
22 | 22 | |
23 | 23 | |
24 | 24 | public function addAction(){ |
25 | + | |
26 | + | |
25 | 27 | if( $this->request->isPost() ) |
26 | 28 | { |
27 | 29 | |
30 | + | |
28 | 31 | $data['project_id'] = $this->session->get('project-id'); |
29 | 32 | $data['name'] = $this->request->getPost('name', 'string', NULL ); |
30 | 33 | $data['status'] = $this->request->getPost('status')?$this->request->getPost('status'):0 ; |
... | ... | @@ -33,11 +36,33 @@ class SeriesOfLettersController extends \Phalcon\Mvc\Controller |
33 | 36 | $data['first_delivery'] = $this->request->getPost('first_delivery' ); |
34 | 37 | $data['letters'] = implode(',',$data['event']); |
35 | 38 | |
39 | + | |
40 | + | |
41 | + | |
36 | 42 | $model = new \seriesOfLetters(); |
37 | 43 | if( !empty( $data['name'] )) |
38 | 44 | { |
39 | 45 | if( $model->save( $data ) ) |
40 | 46 | { |
47 | + $users = \customersEmailList::find("project_id = {$this->session->get('project-id')}"); | |
48 | + foreach($users as $user){ | |
49 | + $letters = explode(',',$model->letters); | |
50 | + | |
51 | + | |
52 | + $days = count($letters); | |
53 | + for($i=0; $i<$days; $i++){ | |
54 | + $now = date('N'); | |
55 | + $model->first_delivery = $this->getNextDate($model->first_delivery); | |
56 | + $date = $this->getEventDate($model->first_delivery, "+". ($i)*$model->period_val ." days"); | |
57 | + $event = new \eventInfo(); | |
58 | + $event->customer_id = $this->$user->id; | |
59 | + $event->event_id = $letters[$i]; | |
60 | + $event->next_delivery = $date; | |
61 | + $event->project_id =$this->session->get('project-id'); | |
62 | + $event->event_trigger = 'series_of_letter'; | |
63 | + $event->save(); | |
64 | + } | |
65 | + } | |
41 | 66 | $this->flash->success( 'Сохранение прошло успешно' ); |
42 | 67 | return $this->response->redirect('series_of_letters/index'); |
43 | 68 | } | ... | ... |
src/app/frontend/views/event_email/addEdit.php
... | ... | @@ -66,9 +66,9 @@ |
66 | 66 | <p>Товар добавлен в корзину, но не оформлен спустя:</p> |
67 | 67 | <input type="text" name="offlineData[after_val]" class="form-control" value='<?= isset( $offlineData->after_val ) ? $offlineData->after_val : '0' ?>'> |
68 | 68 | <select class="form-control" name="offlineData[after_val_type]" id="templates_block"> |
69 | - <option <?= isset( $offlineData->after_val_type ) && $offlineData->after_val_type=='H' ? 'selected' : '' ?> value="H">Часов</option> | |
70 | - <option <?= isset( $offlineData->after_val_type ) && $offlineData->after_val_type=='D' ? 'selected' : '' ?> value="D">Дней</option> | |
71 | - <option <?= isset( $offlineData->after_val_type ) && $offlineData->after_val_type=='W' ? 'selected' : '' ?> value="W">Недель</option> | |
69 | + <option <?= isset( $offlineData->after_val_type ) && $offlineData->after_val_type=='hour' ? 'selected' : '' ?> value="hour">Часов</option> | |
70 | + <option <?= isset( $offlineData->after_val_type ) && $offlineData->after_val_type=='day' ? 'selected' : '' ?> value="day">Дней</option> | |
71 | + <option <?= isset( $offlineData->after_val_type ) && $offlineData->after_val_type=='week' ? 'selected' : '' ?> value="week">Недель</option> | |
72 | 72 | <option <?= isset( $offlineData->after_val_type ) && $offlineData->after_val_type=='month' ? 'selected' : '' ?> value="month">Месяцев</option> |
73 | 73 | </select> |
74 | 74 | </div> | ... | ... |
src/app/tasks/EventMailTask.php
... | ... | @@ -29,9 +29,10 @@ class EventMailTask extends \Phalcon\CLI\Task |
29 | 29 | } |
30 | 30 | |
31 | 31 | public function startEventsAction(){ |
32 | - $this->actionEventAction(); | |
33 | - $this->orderTimeAfterAction(); | |
34 | - $this->seriesOfLettersAction(); | |
32 | + | |
33 | + //$this->actionEventAction(); | |
34 | + $this->orderTimeAfterAction(); //work | |
35 | + $this->seriesOfLettersAction();//work | |
35 | 36 | } |
36 | 37 | |
37 | 38 | public function seriesOfLettersAction(){ |
... | ... | @@ -57,14 +58,20 @@ class EventMailTask extends \Phalcon\CLI\Task |
57 | 58 | }else { |
58 | 59 | continue; |
59 | 60 | } |
60 | - $template = \emailTemplates::findFirst("event_id = {$event->event_id} AND project_id = {$project->id}")->toArray(); | |
61 | + //$template = \emailTemplates::findFirst("event_id = {$event->event_id} AND project_id = {$project->id}")->toArray(); | |
61 | 62 | |
62 | 63 | $this->post['name']=$customers->name; |
63 | 64 | $this->post['email']=$customers->email; |
64 | 65 | $this->post['phone']=$customers->phone; |
65 | 66 | $this->post['address']=$customers->address; |
66 | 67 | |
67 | - $this->sendMailData($template,$customers->toArray(),$eventEmail,$project); | |
68 | + //$this->sendMailData($template,$customers->toArray(),$eventEmail,$project); | |
69 | + | |
70 | + $OfflineEvent = new \MyMailer\EventOffline(); | |
71 | + | |
72 | + $event_data = []; | |
73 | + | |
74 | + $OfflineEvent->sendEventDelivery($customers->toArray(),$project,$event,$eventEmail,$event_data,$this->post); | |
68 | 75 | |
69 | 76 | $event->last_delivery = date("Y-m-d H:i:s"); |
70 | 77 | $event->delete(); |
... | ... | @@ -131,13 +138,14 @@ class EventMailTask extends \Phalcon\CLI\Task |
131 | 138 | } |
132 | 139 | } |
133 | 140 | |
134 | - $users = $model->getSpyUsers( $this->modelsManager, $project); | |
141 | + $users = $model->getSpyUsers( $this->modelsManager, $project, $event->after_val.' '.$event->after_val_type); | |
135 | 142 | |
136 | 143 | foreach( $users as $user){ |
137 | - $event_data = $model->spyTimeAfter($project, $user['id'])->toArray(); | |
144 | + $event_data = $model->spyTimeAfter($project->id, $user['id'])->toArray(); | |
138 | 145 | $customers = $customers_model->findFirst("id={$user['id']}"); |
139 | 146 | |
140 | 147 | if($customers instanceof customersEmailList && $customers->checkEventForUser($event->id, $project->id)){ |
148 | + | |
141 | 149 | $sum = 0; |
142 | 150 | foreach($event_data as $item_one){ |
143 | 151 | $sum += (integer)$item_one['price']*$item_one['quantity']; |
... | ... | @@ -148,8 +156,9 @@ class EventMailTask extends \Phalcon\CLI\Task |
148 | 156 | $this->post['address']=$customers->address; |
149 | 157 | $this->post['sum']=$sum; |
150 | 158 | |
159 | + $OfflineEvent = new \MyMailer\EventOffline(); | |
151 | 160 | |
152 | - $this->sendMail($customers->toArray(),$project,$event,$event->eventEmail->toArray(),$event_data); | |
161 | + $OfflineEvent->sendEventDelivery($customers->toArray(),$project,$event,$event->eventEmail->toArray(),$event_data,$this->post); | |
153 | 162 | |
154 | 163 | } |
155 | 164 | |
... | ... | @@ -158,41 +167,12 @@ class EventMailTask extends \Phalcon\CLI\Task |
158 | 167 | //$customers = $project->findUsersTimeAfter()->toArray(); |
159 | 168 | |
160 | 169 | } |
161 | - } | |
162 | - } | |
163 | - | |
164 | - /** | |
165 | - *TODO: $this->post array with dynamic data for static letters, need to change in some variable | |
166 | - * | |
167 | - * | |
168 | - * | |
169 | - **/ | |
170 | - private function prepareEventData($item_data, $template){ | |
171 | - | |
172 | - if($template['text_type']=='static' ){ | |
173 | - | |
174 | - | |
175 | - if( $item_data ){ | |
176 | - $template['text'] = $this->MyMailer->OnlineEvent->itemSet( $template, $item_data ); | |
177 | - } | |
178 | - $template['text'] = $this->MyMailer->OnlineEvent->dataSet( $template['text'], $this->post ); | |
179 | - | |
180 | - | |
181 | - | |
182 | - | |
183 | - } else { | |
184 | - | |
185 | - if( $item_data ) { | |
186 | - $template['text'] = $this->MyMailer->OfflineEvent->itemDynamicSet($template, $item_data); | |
187 | - } | |
188 | - $template['text'] = $this->MyMailer->OnlineEvent->dataSet( $template['text'], $this->post ); | |
189 | 170 | |
190 | 171 | } |
191 | - return $template['text']; | |
192 | - | |
193 | 172 | } |
194 | 173 | |
195 | 174 | |
175 | + | |
196 | 176 | private function eventByTrigger($project, $trigger){ |
197 | 177 | |
198 | 178 | $result = array(); |
... | ... | @@ -216,85 +196,10 @@ class EventMailTask extends \Phalcon\CLI\Task |
216 | 196 | |
217 | 197 | |
218 | 198 | |
219 | - private function getEventInfo($event, $customers,$project){ | |
220 | - $info = \eventInfo::findFirst("event_id = {$event->id} AND customer_id = {$customers['id']}"); | |
221 | 199 | |
222 | - if($info instanceof \eventInfo){ | |
223 | - return $info; | |
224 | - } else { | |
225 | - $info = new \eventInfo(); | |
226 | - $info->customer_id = $customers['id']; | |
227 | - $info->event_id = $event->id; | |
228 | - $info->project_id = $project->id; | |
229 | - $info->event_trigger = $event->event_trigger; | |
230 | - $info->save(); | |
231 | - return $info; | |
232 | - } | |
233 | - } | |
234 | - | |
235 | - | |
236 | - /** | |
237 | - * send Email | |
238 | - * @params array $customers | |
239 | - * @params object $project | |
240 | - * @params object $offline_data_model | |
241 | - * @params array $event | |
242 | - * @params array $event_data | |
243 | - **/ | |
244 | - public function sendMail($customers,$project,$offline_data_model, $event, $event_data = [] ){ | |
245 | - | |
246 | - if($customers){ | |
247 | - | |
248 | - $event_info = $this->getEventInfo($offline_data_model,$customers,$project); | |
249 | - | |
250 | - $template = \emailTemplates::findFirst("event_id = {$event['id']} AND project_id = {$project->id}")->toArray(); | |
251 | - | |
252 | - | |
253 | - | |
254 | -// if(isset($get['item_data']) && !empty($get['item_data'])){ | |
255 | -// $item_data = json_decode($get['item_data']); | |
256 | -// | |
257 | -// $template->text = $this->UTMParser->itemSet( $template->toArray(), $item_data ); | |
258 | -// | |
259 | -// } | |
260 | 200 | |
261 | - $this->sendMailData($template,$customers,$event,$project,$event_data); | |
262 | 201 | |
263 | - $event_info->last_delivery = date("Y-m-d H:i:s"); | |
264 | - $event_info->save(); | |
265 | 202 | |
266 | -// $model = \delivery::find(); | |
267 | -// foreach($model->toArray() as $data){ | |
268 | -// $result = $this->MyMailer->getCampaignDeliveryStats( $data['campaign_id']); | |
269 | -// | |
270 | -// $result['status'] = $this->MyMailer->getDeliveryStatus( $data['campaign_id']); | |
271 | -// print_r($result); | |
272 | -// } | |
273 | -// $model->status = $this->MyMailer->getCampaignDeliveryStats( $id); | |
274 | - } | |
275 | - } | |
276 | - | |
277 | - | |
278 | - /** | |
279 | - * send Email | |
280 | - * @params array $customers | |
281 | - * @params object $project | |
282 | - * @params array $event | |
283 | - * @params array $event_data | |
284 | - * @params array $template | |
285 | - **/ | |
286 | - | |
287 | - private function sendMailData($template,$customers,$event,$project,$event_data=[]) | |
288 | - { | |
289 | - $template['text'] = $this->prepareEventData($event_data, $template); | |
290 | - | |
291 | - $template['text'] = $this->UTMParser->parse($event, $template); | |
292 | - | |
293 | - $this->MyMailer->OfflineEvent->setFromName($project->name); | |
294 | - | |
295 | - $this->MyMailer->OfflineEvent->SendDelivery(new \delivery(),$template,$event,[$customers]); | |
296 | - | |
297 | - } | |
298 | 203 | |
299 | 204 | |
300 | 205 | ... | ... |
1 | +<?php | |
2 | +/* | |
3 | + +------------------------------------------------------------------------+ | |
4 | + | Phalcon Framework | | |
5 | + +------------------------------------------------------------------------+ | |
6 | + | Copyright (c) 2011-2012 Phalcon Team (http://www.phalconphp.com) | | |
7 | + +------------------------------------------------------------------------+ | |
8 | + | This source file is subject to the New BSD License that is bundled | | |
9 | + | with this package in the file docs/LICENSE.txt. | | |
10 | + | | | |
11 | + | If you did not receive a copy of the license and are unable to | | |
12 | + | obtain it through the world-wide-web, please send an email | | |
13 | + | to license@phalconphp.com so we can send you a copy immediately. | | |
14 | + +------------------------------------------------------------------------+ | |
15 | + | Authors: Andres Gutierrez <andres@phalconphp.com> | | |
16 | + | Eduar Carvajal <eduar@phalconphp.com> | | |
17 | + | Nikita Vershinin <endeveit@gmail.com> | | |
18 | + +------------------------------------------------------------------------+ | |
19 | +*/ | |
20 | + | |
21 | +use Phalcon\Db; | |
22 | +use Phalcon\Session\Adapter; | |
23 | +use Phalcon\Session\AdapterInterface; | |
24 | +use Phalcon\Session\Exception; | |
25 | +/** | |
26 | + * Phalcon\Session\Adapter\Database | |
27 | + * Database adapter for Phalcon\Session | |
28 | + */ | |
29 | +class Database extends Adapter implements AdapterInterface | |
30 | +{ | |
31 | + /** | |
32 | + * Flag to check if session is destroyed. | |
33 | + * | |
34 | + * @var boolean | |
35 | + */ | |
36 | + protected $isDestroyed = false; | |
37 | + /** | |
38 | + * {@inheritdoc} | |
39 | + * | |
40 | + * @param array $options | |
41 | + * | |
42 | + * @throws \Phalcon\Session\Exception | |
43 | + */ | |
44 | + public function __construct($options = null) | |
45 | + { | |
46 | + if (!isset($options['db'])) { | |
47 | + throw new Exception("The parameter 'db' is required"); | |
48 | + } | |
49 | + if (!isset($options['table'])) { | |
50 | + throw new Exception("The parameter 'table' is required"); | |
51 | + } | |
52 | + if (!isset($options['column_session_id'])) { | |
53 | + $options['column_session_id'] = 'session_id'; | |
54 | + } | |
55 | + if (!isset($options['column_data'])) { | |
56 | + $options['column_data'] = 'data'; | |
57 | + } | |
58 | + if (!isset($options['column_created_at'])) { | |
59 | + $options['column_created_at'] = 'created_at'; | |
60 | + } | |
61 | + if (!isset($options['column_modified_at'])) { | |
62 | + $options['column_modified_at'] = 'modified_at'; | |
63 | + } | |
64 | + parent::__construct($options); | |
65 | + session_set_save_handler( | |
66 | + array($this, 'open'), | |
67 | + array($this, 'close'), | |
68 | + array($this, 'read'), | |
69 | + array($this, 'write'), | |
70 | + array($this, 'destroy'), | |
71 | + array($this, 'gc') | |
72 | + ); | |
73 | + } | |
74 | + /** | |
75 | + * {@inheritdoc} | |
76 | + * @return boolean | |
77 | + */ | |
78 | + public function open() | |
79 | + { | |
80 | + return true; | |
81 | + } | |
82 | + /** | |
83 | + * {@inheritdoc} | |
84 | + * @return boolean | |
85 | + */ | |
86 | + public function close() | |
87 | + { | |
88 | + return false; | |
89 | + } | |
90 | + /** | |
91 | + * {@inheritdoc} | |
92 | + * @param string $sessionId | |
93 | + * | |
94 | + * @return string | |
95 | + */ | |
96 | + public function read($sessionId) | |
97 | + { | |
98 | + $maxlifetime = (int) ini_get('session.gc_maxlifetime'); | |
99 | + $options = $this->getOptions(); | |
100 | + $row = $options['db']->fetchOne( | |
101 | + sprintf( | |
102 | + 'SELECT %s FROM %s WHERE %s = ? AND COALESCE(%s, %s) + %d >= ?', | |
103 | + $options['db']->escapeIdentifier($options['column_data']), | |
104 | + $options['db']->escapeIdentifier($options['table']), | |
105 | + $options['db']->escapeIdentifier($options['column_session_id']), | |
106 | + $options['db']->escapeIdentifier($options['column_modified_at']), | |
107 | + $options['db']->escapeIdentifier($options['column_created_at']), | |
108 | + $maxlifetime | |
109 | + ), | |
110 | + Db::FETCH_NUM, | |
111 | + array($sessionId, time()) | |
112 | + ); | |
113 | + if (empty($row)) { | |
114 | + return ''; | |
115 | + } | |
116 | + return $row[0]; | |
117 | + } | |
118 | + /** | |
119 | + * {@inheritdoc} | |
120 | + * @param string $sessionId | |
121 | + * @param string $data | |
122 | + * | |
123 | + * @return boolean | |
124 | + */ | |
125 | + public function write($sessionId, $data) | |
126 | + { | |
127 | + if ($this->isDestroyed || empty($data)) { | |
128 | + return false; | |
129 | + } | |
130 | + $options = $this->getOptions(); | |
131 | + $row = $options['db']->fetchOne( | |
132 | + sprintf( | |
133 | + 'SELECT COUNT(*) FROM %s WHERE %s = ?', | |
134 | + $options['db']->escapeIdentifier($options['table']), | |
135 | + $options['db']->escapeIdentifier($options['column_session_id']) | |
136 | + ), | |
137 | + Db::FETCH_NUM, | |
138 | + array($sessionId) | |
139 | + ); | |
140 | + if (!empty($row) && intval($row[0]) > 0) { | |
141 | + return $options['db']->execute( | |
142 | + sprintf( | |
143 | + 'UPDATE %s SET %s = ?, %s = ? WHERE %s = ?', | |
144 | + $options['db']->escapeIdentifier($options['table']), | |
145 | + $options['db']->escapeIdentifier($options['column_data']), | |
146 | + $options['db']->escapeIdentifier($options['column_modified_at']), | |
147 | + $options['db']->escapeIdentifier($options['column_session_id']) | |
148 | + ), | |
149 | + array($data, time(), $sessionId) | |
150 | + ); | |
151 | + } else { | |
152 | + return $options['db']->execute( | |
153 | + sprintf( | |
154 | + 'INSERT INTO %s (%s, %s, %s, %s) VALUES (?, ?, ?, NULL)', | |
155 | + $options['db']->escapeIdentifier($options['table']), | |
156 | + $options['db']->escapeIdentifier($options['column_session_id']), | |
157 | + $options['db']->escapeIdentifier($options['column_data']), | |
158 | + $options['db']->escapeIdentifier($options['column_created_at']), | |
159 | + $options['db']->escapeIdentifier($options['column_modified_at']) | |
160 | + ), | |
161 | + array($sessionId, $data, time()) | |
162 | + ); | |
163 | + } | |
164 | + } | |
165 | + /** | |
166 | + * {@inheritdoc} | |
167 | + * @return boolean | |
168 | + */ | |
169 | + public function destroy($session_id = null) | |
170 | + { | |
171 | + if (!$this->isStarted() || $this->isDestroyed) { | |
172 | + return true; | |
173 | + } | |
174 | + if (is_null($session_id)) { | |
175 | + $session_id = $this->getId(); | |
176 | + } | |
177 | + $this->isDestroyed = true; | |
178 | + $options = $this->getOptions(); | |
179 | + $result = $options['db']->execute( | |
180 | + sprintf( | |
181 | + 'DELETE FROM %s WHERE %s = ?', | |
182 | + $options['db']->escapeIdentifier($options['table']), | |
183 | + $options['db']->escapeIdentifier($options['column_session_id']) | |
184 | + ), | |
185 | + array($session_id) | |
186 | + ); | |
187 | + session_regenerate_id(); | |
188 | + return $result; | |
189 | + } | |
190 | + /** | |
191 | + * {@inheritdoc} | |
192 | + * @param integer $maxlifetime | |
193 | + * | |
194 | + * @return boolean | |
195 | + */ | |
196 | + public function gc($maxlifetime) | |
197 | + { | |
198 | + $options = $this->getOptions(); | |
199 | + return $options['db']->execute( | |
200 | + sprintf( | |
201 | + 'DELETE FROM %s WHERE COALESCE(%s, %s) + %d < ?', | |
202 | + $options['db']->escapeIdentifier($options['table']), | |
203 | + $options['db']->escapeIdentifier($options['column_modified_at']), | |
204 | + $options['db']->escapeIdentifier($options['column_created_at']), | |
205 | + $maxlifetime | |
206 | + ), | |
207 | + array(time()) | |
208 | + ); | |
209 | + } | |
210 | +} | |
0 | 211 | \ No newline at end of file | ... | ... |
src/lib/MyMailer/Event.php
... | ... | @@ -3,45 +3,56 @@ namespace MyMailer; |
3 | 3 | |
4 | 4 | class Event extends Mailer{ |
5 | 5 | |
6 | - public function SendForSelect($template, $users) | |
7 | - { | |
8 | - foreach($users as $user){ | |
9 | 6 | |
10 | - $this->setToMail($user['email']); | |
11 | - $this->setMailMessage($template->text); | |
12 | - $this->setTitle($template->title); | |
13 | - $this->SendEmail(); | |
14 | - } | |
15 | - } | |
7 | + public function addLettersList($project_id,$customer_id){ | |
8 | + $data = \seriesOfLetters::find("project_id ={$project_id} "); | |
16 | 9 | |
17 | - //send for selected users from list | |
18 | - public function SendDelivery($model,$template, $data, $users =array() ) | |
19 | - { | |
10 | + foreach($data as $row){ | |
11 | + | |
12 | + $letters = explode(',',$row->letters); | |
20 | 13 | |
21 | - if(!$users) { | |
22 | 14 | |
23 | - $users = $this->getUsers($data['users_id']); | |
15 | + $days = count($letters); | |
16 | + for($i=0; $i<$days; $i++){ | |
17 | + $now = date('N'); | |
18 | + $row->first_delivery = $this->getNextDate($row->first_delivery); | |
19 | + $date = $this->getEventDate($row->first_delivery, "+". ($i)*$row->period_val ." days"); | |
20 | + $event = new \eventInfo(); | |
21 | + $event->customer_id = $customer_id; | |
22 | + $event->event_id = $letters[$i]; | |
23 | + $event->next_delivery = $date; | |
24 | + $event->project_id = $project_id; | |
25 | + $event->event_trigger = 'series_of_letter'; | |
26 | + $event->save(); | |
27 | + } | |
24 | 28 | |
25 | 29 | } |
30 | + } | |
31 | + | |
32 | + private function getEventDate($first_delivery,$time){ | |
33 | + $now = date("Y-m-d"); | |
34 | + $EmailDate = new \DateTime($first_delivery); | |
35 | + $EmailDate->modify($time); | |
36 | + return $EmailDate->format('Y-m-d'); | |
37 | + } | |
26 | 38 | |
27 | 39 | |
28 | - $this->setToMail($users,true); | |
40 | + function getNextDate($day) | |
41 | + { | |
42 | + $ret = false; | |
43 | + for ($i=1; $i<=7; $i++) | |
44 | + { | |
45 | + if (date('w',strtotime('+'.$i.' day'))==$day) | |
46 | + { | |
47 | + $ret = date('Y-m-d',strtotime('+'.$i.' day')); | |
48 | + break; | |
49 | + } | |
50 | + } | |
51 | + return $ret; | |
52 | + } | |
29 | 53 | |
30 | - $this->setMailMessage($template['text']); | |
31 | - $this->setTitle($template['title']); | |
32 | - $campaign_id = $this->mailer->createCampaignDelivery($this->to_email, $this->from_email, $this->from_name, $this->title, $this->mailMessage); | |
33 | 54 | |
34 | 55 | |
35 | - $delivery = array( | |
36 | - 'campaign_id' => $campaign_id, | |
37 | - 'campaign' => $data['utm_campaign'], | |
38 | - 'name' => $data['name'], | |
39 | - 'event_id' => $data['id'], | |
40 | - 'status' => '0', | |
41 | - 'project_id' => $data['project_id'] | |
42 | - ); | |
43 | - $model->save($delivery); | |
44 | - } | |
45 | 56 | |
46 | 57 | |
47 | 58 | } |
48 | 59 | \ No newline at end of file | ... | ... |
1 | +<?php | |
2 | +namespace MyMailer; | |
3 | + | |
4 | +class EventAdder{ | |
5 | + | |
6 | + public $post; | |
7 | + public $host; | |
8 | + | |
9 | + public function __construct( $post){ | |
10 | + | |
11 | + $project_model = new \projects(); | |
12 | + | |
13 | + $this->host = $_SERVER['HTTP_ORIGIN']; | |
14 | + | |
15 | + $this->post = $post; | |
16 | + | |
17 | + $project = $project_model->getProjectId($this->host); | |
18 | + | |
19 | + $this->post['project_id'] = $project->id; | |
20 | + | |
21 | + $this->post['project_name'] = $project->name; | |
22 | + | |
23 | + if(!$this->post['project_id']){ | |
24 | + throw new \Exception("Project {$this->host} not found"); | |
25 | + } else { | |
26 | + print_r($this->post); | |
27 | + } | |
28 | + | |
29 | + } | |
30 | + | |
31 | + public function callEventFactory(){ | |
32 | + | |
33 | + if(isset($this->post['event_type'])){ | |
34 | + switch ($this->post['event_type']) { | |
35 | + case 'add_subscribe': | |
36 | + | |
37 | + | |
38 | + $event = new EventOnlineSubscribe(); | |
39 | + | |
40 | + | |
41 | + | |
42 | + $customer = $event->subscribeNewCustomer($this->post); | |
43 | + | |
44 | + $event->addLatterListToNewCustomer($this->post,$customer); | |
45 | + | |
46 | + $templateManager = new EventTemplateManager(); | |
47 | + | |
48 | + $data = $templateManager->insertEventData($this->post['event'],$this->host,$this->post['project_id'],'event_online'); | |
49 | + | |
50 | + $item_data = $templateManager->insertItemData($this->post); | |
51 | + | |
52 | + $template = $templateManager->prepareTemplate($data); | |
53 | + | |
54 | + $template = $templateManager->prepareEventData($item_data, $template, $this->post); | |
55 | + | |
56 | + $MyMailer = new EventMailer(); | |
57 | + | |
58 | + $MyMailer->setFromName($this->post['project_name']); | |
59 | + | |
60 | + $event->sendEventDelivery($this->post, $data, $template); | |
61 | + | |
62 | + break; | |
63 | + case 'online_event': | |
64 | + | |
65 | + $templateManager = new EventTemplateManager(); | |
66 | + | |
67 | + $data = $templateManager->insertEventData($this->post['event'],$this->host,$this->post['project_id'],'event_online'); | |
68 | + | |
69 | + $item_data = $templateManager->insertItemData($this->post); | |
70 | + | |
71 | + $template = $templateManager->prepareTemplate($item_data,$data); | |
72 | + | |
73 | + $template = $templateManager->prepareEventData([], $template, $this->post); | |
74 | + | |
75 | + $event = new EventOnline(); | |
76 | + | |
77 | + $event->sendEventDelivery( $this->post, $data, $template); | |
78 | + | |
79 | + break; | |
80 | + | |
81 | + case 'spy_event': | |
82 | + | |
83 | + $spyEvent = new EventSpy(); | |
84 | + | |
85 | + $customer = $spyEvent->getCustomer($this->post); | |
86 | + | |
87 | + | |
88 | + switch ($this->post['action']) { | |
89 | + case 'order_add': | |
90 | + | |
91 | + $spyID = $spyEvent->saveSpyData($this->post,$customer); | |
92 | + $spyEvent->saveSpyOrder($spyID, 'added',$this->post); | |
93 | + | |
94 | + break; | |
95 | + | |
96 | + case 'order_delete': | |
97 | + $spyID = $spyEvent->getSpyData($this->post,$customer); | |
98 | + $spyEvent->saveSpyOrder($spyID, 'deleted',$this->post); | |
99 | + | |
100 | + break; | |
101 | + case 'order_finish': | |
102 | + | |
103 | + | |
104 | + $model = new \spyEvent(); | |
105 | + | |
106 | + $item_data = $model->spyTimeAfter($this->post['project_id'], $customer->id)->toArray(); | |
107 | + | |
108 | + $templateManager = new EventTemplateManager(); | |
109 | + | |
110 | + $data = $templateManager->insertEventData($this->post['event'],$this->host,$this->post['project_id'],'event_online'); | |
111 | + | |
112 | + $template = $templateManager->prepareTemplate($data); | |
113 | + | |
114 | + $template = $templateManager->prepareEventData($item_data, $template, $this->post); | |
115 | + | |
116 | + $spyEvent->sendEventDelivery( $this->post, $data, $template); | |
117 | + | |
118 | + $spyID = $spyEvent->saveSpyData($this->post,$customer); | |
119 | + $spyEvent->finishSpyOrder($this->post,$customer); | |
120 | + | |
121 | + break; | |
122 | + | |
123 | + default: | |
124 | + throw new \Exception("Unknown event action {$this->post['action']}"); | |
125 | + } | |
126 | + | |
127 | + break; | |
128 | + default: | |
129 | + throw new \Exception("Unknown event type"); | |
130 | + } | |
131 | + } else { | |
132 | + throw new \Exception("Unknown event type"); | |
133 | + } | |
134 | + } | |
135 | +} | |
0 | 136 | \ No newline at end of file | ... | ... |
1 | +<?php | |
2 | +namespace MyMailer; | |
3 | + | |
4 | +class EventOffline extends Event{ | |
5 | + | |
6 | + private function getEventInfo($event, $customers,$project){ | |
7 | + $info = \eventInfo::findFirst("event_id = {$event->id} AND customer_id = {$customers['id']}"); | |
8 | + | |
9 | + if($info instanceof \eventInfo){ | |
10 | + return $info; | |
11 | + } else { | |
12 | + $info = new \eventInfo(); | |
13 | + $info->customer_id = $customers['id']; | |
14 | + $info->event_id = $event->id; | |
15 | + $info->project_id = $project->id; | |
16 | + $info->event_trigger = $event->event_trigger; | |
17 | + $info->save(); | |
18 | + return $info; | |
19 | + } | |
20 | + } | |
21 | + | |
22 | + /** | |
23 | + * @param $customers | |
24 | + * @param $project | |
25 | + * @param $offline_data_model | |
26 | + * @param $event | |
27 | + * @param $event_data | |
28 | + * @param $post | |
29 | + * @throws \Exception | |
30 | + */ | |
31 | + public function sendEventDelivery($customers,$project,$offline_data_model, $event,$event_data,$post ){ | |
32 | + | |
33 | + if($customers){ | |
34 | + | |
35 | + $event_info = $this->getEventInfo($offline_data_model,$customers,$project); | |
36 | + | |
37 | + $templateManager = new \MyMailer\EventTemplateManager(); | |
38 | + | |
39 | + $data = $templateManager->insertEventData($event['name'],$project->url,$project->id, 'event_offline'); | |
40 | + | |
41 | + $template = $templateManager->prepareTemplate($data); | |
42 | + | |
43 | + $template = $templateManager->prepareEventData($event_data, $template, $post); | |
44 | + | |
45 | + $MyMailer = new EventMailer(); | |
46 | + | |
47 | + $MyMailer->setFromName($project->name); | |
48 | + | |
49 | + $MyMailer->SendDelivery($template->toArray(),$event,[$customers]); | |
50 | + | |
51 | + | |
52 | + $event_info->last_delivery = date("Y-m-d H:i:s"); | |
53 | + $event_info->save(); | |
54 | + | |
55 | + } | |
56 | + } | |
57 | +} | |
0 | 58 | \ No newline at end of file | ... | ... |
1 | +<?php | |
2 | +namespace MyMailer; | |
3 | + | |
4 | +class EventOnline extends Event{ | |
5 | + | |
6 | + /** | |
7 | + * @param $customers | |
8 | + * @param $post | |
9 | + * @param $data | |
10 | + * @param $template | |
11 | + * @throws \Exception | |
12 | + */ | |
13 | + public function sendEventDelivery($post, $data, $template){ | |
14 | + if($post['email']){ | |
15 | + | |
16 | + $customers_model = new \customersEmailList(); | |
17 | + | |
18 | + $customers = $customers_model->findFirst("email = '{$post['email']}'"); | |
19 | + | |
20 | + $event_info = new \eventInfo(); | |
21 | + | |
22 | + | |
23 | + if(isset($post['event']) && !empty($post['event'])) { | |
24 | + | |
25 | + | |
26 | + $event_info->event_id = $data->id; | |
27 | + $event_info->customer_id = $customers->id; | |
28 | + $event_info->project_id = $post['project_id']; | |
29 | + | |
30 | + if($data->unique) { | |
31 | + $unique = $event_info->findFirst("event_id = {$data->id} AND customer_id = {$customers->id} AND project_id = {$post['project_id']}"); | |
32 | + if($unique) { | |
33 | + throw new \Exception(); | |
34 | + } | |
35 | + } | |
36 | + | |
37 | + | |
38 | + $MyMailer = new EventMailer(); | |
39 | + | |
40 | + $MyMailer->setFromName($post['project_name']); | |
41 | + | |
42 | + $MyMailer->SendDelivery($template->toArray(),$data->toArray(),array($customers->toArray())); | |
43 | + | |
44 | + $event_info->save(); | |
45 | + | |
46 | + | |
47 | + } else { | |
48 | + throw new \Exception(); | |
49 | + } | |
50 | + | |
51 | + } else { | |
52 | + throw new \Exception("email missing"); | |
53 | + } | |
54 | + } | |
55 | + | |
56 | + | |
57 | +} | |
0 | 58 | \ No newline at end of file | ... | ... |
1 | +<?php | |
2 | + | |
3 | +namespace MyMailer; | |
4 | + | |
5 | +class EventOnlineSubscribe extends EventOnline{ | |
6 | + | |
7 | + public $is_new = false; | |
8 | + public $customer; | |
9 | + | |
10 | + /** | |
11 | + * @param $post array() | |
12 | + */ | |
13 | + public function subscribeNewCustomer($post){ | |
14 | + $user['email'] = $post['email']; | |
15 | + $user['name'] = isset($post['name']) ? $post['name']:''; | |
16 | + $user['project_id'] = $post['project_id']; | |
17 | + | |
18 | + $customers_model = new \customersEmailList; | |
19 | + | |
20 | + if(!$this->checkCustomer($customers_model, $post)){ | |
21 | + $customers_model->save($user); | |
22 | + $this->addLettersList($post['project_id'],$customers_model->id); | |
23 | + return $customers_model; | |
24 | + } | |
25 | + | |
26 | + | |
27 | + } | |
28 | + | |
29 | + public function checkCustomer($customers_model, $post){ | |
30 | + | |
31 | + $this->customer = $customers_model->findFirst("email = '{$post['email']}'"); | |
32 | + | |
33 | + if($this->customer instanceof \customersEmailList){ | |
34 | + return true; | |
35 | + } else { | |
36 | + return false; | |
37 | + } | |
38 | + } | |
39 | + | |
40 | + public function addLatterListToNewCustomer($post,$customer){ | |
41 | + if($this->is_new){ | |
42 | + $this->addLettersList($post['project_id'],$this->customer->id); | |
43 | + } | |
44 | + } | |
45 | +} | |
0 | 46 | \ No newline at end of file | ... | ... |
1 | +<?php | |
2 | + | |
3 | +namespace MyMailer; | |
4 | + | |
5 | +class EventSpy extends EventOnline{ | |
6 | + | |
7 | + public function saveSpyOrder($spyID,$status,$post){ | |
8 | + | |
9 | + if(isset($post['item_id'])){ | |
10 | + | |
11 | + | |
12 | + | |
13 | + $data['item_name'] = isset($post['item_name']) ? $post['item_name']:null; | |
14 | + $data['item_id'] = $post['item_id']; | |
15 | + $data['item_url'] = isset($post['item_url']) ? $post['item_url']:null; | |
16 | + $data['item_image'] = isset($post['item_image']) ? $post['item_image']:null; | |
17 | + $data['quantity'] = isset($post['quantity']) ? $post['quantity']:null; | |
18 | + $data['price'] = isset($post['price']) ? $post['price']:null; | |
19 | + $data['spy_event_id'] = $spyID; | |
20 | + $data['status'] = $status; | |
21 | + if($status == 'added'){ | |
22 | + $model = \spyStore::findFirst("item_id='{$data['item_id']}' AND spy_event_id = {$spyID}"); | |
23 | + if($model instanceof \spyStore){ | |
24 | + $model->save( $data ); | |
25 | + } else { | |
26 | + $model = new \spyStore(); | |
27 | + $model->save( $data ); | |
28 | + } | |
29 | + } else if($status == 'deleted'){ | |
30 | + $model = \spyStore::findFirst("item_id='{$data['item_id']}' AND spy_event_id = {$spyID}"); | |
31 | + if($model instanceof \spyStore){ | |
32 | + $model->delete(); | |
33 | + } else { | |
34 | + throw new \Exception("there is no item with id {$data['item_id']}"); | |
35 | + } | |
36 | + } | |
37 | + | |
38 | + | |
39 | + | |
40 | + | |
41 | + | |
42 | + }else{ | |
43 | + throw new \Exception("missing item id"); | |
44 | + } | |
45 | + | |
46 | + } | |
47 | + | |
48 | + public function saveSpyData($post,$customer){ | |
49 | + | |
50 | + if(isset($post['action'])){ | |
51 | + $data['project_id'] = $post['project_id']; | |
52 | + $data['customer_id'] = $customer->id; | |
53 | + $data['action'] = $post['action']; | |
54 | + $data['date'] = date("Y-m-d H:i:s"); | |
55 | + $data['target_id'] = isset($post['item_id']) ? $post['item_id']:null; | |
56 | + if($data['target_id']){ | |
57 | + | |
58 | + $spy_model = \spyEvent::findFirst("customer_id = '{$customer->id}' AND project_id = {$post['project_id']} AND target_id = {$data['target_id']}"); | |
59 | + if( $spy_model instanceof \spyEvent){ | |
60 | + $spy_model->save($data); | |
61 | + }else{ | |
62 | + $spy_model = new \spyEvent(); | |
63 | + $spy_model->save( $data ); | |
64 | + } | |
65 | + }else{ | |
66 | + $spy_model = new \spyEvent(); | |
67 | + $spy_model->save( $data ); | |
68 | + } | |
69 | + | |
70 | + return $spy_model->id; | |
71 | + }else{ | |
72 | + throw new \Exception("action missing"); | |
73 | + } | |
74 | + | |
75 | + } | |
76 | + | |
77 | + public function getSpyData($post,$customer){ | |
78 | + if(isset($post['action'])){ | |
79 | + $data['project_id'] = $post['project_id']; | |
80 | + $data['customer_id'] = $customer->id; | |
81 | + $data['target_id'] = isset($post['item_id']) ? $post['item_id']:null; | |
82 | + | |
83 | + $spy_model = \spyEvent::findFirst("customer_id = '{$customer->id}' AND project_id = {$post['project_id']} AND target_id = {$data['target_id']}"); | |
84 | + | |
85 | + if( $spy_model instanceof \spyEvent){ | |
86 | + $id = $spy_model->id; | |
87 | + $spy_model->delete(); | |
88 | + return $id; | |
89 | + }else{ | |
90 | + throw new \Exception("spy event not found"); | |
91 | + } | |
92 | + | |
93 | + | |
94 | + | |
95 | + }else{ | |
96 | + throw new \Exception("action missing"); | |
97 | + } | |
98 | + | |
99 | + } | |
100 | + | |
101 | + public function finishSpyOrder($post, $customer){ | |
102 | + if(isset($post['action'])){ | |
103 | + $data['project_id'] = $post['project_id']; | |
104 | + $data['customer_id'] = $customer->id; | |
105 | + $data['action'] = $post['action']; | |
106 | + $data['date'] = date("Y-m-d H:i:s"); | |
107 | + $data['target_id'] = isset($post['item_id']) ? $post['item_id']:null; | |
108 | + $spy_model = \spyEvent::query() | |
109 | + ->where("project_id = :project_id:") | |
110 | + ->andWhere("action ='order_add'") | |
111 | + ->andWhere("customer_id =:customer_id:") | |
112 | + ->bind(array("project_id" => $post['project_id'], "customer_id"=>$customer->id)) | |
113 | + ->execute(); | |
114 | + | |
115 | + foreach($spy_model as $model){ | |
116 | + | |
117 | + $model->update(["action" =>'finish']); | |
118 | + } | |
119 | + | |
120 | + $events_info = \eventInfo::query() | |
121 | + ->where("project_id = :project_id:") | |
122 | + ->andWhere("event_trigger ='order_time_after'") | |
123 | + ->andWhere("customer_id =:customer_id:") | |
124 | + ->bind(array("project_id" => $post['project_id'], "customer_id"=>$customer->id)) | |
125 | + ->execute(); | |
126 | + | |
127 | + foreach($events_info as $event_info ){ | |
128 | + $event_info->delete(); | |
129 | + } | |
130 | + | |
131 | + | |
132 | + }else{ | |
133 | + throw new \Exception("action missing"); | |
134 | + } | |
135 | + | |
136 | + } | |
137 | + | |
138 | + | |
139 | + public function getCustomer($post){ | |
140 | + $customers_model = new \customersEmailList(); | |
141 | + $user = $customers_model->findFirst("email = '{$post['email']}' AND project_id = {$post['project_id']} "); | |
142 | + if($user instanceof \customersEmailList){ | |
143 | + return $user; | |
144 | + } else { | |
145 | + $user['email'] = $post['email']; | |
146 | + $user['name'] = isset($post['name']) ? $post['name']:''; | |
147 | + $user['project_id'] = $post['project_id']; | |
148 | + $user['customer_id'] = isset($post['customer_id']) ? $post['customer_id']:''; | |
149 | + $user['gender'] = isset($post['gender']) ? $post['gender']:''; | |
150 | + $user['birthday'] = isset($post['birthday']) ? $post['birthday']:''; | |
151 | + return $customers_model->save($user); | |
152 | + } | |
153 | + } | |
154 | + | |
155 | +} | |
0 | 156 | \ No newline at end of file | ... | ... |
src/lib/MyMailer/OnlineEvent.php renamed to src/lib/MyMailer/EventTemplateManager.php
1 | 1 | <?php |
2 | 2 | namespace MyMailer; |
3 | 3 | |
4 | -class OnlineEvent extends Event{ | |
4 | +class EventTemplateManager { | |
5 | 5 | |
6 | - private $props = array(); | |
7 | - private static $instance; | |
6 | + public function prepareTemplate( $data){ | |
8 | 7 | |
9 | - public static function getInstance(){ | |
10 | - if(empty(self::$instance)){ | |
11 | - self::$instance = new OnlineEvent(); | |
8 | + $template = $data->emailTemplates; | |
9 | + | |
10 | + $UTMParser = new \UTMParser(); | |
11 | + | |
12 | + $template->text = $UTMParser->parse($data->toArray(), $template->toArray()); | |
13 | + | |
14 | + return $template; | |
15 | + | |
16 | + } | |
17 | + | |
18 | + | |
19 | + public function insertItemData($post){ | |
20 | + if(isset($post['item_data']) && !empty($post['item_data'])){ | |
21 | + return json_decode($post['item_data']); | |
22 | + } else { | |
23 | + return array(); | |
12 | 24 | } |
13 | - return self::$instance; | |
14 | 25 | } |
15 | 26 | |
16 | - public function replaceData($target, $replacement, $str) | |
17 | - { | |
18 | - $text = str_replace($target, $replacement, $str); | |
19 | - return $text; | |
27 | + | |
28 | + public function insertEventData($event_name,$host,$projects_id,$type){ | |
29 | + | |
30 | + $model = new \eventEmail(); | |
31 | + $data = $model->findFirst("name = '{$event_name}' AND email_type = '{$type}' AND project_id = {$projects_id} "); | |
32 | + if($data instanceof \eventEmail){ | |
33 | + return $data; | |
34 | + } else { | |
35 | + throw new \Exception("EventData for event {$event_name} in project {$host} not found"); | |
36 | + } | |
37 | + } | |
38 | + | |
39 | + /** | |
40 | + * | |
41 | + * Подготовка данных к отправке. | |
42 | + * $item_data array() | |
43 | + * $template object emailTemplates (this is model) | |
44 | + * $post_data array() data from post | |
45 | + * return obj | |
46 | + ***/ | |
47 | + public function prepareEventData($item_data, \emailTemplates $template, $post_data){ | |
48 | + if($template->text_type =='static' ){ | |
49 | + | |
50 | + | |
51 | + if( $item_data ){ | |
52 | + $template->text = $this->itemSet( $template, $item_data ); | |
53 | + } | |
54 | + $template->text = $this->dataSet( $template->text, $post_data ); | |
55 | + | |
56 | + | |
57 | + | |
58 | + | |
59 | + } else { | |
60 | + | |
61 | + if( $item_data ) { | |
62 | + $template->text = $this->itemDynamicSet($template, $item_data); | |
63 | + } | |
64 | + $template->text = $this->dataSet( $template->text, $post_data ); | |
65 | + | |
66 | + } | |
67 | + return $template; | |
20 | 68 | } |
21 | 69 | |
22 | 70 | public function itemSet($template, $data){ |
23 | 71 | $num = count($data); |
24 | 72 | |
73 | + $new_text = $template->text; | |
74 | + | |
25 | 75 | for($i=0; $i<$num; $i++){ |
26 | 76 | foreach($data[$i] as $k => $v){ |
27 | 77 | |
28 | 78 | $target = '{{item_'.$i.'_'.$k.'}}'; |
29 | 79 | $replacement = $v; |
30 | - $template['text'] = $this->replaceData($target, $replacement, $template['text']); | |
80 | + $new_text = $this->replaceData($target, $replacement, $template->text); | |
31 | 81 | |
32 | 82 | } |
33 | 83 | } |
34 | 84 | |
35 | - return $template['text']; | |
85 | + return $new_text; | |
36 | 86 | |
37 | 87 | } |
38 | 88 | |
89 | + | |
39 | 90 | public function dataSet($text, $data){ |
40 | 91 | |
41 | 92 | foreach($data as $k => $v){ |
... | ... | @@ -51,16 +102,22 @@ class OnlineEvent extends Event{ |
51 | 102 | |
52 | 103 | } |
53 | 104 | |
54 | - public function itemDynamicSet($template, $data){ | |
105 | + public function replaceData($target, $replacement, $str) | |
106 | + { | |
107 | + $text = str_replace($target, $replacement, $str); | |
108 | + return $text; | |
109 | + } | |
55 | 110 | |
111 | + public function itemDynamicSet($template, $data){ | |
56 | 112 | $num = count($data); |
57 | 113 | $contentText = ''; |
58 | 114 | for($i=0; $i<$num; $i++){ |
59 | - $contentTextOneBlock = $template['dynamic_content']; | |
115 | + $contentTextOneBlock = $template->dynamic_content; | |
116 | + | |
60 | 117 | foreach($data[$i] as $k => $v){ |
61 | 118 | |
62 | - $target = '{{item_'.$k.'}}'; | |
63 | - print "target = '{{item_'.$k.'}}'" ; | |
119 | + $target = '{{'.$k.'}}'; | |
120 | + print "target = '{{'.$k.'}}'" ; | |
64 | 121 | $replacement = $v; |
65 | 122 | print "replacement = $v" ; |
66 | 123 | $contentTextOneBlock = $this->replaceData($target, $replacement, $contentTextOneBlock); |
... | ... | @@ -69,12 +126,10 @@ class OnlineEvent extends Event{ |
69 | 126 | $contentText .= $contentTextOneBlock; |
70 | 127 | } |
71 | 128 | |
72 | - $template = $template['header']. $contentText .$template['footer']; | |
129 | + $new_text = $template->header. $contentText .$template->footer; | |
73 | 130 | |
74 | 131 | |
75 | - return $template; | |
132 | + return $new_text; | |
76 | 133 | |
77 | 134 | } |
78 | - | |
79 | - | |
80 | 135 | } |
81 | 136 | \ No newline at end of file | ... | ... |
src/lib/MyMailer/Mailer.php
... | ... | @@ -3,8 +3,7 @@ namespace MyMailer; |
3 | 3 | |
4 | 4 | class Mailer extends \core{ |
5 | 5 | |
6 | - private $props = array(); | |
7 | - private static $instance; | |
6 | + | |
8 | 7 | |
9 | 8 | public $from_name; |
10 | 9 | public $from_email; |
... | ... | @@ -18,16 +17,14 @@ class Mailer extends \core{ |
18 | 17 | public $public_key = '5xaiqb1pnuu8jsun4rwxhow4shj11e55zdhjf5do'; |
19 | 18 | public $list_id = '4940006'; |
20 | 19 | |
20 | + | |
21 | + | |
22 | + | |
21 | 23 | public function __construct(){ |
22 | 24 | $this->from_email = 'andrey.belyy@gmail.com'; |
23 | 25 | $this->mailer = new sender\unisender($this->public_key, $this->list_id); |
24 | 26 | } |
25 | 27 | |
26 | - | |
27 | - public function test(){ | |
28 | - die("you in ".__DIR__); | |
29 | - } | |
30 | - | |
31 | 28 | public function reloadSender(){ |
32 | 29 | $this->mailer = new sender\unisender($this->public_key,$this->list_id); |
33 | 30 | } |
... | ... | @@ -151,4 +148,51 @@ class Mailer extends \core{ |
151 | 148 | return $model; |
152 | 149 | } |
153 | 150 | |
151 | + | |
152 | + public function SendForSelect($template, $users) | |
153 | + { | |
154 | + foreach($users as $user){ | |
155 | + | |
156 | + $this->setToMail($user['email']); | |
157 | + $this->setMailMessage($template->text); | |
158 | + $this->setTitle($template->title); | |
159 | + $this->SendEmail(); | |
160 | + } | |
161 | + } | |
162 | + | |
163 | + /** | |
164 | + * @param $template | |
165 | + * @param $data | |
166 | + * @param array $users | |
167 | + */ | |
168 | + | |
169 | + public function SendDelivery($template, $data, $users =array() ) | |
170 | + { | |
171 | + $model = new \delivery(); | |
172 | + | |
173 | + if(!$users) { | |
174 | + | |
175 | + $users = $this->getUsers($data['users_id']); | |
176 | + | |
177 | + } | |
178 | + | |
179 | + | |
180 | + $this->setToMail($users,true); | |
181 | + | |
182 | + $this->setMailMessage($template['text']); | |
183 | + $this->setTitle($template['title']); | |
184 | + $campaign_id = $this->mailer->createCampaignDelivery($this->to_email, $this->from_email, $this->from_name, $this->title, $this->mailMessage); | |
185 | + | |
186 | + | |
187 | + $delivery = array( | |
188 | + 'campaign_id' => $campaign_id, | |
189 | + 'campaign' => $data['utm_campaign'], | |
190 | + 'name' => $data['name'], | |
191 | + 'event_id' => $data['id'], | |
192 | + 'status' => '0', | |
193 | + 'project_id' => $data['project_id'] | |
194 | + ); | |
195 | + $model->save($delivery); | |
196 | + } | |
197 | + | |
154 | 198 | } |
155 | 199 | \ No newline at end of file | ... | ... |
src/lib/MyMailer/OfflineEvent.php deleted
1 | -<?php | |
2 | -namespace MyMailer; | |
3 | - | |
4 | -class OfflineEvent extends Event{ | |
5 | - private $props = array(); | |
6 | - private static $instance; | |
7 | - | |
8 | - public static function getInstance(){ | |
9 | - if(empty(self::$instance)){ | |
10 | - self::$instance = new OfflineEvent(); | |
11 | - } | |
12 | - return self::$instance; | |
13 | - } | |
14 | - | |
15 | - | |
16 | - public function replaceData($target, $replacement, $str) | |
17 | - { | |
18 | - $text = str_replace($target, $replacement, $str); | |
19 | - return $text; | |
20 | - } | |
21 | - | |
22 | - public function itemDynamicSet($template, $data){ | |
23 | - | |
24 | - $num = count($data); | |
25 | - $contentText = ''; | |
26 | - for($i=0; $i<$num; $i++){ | |
27 | - $contentTextOneBlock = $template['dynamic_content']; | |
28 | - foreach($data[$i] as $k => $v){ | |
29 | - | |
30 | - $target = '{{'.$k.'}}'; | |
31 | - print "target = '{{'.$k.'}}'" ; | |
32 | - $replacement = $v; | |
33 | - print "replacement = $v" ; | |
34 | - $contentTextOneBlock = $this->replaceData($target, $replacement, $contentTextOneBlock); | |
35 | - | |
36 | - } | |
37 | - $contentText .= $contentTextOneBlock; | |
38 | - } | |
39 | - | |
40 | - $template = $template['header']. $contentText .$template['footer']; | |
41 | - | |
42 | - | |
43 | - return $template; | |
44 | - | |
45 | - } | |
46 | - | |
47 | - | |
48 | -} | |
49 | 0 | \ No newline at end of file |
src/lib/models/emailTemplates.php
1 | 1 | <?php |
2 | 2 | class emailTemplates extends \Phalcon\Mvc\Model |
3 | 3 | { |
4 | + | |
5 | + public $id; | |
6 | + public $title; | |
7 | + public $text; | |
8 | + public $name; | |
9 | + public $directory; | |
10 | + public $event_id; | |
11 | + public $project_id; | |
12 | + public $text_type; | |
13 | + public $header; | |
14 | + public $dynamic_content; | |
15 | + public $footer; | |
16 | + | |
4 | 17 | public function getSource() |
5 | 18 | { |
6 | 19 | return "email_templates"; | ... | ... |
src/lib/models/spyEvent.php
... | ... | @@ -9,33 +9,31 @@ class SpyEvent extends \Phalcon\Mvc\Model |
9 | 9 | } |
10 | 10 | |
11 | 11 | |
12 | - public function spyTimeAfter($project,$customer_id){ | |
12 | + public function spyTimeAfter($project_id,$customer_id){ | |
13 | + | |
13 | 14 | return self::query() |
14 | 15 | ->columns(['customer_id', 'st.id, st.item_id', 'st.item_name', 'st.item_image', 'st.quantity', 'st.price', 'st.item_url', 'st.item_image']) |
15 | 16 | ->rightJoin('spyStore', 'st.spy_event_id = SpyEvent.id', 'st') |
16 | 17 | ->where("project_id = :project_id:") |
17 | 18 | ->andWhere("action ='order_add'") |
18 | 19 | ->andWhere("customer_id =$customer_id") |
19 | - ->bind(array("project_id" => $project->id)) | |
20 | + ->bind(array("project_id" => $project_id)) | |
20 | 21 | ->execute(); |
21 | 22 | |
22 | 23 | } |
23 | 24 | |
24 | - public function getSpyUsers($modelsManager, $project) | |
25 | + public function getSpyUsers($modelsManager, $project, $time) | |
25 | 26 | { |
26 | 27 | |
27 | 28 | $now = date("Y-m-d H:i:s"); |
28 | 29 | |
29 | 30 | $date1 = new DateTime($now); |
30 | - $date1->modify('-3 hours'); | |
31 | + $date1->modify($time); | |
31 | 32 | $date1 = $date1->format('Y-m-d H:i:s'); |
32 | 33 | |
33 | - $date2 = new DateTime($now); | |
34 | - $date2->modify('-11 hours'); | |
35 | - $date2 = $date2->format('Y-m-d H:i:s'); | |
36 | 34 | |
37 | - $phql = "SELECT DISTINCT (customer_id) as id FROM SpyEvent WHERE project_id = {$project->id} AND action = 'order_add' AND date <= '{$date1}' OR date <= '{$date2}'"; | |
38 | - //äîáàâèòü êîä íèæå äëÿ ïðîâåðêè âðåìåíè | |
35 | + $phql = "SELECT DISTINCT (customer_id) as id FROM SpyEvent WHERE project_id = {$project->id} AND action = 'order_add' AND date <= '{$date1}'"; | |
36 | + //�������� ��� ���� ��� �������� ������� | |
39 | 37 | // AND action = 'order_add' AND date <= '{$date}' |
40 | 38 | |
41 | 39 | return $modelsManager->executeQuery($phql)->toArray(); | ... | ... |
src/lib/security.php
storage/posuda_price_list/index.html
... | ... | @@ -24,10 +24,6 @@ |
24 | 24 | <div class="content"><h1>Алюминиевая посуда</h1><div class="table"> |
25 | 25 | <h2>Алюминиевая посуда - Волгоград</h2> |
26 | 26 | <div class="table-body"><div class="row"> |
27 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/Al_6078.jpg> | |
28 | - <p class="name">Казан ал. 5л с АП (В)</p> | |
29 | - <p class="price"></p> | |
30 | - </div><div class="row"> | |
31 | 27 | <img src=http://www.posuda-sklad.ru/uploadedfiles/Al_7188.jpg> |
32 | 28 | <p class="name">Кастрюля ал. 'Латка' с кр.с АП (В)</p> |
33 | 29 | <p class="price"></p> |
... | ... | @@ -66,10 +62,6 @@ |
66 | 62 | <p class="name">Казан ал. 10л литой к100 (К)</p> |
67 | 63 | <p class="price"></p> |
68 | 64 | </div><div class="row"> |
69 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/Al_1295.jpg> | |
70 | - <p class="name">Казан ал. 40л литой к400 (К)</p> | |
71 | - <p class="price"></p> | |
72 | - </div><div class="row"> | |
73 | 65 | <img src=http://www.posuda-sklad.ru/uploadedfiles/Al_1294.jpg> |
74 | 66 | <p class="name">Казан ал. 70л литой к700 (К)</p> |
75 | 67 | <p class="price"></p> |
... | ... | @@ -86,10 +78,6 @@ |
86 | 78 | <p class="name">Казан походный ал. 20л с кр. литой кп200 (К)</p> |
87 | 79 | <p class="price"></p> |
88 | 80 | </div><div class="row"> |
89 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/AlKukKr40_6407.jpg> | |
90 | - <p class="name">Крышка д/казана ал. 40л к401 (К)</p> | |
91 | - <p class="price"></p> | |
92 | - </div><div class="row"> | |
93 | 81 | <img src=http://www.posuda-sklad.ru/uploadedfiles/AlKukKr70_7089.jpg> |
94 | 82 | <p class="name">Крышка д/казана ал. 70л к701 (К)</p> |
95 | 83 | <p class="price"></p> |
... | ... | @@ -427,7 +415,7 @@ |
427 | 415 | <p class="price"></p> |
428 | 416 | </div><div class="row"> |
429 | 417 | <img src=http://www.posuda-sklad.ru/uploadedfiles/DetiFar_7187.jpg> |
430 | - <p class="name">Миска малая фаянс детский рисунок (20)</p> | |
418 | + <p class="name">Миска малая фаянс детский рисунок (26)</p> | |
431 | 419 | <p class="price"></p> |
432 | 420 | </div><div class="row"> |
433 | 421 | <img src=image/images.jpg> |
... | ... | @@ -455,7 +443,7 @@ |
455 | 443 | <p class="price"></p> |
456 | 444 | </div><div class="row"> |
457 | 445 | <img src=http://www.posuda-sklad.ru/uploadedfiles/DetiFar_7186.jpg> |
458 | - <p class="name">Тарелка 175мм мелкая фаянс детский рисунок (20)</p> | |
446 | + <p class="name">Тарелка 175мм мелкая фаянс детский рисунок (36)</p> | |
459 | 447 | <p class="price"></p> |
460 | 448 | </div><div class="row"> |
461 | 449 | <img src=http://www.posuda-sklad.ru/uploadedfiles/DetiFar_7184.jpg> |
... | ... | @@ -676,10 +664,6 @@ |
676 | 664 | <p class="name">Бак пл. пищевой 65л (15)</p> |
677 | 665 | <p class="price"></p> |
678 | 666 | </div><div class="row"> |
679 | - <img src=image/images.jpg> | |
680 | - <p class="name">Банка д/сып.прод. пластм. с герм. кр 1л С11485 (33)</p> | |
681 | - <p class="price"></p> | |
682 | - </div><div class="row"> | |
683 | 667 | <img src=http://www.posuda-sklad.ru/uploadedfiles/Pl_6542.jpg> |
684 | 668 | <p class="name">Ведро педальное пластм. 20л С428 (2)</p> |
685 | 669 | <p class="price"></p> |
... | ... | @@ -696,6 +680,10 @@ |
696 | 680 | <p class="name">Ведро пл. 5л с крышкой 72-232</p> |
697 | 681 | <p class="price"></p> |
698 | 682 | </div><div class="row"> |
683 | + <img src=image/images.jpg> | |
684 | + <p class="name">Ведро пл. 7л без кр. С079 (20)</p> | |
685 | + <p class="price"></p> | |
686 | + </div><div class="row"> | |
699 | 687 | <img src=http://www.posuda-sklad.ru/uploadedfiles/Pl_7025.jpg> |
700 | 688 | <p class="name">Ведро пл. 7л с крышкой 72-225 (10)</p> |
701 | 689 | <p class="price"></p> |
... | ... | @@ -805,14 +793,6 @@ |
805 | 793 | <p class="price"></p> |
806 | 794 | </div><div class="row"> |
807 | 795 | <img src=image/images.jpg> |
808 | - <p class="name">Корзинка плетеная пластм. 18х12х5.5 кт1911</p> | |
809 | - <p class="price"></p> | |
810 | - </div><div class="row"> | |
811 | - <img src=image/images.jpg> | |
812 | - <p class="name">Корзинка плетеная пластм. 22х11х6 кт1907</p> | |
813 | - <p class="price"></p> | |
814 | - </div><div class="row"> | |
815 | - <img src=image/images.jpg> | |
816 | 796 | <p class="name">Кружка мерная пластм. 0.5л С146 (48)</p> |
817 | 797 | <p class="price"></p> |
818 | 798 | </div><div class="row"> |
... | ... | @@ -921,11 +901,7 @@ |
921 | 901 | <p class="price"></p> |
922 | 902 | </div><div class="row"> |
923 | 903 | <img src=image/images.jpg> |
924 | - <p class="name">Таз пл. 8 л круглый М 2512Б</p> | |
925 | - <p class="price"></p> | |
926 | - </div><div class="row"> | |
927 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/Pl_6552.jpg> | |
928 | - <p class="name">Таз пл. 8.5л круглый 15-949 (25)</p> | |
904 | + <p class="name">Таз пл. 8 л круглый М 2512Б (20)</p> | |
929 | 905 | <p class="price"></p> |
930 | 906 | </div><div class="row"> |
931 | 907 | <img src=http://www.posuda-sklad.ru/uploadedfiles/Pl_6451.jpg> |
... | ... | @@ -1112,6 +1088,10 @@ |
1112 | 1088 | <p class="name">Ложка разливательная нерж. 0.150л (П)</p> |
1113 | 1089 | <p class="price"></p> |
1114 | 1090 | </div><div class="row"> |
1091 | + <img src=image/images.jpg> | |
1092 | + <p class="name">Ложка разливательная нерж. 0.150л 1с344</p> | |
1093 | + <p class="price"></p> | |
1094 | + </div><div class="row"> | |
1115 | 1095 | <img src=http://www.posuda-sklad.ru/uploadedfiles/In_2.jpg> |
1116 | 1096 | <p class="name">Ложка разливательная нерж. 0.25л 1с355</p> |
1117 | 1097 | <p class="price"></p> |
... | ... | @@ -1213,7 +1193,7 @@ |
1213 | 1193 | <p class="price"></p> |
1214 | 1194 | </div><div class="row"> |
1215 | 1195 | <img src=image/images.jpg> |
1216 | - <p class="name">Терка четырехсторонняя малая</p> | |
1196 | + <p class="name">Терка четырехсторонняя Т-3у</p> | |
1217 | 1197 | <p class="price"></p> |
1218 | 1198 | </div><div class="row"> |
1219 | 1199 | <img src=http://www.posuda-sklad.ru/uploadedfiles/In_1959.jpg> |
... | ... | @@ -1237,19 +1217,23 @@ |
1237 | 1217 | <h2>Кружки, миски, тарелки нерж.</h2> |
1238 | 1218 | <div class="table-body"><div class="row"> |
1239 | 1219 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_20361.jpg> |
1240 | - <p class="name">Кружка нерж. 8см ( 0,3 л)</p> | |
1220 | + <p class="name">Кружка нерж. 8см ( 0,3 л) 6300-01</p> | |
1241 | 1221 | <p class="price"></p> |
1242 | 1222 | </div><div class="row"> |
1243 | 1223 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_20382.jpg> |
1244 | - <p class="name">Кружка нерж. 9см ( 0,5 л)</p> | |
1224 | + <p class="name">Кружка нерж. 9см ( 0,5 л) 6300-01</p> | |
1225 | + <p class="price"></p> | |
1226 | + </div><div class="row"> | |
1227 | + <img src=image/images.jpg> | |
1228 | + <p class="name">Миска д.22см нерж. 5000-02</p> | |
1245 | 1229 | <p class="price"></p> |
1246 | 1230 | </div><div class="row"> |
1247 | 1231 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_20384.jpg> |
1248 | - <p class="name">Миска глуб. д.16см нерж.</p> | |
1232 | + <p class="name">Миска глуб. д.16см нерж. 5000-19</p> | |
1249 | 1233 | <p class="price"></p> |
1250 | 1234 | </div><div class="row"> |
1251 | 1235 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_20387.jpg> |
1252 | - <p class="name">Миска глуб. д.18 см нерж. (0,8л)</p> | |
1236 | + <p class="name">Миска глуб. д.18 см нерж. (0,8л) 5000-19</p> | |
1253 | 1237 | <p class="price"></p> |
1254 | 1238 | </div><div class="row"> |
1255 | 1239 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_21177.jpg> |
... | ... | @@ -1260,6 +1244,10 @@ |
1260 | 1244 | <p class="name">Миска нерж. 2руч. 16см 'Татьяна' (кт1078)</p> |
1261 | 1245 | <p class="price"></p> |
1262 | 1246 | </div><div class="row"> |
1247 | + <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_20501.jpg> | |
1248 | + <p class="name">Тарелка мелк. 20 см нерж. 5400-04</p> | |
1249 | + <p class="price"></p> | |
1250 | + </div><div class="row"> | |
1263 | 1251 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_20383.jpg> |
1264 | 1252 | <p class="name">Тарелка мелк. 22 см нерж.</p> |
1265 | 1253 | <p class="price"></p> |
... | ... | @@ -1482,22 +1470,6 @@ |
1482 | 1470 | <p class="name">Картофелемялка нерж.20см ручка (кт1090)</p> |
1483 | 1471 | <p class="price"></p> |
1484 | 1472 | </div><div class="row"> |
1485 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/In_6239.jpg> | |
1486 | - <p class="name">Картофелемялка РМ-1018 45см (кт234)</p> | |
1487 | - <p class="price"></p> | |
1488 | - </div><div class="row"> | |
1489 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/In_6240.jpg> | |
1490 | - <p class="name">Картофелемялка РМ-1024 60см (кт235)</p> | |
1491 | - <p class="price"></p> | |
1492 | - </div><div class="row"> | |
1493 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/In_6241.jpg> | |
1494 | - <p class="name">Картофелемялка РМ-1118 45см круг (кт232)</p> | |
1495 | - <p class="price"></p> | |
1496 | - </div><div class="row"> | |
1497 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/In_6242.jpg> | |
1498 | - <p class="name">Картофелемялка РМ-1124 60см круг (кт233)</p> | |
1499 | - <p class="price"></p> | |
1500 | - </div><div class="row"> | |
1501 | 1473 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI27_20557.jpg> |
1502 | 1474 | <p class="name">Кастрюля 2,7л двойное дно нерж.Pretty</p> |
1503 | 1475 | <p class="price"></p> |
... | ... | @@ -1578,14 +1550,6 @@ |
1578 | 1550 | <p class="name">Ложка разливательная нерж. 1 л ручка 43 см (кт1100)</p> |
1579 | 1551 | <p class="price"></p> |
1580 | 1552 | </div><div class="row"> |
1581 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI_20711.jpg> | |
1582 | - <p class="name">Лопатка L=14 нерж. с дер.руч. (905) (кт25)</p> | |
1583 | - <p class="price"></p> | |
1584 | - </div><div class="row"> | |
1585 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI_6673.jpg> | |
1586 | - <p class="name">Лопатка L=20 длин. нерж. дер.руч. (908) (кт28)</p> | |
1587 | - <p class="price"></p> | |
1588 | - </div><div class="row"> | |
1589 | 1553 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI_7041.jpg> |
1590 | 1554 | <p class="name">Лопатка перф. нерж.24см ручка (проф.) (кт1083)</p> |
1591 | 1555 | <p class="price"></p> |
... | ... | @@ -1654,6 +1618,10 @@ |
1654 | 1618 | <p class="name">Лоток мелк. нерж. 600х400х20 (кт382)</p> |
1655 | 1619 | <p class="price"></p> |
1656 | 1620 | </div><div class="row"> |
1621 | + <img src=image/images.jpg> | |
1622 | + <p class="name">Миска нерж. 20 см глубокая МН-207</p> | |
1623 | + <p class="price"></p> | |
1624 | + </div><div class="row"> | |
1657 | 1625 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI_20356.jpg> |
1658 | 1626 | <p class="name">Миска нерж. 24 см глубокая (2,5л) МН-207</p> |
1659 | 1627 | <p class="price"></p> |
... | ... | @@ -1691,7 +1659,7 @@ |
1691 | 1659 | <p class="price"></p> |
1692 | 1660 | </div><div class="row"> |
1693 | 1661 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI_20267.jpg> |
1694 | - <p class="name">Миска-таз нерж. 60 см (20 л)</p> | |
1662 | + <p class="name">Миска-таз нерж. 60 см (20 л) кт1366</p> | |
1695 | 1663 | <p class="price"></p> |
1696 | 1664 | </div><div class="row"> |
1697 | 1665 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_5748.jpg> |
... | ... | @@ -1714,10 +1682,6 @@ |
1714 | 1682 | <p class="name">Подставка для кухонных принадл. нерж 10х18см</p> |
1715 | 1683 | <p class="price"></p> |
1716 | 1684 | </div><div class="row"> |
1717 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI_20684.jpg> | |
1718 | - <p class="name">Подставка под стол.приб мет.(1-258)</p> | |
1719 | - <p class="price"></p> | |
1720 | - </div><div class="row"> | |
1721 | 1685 | <img src=http://www.posuda-sklad.ru/uploadedfiles/In_20446.jpg> |
1722 | 1686 | <p class="name">Сито нерж.d=220мм с пл.руч (кт1179)</p> |
1723 | 1687 | <p class="price"></p> |
... | ... | @@ -1742,12 +1706,12 @@ |
1742 | 1706 | <p class="name">Сковорода нерж. тройное дно D200/40 (кт904)</p> |
1743 | 1707 | <p class="price"></p> |
1744 | 1708 | </div><div class="row"> |
1745 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NerISk_77396.jpg> | |
1746 | - <p class="name">Сковорода нерж. тройное дно D240/50 (кт116)</p> | |
1709 | + <img src=image/images.jpg> | |
1710 | + <p class="name">Сковорода нерж. тройное дно D220/45 (кт115)</p> | |
1747 | 1711 | <p class="price"></p> |
1748 | 1712 | </div><div class="row"> |
1749 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NerISk_20568.jpg> | |
1750 | - <p class="name">Сковорода нерж. тройное дно D240/50 (кт426)</p> | |
1713 | + <img src=http://www.posuda-sklad.ru/uploadedfiles/NerISk_77396.jpg> | |
1714 | + <p class="name">Сковорода нерж. тройное дно D240/50 (кт116)</p> | |
1751 | 1715 | <p class="price"></p> |
1752 | 1716 | </div><div class="row"> |
1753 | 1717 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_33430.jpg> |
... | ... | @@ -1774,10 +1738,6 @@ |
1774 | 1738 | <p class="name">Сковорода нерж. тройное дно D360/53 (кт759)</p> |
1775 | 1739 | <p class="price"></p> |
1776 | 1740 | </div><div class="row"> |
1777 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NerI_20459.jpg> | |
1778 | - <p class="name">Сковорода нерж. тройное дно D400 (кт760)</p> | |
1779 | - <p class="price"></p> | |
1780 | - </div><div class="row"> | |
1781 | 1741 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NergI_6828.jpg> |
1782 | 1742 | <p class="name">Совок д/сып.прод.алюм. 1000г (кт38)</p> |
1783 | 1743 | <p class="price"></p> |
... | ... | @@ -2018,6 +1978,10 @@ |
2018 | 1978 | <p class="name">Base line Luxstahl Ножовощной 88мм (кт045)</p> |
2019 | 1979 | <p class="price"></p> |
2020 | 1980 | </div><div class="row"> |
1981 | + <img src=image/images.jpg> | |
1982 | + <p class="name">Chef Luxstahl Нож овощной 75мм (кт1300)</p> | |
1983 | + <p class="price"></p> | |
1984 | + </div><div class="row"> | |
2021 | 1985 | <img src=http://www.posuda-sklad.ru/uploadedfiles/ColourLuxstahlWXSL430km1750_21226.jpg> |
2022 | 1986 | <p class="name">Colour Luxstahl Нож д/сыра 2 руч. 350мм (кт1750)</p> |
2023 | 1987 | <p class="price"></p> |
... | ... | @@ -2078,8 +2042,8 @@ |
2078 | 2042 | <p class="name">Profi Luxstahl Нож универсальный 145мм (кт1018)</p> |
2079 | 2043 | <p class="price"></p> |
2080 | 2044 | </div><div class="row"> |
2081 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/MUSATkm933_33436.jpg> | |
2082 | - <p class="name">Мусат с пл. руч. кт 933</p> | |
2045 | + <img src=image/images.jpg> | |
2046 | + <p class="name">Мусат с пл. руч. кт1012</p> | |
2083 | 2047 | <p class="price"></p> |
2084 | 2048 | </div><div class="row"> |
2085 | 2049 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NogLUXkt1638_21262.jpg> |
... | ... | @@ -2110,6 +2074,10 @@ |
2110 | 2074 | <p class="name">Нож-топорик с дер.руч. кт1483</p> |
2111 | 2075 | <p class="price"></p> |
2112 | 2076 | </div><div class="row"> |
2077 | + <img src=image/images.jpg> | |
2078 | + <p class="name">Нож-топорик с дер.руч. кт1866</p> | |
2079 | + <p class="price"></p> | |
2080 | + </div><div class="row"> | |
2113 | 2081 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NogIkt1868_33473.jpg> |
2114 | 2082 | <p class="name">Нож-топорик с пл.руч. кт1868</p> |
2115 | 2083 | <p class="price"></p> |
... | ... | @@ -2131,14 +2099,6 @@ |
2131 | 2099 | <img src=http://www.posuda-sklad.ru/uploadedfiles/NogiI30084_20410.jpg> |
2132 | 2100 | <p class="name">30084 MEXICO Нож кованый хлебный 20 см</p> |
2133 | 2101 | <p class="price"></p> |
2134 | - </div><div class="row"> | |
2135 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NogiI30787_20416.jpg> | |
2136 | - <p class="name">30787 MEXICO Нож кованый филейный 15 см</p> | |
2137 | - <p class="price"></p> | |
2138 | - </div><div class="row"> | |
2139 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NogiG50198_7151.jpg> | |
2140 | - <p class="name">50198 IDEAL Нож разделочный 20 см</p> | |
2141 | - <p class="price"></p> | |
2142 | 2102 | </div></div></div><div class="table"> |
2143 | 2103 | <h2>Ножи кухонные - Вача</h2> |
2144 | 2104 | <div class="table-body"><div class="row"> |
... | ... | @@ -2190,10 +2150,6 @@ |
2190 | 2150 | <p class="name">267 Нож с пл. руч. д/хлеба 300мм</p> |
2191 | 2151 | <p class="price"></p> |
2192 | 2152 | </div><div class="row"> |
2193 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/NogiV303_5812.jpg> | |
2194 | - <p class="name">303 Нож-топорик с пл.руч.</p> | |
2195 | - <p class="price"></p> | |
2196 | - </div><div class="row"> | |
2197 | 2153 | <img src=image/images.jpg> |
2198 | 2154 | <p class="name">311 Щипцы -ложка нерж.</p> |
2199 | 2155 | <p class="price"></p> |
... | ... | @@ -2326,14 +2282,6 @@ |
2326 | 2282 | <div class="content"><h1>Сопутствующие товары</h1><div class="table"> |
2327 | 2283 | <h2>Сопутствующие товары</h2> |
2328 | 2284 | <div class="table-body"><div class="row"> |
2329 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/Sop_606.jpg> | |
2330 | - <p class="name">Бумага туалет.(Сф) 54м (24)</p> | |
2331 | - <p class="price"></p> | |
2332 | - </div><div class="row"> | |
2333 | - <img src=image/images.jpg> | |
2334 | - <p class="name">Вафельное полотно отбел. шир. 45см (60)</p> | |
2335 | - <p class="price"></p> | |
2336 | - </div><div class="row"> | |
2337 | 2285 | <img src=http://www.posuda-sklad.ru/uploadedfiles/Sop_2745.jpg> |
2338 | 2286 | <p class="name">Ерш туал. в стакане пл.</p> |
2339 | 2287 | <p class="price"></p> |
... | ... | @@ -2568,10 +2516,6 @@ |
2568 | 2516 | <p class="name">3109 Графин 500г. (6)</p> |
2569 | 2517 | <p class="price"></p> |
2570 | 2518 | </div><div class="row"> |
2571 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/GlassN4249_1387.jpg> | |
2572 | - <p class="name">4249/1 Ваза для торта пресс. (2)</p> | |
2573 | - <p class="price"></p> | |
2574 | - </div><div class="row"> | |
2575 | 2519 | <img src=http://www.posuda-sklad.ru/uploadedfiles/GlassN4249_1358.jpg> |
2576 | 2520 | <p class="name">4249/1 Ваза для фруктов (2)</p> |
2577 | 2521 | <p class="price"></p> |
... | ... | @@ -2580,14 +2524,6 @@ |
2580 | 2524 | <p class="name">4249/1 Ваза для фруктов пресс. (плоская) (2)</p> |
2581 | 2525 | <p class="price"></p> |
2582 | 2526 | </div><div class="row"> |
2583 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/GlassN4249_1839.jpg> | |
2584 | - <p class="name">4249/2 Ваза для торта пресс. (3)</p> | |
2585 | - <p class="price"></p> | |
2586 | - </div><div class="row"> | |
2587 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/GlassN4249_1840.jpg> | |
2588 | - <p class="name">4249/2 Ваза для фруктов пресс. (2)</p> | |
2589 | - <p class="price"></p> | |
2590 | - </div><div class="row"> | |
2591 | 2527 | <img src=http://www.posuda-sklad.ru/uploadedfiles/GlassN4249_5928.jpg> |
2592 | 2528 | <p class="name">4249/2 Ваза для фруктов пресс. (плоская) (2)</p> |
2593 | 2529 | <p class="price"></p> |
... | ... | @@ -2740,10 +2676,6 @@ |
2740 | 2676 | <p class="name">HISAR 42856 Стакан 210мл</p> |
2741 | 2677 | <p class="price"></p> |
2742 | 2678 | </div><div class="row"> |
2743 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/GlassT42857_6043.jpg> | |
2744 | - <p class="name">HISAR 42857 Стакан 330мл</p> | |
2745 | - <p class="price"></p> | |
2746 | - </div><div class="row"> | |
2747 | 2679 | <img src=http://www.posuda-sklad.ru/uploadedfiles/Glass_20455.jpg> |
2748 | 2680 | <p class="name">KASABLANKA 43614 Кувшин 1.1л</p> |
2749 | 2681 | <p class="price"></p> |
... | ... | @@ -2930,10 +2862,18 @@ |
2930 | 2862 | <p class="name">Ложка чайная нерж. 'Базис' (кт870)</p> |
2931 | 2863 | <p class="price"></p> |
2932 | 2864 | </div><div class="row"> |
2865 | + <img src=image/images.jpg> | |
2866 | + <p class="name">Ложка чайная нерж. EURO</p> | |
2867 | + <p class="price"></p> | |
2868 | + </div><div class="row"> | |
2933 | 2869 | <img src=http://www.posuda-sklad.ru/uploadedfiles/StolPribSolo_20913.jpg> |
2934 | 2870 | <p class="name">Ложка чайная нерж. Solo кт1284</p> |
2935 | 2871 | <p class="price"></p> |
2936 | 2872 | </div><div class="row"> |
2873 | + <img src=image/images.jpg> | |
2874 | + <p class="name">Нож столовый нерж. 'Астра' кт1782/1</p> | |
2875 | + <p class="price"></p> | |
2876 | + </div><div class="row"> | |
2937 | 2877 | <img src=http://www.posuda-sklad.ru/uploadedfiles/StolPribBazis_20538.jpg> |
2938 | 2878 | <p class="name">Нож столовый нерж. 'Базис' (кт867)</p> |
2939 | 2879 | <p class="price"></p> |
... | ... | @@ -3024,10 +2964,6 @@ |
3024 | 2964 | <p class="name">Дарба Термос нерж. колба 24л</p> |
3025 | 2965 | <p class="price"></p> |
3026 | 2966 | </div><div class="row"> |
3027 | - <img src=image/images.jpg> | |
3028 | - <p class="name">Кольцо резин. к термос. 6, 12л ТВН12</p> | |
3029 | - <p class="price"></p> | |
3030 | - </div><div class="row"> | |
3031 | 2967 | <img src=http://www.posuda-sklad.ru/uploadedfiles/TermTBH6Nerg_6596.jpg> |
3032 | 2968 | <p class="name">Термос 6л нерж. колба ТВН6</p> |
3033 | 2969 | <p class="price"></p> |
... | ... | @@ -3246,7 +3182,7 @@ |
3246 | 3182 | <p class="name">Чайник завар. 500мл Collage фарфор (фк355/1) (48)</p> |
3247 | 3183 | <p class="price"></p> |
3248 | 3184 | </div><div class="row"> |
3249 | - <img src=http://www.posuda-sklad.ru/uploadedfiles/FarChCollage866_21038.jpg> | |
3185 | + <img src=image/images.jpg> | |
3250 | 3186 | <p class="name">Чайник завар. 600мл Collage с фильтром фарфор фк866</p> |
3251 | 3187 | <p class="price"></p> |
3252 | 3188 | </div><div class="row"> |
... | ... | @@ -3315,7 +3251,7 @@ |
3315 | 3251 | <p class="price"></p> |
3316 | 3252 | </div><div class="row"> |
3317 | 3253 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDbMiska500_33483.jpg> |
3318 | - <p class="name">Белье' Миска 500мл фарфор</p> | |
3254 | + <p class="name">Белье' Миска 500мл фарфор (12)</p> | |
3319 | 3255 | <p class="price"></p> |
3320 | 3256 | </div><div class="row"> |
3321 | 3257 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDb_2942.jpg> |
... | ... | @@ -3323,7 +3259,7 @@ |
3323 | 3259 | <p class="price"></p> |
3324 | 3260 | </div><div class="row"> |
3325 | 3261 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDb_77418.jpg> |
3326 | - <p class="name">Белье' Пара чайная 210г 'ЯНТАРЬ' фарфор</p> | |
3262 | + <p class="name">Белье' Пара чайная 210г 'ЯНТАРЬ' фарфор (12)</p> | |
3327 | 3263 | <p class="price"></p> |
3328 | 3264 | </div><div class="row"> |
3329 | 3265 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDb_2944.jpg> |
... | ... | @@ -3363,7 +3299,7 @@ |
3363 | 3299 | <p class="price"></p> |
3364 | 3300 | </div><div class="row"> |
3365 | 3301 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDbSalKv500_33458.jpg> |
3366 | - <p class="name">Белье' Салатник квадратный 550мл фарфор</p> | |
3302 | + <p class="name">Белье' Салатник квадратный 550мл фарфор (24)</p> | |
3367 | 3303 | <p class="price"></p> |
3368 | 3304 | </div><div class="row"> |
3369 | 3305 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDb_2954.jpg> |
... | ... | @@ -3415,7 +3351,7 @@ |
3415 | 3351 | <p class="price"></p> |
3416 | 3352 | </div><div class="row"> |
3417 | 3353 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDb_2965.jpg> |
3418 | - <p class="name">Белье' Чайник 900г фарфор (9)</p> | |
3354 | + <p class="name">Белье' Чайник 900г фарфор (12)</p> | |
3419 | 3355 | <p class="price"></p> |
3420 | 3356 | </div></div></div><div class="table"> |
3421 | 3357 | <h2>Фарфоровая посуда - Дулево Деколь</h2> |
... | ... | @@ -3454,14 +3390,6 @@ |
3454 | 3390 | </div></div></div><div class="table"> |
3455 | 3391 | <h2>Фарфоровая посуда - Дулево Люстр</h2> |
3456 | 3392 | <div class="table-body"><div class="row"> |
3457 | - <img src=image/images.jpg> | |
3458 | - <p class="name">Белье' Кружка 210г б/ручки фарфор</p> | |
3459 | - <p class="price"></p> | |
3460 | - </div><div class="row"> | |
3461 | - <img src=image/images.jpg> | |
3462 | - <p class="name">Белье' Кружка 250г б/ручки фарфор</p> | |
3463 | - <p class="price"></p> | |
3464 | - </div><div class="row"> | |
3465 | 3393 | <img src=http://www.posuda-sklad.ru/uploadedfiles/FarDlBludPr1v_128.jpg> |
3466 | 3394 | <p class="name">Блюдо 4х угол. 1вел. фарфор (5)</p> |
3467 | 3395 | <p class="price"></p> | ... | ... |
storage/temp/csv/products_seo.csv
1 | -14071;Рюкзаки;74757;Рюкзак Point Wet/Dry;1579.00;http://extremstyle.ua/ryukzaki-2-catalogs/Point_Wet_Dry_13-74757/ | |
2 | -14071;Рюкзаки;86726;Рюкзак DETAIL 27L ;1719.00;http://extremstyle.ua/ryukzaki-2-catalogs/DETAIL_27L_2015-86726/ | |
3 | -14069;Сумки;74650; Passport;549.00;http://extremstyle.ua/sumki-2-catalogs/Passport_13-74650/ | |
4 | -14069;Сумки;74642; Overhead;3429.00;http://extremstyle.ua/sumki-2-catalogs/Overhead_13-74642/ | |
5 | -14071;Рюкзаки;74621;Рюкзак Factor Pack;1039.00;http://extremstyle.ua/ryukzaki-2-catalogs/Factor_Pack_13-74621/ | |
6 | -14071;Рюкзаки;74618;Рюкзак Duel Pack;1869.00;http://extremstyle.ua/ryukzaki-2-catalogs/Duel_Pack_13-74618/ | |
7 | -14071;Рюкзаки;74613;Рюкзак Atlas ;1009.00;http://extremstyle.ua/ryukzaki-2-catalogs/Atlas__13-74613/ | |
8 | -14071;Рюкзаки;74611;Рюкзак Pivot Pack;1009.00;http://extremstyle.ua/ryukzaki-2-catalogs/Pivot_Pack_13-74611/ | |
9 | -14071;Рюкзаки;90688;Рюкзак FACTOR 20L;899.00;http://extremstyle.ua/ryukzaki-2-catalogs/FACTOR_20L_15-90688/ | |
10 | -14072;Кошельки, несессеры, косметички, чехлы;79047;кошелек VERT RAIL Wallet ;249.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/VERT_RAIL_Wallet_2013-79047/ | |
11 | -14072;Кошельки, несессеры, косметички, чехлы;79046;кошелек DIPLOMAT WALLET ;309.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/DIPLOMAT_WALLET_2013-79046/ | |
12 | -14071;Рюкзаки;86723;Рюкзак PIVOT 21L ;1039.00;http://extremstyle.ua/ryukzaki-2-catalogs/PIVOT_21L_2015-86723/ | |
13 | -14072;Кошельки, несессеры, косметички, чехлы;79045;кошелек PINNACLE WALLET ;269.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/PINNACLE_WALLET_2013-79045/ | |
14 | -14071;Рюкзаки;86725;Рюкзак ATLAS 25L ;1059.00;http://extremstyle.ua/ryukzaki-2-catalogs/ATLAS_25L_2015-86725/ | |
15 | -14071;Рюкзаки;74584;Рюкзак VARIAL ;1319.00;http://extremstyle.ua/ryukzaki-2-catalogs/VARIAL_2013-74584/ | |
16 | -14069;Сумки;74834; Women EQ 31L ;1079.00;http://extremstyle.ua/sumki-2-catalogs/Women_EQ_31L_2013-74834/ | |
17 | -14069;Сумки;74833; WOMENS VENTURE DUFFLE 90L ;3039.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_VENTURE_DUFFLE_90L_2015-74833/ | |
18 | -14071;Рюкзаки;86753;Рюкзак COSMO 6.5L ;699.00;http://extremstyle.ua/ryukzaki-2-catalogs/COSMO_65L_2015-86753/ | |
19 | -14069;Сумки;74830; WOMENS CARRY ON VALISE 35L ;2399.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_CARRY_ON_VALISE_35L_2013-74830/ | |
20 | -14071;Рюкзаки;86752;Рюкзак WOMENS CAPITOL PACK 23L ;1079.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_CAPITOL_PACK_23L_2015-86752/ | |
21 | -14071;Рюкзаки;86751;Рюкзак GARDEN 20L ;1199.00;http://extremstyle.ua/ryukzaki-2-catalogs/GARDEN_20L_2015-86751/ | |
22 | -14071;Рюкзаки;86750;Рюкзак HANA 26L ;969.00;http://extremstyle.ua/ryukzaki-2-catalogs/HANA_26L_2015-86750/ | |
23 | -14071;Рюкзаки;86749;Рюкзак FINLEY 25L ;1059.00;http://extremstyle.ua/ryukzaki-2-catalogs/FINLEY_25L_2015-86749/ | |
24 | -14071;Рюкзаки;86748;Рюкзак PROM 25L ;1499.00;http://extremstyle.ua/ryukzaki-2-catalogs/PROM_25L_2015-86748/ | |
25 | -14071;Рюкзаки;86747;Рюкзак EVE 28L ;1579.00;http://extremstyle.ua/ryukzaki-2-catalogs/EVE_28L_2015-86747/ | |
26 | -14071;Рюкзаки;86746;Рюкзак FRANKIE 26L ;2309.00;http://extremstyle.ua/ryukzaki-2-catalogs/FRANKIE_26L_2015-86746/ | |
27 | -14071;Рюкзаки;86745;Рюкзак GROM 13L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/GROM_13L_2015-86745/ | |
28 | -14071;Рюкзаки;86744;Рюкзак APOLLO 30L ;2659.00;http://extremstyle.ua/ryukzaki-2-catalogs/APOLLO_30L_2015-86744/ | |
29 | -14071;Рюкзаки;86743;Рюкзак GEMINI 28L ;3299.00;http://extremstyle.ua/ryukzaki-2-catalogs/GEMINI_28L_2015-86743/ | |
30 | -14071;Рюкзаки;86742;Рюкзак 365 PACK 21L ;1099.00;http://extremstyle.ua/ryukzaki-2-catalogs/365_PACK_21L_2015-86742/ | |
31 | -14071;Рюкзаки;86741;Рюкзак TREK 26L ;1689.00;http://extremstyle.ua/ryukzaki-2-catalogs/TREK_26L_2015-86741/ | |
32 | -14071;Рюкзаки;86739;Рюкзак TRANSIT 18L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/TRANSIT_18L_2015-86739/ | |
33 | -14071;Рюкзаки;86738;Рюкзак WONDER 15L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/WONDER_15L_2015-86738/ | |
34 | -14071;Рюкзаки;86737;Рюкзак CAPITOL 23L ;1079.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAPITOL_23L_2015-86737/ | |
35 | 1 | 14020;Трапеции;63736; PYRO WAIST ;2789.00;http://extremstyle.ua/trapecii-zhilety-catalogs/PYRO_WAIST_2013-63736/ |
36 | -14069;Сумки;74828; VENTURE DUFFLE 40L ;2399.00;http://extremstyle.ua/sumki-2-catalogs/VENTURE_DUFFLE_40L_2013-74828/ | |
37 | -14069;Сумки;74825; CREW DUFFLE 67L ;2269.00;http://extremstyle.ua/sumki-2-catalogs/CREW_DUFFLE_67L_2013-74825/ | |
38 | -14071;Рюкзаки;86729;Рюкзак 101 29L ;2149.00;http://extremstyle.ua/ryukzaki-2-catalogs/101_29L_2015-86729/ | |
39 | -14071;Рюкзаки;86728;Рюкзак FOUNDATION 26L ;1819.00;http://extremstyle.ua/ryukzaki-2-catalogs/FOUNDATION_26L_2015-86728/ | |
40 | -14071;Рюкзаки;86727;Рюкзак DUEL 26L ;1869.00;http://extremstyle.ua/ryukzaki-2-catalogs/DUEL_26L_2015-86727/ | |
41 | 2 | 13995;Трапеции;61696; CHAMELEON ;1919.00;http://extremstyle.ua/trapecii-catalogs/CHAMELEON_2013-61696/ |
42 | 3 | 13995;Трапеции;61695; XT SEAT ;1919.00;http://extremstyle.ua/trapecii-catalogs/XT_SEAT_2013-61695/ |
43 | 4 | 13995;Трапеции;61694; T-6 ;2639.00;http://extremstyle.ua/trapecii-catalogs/T-6_2013-61694/ |
44 | -14069;Сумки;74824; RIDERS DUFFLE 80L ;2219.00;http://extremstyle.ua/sumki-2-catalogs/RIDERS_DUFFLE_80L_2013-74824/ | |
45 | -14069;Сумки;74823; RIDERS DUFFLE 51L ;1979.00;http://extremstyle.ua/sumki-2-catalogs/RIDERS_DUFFLE_51L_2013-74823/ | |
46 | -14069;Сумки;74821; GEMMA ;769.00;http://extremstyle.ua/sumki-2-catalogs/GEMMA_2013-74821/ | |
47 | -14071;Рюкзаки;86736;Рюкзак CAMPUS 33L ;1399.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAMPUS_33L_2015-86736/ | |
48 | -14071;Рюкзаки;86735;Рюкзак CAMPUS 25L ;1299.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAMPUS_25L_2015-86735/ | |
49 | -14071;Рюкзаки;86734;Рюкзак EXPLORER 26L ;1629.00;http://extremstyle.ua/ryukzaki-2-catalogs/EXPLORER_26L_2015-86734/ | |
50 | -14069;Сумки;86760; HUDSON 20L ;1299.00;http://extremstyle.ua/sumki-2-catalogs/HUDSON_20L_2015-86760/ | |
51 | -14071;Рюкзаки;86733;Рюкзак FACTOR 20L ;1199.00;http://extremstyle.ua/ryukzaki-2-catalogs/FACTOR_20L_2015-86733/ | |
52 | -14071;Рюкзаки;86732;Рюкзак MANUAL 20L ;969.00;http://extremstyle.ua/ryukzaki-2-catalogs/MANUAL_20L_2015-86732/ | |
53 | -14071;Рюкзаки;86731;Рюкзак LID 26L ;1849.00;http://extremstyle.ua/ryukzaki-2-catalogs/LID_26L_2015-86731/ | |
54 | -14071;Рюкзаки;86730;Рюкзак LID INDEPENDENT 26L ;1939.00;http://extremstyle.ua/ryukzaki-2-catalogs/LID_INDEPENDENT_26L_2015-86730/ | |
55 | -14071;Рюкзаки;74528;Рюкзак CENTRAL PACK ;989.00;http://extremstyle.ua/ryukzaki-2-catalogs/CENTRAL_PACK__14-74528/ | |
56 | -14069;Сумки;74820; GIGI ;589.00;http://extremstyle.ua/sumki-2-catalogs/GIGI_2013-74820/ | |
57 | -14069;Сумки;74819; SERENA ;1119.00;http://extremstyle.ua/sumki-2-catalogs/SERENA_2013-74819/ | |
58 | -14071;Рюкзаки;74818;Рюкзак DSLR Camera Case ;2239.00;http://extremstyle.ua/ryukzaki-2-catalogs/DSLR_Camera_Case_2013-74818/ | |
59 | -14069;Сумки;74817; MAINLINE ;819.00;http://extremstyle.ua/sumki-2-catalogs/MAINLINE_2013-74817/ | |
60 | -14069;Сумки;74816; MESSENGER 23L ;2089.00;http://extremstyle.ua/sumki-2-catalogs/MESSENGER_23L_2013-74816/ | |
61 | -14069;Сумки;74815; MESSENGER 15L ;1909.00;http://extremstyle.ua/sumki-2-catalogs/MESSENGER_15L_2013-74815/ | |
62 | -14071;Рюкзаки;86740;Рюкзак MOD 23L ;2019.00;http://extremstyle.ua/ryukzaki-2-catalogs/MOD_23L_2015-86740/ | |
63 | -14069;Сумки;86756; 2 FOR 1 HIP PACK 8L ;1149.00;http://extremstyle.ua/sumki-2-catalogs/2_FOR_1_HIP_PACK_8L_2015-86756/ | |
64 | -14069;Сумки;86757; OUTLET 8L ;769.00;http://extremstyle.ua/sumki-2-catalogs/OUTLET_8L_2015-86757/ | |
65 | -14071;Рюкзаки;86755;Рюкзак GIRLS GROM 13L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/GIRLS_GROM_13L_2015-86755/ | |
66 | -14071;Рюкзаки;86754;Рюкзак WOMENS TRANSIT 18L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_TRANSIT_18L_2015-86754/ | |
67 | -14069;Сумки;86758; HIP PACK ;529.00;http://extremstyle.ua/sumki-2-catalogs/HIP_PACK_2015-86758/ | |
68 | -14069;Сумки;86759; MAINLINE 20L ;819.00;http://extremstyle.ua/sumki-2-catalogs/MAINLINE_20L_2015-86759/ | |
69 | -14071;Рюкзаки;74805;Рюкзак OPTION ;1299.00;http://extremstyle.ua/ryukzaki-2-catalogs/OPTION_2013-74805/ | |
70 | -14071;Рюкзаки;74804;Рюкзак DAYTRIPPER ;1539.00;http://extremstyle.ua/ryukzaki-2-catalogs/DAYTRIPPER_2013-74804/ | |
71 | -14069;Сумки;86762; WHEELED DUFFLE 90L ;4089.00;http://extremstyle.ua/sumki-2-catalogs/WHEELED_DUFFLE_90L_2015-86762/ | |
72 | -14071;Рюкзаки;86722;Рюкзак MISSION 25L ;1909.00;http://extremstyle.ua/ryukzaki-2-catalogs/MISSION_25L_2015-86722/ | |
73 | -14071;Рюкзаки;86724;Рюкзак CENTRAL 26L ;1009.00;http://extremstyle.ua/ryukzaki-2-catalogs/CENTRAL_26L_2015-86724/ | |
74 | -14071;Рюкзаки;90689;Рюкзак GARDEN 20L;899.00;http://extremstyle.ua/ryukzaki-2-catalogs/GARDEN_20L_15-90689/ | |
75 | -14071;Рюкзаки;88988;Рюкзак PIVOT 21 L ;1039.00;http://extremstyle.ua/ryukzaki-2-catalogs/PIVOT_21_L_2015-88988/ | |
76 | -14072;Кошельки, несессеры, косметички, чехлы;74654;несессер Travel Kit ;659.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/Travel_Kit_2014-74654/ | |
77 | -14071;Рюкзаки;88981;Рюкзак APEX 26L WITH RESERVOIR ;3799.00;http://extremstyle.ua/ryukzaki-2-catalogs/APEX_26L_WITH_RESERVOIR_2015-88981/ | |
78 | -14071;Рюкзаки;88984;Рюкзак WOMENS DRAFTER 12L WITH RESERVOIR ;3119.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_DRAFTER_12L_WITH_RESERVOIR_2015-88984/ | |
79 | -14071;Рюкзаки;88986;Рюкзак SESSION 8 L ;1889.00;http://extremstyle.ua/ryukzaki-2-catalogs/SESSION_8_L_2015-88986/ | |
80 | -14071;Рюкзаки;88979;Рюкзак HELI PRO 20 L ;2289.00;http://extremstyle.ua/ryukzaki-2-catalogs/HELI_PRO_20_L_2015-88979/ | |
81 | -14071;Рюкзаки;88982;Рюкзак NOMAD 18L WITH RESERVOIR ;3759.00;http://extremstyle.ua/ryukzaki-2-catalogs/NOMAD_18L_WITH_RESERVOIR_2015-88982/ | |
82 | -14071;Рюкзаки;88983;Рюкзак DRAFTER 12L WITH RESERVOIR ;3119.00;http://extremstyle.ua/ryukzaki-2-catalogs/DRAFTER_12L_WITH_RESERVOIR_2015-88983/ | |
83 | -14071;Рюкзаки;88985;Рюкзак SHUTTLE 6 L ;1799.00;http://extremstyle.ua/ryukzaki-2-catalogs/SHUTTLE_6_L_2015-88985/ | |
84 | -14071;Рюкзаки;88987;Рюкзак WOMENS SESSION 8L WITH RESERVOIR ;1959.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_SESSION_8L_WITH_RESERVOIR_2015-88987/ | |
85 | -14071;Рюкзаки;88980;Рюкзак MISSION 25 L ;1869.00;http://extremstyle.ua/ryukzaki-2-catalogs/MISSION_25_L_2015-88980/ | |
86 | -14071;Рюкзаки;88950;Рюкзак CENTRAL 26 L;989.00;http://extremstyle.ua/ryukzaki-2-catalogs/CENTRAL_26_L_14-88950/ | |
87 | -14071;Рюкзаки;82803;Рюкзак Baker 16L ;2239.00;http://extremstyle.ua/ryukzaki-2-catalogs/Baker_16L_2015-82803/ | |
88 | -14070;Чехлы;88758;Чехол WOMENS PIPE 148 ;1189.00;http://extremstyle.ua/chehly-catalogs/WOMENS_PIPE_148_2015-88758/ | |
89 | -14072;Кошельки, несессеры, косметички, чехлы;88956;несессер Travel Kit;659.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/Travel_Kit_14-88956/ | |
90 | -14071;Рюкзаки;84516;Рюкзак AMP 18L ;3519.00;http://extremstyle.ua/ryukzaki-2-catalogs/AMP_18L_2014-84516/ | |
91 | -14071;Рюкзаки;84517;Рюкзак AMP 12L ;3319.00;http://extremstyle.ua/ryukzaki-2-catalogs/AMP_12L_2014-84517/ | |
92 | -14071;Рюкзаки;84520;Рюкзак NOMAD 18L ;3279.00;http://extremstyle.ua/ryukzaki-2-catalogs/NOMAD_18L_2014-84520/ | |
93 | -14071;Рюкзаки;84521;Рюкзак DRAFTER 12L ;2949.00;http://extremstyle.ua/ryukzaki-2-catalogs/DRAFTER_12L_2014-84521/ | |
94 | -14071;Рюкзаки;84522;Рюкзак WOMENS DRAFTER 12L ;2859.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_DRAFTER_12L_2014-84522/ | |
95 | -14071;Рюкзаки;84523;Рюкзак SHUTTLE 6L ;1649.00;http://extremstyle.ua/ryukzaki-2-catalogs/SHUTTLE_6L_2014-84523/ | |
96 | -14071;Рюкзаки;84524;Рюкзак SESSION 8L ;1889.00;http://extremstyle.ua/ryukzaki-2-catalogs/SESSION_8L_2014-84524/ | |
97 | -14071;Рюкзаки;84525;Рюкзак WOMENS SESSION 8L ;1889.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_SESSION_8L_2014-84525/ | |
98 | -14071;Рюкзаки;84526;Рюкзак FACTOR 20 L ;1189.00;http://extremstyle.ua/ryukzaki-2-catalogs/FACTOR_20_L_2014-84526/ | |
99 | -14071;Рюкзаки;84527;Рюкзак CAMPUS 25 L ;1249.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAMPUS_25_L_2014-84527/ | |
100 | -14071;Рюкзаки;84528;Рюкзак CAMPUS 33 L ;1359.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAMPUS_33_L_2014-84528/ | |
101 | -14071;Рюкзаки;84529;Рюкзак HELI PRO 20 L ;2289.00;http://extremstyle.ua/ryukzaki-2-catalogs/HELI_PRO_20_L_2014-84529/ | |
102 | -14071;Рюкзаки;84530;Рюкзак MISSION 25 L ;1869.00;http://extremstyle.ua/ryukzaki-2-catalogs/MISSION_25_L_2014-84530/ | |
103 | -14071;Рюкзаки;84531;Рюкзак PIVOT 21 L ;1009.00;http://extremstyle.ua/ryukzaki-2-catalogs/PIVOT_21_L_2014-84531/ | |
104 | -14071;Рюкзаки;84532;Рюкзак NETWORK 31 L ;2699.00;http://extremstyle.ua/ryukzaki-2-catalogs/NETWORK_31_L_2014-84532/ | |
105 | -14071;Рюкзаки;84533;Рюкзак VAULT 25 L ;2489.00;http://extremstyle.ua/ryukzaki-2-catalogs/VAULT_25_L_2014-84533/ | |
106 | -14071;Рюкзаки;84534;Рюкзак TERMINAL 31 L ;2529.00;http://extremstyle.ua/ryukzaki-2-catalogs/TERMINAL_31_L_2014-84534/ | |
107 | -14071;Рюкзаки;84535;Рюкзак OUTPOST 21 L ;1889.00;http://extremstyle.ua/ryukzaki-2-catalogs/OUTPOST_21_L_2014-84535/ | |
108 | -14071;Рюкзаки;84536;Рюкзак DAYTRIPPER 30 L ;1539.00;http://extremstyle.ua/ryukzaki-2-catalogs/DAYTRIPPER_30_L_2014-84536/ | |
109 | -14071;Рюкзаки;84537;Рюкзак EXIT 20 L ;969.00;http://extremstyle.ua/ryukzaki-2-catalogs/EXIT_20_L_2014-84537/ | |
110 | -14071;Рюкзаки;84538;Рюкзак DUEL 26 L ;1819.00;http://extremstyle.ua/ryukzaki-2-catalogs/DUEL_26_L_2014-84538/ | |
111 | -14071;Рюкзаки;84540;Рюкзак 101 29 L ;2089.00;http://extremstyle.ua/ryukzaki-2-catalogs/101_29_L_2014-84540/ | |
112 | -14071;Рюкзаки;84542;Рюкзак POINT WET-DRY 29 L ;1579.00;http://extremstyle.ua/ryukzaki-2-catalogs/POINT_WET-DRY_29_L_2014-84542/ | |
113 | -14071;Рюкзаки;84543;Рюкзак PORTAL PACK 32 L ;1449.00;http://extremstyle.ua/ryukzaki-2-catalogs/PORTAL_PACK_32_L_2014-84543/ | |
114 | -14071;Рюкзаки;84545;Рюкзак TRAIL PHOTO 16 L ;2399.00;http://extremstyle.ua/ryukzaki-2-catalogs/TRAIL_PHOTO_16_L_2014-84545/ | |
115 | -14071;Рюкзаки;84547;Рюкзак FRANKIE 26 L ;2269.00;http://extremstyle.ua/ryukzaki-2-catalogs/FRANKIE_26_L_2014-84547/ | |
116 | -14071;Рюкзаки;84548;Рюкзак FINLEY 25 L ;1009.00;http://extremstyle.ua/ryukzaki-2-catalogs/FINLEY_25_L_2014-84548/ | |
117 | -14071;Рюкзаки;84549;Рюкзак FINLEY OLIVETTE 25 L ;1599.00;http://extremstyle.ua/ryukzaki-2-catalogs/FINLEY_OLIVETTE_25_L_2014-84549/ | |
118 | -14071;Рюкзаки;84551;Рюкзак GARDEN OLIVETTE 20 L ;1189.00;http://extremstyle.ua/ryukzaki-2-catalogs/GARDEN_OLIVETTE_20_L_2014-84551/ | |
119 | -14071;Рюкзаки;84554;Рюкзак LEDGE 25 L ;1359.00;http://extremstyle.ua/ryukzaki-2-catalogs/LEDGE_25_L_2014-84554/ | |
120 | -14071;Рюкзаки;84556;Рюкзак CENTRAL 26 L ;989.00;http://extremstyle.ua/ryukzaki-2-catalogs/CENTRAL_26_L_2014-84556/ | |
121 | -14071;Рюкзаки;84557;Рюкзак ATLAS 25 L ;1009.00;http://extremstyle.ua/ryukzaki-2-catalogs/ATLAS_25_L_2014-84557/ | |
122 | -14071;Рюкзаки;84558;Рюкзак DETAIL 27 L ;1719.00;http://extremstyle.ua/ryukzaki-2-catalogs/DETAIL_27_L_2014-84558/ | |
123 | -14071;Рюкзаки;84559;Рюкзак CONTOUR 21 L ;1999.00;http://extremstyle.ua/ryukzaki-2-catalogs/CONTOUR_21_L_2014-84559/ | |
124 | -14071;Рюкзаки;84560;Рюкзак OPTION 27 L ;1299.00;http://extremstyle.ua/ryukzaki-2-catalogs/OPTION_27_L_2014-84560/ | |
125 | -14071;Рюкзаки;84561;Рюкзак FOUNDATION 26 L ;1819.00;http://extremstyle.ua/ryukzaki-2-catalogs/FOUNDATION_26_L_2014-84561/ | |
126 | -14071;Рюкзаки;84562;Рюкзак EXPLORER 26 L ;1559.00;http://extremstyle.ua/ryukzaki-2-catalogs/EXPLORER_26_L_2014-84562/ | |
127 | -14071;Рюкзаки;84563;Рюкзак CAPITOL 23 L ;1079.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAPITOL_23_L_2014-84563/ | |
128 | -14071;Рюкзаки;84564;Рюкзак WONDER 15 L ;859.00;http://extremstyle.ua/ryukzaki-2-catalogs/WONDER_15_L_2014-84564/ | |
129 | -14071;Рюкзаки;84565;Рюкзак TRANSIT 18 L ;839.00;http://extremstyle.ua/ryukzaki-2-catalogs/TRANSIT_18_L_2014-84565/ | |
130 | -14071;Рюкзаки;84566;Рюкзак GROM 13 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/GROM_13_L_2014-84566/ | |
131 | -14071;Рюкзаки;84567;Рюкзак GIRLS GROM 13 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/GIRLS_GROM_13_L_2014-84567/ | |
132 | -14071;Рюкзаки;84568;Рюкзак JEWEL 26 L ;1689.00;http://extremstyle.ua/ryukzaki-2-catalogs/JEWEL_26_L_2014-84568/ | |
133 | -14071;Рюкзаки;84570;Рюкзак EVE 28 L ;1559.00;http://extremstyle.ua/ryukzaki-2-catalogs/EVE_28_L_2014-84570/ | |
134 | -14071;Рюкзаки;84571;Рюкзак PROM 25 L ;1479.00;http://extremstyle.ua/ryukzaki-2-catalogs/PROM_25_L_2014-84571/ | |
135 | -14071;Рюкзаки;84572;Рюкзак HANA 26 L ;989.00;http://extremstyle.ua/ryukzaki-2-catalogs/HANA_26_L_2014-84572/ | |
136 | -14071;Рюкзаки;84573;Рюкзак GARDEN 20 L ;1189.00;http://extremstyle.ua/ryukzaki-2-catalogs/GARDEN_20_L_2014-84573/ | |
137 | -14071;Рюкзаки;84574;Рюкзак COSMO 6.5 L ;699.00;http://extremstyle.ua/ryukzaki-2-catalogs/COSMO_65_L_2014-84574/ | |
138 | -14069;Сумки;84577; CRESCENT HIP PACK 10 L ;549.00;http://extremstyle.ua/sumki-2-catalogs/CRESCENT_HIP_PACK_10_L_2014-84577/ | |
139 | -14069;Сумки;84579; PARTY DUFFLE 22 L ;1519.00;http://extremstyle.ua/sumki-2-catalogs/PARTY_DUFFLE_22_L_2014-84579/ | |
140 | -14069;Сумки;84580; BROOKE 17 L ;1399.00;http://extremstyle.ua/sumki-2-catalogs/BROOKE_17_L_2014-84580/ | |
141 | -14069;Сумки;84581; DAFFODIL 16 L ;1079.00;http://extremstyle.ua/sumki-2-catalogs/DAFFODIL_16_L_2014-84581/ | |
142 | -14069;Сумки;84586; LOLA 2 L ;1079.00;http://extremstyle.ua/sumki-2-catalogs/LOLA_2_L_2014-84586/ | |
143 | -14069;Сумки;84587; GEMMA 20 L ;769.00;http://extremstyle.ua/sumki-2-catalogs/GEMMA_20_L_2014-84587/ | |
144 | -14069;Сумки;84588; CREW DUFFLE 50 L ;1909.00;http://extremstyle.ua/sumki-2-catalogs/CREW_DUFFLE_50_L_2014-84588/ | |
145 | -14069;Сумки;84589; WOMENS EQ BAG 51 L ;1169.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_EQ_BAG_51_L_2014-84589/ | |
146 | -14069;Сумки;84590; JIVE ;389.00;http://extremstyle.ua/sumki-2-catalogs/JIVE__2014-84590/ | |
147 | -14069;Сумки;84591; EQ BAG 23 L ;969.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_23_L_2014-84591/ | |
148 | -14069;Сумки;84592; EQ BAG 31 L ;1039.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_31_L_2014-84592/ | |
149 | -14069;Сумки;84594; EQ BAG 74 L ;1249.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_74_L_2014-84594/ | |
150 | -14069;Сумки;84595; WOMENS EQ BAG 31 L ;1039.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_EQ_BAG_31_L_2014-84595/ | |
151 | -14069;Сумки;84597; WHEELED DUFFLE 90 L ;3919.00;http://extremstyle.ua/sumki-2-catalogs/WHEELED_DUFFLE_90_L_2014-84597/ | |
152 | -14069;Сумки;84598; VENTURE DUFFLE 60 L ;2769.00;http://extremstyle.ua/sumki-2-catalogs/VENTURE_DUFFLE_60_L_2014-84598/ | |
153 | -14069;Сумки;84599; VENTURE DUFFLE 40 L ;2419.00;http://extremstyle.ua/sumki-2-catalogs/VENTURE_DUFFLE_40_L_2014-84599/ | |
154 | -14069;Сумки;84601; SPLIT ROLLER 65 L ;4449.00;http://extremstyle.ua/sumki-2-catalogs/SPLIT_ROLLER_65_L_2014-84601/ | |
155 | -14069;Сумки;84602; OVER UNDER 49 L ;3939.00;http://extremstyle.ua/sumki-2-catalogs/OVER_UNDER_49_L_2014-84602/ | |
156 | -14069;Сумки;84603; CARRY ON ROLLER 36 L ;3019.00;http://extremstyle.ua/sumki-2-catalogs/CARRY_ON_ROLLER_36_L_2014-84603/ | |
157 | -14069;Сумки;84604; WOMENS CARRY-ON ROLLER 36 L ;3019.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_CARRY-ON_ROLLER_36_L_2014-84604/ | |
158 | -14069;Сумки;84606; WOMENS VENTURE DUFFLE 40 L ;2419.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_VENTURE_DUFFLE_40_L_2014-84606/ | |
159 | -14069;Сумки;84609; WOMENS SPLIT ROLLER 65 L ;4449.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_SPLIT_ROLLER_65_L_2014-84609/ | |
160 | -14069;Сумки;84610; WOMENS OVER/UNDER 49 L ;3939.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_OVER_UNDER_49_L_2014-84610/ | |
161 | -14069;Сумки;84612; HIP PACK ;509.00;http://extremstyle.ua/sumki-2-catalogs/HIP_PACK__2014-84612/ | |
162 | -14069;Сумки;84613; CLASSIC HIP PACK ;509.00;http://extremstyle.ua/sumki-2-catalogs/CLASSIC_HIP_PACK__2014-84613/ | |
163 | -14069;Сумки;84614; WOMENS HIP PACK ;509.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_HIP_PACK__2014-84614/ | |
164 | -14069;Сумки;84615; GIGI ;589.00;http://extremstyle.ua/sumki-2-catalogs/GIGI__2014-84615/ | |
165 | -14069;Сумки;84616; HUDSON 20 L ;1299.00;http://extremstyle.ua/sumki-2-catalogs/HUDSON_20_L_2014-84616/ | |
166 | -14069;Сумки;84617; OUTLET 8 L ;769.00;http://extremstyle.ua/sumki-2-catalogs/OUTLET_8_L_2014-84617/ | |
167 | -14069;Сумки;84618; PASSPORT ;509.00;http://extremstyle.ua/sumki-2-catalogs/PASSPORT__2014-84618/ | |
168 | -14072;Кошельки, несессеры, косметички, чехлы;84619;несессер TRAVEL KIT ;659.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/TRAVEL_KIT__2014-84619/ | |
169 | -14072;Кошельки, несессеры, косметички, чехлы;84620;несессер DIVA 4 L ;859.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/DIVA_4_L_2014-84620/ | |
170 | -14072;Кошельки, несессеры, косметички, чехлы;84622;несессер ALINA 3 L ;619.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/ALINA_3_L_2014-84622/ | |
171 | -14072;Кошельки, несессеры, косметички, чехлы;84623;кошелек SOHO ;329.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/SOHO__2014-84623/ | |
172 | -14072;Кошельки, несессеры, косметички, чехлы;84624;кошелек ABIGAIL ;479.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/ABIGAIL__2014-84624/ | |
173 | -14072;Кошельки, несессеры, косметички, чехлы;84625;кошелек PAYBACK WALLET ;439.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/PAYBACK_WALLET__2014-84625/ | |
174 | -14072;Кошельки, несессеры, косметички, чехлы;84626;кошелек VERT RAIL WALLET ;239.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/VERT_RAIL_WALLET__2014-84626/ | |
175 | -14070;Чехлы;84627; BIKE BAG ;8999.00;http://extremstyle.ua/chehly-catalogs/BIKE_BAG__2014-84627/ | |
176 | 5 | 14019;Аксессуары;84628; RACK PAD ;599.00;http://extremstyle.ua/aksessuary-kait-catalogs/RACK_PAD_2014-84628/ |
177 | 6 | 13993;Аксессуары;84629; TIE DOWN STRAPS 20 ;449.00;http://extremstyle.ua/wind-aksessuaryi-catalogs/TIE_DOWN_STRAPS_20_2014-84629/ |
178 | 7 | 13977;Перчатки;85532; EXODUS GLOVE ;589.00;http://extremstyle.ua/bike-gloves-catalogs/EXODUS_GLOVE_2014-85532/ |
... | ... | @@ -188,13 +17,7 @@ |
188 | 17 | 13980;Одежда;85552; DESCENT SHORT ;2899.00;http://extremstyle.ua/clothing-catalogs/DESCENT_SHORT_2014-85552/ |
189 | 18 | 13980;Одежда;85553; PACE SHORT ;1739.00;http://extremstyle.ua/clothing-catalogs/PACE_SHORT_2014-85553/ |
190 | 19 | 13980;Одежда;85554; RIDGE W LINER SHORT ;2329.00;http://extremstyle.ua/clothing-catalogs/RIDGE_W_LINER_SHORT_2014-85554/ |
191 | -14072;Кошельки, несессеры, косметички, чехлы;87461; UPLOAD ;2529.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/UPLOAD_2013-87461/ | |
192 | -14071;Рюкзаки;87294;Рюкзак LEDGE 25 L ;2049.00;http://extremstyle.ua/ryukzaki-2-catalogs/LEDGE_25_L_2015-87294/ | |
193 | 20 | 14401;Жилеты;86698; SURFACE VEST ;1589.00;http://extremstyle.ua/jiletyi-catalogs/SURFACE_VEST_2013-86698/ |
194 | -14069;Сумки;86764; SPLIT ROLLER 65L ;4449.00;http://extremstyle.ua/sumki-2-catalogs/SPLIT_ROLLER_65L_2015-86764/ | |
195 | -14069;Сумки;86767; WOMENS SPLIT ROLLER 65L ;4549.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_SPLIT_ROLLER_65L_2015-86767/ | |
196 | -14072;Кошельки, несессеры, косметички, чехлы;86768;несессер SCHOOL CASE ;349.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/SCHOOL_CASE_2015-86768/ | |
197 | -14072;Кошельки, несессеры, косметички, чехлы;86769;несессер DIVA 4L ;879.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/DIVA_4L_2015-86769/ | |
198 | 21 | 13995;Трапеции;86771; REFLEX ;2079.00;http://extremstyle.ua/trapecii-catalogs/REFLEX_2014-86771/ |
199 | 22 | 14020;Трапеции;86772; PYRO MANIAC ;3039.00;http://extremstyle.ua/trapecii-zhilety-catalogs/PYRO_MANIAC_2014-86772/ |
200 | 23 | 14020;Трапеции;86773; WAHINE ;2839.00;http://extremstyle.ua/trapecii-zhilety-catalogs/WAHINE_2014-86773/ |
... | ... | @@ -202,148 +25,4 @@ |
202 | 25 | 14020;Трапеции;86775; VEGA ;2559.00;http://extremstyle.ua/trapecii-zhilety-catalogs/VEGA_2014-86775/ |
203 | 26 | 14020;Трапеции;86776; VISION ;2519.00;http://extremstyle.ua/trapecii-zhilety-catalogs/VISION_2014-86776/ |
204 | 27 | 14401;Жилеты;86777; SURFACE VEST ;2239.00;http://extremstyle.ua/jiletyi-catalogs/SURFACE_VEST_2014-86777/ |
205 | -14070;Чехлы;87085;Чехол LOW ROLLER 165 ;2819.00;http://extremstyle.ua/chehly-catalogs/LOW_ROLLER_165_2015-87085/ | |
206 | -14070;Чехлы;87086;Чехол LOW ROLLER 175 ;2969.00;http://extremstyle.ua/chehly-catalogs/LOW_ROLLER_175_2015-87086/ | |
207 | -14070;Чехлы;87087;Чехол TOUR BAG 157 ;1959.00;http://extremstyle.ua/chehly-catalogs/TOUR_BAG_157_2015-87087/ | |
208 | -14070;Чехлы;87088;Чехол TOUR BAG 165 ;2089.00;http://extremstyle.ua/chehly-catalogs/TOUR_BAG_165_2015-87088/ | |
209 | -14070;Чехлы;87089;Чехол TOUR BAG 175 ;2219.00;http://extremstyle.ua/chehly-catalogs/TOUR_BAG_175_2015-87089/ | |
210 | -14070;Чехлы;87090;Чехол FALL LINE DOUBLE 175 ;3119.00;http://extremstyle.ua/chehly-catalogs/FALL_LINE_DOUBLE_175_2015-87090/ | |
211 | -14070;Чехлы;87093;Чехол SKI SLEEVE SINGLE 175 ;989.00;http://extremstyle.ua/chehly-catalogs/SKI_SLEEVE_SINGLE_175_2015-87093/ | |
212 | -14070;Чехлы;87094;Чехол FREESTYLE 157 ;1519.00;http://extremstyle.ua/chehly-catalogs/FREESTYLE_157_2015-87094/ | |
213 | -14070;Чехлы;87095;Чехол FREESTYLE 165 ;1559.00;http://extremstyle.ua/chehly-catalogs/FREESTYLE_165_2015-87095/ | |
214 | -14070;Чехлы;87096;Чехол PIPE 157 ;1189.00;http://extremstyle.ua/chehly-catalogs/PIPE_157_2015-87096/ | |
215 | -14070;Чехлы;87097;Чехол PIPE 165 ;1189.00;http://extremstyle.ua/chehly-catalogs/PIPE_165_2015-87097/ | |
216 | -14070;Чехлы;87099;Чехол WOMENS TOUR 157 ;1959.00;http://extremstyle.ua/chehly-catalogs/WOMENS_TOUR_157_2015-87099/ | |
217 | -14070;Чехлы;87100;Чехол WOMENS FREESTYLE 157 ;1519.00;http://extremstyle.ua/chehly-catalogs/WOMENS_FREESTYLE_157_2015-87100/ | |
218 | -14070;Чехлы;87101;Чехол WOMENS PADDED SINGLE 175 ;1739.00;http://extremstyle.ua/chehly-catalogs/WOMENS_PADDED_SINGLE_175_2015-87101/ | |
219 | -14070;Чехлы;87102;Чехол WOMENS SKI SLEEVE 175 ;989.00;http://extremstyle.ua/chehly-catalogs/WOMENS_SKI_SLEEVE_175_2015-87102/ | |
220 | -14071;Рюкзаки;87103;Рюкзак ABS VARIO COVER 25L ;2679.00;http://extremstyle.ua/ryukzaki-2-catalogs/ABS_VARIO_COVER_25L_2015-87103/ | |
221 | -14071;Рюкзаки;87104;Рюкзак HELI PRO 20L ;2309.00;http://extremstyle.ua/ryukzaki-2-catalogs/HELI_PRO_20L_2015-87104/ | |
222 | -14071;Рюкзаки;87105;Рюкзак PRO II 26L ;3599.00;http://extremstyle.ua/ryukzaki-2-catalogs/PRO_II_26L_2015-87105/ | |
223 | -14071;Рюкзаки;87106;Рюкзак Sean Pettit Team Heli Pro 20L ;2659.00;http://extremstyle.ua/ryukzaki-2-catalogs/Sean_Pettit_Team_Heli_Pro_20L_2015-87106/ | |
224 | -14071;Рюкзаки;87108;Рюкзак HELI PRO DLX 20L ;2769.00;http://extremstyle.ua/ryukzaki-2-catalogs/HELI_PRO_DLX_20L_2015-87108/ | |
225 | -14071;Рюкзаки;87112;Рюкзак HELI PACK 11L ;1819.00;http://extremstyle.ua/ryukzaki-2-catalogs/HELI_PACK_11L_2015-87112/ | |
226 | -14071;Рюкзаки;87113;Рюкзак HUB SLING PACK 15L ;2049.00;http://extremstyle.ua/ryukzaki-2-catalogs/HUB_SLING_PACK_15L_2015-87113/ | |
227 | -14071;Рюкзаки;87115;Рюкзак WOMENS WONDER 15L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_WONDER_15L_2015-87115/ | |
228 | -14071;Рюкзаки;87116;Рюкзак WOMENS MISSION 25L ;1909.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_MISSION_25L_2015-87116/ | |
229 | -14071;Рюкзаки;87117;Рюкзак JEWEL 26L ;1759.00;http://extremstyle.ua/ryukzaki-2-catalogs/JEWEL_26L_2015-87117/ | |
230 | -14071;Рюкзаки;87118;Рюкзак MILO 13L ;929.00;http://extremstyle.ua/ryukzaki-2-catalogs/MILO_13L_2015-87118/ | |
231 | -14069;Сумки;87119; CLASSIC HIP PACK ;509.00;http://extremstyle.ua/sumki-2-catalogs/CLASSIC_HIP_PACK_2015-87119/ | |
232 | -14069;Сумки;87120; PARK DUFFLE INDEPENDENT COLLAB 52L ;1449.00;http://extremstyle.ua/sumki-2-catalogs/PARK_DUFFLE_INDEPENDENT_COLLAB_52L_2015-87120/ | |
233 | -14069;Сумки;87121; PEDDLER BAG 40L ;1959.00;http://extremstyle.ua/sumki-2-catalogs/PEDDLER_BAG_40L_2015-87121/ | |
234 | -14069;Сумки;87122; JIVE ;439.00;http://extremstyle.ua/sumki-2-catalogs/JIVE_2015-87122/ | |
235 | -14069;Сумки;87123; VENTURE DUFFLE 90L ;3039.00;http://extremstyle.ua/sumki-2-catalogs/VENTURE_DUFFLE_90L_2015-87123/ | |
236 | -14069;Сумки;87126; BOOT PACK 50L ;1689.00;http://extremstyle.ua/sumki-2-catalogs/BOOT_PACK_50L_2015-87126/ | |
237 | -14069;Сумки;87128; EQ BAG 31L ;1039.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_31L_2015-87128/ | |
238 | -14069;Сумки;87129; EQ BAG 51L ;1149.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_51L_2015-87129/ | |
239 | -14069;Сумки;87130; EQ BAG 74L ;1249.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_74L_2015-87130/ | |
240 | -14069;Сумки;87133; WOMENS BOOT PACK 50L ;1689.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_BOOT_PACK_50L_2015-87133/ | |
241 | -14069;Сумки;87134; WOMENS BOOT BAG 30L ;969.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_BOOT_BAG_30L_2015-87134/ | |
242 | -14069;Сумки;87135; WOMENS EQ BAG 31L ;1039.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_EQ_BAG_31L_2015-87135/ | |
243 | -14072;Кошельки, несессеры, косметички, чехлы;87136;несессер PRIMA 5L ;699.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/PRIMA_5L_2015-87136/ | |
244 | -14072;Кошельки, несессеры, косметички, чехлы;87137;кошелек SOHO ;349.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/SOHO_2015-87137/ | |
245 | -14072;Кошельки, несессеры, косметички, чехлы;87138;кошелек DIPLOMAT WALLET ;309.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/DIPLOMAT_WALLET_2015-87138/ | |
246 | -14072;Кошельки, несессеры, косметички, чехлы;87139;кошелек VERT RAIL WALLET ;239.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/VERT_RAIL_WALLET_2015-87139/ | |
247 | -14070;Чехлы;88759;Чехол WOMENS PIPE 157 ;1189.00;http://extremstyle.ua/chehly-catalogs/WOMENS_PIPE_157_2015-88759/ | |
248 | -14070;Чехлы;88760;Чехол WOMENS SKI SLEEVE SINGLE 175 ;989.00;http://extremstyle.ua/chehly-catalogs/WOMENS_SKI_SLEEVE_SINGLE_175_2015-88760/ | |
249 | -14071;Рюкзаки;88761;Рюкзак WOMENS HELI PRO 18L ;2329.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_HELI_PRO_18L_2015-88761/ | |
250 | -14071;Рюкзаки;88869;Рюкзак APEX 26L;3799.00;http://extremstyle.ua/ryukzaki-2-catalogs/APEX_26L_15-88869/ | |
251 | -14071;Рюкзаки;88870;Рюкзак DAYTRIPPER 30L;1539.00;http://extremstyle.ua/ryukzaki-2-catalogs/DAYTRIPPER_30L_15-88870/ | |
252 | -14071;Рюкзаки;88871;Рюкзак EXIT 20L;969.00;http://extremstyle.ua/ryukzaki-2-catalogs/EXIT_20L_15-88871/ | |
253 | -14071;Рюкзаки;88872;Рюкзак CAPITOL 23L;1079.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAPITOL_23L_15-88872/ | |
254 | -14071;Рюкзаки;88873;Рюкзак PORTAL 32L;1449.00;http://extremstyle.ua/ryukzaki-2-catalogs/PORTAL_32L_15-88873/ | |
255 | -14071;Рюкзаки;88874;Рюкзак COSMO 6.5L;699.00;http://extremstyle.ua/ryukzaki-2-catalogs/COSMO_65L_15-88874/ | |
256 | -14071;Рюкзаки;88875;Рюкзак EVE 28L;1539.00;http://extremstyle.ua/ryukzaki-2-catalogs/EVE_28L_15-88875/ | |
257 | -14071;Рюкзаки;88876;Рюкзак HELI PRO DLX 20L;2769.00;http://extremstyle.ua/ryukzaki-2-catalogs/HELI_PRO_DLX_20L_15-88876/ | |
258 | -14071;Рюкзаки;88877;Рюкзак WOMENS WONDER 15L;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_WONDER_15L_15-88877/ | |
259 | -14069;Сумки;88878; GEMMA 20L;769.00;http://extremstyle.ua/sumki-2-catalogs/GEMMA_20L_15-88878/ | |
260 | -14069;Сумки;88879; UTILITY DUFFLE 90L;2619.00;http://extremstyle.ua/sumki-2-catalogs/UTILITY_DUFFLE_90L_15-88879/ | |
261 | -14069;Сумки;88880; EQ BAG 74L;1249.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_74L_15-88880/ | |
262 | -14069;Сумки;88881; WOMENS EQ BAG 31L;1039.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_EQ_BAG_31L_15-88881/ | |
263 | -14069;Сумки;88882; WHEELED DUFFLE 58L;3669.00;http://extremstyle.ua/sumki-2-catalogs/WHEELED_DUFFLE_58L_15-88882/ | |
264 | -14072;Кошельки, несессеры, косметички, чехлы;88883;несессер PRIMA 5L;699.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/PRIMA_5L_15-88883/ | |
265 | -14071;Рюкзаки;88989;Рюкзак CENTRAL 26 L ;1009.00;http://extremstyle.ua/ryukzaki-2-catalogs/CENTRAL_26_L_2015-88989/ | |
266 | -14071;Рюкзаки;88990;Рюкзак ATLAS 25 L ;1059.00;http://extremstyle.ua/ryukzaki-2-catalogs/ATLAS_25_L_2015-88990/ | |
267 | -14071;Рюкзаки;88991;Рюкзак DETAIL 27 L ;1779.00;http://extremstyle.ua/ryukzaki-2-catalogs/DETAIL_27_L_2015-88991/ | |
268 | -14071;Рюкзаки;88992;Рюкзак OPTION 27 L ;1339.00;http://extremstyle.ua/ryukzaki-2-catalogs/OPTION_27_L_2015-88992/ | |
269 | -14071;Рюкзаки;88993;Рюкзак DUEL 26 L ;1869.00;http://extremstyle.ua/ryukzaki-2-catalogs/DUEL_26_L_2015-88993/ | |
270 | -14071;Рюкзаки;88994;Рюкзак FOUNDATION 26 L ;1909.00;http://extremstyle.ua/ryukzaki-2-catalogs/FOUNDATION_26_L_2015-88994/ | |
271 | -14071;Рюкзаки;88995;Рюкзак 101 29 L ;2149.00;http://extremstyle.ua/ryukzaki-2-catalogs/101_29_L_2015-88995/ | |
272 | -14071;Рюкзаки;88996;Рюкзак LID 26 L ;1849.00;http://extremstyle.ua/ryukzaki-2-catalogs/LID_26_L_2015-88996/ | |
273 | -14071;Рюкзаки;88997;Рюкзак MANUAL 20 L ;969.00;http://extremstyle.ua/ryukzaki-2-catalogs/MANUAL_20_L_2015-88997/ | |
274 | -14071;Рюкзаки;88998;Рюкзак FACTOR 20 L ;1199.00;http://extremstyle.ua/ryukzaki-2-catalogs/FACTOR_20_L_2015-88998/ | |
275 | -14071;Рюкзаки;88999;Рюкзак EXPLORER 26 L ;1629.00;http://extremstyle.ua/ryukzaki-2-catalogs/EXPLORER_26_L_2015-88999/ | |
276 | -14071;Рюкзаки;89000;Рюкзак CAMPUS 25 L ;1299.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAMPUS_25_L_2015-89000/ | |
277 | -14071;Рюкзаки;89001;Рюкзак CAMPUS 33 L ;1399.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAMPUS_33_L_2015-89001/ | |
278 | -14071;Рюкзаки;89002;Рюкзак CAPITOL 23 L ;1079.00;http://extremstyle.ua/ryukzaki-2-catalogs/CAPITOL_23_L_2015-89002/ | |
279 | -14071;Рюкзаки;89003;Рюкзак WONDER 15 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/WONDER_15_L_2015-89003/ | |
280 | -14071;Рюкзаки;89004;Рюкзак TRANSIT 18 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/TRANSIT_18_L_2015-89004/ | |
281 | -14071;Рюкзаки;89006;Рюкзак TREK 26 L ;1689.00;http://extremstyle.ua/ryukzaki-2-catalogs/TREK_26_L_2015-89006/ | |
282 | -14071;Рюкзаки;89007;Рюкзак 365 PACK 21 L ;1099.00;http://extremstyle.ua/ryukzaki-2-catalogs/365_PACK_21_L_2015-89007/ | |
283 | -14071;Рюкзаки;89008;Рюкзак STASHABLE CINCHPACK 19 L ;439.00;http://extremstyle.ua/ryukzaki-2-catalogs/STASHABLE_CINCHPACK_19_L_2015-89008/ | |
284 | -14071;Рюкзаки;89009;Рюкзак APOLLO 30 L ;2659.00;http://extremstyle.ua/ryukzaki-2-catalogs/APOLLO_30_L_2015-89009/ | |
285 | -14071;Рюкзаки;89010;Рюкзак STASHABLE BACKPACK 20 L ;769.00;http://extremstyle.ua/ryukzaki-2-catalogs/STASHABLE_BACKPACK_20_L_2015-89010/ | |
286 | -14071;Рюкзаки;89011;Рюкзак GROM 13 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/GROM_13_L_2015-89011/ | |
287 | -14071;Рюкзаки;89012;Рюкзак STOWAWAY RUCKSACK 21 L ;1099.00;http://extremstyle.ua/ryukzaki-2-catalogs/STOWAWAY_RUCKSACK_21_L_2015-89012/ | |
288 | -14071;Рюкзаки;89013;Рюкзак BEACH BUM ;839.00;http://extremstyle.ua/ryukzaki-2-catalogs/BEACH_BUM_2015-89013/ | |
289 | -14071;Рюкзаки;89014;Рюкзак POINT WET DRY 29 L ;1599.00;http://extremstyle.ua/ryukzaki-2-catalogs/POINT_WET_DRY_29_L_2015-89014/ | |
290 | -14071;Рюкзаки;89015;Рюкзак RELOAD 30 L ;6319.00;http://extremstyle.ua/ryukzaki-2-catalogs/RELOAD_30_L_2015-89015/ | |
291 | -14071;Рюкзаки;89016;Рюкзак FRANKIE 26 L ;2309.00;http://extremstyle.ua/ryukzaki-2-catalogs/FRANKIE_26_L_2015-89016/ | |
292 | -14071;Рюкзаки;89017;Рюкзак JEWEL 26 L ;1759.00;http://extremstyle.ua/ryukzaki-2-catalogs/JEWEL_26_L_2015-89017/ | |
293 | -14071;Рюкзаки;89018;Рюкзак MILO 13 L ;929.00;http://extremstyle.ua/ryukzaki-2-catalogs/MILO_13_L_2015-89018/ | |
294 | -14071;Рюкзаки;89019;Рюкзак EVE 28 L ;1579.00;http://extremstyle.ua/ryukzaki-2-catalogs/EVE_28_L_2015-89019/ | |
295 | -14071;Рюкзаки;89020;Рюкзак HADLEY 26 L ;1519.00;http://extremstyle.ua/ryukzaki-2-catalogs/HADLEY_26_L_2015-89020/ | |
296 | -14071;Рюкзаки;89022;Рюкзак PROM 25 L ;1499.00;http://extremstyle.ua/ryukzaki-2-catalogs/PROM_25_L_2015-89022/ | |
297 | -14071;Рюкзаки;89023;Рюкзак HANA 26 L ;969.00;http://extremstyle.ua/ryukzaki-2-catalogs/HANA_26_L_2015-89023/ | |
298 | -14071;Рюкзаки;89024;Рюкзак WOMENS WONDER 15 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_WONDER_15_L_2015-89024/ | |
299 | -14071;Рюкзаки;89025;Рюкзак GARDEN 20 L ;1199.00;http://extremstyle.ua/ryukzaki-2-catalogs/GARDEN_20_L_2015-89025/ | |
300 | -14071;Рюкзаки;89026;Рюкзак WOMENS CAPITOL PACK 23 L ;1079.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_CAPITOL_PACK_23_L_2015-89026/ | |
301 | -14071;Рюкзаки;89027;Рюкзак COSMO 6.5 L ;729.00;http://extremstyle.ua/ryukzaki-2-catalogs/COSMO_65_L_2015-89027/ | |
302 | -14071;Рюкзаки;89028;Рюкзак WOMENS TRANSIT 18 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_TRANSIT_18_L_2015-89028/ | |
303 | -14071;Рюкзаки;89029;Рюкзак GIRLS GROM 13 L ;879.00;http://extremstyle.ua/ryukzaki-2-catalogs/GIRLS_GROM_13_L_2015-89029/ | |
304 | -14071;Рюкзаки;89030;Рюкзак WOMENS STASHABLE BACKPACK 20 L ;769.00;http://extremstyle.ua/ryukzaki-2-catalogs/WOMENS_STASHABLE_BACKPACK_20_L_2015-89030/ | |
305 | -14069;Сумки;89031; HUDSON 20 L ;1299.00;http://extremstyle.ua/sumki-2-catalogs/HUDSON_20_L_2015-89031/ | |
306 | -14069;Сумки;89032; PARK DUFFLE 52 L ;1449.00;http://extremstyle.ua/sumki-2-catalogs/PARK_DUFFLE_52_L_2015-89032/ | |
307 | -14069;Сумки;89033; OUTLET 8 L ;769.00;http://extremstyle.ua/sumki-2-catalogs/OUTLET_8_L_2015-89033/ | |
308 | -14069;Сумки;89034; PASSPORT 1 L ;529.00;http://extremstyle.ua/sumki-2-catalogs/PASSPORT_1_L_2015-89034/ | |
309 | -14069;Сумки;89035; JIVE;439.00;http://extremstyle.ua/sumki-2-catalogs/JIVE_15-89035/ | |
310 | -14069;Сумки;89036; JO JO ;589.00;http://extremstyle.ua/sumki-2-catalogs/JO_JO_2015-89036/ | |
311 | -14069;Сумки;89037; EQ BAG 23 L ;969.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_23_L_2015-89037/ | |
312 | -14069;Сумки;89038; EQ BAG 31 L ;1039.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_31_L_2015-89038/ | |
313 | -14069;Сумки;89039; EQ BAG 51 L ;1149.00;http://extremstyle.ua/sumki-2-catalogs/EQ_BAG_51_L_2015-89039/ | |
314 | -14069;Сумки;89041; WOMENS DUFFLE PACK 40 L ;1249.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_DUFFLE_PACK_40_L_2015-89041/ | |
315 | -14069;Сумки;89042; WOMENS EQ BAG 23 L ;969.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_EQ_BAG_23_L_2015-89042/ | |
316 | -14069;Сумки;89043; WOMENS EQ BAG 31 L ;1039.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_EQ_BAG_31_L_2015-89043/ | |
317 | -14069;Сумки;89044; WOMENS EQ BAG 51 L ;1149.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_EQ_BAG_51_L_2015-89044/ | |
318 | -14069;Сумки;89046; VENTURE DUFFLE 90 L ;3039.00;http://extremstyle.ua/sumki-2-catalogs/VENTURE_DUFFLE_90_L_2015-89046/ | |
319 | -14069;Сумки;89047; VENTURE DUFFLE 60 L ;2769.00;http://extremstyle.ua/sumki-2-catalogs/VENTURE_DUFFLE_60_L_2015-89047/ | |
320 | -14069;Сумки;89048; SPLIT ROLLER 100 L ;4799.00;http://extremstyle.ua/sumki-2-catalogs/SPLIT_ROLLER_100_L_2015-89048/ | |
321 | -14069;Сумки;89049; SPLIT ROLLER 65 L ;4549.00;http://extremstyle.ua/sumki-2-catalogs/SPLIT_ROLLER_65_L_2015-89049/ | |
322 | -14069;Сумки;89052; DUFFLE ROLLER 90 L ;3939.00;http://extremstyle.ua/sumki-2-catalogs/DUFFLE_ROLLER_90_L_2015-89052/ | |
323 | -14069;Сумки;89053; DUFFLE ROLLER 58 L ;3619.00;http://extremstyle.ua/sumki-2-catalogs/DUFFLE_ROLLER_58_L_2015-89053/ | |
324 | -14069;Сумки;89056; WOMENS CRUISER ROLLER 37 L ;4159.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_CRUISER_ROLLER_37_L_2015-89056/ | |
325 | -14069;Сумки;89057; WOMENS DUFFLE ROLLER 90 L ;3939.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_DUFFLE_ROLLER_90_L_2015-89057/ | |
326 | -14069;Сумки;89058; WOMENS DUFFLE ROLLER 58 L ;3619.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_DUFFLE_ROLLER_58_L_2015-89058/ | |
327 | -14069;Сумки;89059; WOMENS AVENUE ROLLER 39 L ;3019.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_AVENUE_ROLLER_39_L_2015-89059/ | |
328 | -14069;Сумки;89060; WOMENS CARRY-ON ROLLER 36 L ;3079.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_CARRY-ON_ROLLER_36_L_2015-89060/ | |
329 | -14069;Сумки;89061; WOMENS CARRY ON VALISE 35 L ;2419.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_CARRY_ON_VALISE_35_L_2015-89061/ | |
330 | -14069;Сумки;89062; WOMENS VENTURE DUFFLE 60 L ;2769.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_VENTURE_DUFFLE_60_L_2015-89062/ | |
331 | -14069;Сумки;89064; WOMENS SPLIT ROLLER 100 L ;4799.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_SPLIT_ROLLER_100_L_2015-89064/ | |
332 | -14069;Сумки;89065; WOMENS SPLIT ROLLER 65 L ;4549.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_SPLIT_ROLLER_65_L_2015-89065/ | |
333 | -14069;Сумки;89066; WOMENS OVER UNDER 49 L ;4069.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_OVER_UNDER_49_L_2015-89066/ | |
334 | -14069;Сумки;89067; HOT LAPS PACK 1.5 L ;769.00;http://extremstyle.ua/sumki-2-catalogs/HOT_LAPS_PACK_15_L_2015-89067/ | |
335 | -14069;Сумки;89068; 2 FOR 1 HIP PACK 8 L ;1149.00;http://extremstyle.ua/sumki-2-catalogs/2_FOR_1_HIP_PACK_8_L_2015-89068/ | |
336 | -14069;Сумки;89069; HIP PACK ;529.00;http://extremstyle.ua/sumki-2-catalogs/HIP_PACK__2015-89069/ | |
337 | -14069;Сумки;89070; CLASSIC HIP PACK ;509.00;http://extremstyle.ua/sumki-2-catalogs/CLASSIC_HIP_PACK__2015-89070/ | |
338 | -14069;Сумки;89071; WOMENS HIP PACK ;529.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_HIP_PACK__2015-89071/ | |
339 | -14069;Сумки;89072; WOMENS CLASSIC HIP PACK ;509.00;http://extremstyle.ua/sumki-2-catalogs/WOMENS_CLASSIC_HIP_PACK__2015-89072/ | |
340 | 28 | 14143;Экстремальные видеокамеры;89073; DELUXE POV CASE ;929.00;http://extremstyle.ua/ekstremalnyie_videokameryi-catalogs/DELUXE_POV_CASE__2015-89073/ |
341 | -14070;Чехлы;89164; BIKE BAG ;8999.00;http://extremstyle.ua/chehly-catalogs/BIKE_BAG__2015-89164/ | |
342 | -14072;Кошельки, несессеры, косметички, чехлы;89387;кошелек VERT RAIL WALLET ;239.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/VERT_RAIL_WALLET__2015-89387/ | |
343 | -14072;Кошельки, несессеры, косметички, чехлы;89386;кошелек DIPLOMAT WALLET ;309.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/DIPLOMAT_WALLET__2015-89386/ | |
344 | -14072;Кошельки, несессеры, косметички, чехлы;89385;кошелек PAYBACK WALLET ;439.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/PAYBACK_WALLET_2015-89385/ | |
345 | -14072;Кошельки, несессеры, косметички, чехлы;89384;несессер ALINA 3 L ;639.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/ALINA_3_L_2015-89384/ | |
346 | -14072;Кошельки, несессеры, косметички, чехлы;89383;несессер PRIMA 5 L ;699.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/PRIMA_5_L_2015-89383/ | |
347 | -14072;Кошельки, несессеры, косметички, чехлы;89382;несессер DIVA 4 L ;879.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/DIVA_4_L_2015-89382/ | |
348 | -14072;Кошельки, несессеры, косметички, чехлы;89381;несессер TRAVEL KIT ;659.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/TRAVEL_KIT__2015-89381/ | |
349 | -14072;Кошельки, несессеры, косметички, чехлы;89380;кошелек WOMENS TRAVEL SLEEVE ;589.00;http://extremstyle.ua/koshelki_nesesseryi_kosmetichki_chehlyi-catalogs/WOMENS_TRAVEL_SLEEVE__2015-89380/ | ... | ... |
tests/_testStuff/StuffForEventTemplateManager/dynamicBody.php
0 → 100644
1 | +<tr> | |
2 | + <td valign="middle"> | |
3 | + <a href="{{item_url}}"> | |
4 | + <img style="max-width: 51px; max-height: 50px; vertical-align: middle;" src="{{item_image}}" /> | |
5 | + </a> | |
6 | + </td> | |
7 | + <td width="10"></td> | |
8 | + <td> | |
9 | + <table cellspacing="0" cellpadding="0" border="0"> | |
10 | + <tr> | |
11 | + <td><a href="{{item_url}}" style="text-decoration: none; color: #00aeef; font-size: 19px; font-family: calibri; font-weight: bold;">{{item_name}}</a></td> | |
12 | + </tr> | |
13 | + <tr> | |
14 | + <td style="color: #333333; font-size: 16px; font-family: calibri;"><span style="font-weight: bold;">{{quantity}}шт</span> по цене <span style="font-weight: bold;">{{price}} грн</span></td> | |
15 | + </tr> | |
16 | + </table> | |
17 | + </td> | |
18 | +</tr> | |
19 | +<tr> | |
20 | + <td height="10"></td> | |
21 | +</tr> | |
0 | 22 | \ No newline at end of file | ... | ... |
tests/_testStuff/StuffForEventTemplateManager/dynamicFooter.php
0 → 100644
1 | +</table> | |
2 | +</td> | |
3 | +</tr> | |
4 | +<tr> | |
5 | + <td height="20"></td> | |
6 | +</tr> | |
7 | + | |
8 | + | |
9 | + | |
10 | +<tr> | |
11 | + <td height="20"></td> | |
12 | +</tr> | |
13 | +</table> | |
14 | +</td> | |
15 | +</tr> | |
16 | +<tr> | |
17 | + <td height="20"></td> | |
18 | +</tr> | |
19 | +<tr> | |
20 | + <td align="center" valign="top"> | |
21 | + <table cellpadding="0" cellspacing="0" border="0" width="580"> | |
22 | + <tr> | |
23 | + <td style="font-family: calibri; font-size: 16px; color: #474747; ">Итого: <span style="font-weight: bold;">{{sum}} грн</span></td> | |
24 | + </tr> | |
25 | + <tr> | |
26 | + <td style="font-family: calibri; font-size: 16px; color: #474747; ">Телефон: {{phone}}</td> | |
27 | + </tr> | |
28 | + <tr> | |
29 | + <td style="font-family: calibri; font-size: 16px; color: #474747; ">Адрес доставки: {{address}}</td> | |
30 | + </tr> | |
31 | + <tr> | |
32 | + <td style="font-family: calibri; font-size: 16px; color: #474747; ">Email: <span style="color: #00aeef;">{{email}}</span></td> | |
33 | + </tr> | |
34 | + <!--<tr>--> | |
35 | + <!--<td style="font-family: calibri; font-size: 16px; color: #474747; ">Способ доставки: <span style="font-weight: bold;">{{delivery}}</span></td>--> | |
36 | + <!--</tr>--> | |
37 | + <!--<tr>--> | |
38 | + <!--<td style="font-family: calibri; font-size: 16px; color: #474747; ">Способ оплаты: <span style="font-weight: bold;">{{pay}}</span></td>--> | |
39 | + <!--</tr>--> | |
40 | + </table> | |
41 | + </td> | |
42 | +</tr> | |
43 | +<tr> | |
44 | + <td height="20"></td> | |
45 | +</tr> | |
46 | +</table> | |
47 | +</td> | |
48 | +</tr> | |
49 | +<tr> | |
50 | + <td align="center"> | |
51 | + <table cellpadding="0" cellspacing="0" border="0" width="636" height="16" background="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/bg-baske-2t-bottom.png"></table> | |
52 | + </td> | |
53 | +</tr> | |
54 | +<tr> | |
55 | + <td align="center"> | |
56 | + <table cellspacing="0" cellpadding="0" border="0" width="620"> | |
57 | + <tr> | |
58 | + <td height="25"></td> | |
59 | + </tr> | |
60 | + <tr> | |
61 | + <td style="font-size: 18px; font-family: calibri; color: #474747; font-weight: bold;">Мы работаем:</td> | |
62 | + </tr> | |
63 | + <tr> | |
64 | + <td> | |
65 | + <ul style="list-style-position: inside; padding: 0; margin: 0;"> | |
66 | + <li style="font-size: 16px; font-family: calibri; color: #474747;">понедельник-пятница: с 9:00 до 18:00</li> | |
67 | + <li style="font-size: 16px; font-family: calibri; color: #474747;">суббота: с 10:00 до 16:00</li> | |
68 | + <li style="font-size: 16px; font-family: calibri; color: #474747;">воскресенье: выходной</li> | |
69 | + </ul> | |
70 | + </td> | |
71 | + </tr> | |
72 | + <tr> | |
73 | + <tr> | |
74 | + <td height="25"></td> | |
75 | + </tr> | |
76 | + <tr> | |
77 | + <td style="font-size: 16px; font-family: calibri; color: #474747;">С уважением, служба поддержки <a target="_blank" href="http://semena.in.ua/ru" style="text-decoration: none; color: #00aeef;">semena.in.ua</a></td> | |
78 | + </tr> | |
79 | + <tr> | |
80 | + <td height="30"></td> | |
81 | + </tr> | |
82 | + <tr> | |
83 | + <td align="center"> | |
84 | + <table cellspacing="0" cellpadding="0" border="0"> | |
85 | + <tr> | |
86 | + <td align="center" height="40" width="192" style="background: #67b73e; border-radius: 4px; border-bottom: 3px solid #55a727; padding-top: 3px; box-sizing: border-box;"> | |
87 | + <a href="#" style="text-decoration: none; text-transform: uppercase; color: #fff; font-size: 14px; font-weight: bold; font-family: calibri;">Не забудьте заказать</a> | |
88 | + </td> | |
89 | + </tr> | |
90 | + </table> | |
91 | + </td> | |
92 | + </tr> | |
93 | + </table> | |
94 | + </td> | |
95 | +</tr> | |
96 | + | |
97 | +<!--------stock------> | |
98 | +<tr> | |
99 | + <td height="40"></td> | |
100 | +</tr> | |
101 | +<tr> | |
102 | + <td align="center" style="color: #363636; font-family: calibri; font-weight: bold; font-size: 24px;">Удобрения для отличного урожая</td> | |
103 | +</tr> | |
104 | +<tr> | |
105 | + <td align="center"> | |
106 | + <table cellspacing="0" cellpadding="0" border="0" width="660" style="background: #fff"> | |
107 | + | |
108 | + <tr> | |
109 | + <td height="15"></td> | |
110 | + </tr> | |
111 | + <tr> | |
112 | + <td width="132"> | |
113 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
114 | + <tr> | |
115 | + <td align="center"> | |
116 | + <table cellspacing="0" cellpadding="0" border="0" width="120" height="120"> | |
117 | + <tr> | |
118 | + <td align="center"><a target="_blank" href="#"><img style="max-width: 120px; max-height: 120px;" src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/akcia-1.jpg" alt=""/></a></td> | |
119 | + </tr> | |
120 | + </table> | |
121 | + </td> | |
122 | + </tr> | |
123 | + <tr> | |
124 | + <td> | |
125 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
126 | + <tr> | |
127 | + <td align="center"><a target="_blank" href="" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;">Чорнобривці розлогі...</a></td> | |
128 | + </tr> | |
129 | + </table> | |
130 | + </td> | |
131 | + </tr> | |
132 | + <tr> | |
133 | + <td> | |
134 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
135 | + <tr> | |
136 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
137 | + </tr> | |
138 | + </table> | |
139 | + </td> | |
140 | + </tr> | |
141 | + <tr> | |
142 | + <td height="10"></td> | |
143 | + </tr> | |
144 | + <tr> | |
145 | + <td> | |
146 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
147 | + <tr> | |
148 | + <td align="center"> | |
149 | + <table cellspacing="0" cellpadding="0" border="0" width="80" height="26" style="border-radius: 4px; background: #4fa32c; "> | |
150 | + <tr> | |
151 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
152 | + </tr> | |
153 | + </table> | |
154 | + </td> | |
155 | + </tr> | |
156 | + </table> | |
157 | + </td> | |
158 | + </tr> | |
159 | + </table> | |
160 | + </td> | |
161 | + <td width="132"> | |
162 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
163 | + <tr> | |
164 | + <td align="center"> | |
165 | + <table cellspacing="0" cellpadding="0" border="0" width="120" height="120"> | |
166 | + <tr> | |
167 | + <td align="center"><a target="_blank" href="#"><img style="max-width: 120px; max-height: 120px;" src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/akcia-2.jpg" alt=""/></a></td> | |
168 | + </tr> | |
169 | + </table> | |
170 | + </td> | |
171 | + </tr> | |
172 | + <tr> | |
173 | + <td> | |
174 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
175 | + <tr> | |
176 | + <td align="center"><a target="_blank" href="#" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;">Чорнобривці розлогі...</a></td> | |
177 | + </tr> | |
178 | + </table> | |
179 | + </td> | |
180 | + </tr> | |
181 | + <tr> | |
182 | + <td> | |
183 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
184 | + <tr> | |
185 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
186 | + </tr> | |
187 | + </table> | |
188 | + </td> | |
189 | + </tr> | |
190 | + <tr> | |
191 | + <td height="10"></td> | |
192 | + </tr> | |
193 | + <tr> | |
194 | + <td> | |
195 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
196 | + <tr> | |
197 | + <td align="center"> | |
198 | + <table cellspacing="0" cellpadding="0" border="0" width="80" height="26" style="border-radius: 4px; background: #4fa32c; "> | |
199 | + <tr> | |
200 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
201 | + </tr> | |
202 | + </table> | |
203 | + </td> | |
204 | + </tr> | |
205 | + </table> | |
206 | + </td> | |
207 | + </tr> | |
208 | + </table> | |
209 | + </td> | |
210 | + <td width="132"> | |
211 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
212 | + <tr> | |
213 | + <td align="center"> | |
214 | + <table cellspacing="0" cellpadding="0" border="0" width="120" height="120"> | |
215 | + <tr> | |
216 | + <td align="center"><a target="_blank" href="#"><img style="max-width: 120px; max-height: 120px;" src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/akcia-3.jpg" alt=""/></a></td> | |
217 | + </tr> | |
218 | + </table> | |
219 | + </td> | |
220 | + </tr> | |
221 | + <tr> | |
222 | + <td> | |
223 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
224 | + <tr> | |
225 | + <td align="center"><a target="_blank" href="#" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;">Чорнобривці розлогі...</a></td> | |
226 | + </tr> | |
227 | + </table> | |
228 | + </td> | |
229 | + </tr> | |
230 | + <tr> | |
231 | + <td> | |
232 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
233 | + <tr> | |
234 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
235 | + </tr> | |
236 | + </table> | |
237 | + </td> | |
238 | + </tr> | |
239 | + <tr> | |
240 | + <td height="10"></td> | |
241 | + </tr> | |
242 | + <tr> | |
243 | + <td> | |
244 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
245 | + <tr> | |
246 | + <td align="center"> | |
247 | + <table cellspacing="0" cellpadding="0" border="0" width="80" height="26" style="border-radius: 4px; background: #4fa32c; "> | |
248 | + <tr> | |
249 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
250 | + </tr> | |
251 | + </table> | |
252 | + </td> | |
253 | + </tr> | |
254 | + </table> | |
255 | + </td> | |
256 | + </tr> | |
257 | + </table> | |
258 | + </td> | |
259 | + <td width="132"> | |
260 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
261 | + <tr> | |
262 | + <td align="center"> | |
263 | + <table cellspacing="0" cellpadding="0" border="0" width="120" height="120"> | |
264 | + <tr> | |
265 | + <td align="center"><a target="_blank" href="#"><img style="max-width: 120px; max-height: 120px;" src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/akcia-4.jpg" alt=""/></a></td> | |
266 | + </tr> | |
267 | + </table> | |
268 | + </td> | |
269 | + </tr> | |
270 | + <tr> | |
271 | + <td> | |
272 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
273 | + <tr> | |
274 | + <td align="center"><a target="_blank" href="" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;">Чорнобривці розлогі...</a></td> | |
275 | + </tr> | |
276 | + </table> | |
277 | + </td> | |
278 | + </tr> | |
279 | + <tr> | |
280 | + <td> | |
281 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
282 | + <tr> | |
283 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
284 | + </tr> | |
285 | + </table> | |
286 | + </td> | |
287 | + </tr> | |
288 | + <tr> | |
289 | + <td height="10"></td> | |
290 | + </tr> | |
291 | + <tr> | |
292 | + <td> | |
293 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
294 | + <tr> | |
295 | + <td align="center"> | |
296 | + <table cellspacing="0" cellpadding="0" border="0" width="80" height="26" style="border-radius: 4px; background: #4fa32c; "> | |
297 | + <tr> | |
298 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
299 | + </tr> | |
300 | + </table> | |
301 | + </td> | |
302 | + </tr> | |
303 | + </table> | |
304 | + </td> | |
305 | + </tr> | |
306 | + </table> | |
307 | + </td> | |
308 | + <td width="132"> | |
309 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
310 | + <tr> | |
311 | + <td align="center"> | |
312 | + <table cellspacing="0" cellpadding="0" border="0" width="120" height="120"> | |
313 | + <tr> | |
314 | + <td align="center"><a target="_blank" href="#"><img style="max-width: 120px; max-height: 120px;" src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/akcia-5.jpg" alt=""/></a></td> | |
315 | + </tr> | |
316 | + </table> | |
317 | + </td> | |
318 | + </tr> | |
319 | + <tr> | |
320 | + <td> | |
321 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
322 | + <tr> | |
323 | + <td align="center"><a target="_blank" href="" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;">Чорнобривці розлогі...</a></td> | |
324 | + </tr> | |
325 | + </table> | |
326 | + </td> | |
327 | + </tr> | |
328 | + <tr> | |
329 | + <td> | |
330 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
331 | + <tr> | |
332 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
333 | + </tr> | |
334 | + </table> | |
335 | + </td> | |
336 | + </tr> | |
337 | + <tr> | |
338 | + <td height="10"></td> | |
339 | + </tr> | |
340 | + <tr> | |
341 | + <td> | |
342 | + <table cellpadding="0" cellspacing="0" border="0" width="132"> | |
343 | + <tr> | |
344 | + <td align="center"> | |
345 | + <table cellspacing="0" cellpadding="0" border="0" width="80" height="26" style="border-radius: 4px; background: #4fa32c; "> | |
346 | + <tr> | |
347 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
348 | + </tr> | |
349 | + </table> | |
350 | + </td> | |
351 | + </tr> | |
352 | + </table> | |
353 | + </td> | |
354 | + </tr> | |
355 | + </table> | |
356 | + </td> | |
357 | + </tr> | |
358 | + </table> | |
359 | + </td> | |
360 | +</tr> | |
361 | +<!--------end stock------> | |
362 | +<tr> | |
363 | + <td height="20"></td> | |
364 | +</tr> | |
365 | +</table> | |
366 | +</td> | |
367 | +</tr> | |
368 | +</table> | |
369 | +</td> | |
370 | +</tr> | |
371 | +<tr> | |
372 | + <td> | |
373 | + <table cellpadding="0" cellspacing="0" border="0" width="681" height="42" background="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/bg-basket-grass.png"></table> | |
374 | + </td> | |
375 | +</tr> | |
376 | +</table> | |
377 | +</td> | |
378 | +</tr> | |
379 | +<!-------content-------> | |
380 | +</table> | |
381 | +</td> | |
382 | +</tr> | |
383 | +<tr> | |
384 | + <td height="30" style="background: #f0f0f0;"></td> | |
385 | +</tr> | |
386 | +<!--------footer-------> | |
387 | +<tr> | |
388 | + <td> | |
389 | + <table cellpadding="0" cellspacing="0" border="0" width="100%" height="236" background="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/bg-2.jpg"> | |
390 | + <tr> | |
391 | + <td align="center"> | |
392 | + <table cellspacing="0" border="0" cellpadding="0" width="660"> | |
393 | + <tr> | |
394 | + <td> | |
395 | + <table cellpadding="0" cellspacing="0" border="0" height="236"> | |
396 | + <tr> | |
397 | + <td height="90"><a target="_blank" href="http://semena.in.ua/ru"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/logo2.png" alt="semena.in.ua" /></a></td> | |
398 | + </tr> | |
399 | + <tr> | |
400 | + <td valign="top" height="60" style="color: #4a4a4a; font-size: 15px; font-family: calibri; font-weight: normal;">Адрес центрального офиса:</br> | |
401 | + <span style="font-weight: bold;">Киев, ул. Садовая, 95</span></td> | |
402 | + </tr> | |
403 | + </table> | |
404 | + </td> | |
405 | + <td align="center"> | |
406 | + <table cellspacing="0" cellpadding="0" border="0"> | |
407 | + <tr><td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-1.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">581-67-15</span></span></td></tr> | |
408 | + <tr><td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-1.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">451-48-59</span></span></td></tr> | |
409 | + <tr><td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-2.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(050) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td></tr> | |
410 | + <tr><td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-3.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(067) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td></tr> | |
411 | + <tr><td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-4.png"><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(093) <span style="font-size: 20px; font-weight: bold;">026-86-64</span></span></td></tr> | |
412 | + </table> | |
413 | + </td> | |
414 | + <td align="right"> | |
415 | + <table cellpadding="0" cellspacing="0" border="0"> | |
416 | + <tr> | |
417 | + <td> | |
418 | + <table cellspacing="0" cellpadding="0" border="0" width="168" style="text-align: right"> | |
419 | + <tr> | |
420 | + <td><a target="_blank" href="https://www.facebook.com/Professionalseeds"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/fb.png" alt=""/></a></td> | |
421 | + <td><a target="_blank" href="https://www.youtube.com/channel/UCMnG-NxtoprcTxKcPouwWdQ"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/youtube.png" alt=""/></a></td> | |
422 | + </tr> | |
423 | + </table> | |
424 | + </td> | |
425 | + </tr> | |
426 | + <tr> | |
427 | + <td height="10"></td> | |
428 | + </tr> | |
429 | + <tr> | |
430 | + <td align="right"> | |
431 | + <table cellpadding="0" cellspacing="0" border="0" width="148" height="26"> | |
432 | + <tr> | |
433 | + <td style="border: 1px solid #67b73e; text-align: center; border-radius: 3px;"> | |
434 | + <a href="#" style=" color: #333333; font-size: 13px; font-family: calibri; text-decoration: none;">отписаться от рассылки</a></td> | |
435 | + </tr> | |
436 | + </table> | |
437 | + </td> | |
438 | + </tr> | |
439 | + <tr> | |
440 | + <td height="10"></td> | |
441 | + </tr> | |
442 | + <tr> | |
443 | + <td align="right"> | |
444 | + <table cellpadding="0" cellspacing="0" border="0" width="148" height="26"> | |
445 | + <tr> | |
446 | + <td style=" border: 1px solid #67b73e; text-align: center ;border-radius: 3px; background: #67b73e;"> | |
447 | + <a href="#" style=" color: #fff; font-size: 13px; font-family: calibri; text-decoration: none;">Настроить рассылку</a></td> | |
448 | + </tr> | |
449 | + </table> | |
450 | + </td> | |
451 | + </tr> | |
452 | + </table> | |
453 | + </td> | |
454 | + </tr> | |
455 | + </table> | |
456 | + </td> | |
457 | + </tr> | |
458 | + </table> | |
459 | + </td> | |
460 | +</tr> | |
461 | +<!------end--footer-------> | |
462 | +<tr> | |
463 | + <td> | |
464 | + <table cellspacing="0" cellpadding="0" border="0" width="100%" height="30" style="background: #fff;"> | |
465 | + <tr> | |
466 | + <td align="center" style="color: #333333; font-size: 13px; font-family: calibri; font-style: italic; line-height: 30px">Вы получили это письмо, потому что зарегистрированы на сайте | |
467 | + <a href="http://semena.in.ua/" style="color: #3c3b3b;">semena.in.ua</a></td> | |
468 | + </tr> | |
469 | + </table> | |
470 | + </td> | |
471 | +</tr> | |
472 | +</td> | |
473 | +</tr> | |
474 | +</table> | |
475 | +</body> | |
476 | +</html> | |
0 | 477 | \ No newline at end of file | ... | ... |
tests/_testStuff/StuffForEventTemplateManager/dynamicHead.php
0 → 100644
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | +<head> | |
4 | + <meta charset="utf-8"> | |
5 | +</head> | |
6 | +<body> | |
7 | +<table cellspacing="0" cellpadding="0" width="100%" border="0" style="border-spacing: 0; margin-top: -8px"> | |
8 | + <!------green-line-------> | |
9 | + <tr> | |
10 | + <td> | |
11 | + <table cellspacing="0" cellpadding="0" border="0" width="100%" style="background: #67b73e;"> | |
12 | + <tr> | |
13 | + <td align="center"> | |
14 | + <table cellpadding="0" cellspacing="0" border="0" width="660"> | |
15 | + <tr> | |
16 | + <td width="330" height="30" style="text-align: left"><a href="#" style="font-size: 13px; color: #fff; font-family: calibri; font-style: italic;">Заманчивые предложения</a></td> | |
17 | + <td width="330" height="30" style="text-align: right"><a href="#" style="font-size: 13px; color: #fff; font-family: calibri; font-style: italic;">Загрузить картинки</a></td> | |
18 | + </tr> | |
19 | + </table> | |
20 | + </td> | |
21 | + </tr> | |
22 | + </table> | |
23 | + </td> | |
24 | + </tr> | |
25 | + <!------end-green-line-------> | |
26 | + <!------contacts-line-------> | |
27 | + <tr> | |
28 | + <td> | |
29 | + <table cellpadding="0" cellspacing="0" border="0" width="100%"> | |
30 | + <tr> | |
31 | + <td> | |
32 | + <table cellspacing="0" class="" cellpadding="0" border="0" width="100%" height="30" style="background: #fff;"></table> | |
33 | + </td> | |
34 | + </tr> | |
35 | + <tr> | |
36 | + <td> | |
37 | + <table cellpadding="0" cellspacing="0" border="0" width="100%" style=" | |
38 | + /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+30,f0f0f0+99 */ | |
39 | + background: #ffffff; /* Old browsers */ | |
40 | + background: -moz-linear-gradient(top, #ffffff 30%, #f0f0f0 99%); /* FF3.6+ */ | |
41 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(30%,#ffffff), color-stop(99%,#f0f0f0)); /* Chrome,Safari4+ */ | |
42 | + background: -webkit-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* Chrome10+,Safari5.1+ */ | |
43 | + background: -o-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* Opera 11.10+ */ | |
44 | + background: -ms-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* IE10+ */ | |
45 | + background: linear-gradient(to bottom, #ffffff 30%,#f0f0f0 99%); /* W3C */ | |
46 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f0f0',GradientType=0 ); /* IE6-9 */ | |
47 | + "> | |
48 | + <tr> | |
49 | + <td align="center"> | |
50 | + <table cellspacing="0" cellpadding="0" border="0" width="660" height="87" style="margin: 0 20px;"> | |
51 | + <tr> | |
52 | + <td valign="top" > | |
53 | + <table cellpadding="0" cellspacing="0" border="0" width="174"height="42"> | |
54 | + <tr> | |
55 | + <td align="center" valign="top"><a target="_blank" href="http://semena.in.ua/ru"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/logo.png" width="174" height="42" alt=""/></a></td> | |
56 | + </tr> | |
57 | + </table> | |
58 | + </td> | |
59 | + <td valign="top" align="center"> | |
60 | + <table cellspacing="0" cellpadding="0" border="0" width="336"> | |
61 | + <tr> | |
62 | + <td align="center"> | |
63 | + <table cellpadding="0" cellspacing="0" border="0" width="310"> | |
64 | + <tr> | |
65 | + <td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-1.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">581-67-15</span></span></td> | |
66 | + <td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-1.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">451-48-59</span></span></td> | |
67 | + </tr> | |
68 | + <tr> | |
69 | + <td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-2.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(050) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
70 | + <td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-3.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(067) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
71 | + </tr> | |
72 | + </table> | |
73 | + </td> | |
74 | + </tr> | |
75 | + <tr> | |
76 | + <td align="center"> | |
77 | + <table cellpadding="0" cellspacing="0" border="0"> | |
78 | + <tr> | |
79 | + <td width="168"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-4.png" /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(093) <span style="font-size: 20px; font-weight: bold;">026-86-64</span></span></td> | |
80 | + </tr> | |
81 | + </table> | |
82 | + </td> | |
83 | + </tr> | |
84 | + </table> | |
85 | + </td> | |
86 | + <td valign="top"> | |
87 | + <table cellpadding="0" cellspacing="0" border="0"> | |
88 | + <tr> | |
89 | + <td height="24"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-5.png" /><a target="_blank" href="http://semena.in.ua/customer_login/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;">Личный кабинет</a></td> | |
90 | + </tr> | |
91 | + <tr> | |
92 | + <td height="24"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-6.png" /><a target="_blank" href="http://semena.in.ua/callback/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;">Обратная связь</a></td> | |
93 | + </tr> | |
94 | + <tr> | |
95 | + <td height="24"><img style="vertical-align: middle; " src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/ico-7.png" /><a target="_blank" href="http://semena.in.ua/video/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;">Видеообзоры</a></td> | |
96 | + </tr> | |
97 | + </table> | |
98 | + </td> | |
99 | + </tr> | |
100 | + </table> | |
101 | + </td> | |
102 | + </tr> | |
103 | + </table> | |
104 | + </td> | |
105 | + </tr> | |
106 | + </table> | |
107 | + </td> | |
108 | + </tr> | |
109 | + <!------end-contacts-line-------> | |
110 | + <tr> | |
111 | + <td> | |
112 | + <table cellspacing="0" cellpadding="0" border="0" width="100%" style="background: #f0f0f0;"> | |
113 | + <!------menu------> | |
114 | + <tr> | |
115 | + <td valign="top" align="center"> | |
116 | + <table cellpadding="0" cellspacing="0" border="0" width="660"> | |
117 | + <tr> | |
118 | + <td align="center"> | |
119 | + <table cellspacing="0" cellpadding="0" border="0" width="654" height="36" style="background: #67b73e; border-radius: 5px;"> | |
120 | + <tr> | |
121 | + <td align="center" style="border-right: 1px solid #4fa32c;"><a target="_blank" href="http://semena.in.ua/o-kompanii-1/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none; ">О компании</a></td> | |
122 | + <td align="center" style="border-left: 1px solid #86d060;"><a target="_blank" href="http://semena.in.ua/dostavka-i-oplata-2/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;">Доставка и оплата</a></td> | |
123 | + <td align="center" style="padding: 0 7px; background: #4e9f20;"><a target="_blank" href="http://semena.in.ua/news-actions/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;">Акции</a></td> | |
124 | + <td align="center"><a target="_blank" href="http://semena.in.ua/prof_tips/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;">Советы профессионалов</a></td> | |
125 | + </tr> | |
126 | + </table> | |
127 | + </td> | |
128 | + </tr> | |
129 | + </table> | |
130 | + </td> | |
131 | + </tr> | |
132 | + <!----- end menu--------> | |
133 | + | |
134 | + <tr> | |
135 | + <td height="20"></td> | |
136 | + </tr> | |
137 | + <!----kvadratki----> | |
138 | + <tr> | |
139 | + <td align="center"> | |
140 | + <table cellspacing="0" cellpadding="0" border="0" width="660"> | |
141 | + <tr> | |
142 | + <td> | |
143 | + <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
144 | + <tr> | |
145 | + <td valign="top"><a target="_blank" href="#"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/f-1.jpg" width="96" height="96" /></a></td> | |
146 | + </tr> | |
147 | + <tr> | |
148 | + <td align="center" valign="top"> | |
149 | + <a target="_blank" href="http://semena.in.ua/semena_ovoshchey_1c_20/ru" style="text-transform: uppercase; color: #54a727; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">СЕМЕНА</br>ОВОЩЕЙ</a> | |
150 | + </td> | |
151 | + </tr> | |
152 | + </table> | |
153 | + </td> | |
154 | + <td> | |
155 | + <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
156 | + <tr> | |
157 | + <td valign="top"><a target="_blank" href="http://semena.in.ua/semena_tsvetov_1c_20/ru"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/f-2.jpg" width="96" height="96" /></a></td> | |
158 | + </tr> | |
159 | + <tr> | |
160 | + <td align="center" valign="top"> | |
161 | + <a target="_blank" href="http://semena.in.ua/semena_tsvetov_1c_20/ru" style="text-transform: uppercase; color: #b12a2c; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">СЕМЕНА</br>ЦВЕТОВ</a> | |
162 | + </td> | |
163 | + </tr> | |
164 | + </table> | |
165 | + </td> | |
166 | + <td> | |
167 | + <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
168 | + <tr> | |
169 | + <td valign="top"><a target="_blank" href="http://semena.in.ua/udobrenija_i_sredstva_zashchity_1c_20/ru"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/f-3.jpg" width="96" height="96" /></a></td> | |
170 | + </tr> | |
171 | + <tr> | |
172 | + <td align="center" valign="top"> | |
173 | + <a target="_blank" href="http://semena.in.ua/udobrenija_i_sredstva_zashchity_1c_20/ru" style="text-transform: uppercase; color: #f36d01; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Удобрения и</br>средства</br>защиты</a> | |
174 | + </td> | |
175 | + </tr> | |
176 | + </table> | |
177 | + </td> | |
178 | + <td> | |
179 | + <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
180 | + <tr> | |
181 | + <td valign="top"><a target="_blank" href="http://semena.in.ua/gazonnye_travy_1c_20/ru"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/f-4.jpg" width="96" height="96" /></a></td> | |
182 | + </tr> | |
183 | + <tr> | |
184 | + <td align="center" valign="top"> | |
185 | + <a target="_blank" href="http://semena.in.ua/gazonnye_travy_1c_20/ru" style="text-transform: uppercase; color: #1a7781; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Газонные</br>травы</a> | |
186 | + </td> | |
187 | + </tr> | |
188 | + </table> | |
189 | + </td> | |
190 | + <td> | |
191 | + <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
192 | + <tr> | |
193 | + <td valign="top"><a target="_blank" href="http://semena.in.ua/biopreparaty_1c_20/ru"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/f-5.jpg" width="96" height="96" /></a></td> | |
194 | + </tr> | |
195 | + <tr> | |
196 | + <td align="center" valign="top"> | |
197 | + <a target="_blank" href="http://semena.in.ua/biopreparaty_1c_20/ru" style="text-transform: uppercase; color: #0aa2dd; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Биопрепараты</a> | |
198 | + </td> | |
199 | + </tr> | |
200 | + </table> | |
201 | + </td> | |
202 | + <td width="96"> | |
203 | + <table cellpadding="0" cellspacing="0" border="0" width="96" height="155"> | |
204 | + <tr> | |
205 | + <td valign="top"><a target="_blank" href="http://semena.in.ua/tovary_dlja_sada_i_ogoroda_1c_20/ru"><img src="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/f-6.jpg" width="96" height="96" /></a></td> | |
206 | + </tr> | |
207 | + <tr> | |
208 | + <td align="center" valign="top"> | |
209 | + <a target="_blank" href="http://semena.in.ua/tovary_dlja_sada_i_ogoroda_1c_20/ru" style="text-transform: uppercase; color: #b1873f; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;">Товары</br>для сада</br>и огорода</a> | |
210 | + </td> | |
211 | + </tr> | |
212 | + </table> | |
213 | + </td> | |
214 | + </tr> | |
215 | + </table> | |
216 | + </td> | |
217 | + </tr> | |
218 | + <tr> | |
219 | + <td height="20"></td> | |
220 | + </tr> | |
221 | + <!-------content-------> | |
222 | + <tr> | |
223 | + <td align="center"> | |
224 | + <table cellspacing="0" cellpadding="0" border="0" width="681"> | |
225 | + <tr> | |
226 | + <td align="center"> | |
227 | + <table cellpadding="0" cellspacing="0" border="0" width="681" height="184" background="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/bg-basket.png"> | |
228 | + <tr> | |
229 | + <td align="center" valign="top"> | |
230 | + <table cellspacing="0" cellpadding="0" border="0" width="580"> | |
231 | + <tr> | |
232 | + <td height="55"></td> | |
233 | + </tr> | |
234 | + <tr> | |
235 | + <td style="color: #333333; font-size: 16px; font-family: calibri;">Здравствуйте, {{name}}</td> | |
236 | + </tr> | |
237 | + <tr> | |
238 | + <td height="15"></td> | |
239 | + </tr> | |
240 | + <tr> | |
241 | + <td> | |
242 | + <table cellspacing="0" cellpadding="0" border="0" width="330"> | |
243 | + <tr> | |
244 | + <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;"> | |
245 | + Ваша заявка принята.</br> | |
246 | +Для подтверждения заказа наш менеджер | |
247 | + свяжется с вами в ближайшее время. | |
248 | + </td> | |
249 | + </tr> | |
250 | + </table> | |
251 | + </td> | |
252 | + </tr> | |
253 | + </table> | |
254 | + </td> | |
255 | + </tr> | |
256 | + </table> | |
257 | + </td> | |
258 | + </tr> | |
259 | + <tr> | |
260 | + <td> | |
261 | + <table cellspacing="0" cellpadding="0" border="0" width="681" background="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/bg-basket-all.png"> | |
262 | + <tr> | |
263 | + <td align="center" valign="top"> | |
264 | + <table cellspacing="0" cellpadding="0" border="0" width="660"> | |
265 | + <tr> | |
266 | + <td align="center"> | |
267 | + <table cellpadding="0" cellspacing="0" border="0" width="620"> | |
268 | + <tr> | |
269 | + <td height="20"></td> | |
270 | + </tr> | |
271 | + <tr> | |
272 | + <td style="color: #333333; font-weight: bold; font-size: 24px; font-family: calibri;">Заявке присвоен номер: <span style="color: #67b73e;">{{order_num}}</span></td> | |
273 | + </tr> | |
274 | + <tr> | |
275 | + <td height="10"></td> | |
276 | + </tr> | |
277 | + <tr> | |
278 | + <td style="color: #333333; font-size: 16px; font-family: calibri;">Будем рады ответить на ваши вопросы по телефонам:</td> | |
279 | + </tr> | |
280 | + <tr> | |
281 | + <td height="5"></td> | |
282 | + </tr> | |
283 | + <tr> | |
284 | + <td> | |
285 | + <table cellspacing="0" cellpadding="0" border="0" width="620"> | |
286 | + <tr> | |
287 | + <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(044) 581-67-15 </td> | |
288 | + <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(044) 451-48-59</td> | |
289 | + <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(050) 464-48-59</td> | |
290 | + <td style="color: #333333; font-size: 16px; font-family: calibri; font-weight: bold;">(067) 464-48-59</td> | |
291 | + </tr> | |
292 | + </table> | |
293 | + </td> | |
294 | + </tr> | |
295 | + </table> | |
296 | + </td> | |
297 | + </tr> | |
298 | + <tr> | |
299 | + <td height="30"></td> | |
300 | + </tr> | |
301 | + <tr> | |
302 | + <td align="center"> | |
303 | + <table cellpadding="0" cellspacing="0" border="0" width="636" height="10" background="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/bg-baske-2t-up.png"></table> | |
304 | + </td> | |
305 | + </tr> | |
306 | + <tr> | |
307 | + <td align="center"> | |
308 | + <table cellpadding="0" cellspacing="0" border="0" width="636" background="http://storage.seo.dev.artwebua.com.ua/temp/b/b/e/8/bbe8428ff3cd4ab95fcfb64a2f3bc069/bg-baske-2t-middle.png"> | |
309 | + <tr> | |
310 | + <td height="20"></td> | |
311 | + </tr> | |
312 | + <tr> | |
313 | + <td align="center" > | |
314 | + <table cellspacing="0" cellpadding="0" border="0" width="580" style="border-bottom: 1px solid #67b73e;"> | |
315 | + | |
316 | + <tr> | |
317 | + <td> | |
318 | + <table cellpadding="0" cellspacing="0" border="0"> | |
0 | 319 | \ No newline at end of file | ... | ... |
tests/_testStuff/StuffForEventTemplateManager/staticTemplate.php
0 → 100644
1 | +<meta charset="utf-8"> | |
2 | +<table border="0" cellpadding="0" cellspacing="0" style="border-spacing: 0; margin-top: -8px" width="100%"><!------green-line-------> | |
3 | + <tbody> | |
4 | + <tr> | |
5 | + <td> | |
6 | + <table border="0" cellpadding="0" cellspacing="0" style="background: #67b73e;" width="100%"> | |
7 | + <tbody> | |
8 | + <tr> | |
9 | + <td align="center"> | |
10 | + <table border="0" cellpadding="0" cellspacing="0" width="660"> | |
11 | + <tbody> | |
12 | + <tr> | |
13 | + <td height="30" style="text-align: left" width="330"><a href="#" style="font-size: 13px; color: #fff; font-family: calibri; font-style: italic;">Заманчивые предложения</a></td> | |
14 | + <td height="30" style="text-align: right" width="330"><a href="#" style="font-size: 13px; color: #fff; font-family: calibri; font-style: italic;">Загрузить картинки</a></td> | |
15 | + </tr> | |
16 | + </tbody> | |
17 | + </table> | |
18 | + </td> | |
19 | + </tr> | |
20 | + </tbody> | |
21 | + </table> | |
22 | + </td> | |
23 | + </tr> | |
24 | + <!------end-green-line-------><!------contacts-line-------> | |
25 | + <tr> | |
26 | + <td> | |
27 | + <table border="0" cellpadding="0" cellspacing="0" width="100%"> | |
28 | + <tbody> | |
29 | + <tr> | |
30 | + <td> | |
31 | + <table border="0" cellpadding="0" cellspacing="0" height="30" style="background: #fff;" width="100%"> | |
32 | + </table> | |
33 | + </td> | |
34 | + </tr> | |
35 | + <tr> | |
36 | + <td> | |
37 | + <table border="0" cellpadding="0" cellspacing="0" style=" | |
38 | + /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+30,f0f0f0+99 */ | |
39 | + background: #ffffff; /* Old browsers */ | |
40 | + background: -moz-linear-gradient(top, #ffffff 30%, #f0f0f0 99%); /* FF3.6+ */ | |
41 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(30%,#ffffff), color-stop(99%,#f0f0f0)); /* Chrome,Safari4+ */ | |
42 | + background: -webkit-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* Chrome10+,Safari5.1+ */ | |
43 | + background: -o-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* Opera 11.10+ */ | |
44 | + background: -ms-linear-gradient(top, #ffffff 30%,#f0f0f0 99%); /* IE10+ */ | |
45 | + background: linear-gradient(to bottom, #ffffff 30%,#f0f0f0 99%); /* W3C */ | |
46 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f0f0',GradientType=0 ); /* IE6-9 */ | |
47 | + " width="100%"> | |
48 | + <tbody> | |
49 | + <tr> | |
50 | + <td align="center"> | |
51 | + <table border="0" cellpadding="0" cellspacing="0" height="87" style="margin: 0 20px;" width="660"> | |
52 | + <tbody> | |
53 | + <tr> | |
54 | + <td valign="top"> | |
55 | + <table border="0" cellpadding="0" cellspacing="0" height="42" width="174"> | |
56 | + <tbody> | |
57 | + <tr> | |
58 | + <td align="center" valign="top"><a href="#" target="_blank"><img alt="" height="42" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/logo.png" width="174" /></a></td> | |
59 | + </tr> | |
60 | + </tbody> | |
61 | + </table> | |
62 | + </td> | |
63 | + <td align="center" valign="top"> | |
64 | + <table border="0" cellpadding="0" cellspacing="0" width="336"> | |
65 | + <tbody> | |
66 | + <tr> | |
67 | + <td align="center"> | |
68 | + <table border="0" cellpadding="0" cellspacing="0" width="310"> | |
69 | + <tbody> | |
70 | + <tr> | |
71 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-1.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">581-67-15</span></span></td> | |
72 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-1.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">451-48-59</span></span></td> | |
73 | + </tr> | |
74 | + <tr> | |
75 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-2.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(050) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
76 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-3.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(067) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
77 | + </tr> | |
78 | + </tbody> | |
79 | + </table> | |
80 | + </td> | |
81 | + </tr> | |
82 | + <tr> | |
83 | + <td align="center"> | |
84 | + <table border="0" cellpadding="0" cellspacing="0"> | |
85 | + <tbody> | |
86 | + <tr> | |
87 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-4.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(093) <span style="font-size: 20px; font-weight: bold;">026-86-64</span></span></td> | |
88 | + </tr> | |
89 | + </tbody> | |
90 | + </table> | |
91 | + </td> | |
92 | + </tr> | |
93 | + </tbody> | |
94 | + </table> | |
95 | + </td> | |
96 | + <td valign="top"> | |
97 | + <table border="0" cellpadding="0" cellspacing="0"> | |
98 | + <tbody> | |
99 | + <tr> | |
100 | + <td height="24"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-5.png" style="vertical-align: middle; " /><a href="http://semena.in.ua/customer_login/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;" target="_blank">Личный кабинет</a></td> | |
101 | + </tr> | |
102 | + <tr> | |
103 | + <td height="24"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-6.png" style="vertical-align: middle; " /><a href="http://semena.in.ua/callback/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;" target="_blank">Обратная связь</a></td> | |
104 | + </tr> | |
105 | + <tr> | |
106 | + <td height="24"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-7.png" style="vertical-align: middle; " /><a href="http://semena.in.ua/video/ru" style="margin-left: 5px; font-size: 13px; font-family: calibri; font-style: italic; color: #4a4a4a;" target="_blank">Видеообзоры</a></td> | |
107 | + </tr> | |
108 | + </tbody> | |
109 | + </table> | |
110 | + </td> | |
111 | + </tr> | |
112 | + </tbody> | |
113 | + </table> | |
114 | + </td> | |
115 | + </tr> | |
116 | + </tbody> | |
117 | + </table> | |
118 | + </td> | |
119 | + </tr> | |
120 | + </tbody> | |
121 | + </table> | |
122 | + </td> | |
123 | + </tr> | |
124 | + <!------end-contacts-line-------> | |
125 | + <tr> | |
126 | + <td> | |
127 | + <table border="0" cellpadding="0" cellspacing="0" style="background: #f0f0f0;" width="100%"><!------menu------> | |
128 | + <tbody> | |
129 | + <tr> | |
130 | + <td align="center" valign="top"> | |
131 | + <table border="0" cellpadding="0" cellspacing="0" width="660"> | |
132 | + <tbody> | |
133 | + <tr> | |
134 | + <td align="center"> | |
135 | + <table border="0" cellpadding="0" cellspacing="0" height="36" style="background: #67b73e; border-radius: 5px;" width="654"> | |
136 | + <tbody> | |
137 | + <tr> | |
138 | + <td align="center" style="border-right: 1px solid #4fa32c;"><a href="http://semena.in.ua/o-kompanii-1/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none; " target="_blank">О компании</a></td> | |
139 | + <td align="center" style="border-left: 1px solid #86d060;"><a href="http://semena.in.ua/dostavka-i-oplata-2/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;" target="_blank">Доставка и оплата</a></td> | |
140 | + <td align="center" style="padding: 0 7px; background: #4e9f20;"><a href="http://semena.in.ua/news-actions/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;" target="_blank">Акции</a></td> | |
141 | + <td align="center"><a href="http://semena.in.ua/prof_tips/ru" style="height: 36px; color: #fff; font-weight: bold; font-size: 14px; font-family: calibri;text-decoration: none;" target="_blank">Советы профессионалов</a></td> | |
142 | + </tr> | |
143 | + </tbody> | |
144 | + </table> | |
145 | + </td> | |
146 | + </tr> | |
147 | + </tbody> | |
148 | + </table> | |
149 | + </td> | |
150 | + </tr> | |
151 | + <!----- end menu--------> | |
152 | + <tr> | |
153 | + <td height="20"> </td> | |
154 | + </tr> | |
155 | + <!------baner1-----> | |
156 | + <tr> | |
157 | + <td align="center" height="154" valign="top"> | |
158 | + <table background="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/bg-1.jpg" border="0" cellpadding="0" cellspacing="0" height="154" width="660"> | |
159 | + </table> | |
160 | + </td> | |
161 | + </tr> | |
162 | + <!------baner1-----> | |
163 | + <tr> | |
164 | + <td height="20"> </td> | |
165 | + </tr> | |
166 | + <!----kvadratki----> | |
167 | + <tr> | |
168 | + <td align="center"> | |
169 | + <table border="0" cellpadding="0" cellspacing="0" width="660"> | |
170 | + <tbody> | |
171 | + <tr> | |
172 | + <td> | |
173 | + <table border="0" cellpadding="0" cellspacing="0" height="155" width="96"> | |
174 | + <tbody> | |
175 | + <tr> | |
176 | + <td valign="top"><a href="http://semena.in.ua/semena_ovoshchey_1c_20/ru" target="_blank"><img height="96" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/f-1.jpg" width="96" /></a></td> | |
177 | + </tr> | |
178 | + <tr> | |
179 | + <td align="center" valign="top"><a href="http://semena.in.ua/semena_ovoshchey_1c_20/ru" style="text-transform: uppercase; color: #54a727; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;" target="_blank">СЕМЕНА<br /> | |
180 | + ОВОЩЕЙ</a></td> | |
181 | + </tr> | |
182 | + </tbody> | |
183 | + </table> | |
184 | + </td> | |
185 | + <td> | |
186 | + <table border="0" cellpadding="0" cellspacing="0" height="155" width="96"> | |
187 | + <tbody> | |
188 | + <tr> | |
189 | + <td valign="top"><a href="http://semena.in.ua/semena_tsvetov_1c_20/ru" target="_blank"><img height="96" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/f-2.jpg" width="96" /></a></td> | |
190 | + </tr> | |
191 | + <tr> | |
192 | + <td align="center" valign="top"><a href="http://semena.in.ua/semena_tsvetov_1c_20/ru" style="text-transform: uppercase; color: #b12a2c; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;" target="_blank">СЕМЕНА<br /> | |
193 | + ЦВЕТОВ</a></td> | |
194 | + </tr> | |
195 | + </tbody> | |
196 | + </table> | |
197 | + </td> | |
198 | + <td> | |
199 | + <table border="0" cellpadding="0" cellspacing="0" height="155" width="96"> | |
200 | + <tbody> | |
201 | + <tr> | |
202 | + <td valign="top"><a href="http://semena.in.ua/udobrenija_i_sredstva_zashchity_1c_20/ru" target="_blank"><img height="96" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/f-3.jpg" width="96" /></a></td> | |
203 | + </tr> | |
204 | + <tr> | |
205 | + <td align="center" valign="top"><a href="http://semena.in.ua/udobrenija_i_sredstva_zashchity_1c_20/ru" style="text-transform: uppercase; color: #f36d01; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;" target="_blank">Удобрения и<br /> | |
206 | + средства<br /> | |
207 | + защиты</a></td> | |
208 | + </tr> | |
209 | + </tbody> | |
210 | + </table> | |
211 | + </td> | |
212 | + <td> | |
213 | + <table border="0" cellpadding="0" cellspacing="0" height="155" width="96"> | |
214 | + <tbody> | |
215 | + <tr> | |
216 | + <td valign="top"><a href="http://semena.in.ua/gazonnye_travy_1c_20/ru" target="_blank"><img height="96" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/f-4.jpg" width="96" /></a></td> | |
217 | + </tr> | |
218 | + <tr> | |
219 | + <td align="center" valign="top"><a href="http://semena.in.ua/gazonnye_travy_1c_20/ru" style="text-transform: uppercase; color: #1a7781; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;" target="_blank">Газонные<br /> | |
220 | + травы</a></td> | |
221 | + </tr> | |
222 | + </tbody> | |
223 | + </table> | |
224 | + </td> | |
225 | + <td> | |
226 | + <table border="0" cellpadding="0" cellspacing="0" height="155" width="96"> | |
227 | + <tbody> | |
228 | + <tr> | |
229 | + <td valign="top"><a href="http://semena.in.ua/biopreparaty_1c_20/ru" target="_blank"><img height="96" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/f-5.jpg" width="96" /></a></td> | |
230 | + </tr> | |
231 | + <tr> | |
232 | + <td align="center" valign="top"><a href="http://semena.in.ua/biopreparaty_1c_20/ru" style="text-transform: uppercase; color: #0aa2dd; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;" target="_blank">Биопрепараты</a></td> | |
233 | + </tr> | |
234 | + </tbody> | |
235 | + </table> | |
236 | + </td> | |
237 | + <td width="96"> | |
238 | + <table border="0" cellpadding="0" cellspacing="0" height="155" width="96"> | |
239 | + <tbody> | |
240 | + <tr> | |
241 | + <td valign="top"><a href="http://semena.in.ua/tovary_dlja_sada_i_ogoroda_1c_20/ru" target="_blank"><img height="96" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/f-6.jpg" width="96" /></a></td> | |
242 | + </tr> | |
243 | + <tr> | |
244 | + <td align="center" valign="top"><a href="http://semena.in.ua/tovary_dlja_sada_i_ogoroda_1c_20/ru" style="text-transform: uppercase; color: #b1873f; font-weight: bold; font-size: 13px; text-decoration: none; font-family: calibri;" target="_blank">Товары<br /> | |
245 | + для сада<br /> | |
246 | + и огорода</a></td> | |
247 | + </tr> | |
248 | + </tbody> | |
249 | + </table> | |
250 | + </td> | |
251 | + </tr> | |
252 | + </tbody> | |
253 | + </table> | |
254 | + </td> | |
255 | + </tr> | |
256 | + <!----kvadratki----> | |
257 | + <tr> | |
258 | + <td align="center"> | |
259 | + <table background="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ferm2.png" border="0" cellpadding="0" cellspacing="0" height="647" style="padding-left: 20px" width="681"> | |
260 | + <tbody> | |
261 | + <tr> | |
262 | + <td align="center"> | |
263 | + <table border="0" cellpadding="0" cellspacing="0"> | |
264 | + <tbody> | |
265 | + <tr> | |
266 | + <td height="5"> </td> | |
267 | + </tr> | |
268 | + <tr> | |
269 | + <td><strong style="color: #333333; font-size: 24px; font-family: calibri;">Здравствуйте, Vitaliy.</strong><br /> | |
270 | + <span style="color: #333333; font-size: 20px; font-weight: normal; font-family: calibri;">Вы прошли регистрацию на сайте<br /> | |
271 | + «Професійне насіння».</span></td> | |
272 | + </tr> | |
273 | + <tr> | |
274 | + <td height="30"> </td> | |
275 | + </tr> | |
276 | + <tr> | |
277 | + <td> | |
278 | + <table border="0" cellpadding="0" cellspacing="0"> | |
279 | + <tbody> | |
280 | + <tr> | |
281 | + <td style="padding-left: 40px; color: #000; font-size: 20px; font-family: calibri; font-weight: normal">Ваш логин:</td> | |
282 | + <td style="padding-left: 5px; color: #000; font-size: 20px; font-family: calibri; font-weight: bold; text-decoration: none;">test@test.com</td> | |
283 | + </tr> | |
284 | + </tbody> | |
285 | + </table> | |
286 | + </td> | |
287 | + </tr> | |
288 | + <tr> | |
289 | + <td height="50"> </td> | |
290 | + </tr> | |
291 | + <tr> | |
292 | + <td><span style="font-size: 20px; color: #333333; font-family: calibri;">Будем рады ответить</span></td> | |
293 | + </tr> | |
294 | + <tr> | |
295 | + <td><span style="font-size: 20px; color: #333333; font-family: calibri;">на ваши вопросы по телефонам:</span></td> | |
296 | + </tr> | |
297 | + <tr> | |
298 | + <td height="20"> </td> | |
299 | + </tr> | |
300 | + <tr> | |
301 | + <td><span style="color: #333333; font-size: 18px; font-weight: bold; font-family: calibri;">(044) 581-67-15</span></td> | |
302 | + </tr> | |
303 | + <tr> | |
304 | + <td><span style="color: #333333; font-size: 18px; font-weight: bold; font-family: calibri;">(044) 451-48-59</span></td> | |
305 | + </tr> | |
306 | + <tr> | |
307 | + <td><span style="color: #333333; font-size: 18px; font-weight: bold; font-family: calibri;">(050) 464-48-59</span></td> | |
308 | + </tr> | |
309 | + <tr> | |
310 | + <td><span style="color: #333333; font-size: 18px; font-weight: bold; font-family: calibri;">(067) 464-48-59</span></td> | |
311 | + </tr> | |
312 | + <tr> | |
313 | + <td height="70"> </td> | |
314 | + </tr> | |
315 | + <tr> | |
316 | + <td style="color: #333333; font-size: 18px; font-family: calibri;">Уточнить информацию и внести изменения можно на сайте в <a href="{{cabinet_key}}" style="color: #00aeef;" target="_blank">личном кабинете.</a></td> | |
317 | + </tr> | |
318 | + <tr> | |
319 | + <td style="color: #333333; font-size: 18px; font-family: calibri;">Если вы забудете пароль, мы его сразу вам вышлем.</td> | |
320 | + </tr> | |
321 | + <tr> | |
322 | + <td style="color: #333333; font-size: 18px; font-family: calibri;">Хорошего вам дня!</td> | |
323 | + </tr> | |
324 | + <tr> | |
325 | + <td height="20"> </td> | |
326 | + </tr> | |
327 | + <tr> | |
328 | + <td style="color: #333333; font-size: 18px; font-family: calibri;">С уважением, команда службы поддержки <a href="http://semena.in.ua/" style="color: #00aeef;" target="_blank">semena.in.ua.</a></td> | |
329 | + </tr> | |
330 | + </tbody> | |
331 | + </table> | |
332 | + </td> | |
333 | + </tr> | |
334 | + </tbody> | |
335 | + </table> | |
336 | + </td> | |
337 | + </tr> | |
338 | + <tr> | |
339 | + <td align="center"> | |
340 | + <table border="0" cellpadding="0" cellspacing="0" height="50" width="660"> | |
341 | + <tbody> | |
342 | + <tr> | |
343 | + <td align="center" valign="middle"><span style="font-weight: bold; font-size: 25px; color: #55a827; font-family: calibri;">Мы приготовили для вас интересные предложения!</span></td> | |
344 | + </tr> | |
345 | + </tbody> | |
346 | + </table> | |
347 | + </td> | |
348 | + </tr> | |
349 | + <!--------stock------> | |
350 | + <tr> | |
351 | + <td align="center"> | |
352 | + <table border="0" cellpadding="0" cellspacing="0" style="background: #fff" width="660"> | |
353 | + <tbody> | |
354 | + <tr> | |
355 | + <td height="15"> </td> | |
356 | + </tr> | |
357 | + <tr> | |
358 | + <td width="132"> | |
359 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
360 | + <tbody> | |
361 | + <tr> | |
362 | + <td align="center"> | |
363 | + <table border="0" cellpadding="0" cellspacing="0" height="120" width="120"> | |
364 | + <tbody> | |
365 | + <tr> | |
366 | + <td align="center"><a href="#" target="_blank"><img alt="" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/akcia-1.jpg" style="max-width: 120px; max-height: 120px;" /></a></td> | |
367 | + </tr> | |
368 | + </tbody> | |
369 | + </table> | |
370 | + </td> | |
371 | + </tr> | |
372 | + <tr> | |
373 | + <td> | |
374 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
375 | + <tbody> | |
376 | + <tr> | |
377 | + <td align="center"><a href="" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;" target="_blank">Чорнобривці розлогі...</a></td> | |
378 | + </tr> | |
379 | + </tbody> | |
380 | + </table> | |
381 | + </td> | |
382 | + </tr> | |
383 | + <tr> | |
384 | + <td> | |
385 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
386 | + <tbody> | |
387 | + <tr> | |
388 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
389 | + </tr> | |
390 | + </tbody> | |
391 | + </table> | |
392 | + </td> | |
393 | + </tr> | |
394 | + <tr> | |
395 | + <td height="10"> </td> | |
396 | + </tr> | |
397 | + <tr> | |
398 | + <td> | |
399 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
400 | + <tbody> | |
401 | + <tr> | |
402 | + <td align="center"> | |
403 | + <table border="0" cellpadding="0" cellspacing="0" height="26" style="border-radius: 4px; background: #4fa32c; " width="80"> | |
404 | + <tbody> | |
405 | + <tr> | |
406 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
407 | + </tr> | |
408 | + </tbody> | |
409 | + </table> | |
410 | + </td> | |
411 | + </tr> | |
412 | + </tbody> | |
413 | + </table> | |
414 | + </td> | |
415 | + </tr> | |
416 | + </tbody> | |
417 | + </table> | |
418 | + </td> | |
419 | + <td width="132"> | |
420 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
421 | + <tbody> | |
422 | + <tr> | |
423 | + <td align="center"> | |
424 | + <table border="0" cellpadding="0" cellspacing="0" height="120" width="120"> | |
425 | + <tbody> | |
426 | + <tr> | |
427 | + <td align="center"><a href="#" target="_blank"><img alt="" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/akcia-2.jpg" style="max-width: 120px; max-height: 120px;" /></a></td> | |
428 | + </tr> | |
429 | + </tbody> | |
430 | + </table> | |
431 | + </td> | |
432 | + </tr> | |
433 | + <tr> | |
434 | + <td> | |
435 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
436 | + <tbody> | |
437 | + <tr> | |
438 | + <td align="center"><a href="#" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;" target="_blank">Чорнобривці розлогі...</a></td> | |
439 | + </tr> | |
440 | + </tbody> | |
441 | + </table> | |
442 | + </td> | |
443 | + </tr> | |
444 | + <tr> | |
445 | + <td> | |
446 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
447 | + <tbody> | |
448 | + <tr> | |
449 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
450 | + </tr> | |
451 | + </tbody> | |
452 | + </table> | |
453 | + </td> | |
454 | + </tr> | |
455 | + <tr> | |
456 | + <td height="10"> </td> | |
457 | + </tr> | |
458 | + <tr> | |
459 | + <td> | |
460 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
461 | + <tbody> | |
462 | + <tr> | |
463 | + <td align="center"> | |
464 | + <table border="0" cellpadding="0" cellspacing="0" height="26" style="border-radius: 4px; background: #4fa32c; " width="80"> | |
465 | + <tbody> | |
466 | + <tr> | |
467 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
468 | + </tr> | |
469 | + </tbody> | |
470 | + </table> | |
471 | + </td> | |
472 | + </tr> | |
473 | + </tbody> | |
474 | + </table> | |
475 | + </td> | |
476 | + </tr> | |
477 | + </tbody> | |
478 | + </table> | |
479 | + </td> | |
480 | + <td width="132"> | |
481 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
482 | + <tbody> | |
483 | + <tr> | |
484 | + <td align="center"> | |
485 | + <table border="0" cellpadding="0" cellspacing="0" height="120" width="120"> | |
486 | + <tbody> | |
487 | + <tr> | |
488 | + <td align="center"><a href="#" target="_blank"><img alt="" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/akcia-3.jpg" style="max-width: 120px; max-height: 120px;" /></a></td> | |
489 | + </tr> | |
490 | + </tbody> | |
491 | + </table> | |
492 | + </td> | |
493 | + </tr> | |
494 | + <tr> | |
495 | + <td> | |
496 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
497 | + <tbody> | |
498 | + <tr> | |
499 | + <td align="center"><a href="#" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;" target="_blank">Чорнобривці розлогі...</a></td> | |
500 | + </tr> | |
501 | + </tbody> | |
502 | + </table> | |
503 | + </td> | |
504 | + </tr> | |
505 | + <tr> | |
506 | + <td> | |
507 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
508 | + <tbody> | |
509 | + <tr> | |
510 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
511 | + </tr> | |
512 | + </tbody> | |
513 | + </table> | |
514 | + </td> | |
515 | + </tr> | |
516 | + <tr> | |
517 | + <td height="10"> </td> | |
518 | + </tr> | |
519 | + <tr> | |
520 | + <td> | |
521 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
522 | + <tbody> | |
523 | + <tr> | |
524 | + <td align="center"> | |
525 | + <table border="0" cellpadding="0" cellspacing="0" height="26" style="border-radius: 4px; background: #4fa32c; " width="80"> | |
526 | + <tbody> | |
527 | + <tr> | |
528 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
529 | + </tr> | |
530 | + </tbody> | |
531 | + </table> | |
532 | + </td> | |
533 | + </tr> | |
534 | + </tbody> | |
535 | + </table> | |
536 | + </td> | |
537 | + </tr> | |
538 | + </tbody> | |
539 | + </table> | |
540 | + </td> | |
541 | + <td width="132"> | |
542 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
543 | + <tbody> | |
544 | + <tr> | |
545 | + <td align="center"> | |
546 | + <table border="0" cellpadding="0" cellspacing="0" height="120" width="120"> | |
547 | + <tbody> | |
548 | + <tr> | |
549 | + <td align="center"><a href="#" target="_blank"><img alt="" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/akcia-4.jpg" style="max-width: 120px; max-height: 120px;" /></a></td> | |
550 | + </tr> | |
551 | + </tbody> | |
552 | + </table> | |
553 | + </td> | |
554 | + </tr> | |
555 | + <tr> | |
556 | + <td> | |
557 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
558 | + <tbody> | |
559 | + <tr> | |
560 | + <td align="center"><a href="" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;" target="_blank">Чорнобривці розлогі...</a></td> | |
561 | + </tr> | |
562 | + </tbody> | |
563 | + </table> | |
564 | + </td> | |
565 | + </tr> | |
566 | + <tr> | |
567 | + <td> | |
568 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
569 | + <tbody> | |
570 | + <tr> | |
571 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
572 | + </tr> | |
573 | + </tbody> | |
574 | + </table> | |
575 | + </td> | |
576 | + </tr> | |
577 | + <tr> | |
578 | + <td height="10"> </td> | |
579 | + </tr> | |
580 | + <tr> | |
581 | + <td> | |
582 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
583 | + <tbody> | |
584 | + <tr> | |
585 | + <td align="center"> | |
586 | + <table border="0" cellpadding="0" cellspacing="0" height="26" style="border-radius: 4px; background: #4fa32c; " width="80"> | |
587 | + <tbody> | |
588 | + <tr> | |
589 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
590 | + </tr> | |
591 | + </tbody> | |
592 | + </table> | |
593 | + </td> | |
594 | + </tr> | |
595 | + </tbody> | |
596 | + </table> | |
597 | + </td> | |
598 | + </tr> | |
599 | + </tbody> | |
600 | + </table> | |
601 | + </td> | |
602 | + <td width="132"> | |
603 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
604 | + <tbody> | |
605 | + <tr> | |
606 | + <td align="center"> | |
607 | + <table border="0" cellpadding="0" cellspacing="0" height="120" width="120"> | |
608 | + <tbody> | |
609 | + <tr> | |
610 | + <td align="center"><a href="#" target="_blank"><img alt="" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/akcia-5.jpg" style="max-width: 120px; max-height: 120px;" /></a></td> | |
611 | + </tr> | |
612 | + </tbody> | |
613 | + </table> | |
614 | + </td> | |
615 | + </tr> | |
616 | + <tr> | |
617 | + <td> | |
618 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
619 | + <tbody> | |
620 | + <tr> | |
621 | + <td align="center"><a href="" style="color: #4a4a4a; font-size: 14px; font-family: tahoma; text-decoration: none;" target="_blank">Чорнобривці розлогі...</a></td> | |
622 | + </tr> | |
623 | + </tbody> | |
624 | + </table> | |
625 | + </td> | |
626 | + </tr> | |
627 | + <tr> | |
628 | + <td> | |
629 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
630 | + <tbody> | |
631 | + <tr> | |
632 | + <td align="center" style="color: #f58025; font-size: 13px; font-family: tahoma;">ціна від <span style="color: #f58025; font-size: 20px; font-family: tahoma;">2.8</span> грн</td> | |
633 | + </tr> | |
634 | + </tbody> | |
635 | + </table> | |
636 | + </td> | |
637 | + </tr> | |
638 | + <tr> | |
639 | + <td height="10"> </td> | |
640 | + </tr> | |
641 | + <tr> | |
642 | + <td> | |
643 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
644 | + <tbody> | |
645 | + <tr> | |
646 | + <td align="center"> | |
647 | + <table border="0" cellpadding="0" cellspacing="0" height="26" style="border-radius: 4px; background: #4fa32c; " width="80"> | |
648 | + <tbody> | |
649 | + <tr> | |
650 | + <td align="center"><a href="#" style="color: #fff; text-decoration: none;font-size: 13px; font-family: tahoma;">подробнее</a></td> | |
651 | + </tr> | |
652 | + </tbody> | |
653 | + </table> | |
654 | + </td> | |
655 | + </tr> | |
656 | + </tbody> | |
657 | + </table> | |
658 | + </td> | |
659 | + </tr> | |
660 | + </tbody> | |
661 | + </table> | |
662 | + </td> | |
663 | + </tr> | |
664 | + </tbody> | |
665 | + </table> | |
666 | + </td> | |
667 | + </tr> | |
668 | + <!--------end stock------><!-----baner1-----> | |
669 | + <tr> | |
670 | + <td align="center"> | |
671 | + <table background="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/baner-1.jpg" border="0" cellpadding="0" cellspacing="0" height="176" width="660"> | |
672 | + </table> | |
673 | + </td> | |
674 | + </tr> | |
675 | + <!-----end baner1-----><!-----baner2-----> | |
676 | + <tr> | |
677 | + <td align="center"> | |
678 | + <table background="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/baner-2.jpg" border="0" cellpadding="0" cellspacing="0" height="344" width="660"> | |
679 | + </table> | |
680 | + </td> | |
681 | + </tr> | |
682 | + <!-----end baner2-----> | |
683 | + </tbody> | |
684 | + </table> | |
685 | + </td> | |
686 | + </tr> | |
687 | + <tr> | |
688 | + <td> | |
689 | + <table background="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/pattern.png" border="0" cellpadding="0" cellspacing="0" height="239" width="100%"> | |
690 | + <tbody> | |
691 | + <tr> | |
692 | + <td align="center"> | |
693 | + <table border="0" cellpadding="0" cellspacing="0" width="660"> | |
694 | + <tbody> | |
695 | + <tr> | |
696 | + <td align="center" valign="top"> | |
697 | + <table border="0" cellpadding="0" cellspacing="0" height="70" width="660"> | |
698 | + <tbody> | |
699 | + <tr> | |
700 | + <td align="center" height="80" style="font-size: 30px; color: #444444; font-family: calibri;font-weight: bold;" valign="middle">Наши преимущества</td> | |
701 | + </tr> | |
702 | + </tbody> | |
703 | + </table> | |
704 | + </td> | |
705 | + </tr> | |
706 | + <tr> | |
707 | + <td> | |
708 | + <table border="0" cellpadding="0" cellspacing="0" height="160" width="660"> | |
709 | + <tbody> | |
710 | + <tr> | |
711 | + <td align="center" valign="top"> | |
712 | + <table border="0" cellpadding="0" cellspacing="0" width="140"> | |
713 | + <tbody> | |
714 | + <tr> | |
715 | + <td align="center"><img height="80" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ic-1.jpg" width="80" /></td> | |
716 | + </tr> | |
717 | + <tr> | |
718 | + <td align="center" style="font-size: 15px; color: #444444; font-weight: bold; font-family: calibri">Сертифицированный<br /> | |
719 | + товар</td> | |
720 | + </tr> | |
721 | + </tbody> | |
722 | + </table> | |
723 | + </td> | |
724 | + <td align="center" valign="top"> | |
725 | + <table border="0" cellpadding="0" cellspacing="0" width="129"> | |
726 | + <tbody> | |
727 | + <tr> | |
728 | + <td align="center"><img height="80" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ic-2.jpg" width="80" /></td> | |
729 | + </tr> | |
730 | + <tr> | |
731 | + <td align="center" style="font-size: 15px; color: #444444; font-weight: bold; font-family: calibri">Европейские<br /> | |
732 | + бренды</td> | |
733 | + </tr> | |
734 | + </tbody> | |
735 | + </table> | |
736 | + </td> | |
737 | + <td align="center" valign="top"> | |
738 | + <table border="0" cellpadding="0" cellspacing="0" width="129"> | |
739 | + <tbody> | |
740 | + <tr> | |
741 | + <td align="center"><img height="80" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ic-3.jpg" width="80" /></td> | |
742 | + </tr> | |
743 | + <tr> | |
744 | + <td align="center" style="font-size: 15px; color: #444444; font-weight: bold; font-family: calibri">100%<br /> | |
745 | + всхожести</td> | |
746 | + </tr> | |
747 | + </tbody> | |
748 | + </table> | |
749 | + </td> | |
750 | + <td align="center" valign="top"> | |
751 | + <table border="0" cellpadding="0" cellspacing="0" width="132"> | |
752 | + <tbody> | |
753 | + <tr> | |
754 | + <td align="center"><img height="80" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ic-4.jpg" width="80" /></td> | |
755 | + </tr> | |
756 | + <tr> | |
757 | + <td align="center" style="font-size: 15px; color: #444444; font-weight: bold; font-family: calibri">Доставка курьером<br /> | |
758 | + на следующий<br /> | |
759 | + день</td> | |
760 | + </tr> | |
761 | + </tbody> | |
762 | + </table> | |
763 | + </td> | |
764 | + <td align="center" valign="top"> | |
765 | + <table border="0" cellpadding="0" cellspacing="0" width="130"> | |
766 | + <tbody> | |
767 | + <tr> | |
768 | + <td align="center"><img height="80" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ic-5.jpg" width="80" /></td> | |
769 | + </tr> | |
770 | + <tr> | |
771 | + <td align="center" style="font-size: 15px; color: #444444; font-weight: bold; font-family: calibri">Консультации<br /> | |
772 | + профессионалов</td> | |
773 | + </tr> | |
774 | + </tbody> | |
775 | + </table> | |
776 | + </td> | |
777 | + </tr> | |
778 | + </tbody> | |
779 | + </table> | |
780 | + </td> | |
781 | + </tr> | |
782 | + </tbody> | |
783 | + </table> | |
784 | + </td> | |
785 | + </tr> | |
786 | + </tbody> | |
787 | + </table> | |
788 | + </td> | |
789 | + </tr> | |
790 | + <!--------footer-------> | |
791 | + <tr> | |
792 | + <td> | |
793 | + <table background="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/bg-2.jpg" border="0" cellpadding="0" cellspacing="0" height="236" width="100%"> | |
794 | + <tbody> | |
795 | + <tr> | |
796 | + <td align="center"> | |
797 | + <table border="0" cellpadding="0" cellspacing="0" width="660"> | |
798 | + <tbody> | |
799 | + <tr> | |
800 | + <td> | |
801 | + <table border="0" cellpadding="0" cellspacing="0" height="236"> | |
802 | + <tbody> | |
803 | + <tr> | |
804 | + <td height="90"><a href="http://semena.in.ua/"><img alt="semena.in.ua" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/logo2.png" /></a></td> | |
805 | + </tr> | |
806 | + <tr> | |
807 | + <td height="60" style="color: #4a4a4a; font-size: 15px; font-family: calibri; font-weight: normal;" valign="top">Адрес центрального офиса:<br /> | |
808 | + <span style="font-weight: bold;">Киев, ул. Садовая, 95</span></td> | |
809 | + </tr> | |
810 | + </tbody> | |
811 | + </table> | |
812 | + </td> | |
813 | + <td align="center"> | |
814 | + <table border="0" cellpadding="0" cellspacing="0"> | |
815 | + <tbody> | |
816 | + <tr> | |
817 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-1.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">581-67-15</span></span></td> | |
818 | + </tr> | |
819 | + <tr> | |
820 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-1.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(044) <span style="font-size: 20px; font-weight: bold;">451-48-59</span></span></td> | |
821 | + </tr> | |
822 | + <tr> | |
823 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-2.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(050) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
824 | + </tr> | |
825 | + <tr> | |
826 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-3.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(067) <span style="font-size: 20px; font-weight: bold;">464-48-59</span></span></td> | |
827 | + </tr> | |
828 | + <tr> | |
829 | + <td width="168"><img src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/ico-4.png" style="vertical-align: middle; " /><span style="margin-left: 5px; font-size: 18px; font-family: calibri; color: #4a4a4a;">(093) <span style="font-size: 20px; font-weight: bold;">026-86-64</span></span></td> | |
830 | + </tr> | |
831 | + </tbody> | |
832 | + </table> | |
833 | + </td> | |
834 | + <td align="right"> | |
835 | + <table border="0" cellpadding="0" cellspacing="0"> | |
836 | + <tbody> | |
837 | + <tr> | |
838 | + <td> | |
839 | + <table border="0" cellpadding="0" cellspacing="0" style="text-align: right" width="168"> | |
840 | + <tbody> | |
841 | + <tr> | |
842 | + <td><a href="https://www.facebook.com/Professionalseeds" target="_blank"><img alt="" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/fb.png" /></a></td> | |
843 | + <td><a href="https://www.youtube.com/channel/UCMnG-NxtoprcTxKcPouwWdQ" target="_blank"><img alt="" src="http://storage.seo.dev.artwebua.com.ua/temp/3/b/3/3/3b33628222cdcadb52097497aab29b72/youtube.png" /></a></td> | |
844 | + </tr> | |
845 | + </tbody> | |
846 | + </table> | |
847 | + </td> | |
848 | + </tr> | |
849 | + <tr> | |
850 | + <td height="10"> </td> | |
851 | + </tr> | |
852 | + <tr> | |
853 | + <td align="right"> | |
854 | + <table border="0" cellpadding="0" cellspacing="0" height="26" width="148"> | |
855 | + <tbody> | |
856 | + <tr> | |
857 | + <td style="border: 1px solid #67b73e; text-align: center; border-radius: 3px;"><a href="{{email_cancel}}" style=" color: #333333; font-size: 13px; font-family: calibri; text-decoration: none;">отписаться от рассылки</a></td> | |
858 | + </tr> | |
859 | + </tbody> | |
860 | + </table> | |
861 | + </td> | |
862 | + </tr> | |
863 | + <tr> | |
864 | + <td height="10"> </td> | |
865 | + </tr> | |
866 | + <tr> | |
867 | + <td align="right"> | |
868 | + <table border="0" cellpadding="0" cellspacing="0" height="26" width="148"> | |
869 | + <tbody> | |
870 | + <tr> | |
871 | + <td style=" border: 1px solid #67b73e; text-align: center ;border-radius: 3px; background: #67b73e;"><a href="{{email_settings}}" style=" color: #fff; font-size: 13px; font-family: calibri; text-decoration: none;">Настроить рассылку</a></td> | |
872 | + </tr> | |
873 | + </tbody> | |
874 | + </table> | |
875 | + </td> | |
876 | + </tr> | |
877 | + </tbody> | |
878 | + </table> | |
879 | + </td> | |
880 | + </tr> | |
881 | + </tbody> | |
882 | + </table> | |
883 | + </td> | |
884 | + </tr> | |
885 | + </tbody> | |
886 | + </table> | |
887 | + </td> | |
888 | + </tr> | |
889 | + <!------end--footer-------> | |
890 | + <tr> | |
891 | + <td> | |
892 | + <table border="0" cellpadding="0" cellspacing="0" height="30" style="background: #fff;" width="100%"> | |
893 | + <tbody> | |
894 | + <tr> | |
895 | + <td align="center" style="color: #333333; font-size: 13px; font-family: calibri; font-style: italic; line-height: 30px">Вы получили это письмо, потому что зарегистрированы на сайте <a href="http://semena.in.ua/" style="color: #3c3b3b;">semena.in.ua</a></td> | |
896 | + </tr> | |
897 | + </tbody> | |
898 | + </table> | |
899 | + </td> | |
900 | + </tr> | |
901 | + </tbody> | |
902 | +</table> | ... | ... |
1 | +<?php | |
2 | + | |
3 | +class EventAdderTest extends \Codeception\TestCase\Test | |
4 | +{ | |
5 | + /** | |
6 | + * @var \UnitTester | |
7 | + */ | |
8 | + protected $tester; | |
9 | + | |
10 | + protected function _before() | |
11 | + { | |
12 | + } | |
13 | + | |
14 | + protected function _after() | |
15 | + { | |
16 | + | |
17 | + } | |
18 | + | |
19 | + public function testPostData(){ | |
20 | + $post = array | |
21 | + ( | |
22 | + "email" => 'mywork1@bigmir.net', | |
23 | + "name" => 'fdgfg', | |
24 | + "params" =>'email=mywork1@bigmir.net', | |
25 | + "expires" => 30, | |
26 | + "event_type" => 'add_subscribe', | |
27 | + "time" => 0, | |
28 | + "timer_start" => true, | |
29 | + "active_item_id" => 'undefined', | |
30 | + "old_quantity" => 'undefined', | |
31 | + "error" => false, | |
32 | + "interval" => 28593, | |
33 | + "project_id" => 38, | |
34 | + "project_name" => 'Семена', | |
35 | + ); | |
36 | + | |
37 | + $EventAdder = new \MyMailer\EventAdder(); | |
38 | + | |
39 | + $EventAdder->insertPost($post); | |
40 | + | |
41 | + $EventAdder->callEventFactory(); | |
42 | + } | |
43 | + | |
44 | +} | ... | ... |
www-backend/index.php
... | ... | @@ -817,9 +817,17 @@ try |
817 | 817 | |
818 | 818 | // session |
819 | 819 | |
820 | - $di->set('session', function() { | |
821 | - $session = new Phalcon\Session\Adapter\Files(); | |
820 | + $di->set('session', function() use ($di){ | |
821 | + // Create a connection | |
822 | + $connection = $di->get('db'); | |
823 | + | |
824 | + $session = new \Database(array( | |
825 | + 'db' => $connection, | |
826 | + 'table' => 'session_data' | |
827 | + )); | |
828 | + | |
822 | 829 | $session->start(); |
830 | + | |
823 | 831 | return $session; |
824 | 832 | }, true ); |
825 | 833 | ... | ... |
www-tasks/index.php
... | ... | @@ -164,11 +164,20 @@ try |
164 | 164 | { |
165 | 165 | return new \rds(); |
166 | 166 | }, true ); |
167 | + | |
167 | 168 | // session |
168 | 169 | |
169 | - $di->set('session', function() { | |
170 | - $session = new Phalcon\Session\Adapter\Files(); | |
170 | + $di->set('session', function() use ($di){ | |
171 | + // Create a connection | |
172 | + $connection = $di->get('db'); | |
173 | + | |
174 | + $session = new \Database(array( | |
175 | + 'db' => $connection, | |
176 | + 'table' => 'session_data' | |
177 | + )); | |
178 | + | |
171 | 179 | $session->start(); |
180 | + | |
172 | 181 | return $session; |
173 | 182 | }, true ); |
174 | 183 | //exelphp | ... | ... |
www/index.php
... | ... | @@ -983,11 +983,20 @@ try |
983 | 983 | return new \rds(); |
984 | 984 | }, true ); |
985 | 985 | |
986 | + | |
986 | 987 | // session |
987 | 988 | |
988 | - $di->set('session', function() { | |
989 | - $session = new Phalcon\Session\Adapter\Files(); | |
989 | + $di->set('session', function() use ($di){ | |
990 | + // Create a connection | |
991 | + $connection = $di->get('db'); | |
992 | + | |
993 | + $session = new \Database(array( | |
994 | + 'db' => $connection, | |
995 | + 'table' => 'session_data' | |
996 | + )); | |
997 | + | |
990 | 998 | $session->start(); |
999 | + | |
991 | 1000 | return $session; |
992 | 1001 | }, true ); |
993 | 1002 | ... | ... |