Ecwid Ecommerce Shopping Cart - Version 2.8

Version Description

  • Integration with the XML sitemap functionality of Yoast and All in One SEO Pack plugins. Ecwid has been integrated with Google XML Sitemaps plugin allowing you to generate a sitemap containing the links to your products and categories. Now, the sitemaps generated by Yoast SEO and All in One SEO plugins will also include store pages, if you're on a paid Ecwid plan.
  • Improved design of Ecwid sidebar controls in the Appearance/Widgets page in Wordpress backend. Store sidebar widgets controls are now more noticeable and responsive.
  • Improved compatibility with the Cloudflare's Rocketloader. Rocket loader tool sometimes blocked Ecwid scripts from loading. We added another improvements to prevent such issues.
  • Fixes and improvements of the meta title tag generation on product and categories pages.
  • A few minor fixes and adjustments.
Download this release

Release Info

Developer Ecwid
Plugin Icon 128x128 Ecwid Ecommerce Shopping Cart
Version 2.8
Comparing to
See all releases

Code changes from version 2.7.4.1 to 2.8

css/admin.3.8.css CHANGED
@@ -1,20 +1,6 @@
1
- @font-face {
2
- font-family: 'ecwid-icons';
3
- src: url('../fonts/ecwid-icons.eot');
4
- }
5
-
6
-
7
- @font-face {
8
- font-family: 'ecwid-icons';
9
- src: url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'),
10
- url(data:application/font-woff;charset=utf-8;base64,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) format('woff');
11
- font-weight: normal;
12
- font-style: normal;
13
- }
14
-
15
  #adminmenu #toplevel_page_ecwid div.wp-menu-image:before {
16
  font-family: 'ecwid-icons' !important;
17
- content: 'E';
18
  -webkit-font-smoothing: antialiased;
19
  -moz-osx-font-smoothing: grayscale;
20
  }
@@ -37,7 +23,7 @@
37
  }
38
 
39
  #wpadminbar #wp-admin-bar-ecwid-main .ab-icon.ecwid-top-menu-item:before {
40
- content: 'E';
41
  width: auto;
42
  margin-right: 0px;
43
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  #adminmenu #toplevel_page_ecwid div.wp-menu-image:before {
2
  font-family: 'ecwid-icons' !important;
3
+ content: "\e602";
4
  -webkit-font-smoothing: antialiased;
5
  -moz-osx-font-smoothing: grayscale;
6
  }
23
  }
24
 
25
  #wpadminbar #wp-admin-bar-ecwid-main .ab-icon.ecwid-top-menu-item:before {
26
+ content: "\e602";
27
  width: auto;
28
  margin-right: 0px;
29
  }
css/admin.css CHANGED
@@ -122,7 +122,7 @@ div.ecwid-message {
122
  }
123
 
124
  .ecwid-message .ecwid-message-hide:before {
125
- content: "X";
126
  font-family: ecwid-icons;
127
  font-size: 26px;
128
  position: relative;
@@ -145,4 +145,94 @@ div.ecwid-message {
145
 
146
  .ecwid-message.dev .ecwid-message-hide {
147
  letter-spacing: -0.22px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  }
122
  }
123
 
124
  .ecwid-message .ecwid-message-hide:before {
125
+ content: "\e605";
126
  font-family: ecwid-icons;
127
  font-size: 26px;
128
  position: relative;
145
 
146
  .ecwid-message.dev .ecwid-message-hide {
147
  letter-spacing: -0.22px;
148
+ }
149
+
150
+ .widget-top.ecwid-widget-highlighted {
151
+ background: #1d7ac4;
152
+ color: white;
153
+ }
154
+
155
+ .ecwid-widget .widget-top h4 {
156
+ padding-left: 42px;
157
+ }
158
+
159
+ .ecwid-widget .widget-top h4:before {
160
+ font-size: 20px;
161
+ position: absolute;
162
+ top: 12px;
163
+ left: 16px;
164
+ margin-right: -4px;
165
+ line-height: 10px;
166
+ font-family: 'ecwid-icons';
167
+ speak: none;
168
+ font-style: normal;
169
+ font-weight: normal;
170
+ font-variant: normal;
171
+ text-transform: none;
172
+ line-height: 1;
173
+
174
+ /* Better Font Rendering =========== */
175
+ -webkit-font-smoothing: antialiased;
176
+ -moz-osx-font-smoothing: grayscale;
177
+
178
+ color: #1d7ac4;
179
+ opacity: .5;
180
+ }
181
+ .ecwid-widget .widget-top:hover h4:before {
182
+ opacity: 1;
183
+ }
184
+
185
+ .ecwid-widget .widget-top.ecwid-widget-highlighted h4:before {
186
+ color: white;
187
+ opacity: 1;
188
+ }
189
+
190
+ @font-face {
191
+ font-family: 'ecwid-icons';
192
+ src:url('../fonts/ecwid-icons.eot?-b8sbws');
193
+ src:url('../fonts/ecwid-icons.eot?#iefix-b8sbws') format('embedded-opentype'),
194
+ url('../fonts/ecwid-icons.woff?-b8sbws') format('woff'),
195
+ url('../fonts/ecwid-icons.ttf?-b8sbws') format('truetype'),
196
+ url('../fonts/ecwid-icons.svg?-b8sbws#ecwid-icons') format('svg');
197
+ font-weight: normal;
198
+ font-style: normal;
199
+ }
200
+
201
+ [class^="icon-"], [class*=" icon-"] {
202
+ font-family: 'ecwid-icons';
203
+ speak: none;
204
+ font-style: normal;
205
+ font-weight: normal;
206
+ font-variant: normal;
207
+ text-transform: none;
208
+ line-height: 1;
209
+
210
+ /* Better Font Rendering =========== */
211
+ -webkit-font-smoothing: antialiased;
212
+ -moz-osx-font-smoothing: grayscale;
213
+ }
214
+
215
+ .widget-top.ecwid-widget-badge h4:before {
216
+ content: "\e602";;
217
+ }
218
+
219
+ .widget-top.ecwid-widget-minicart h4:before,
220
+ .widget-top.ecwid-widget-minicart_miniview h4:before {
221
+ content: "\e600";
222
+ }
223
+
224
+ .widget-top.ecwid-widget-vcategories h4:before {
225
+ content: "\e601";
226
+ }
227
+
228
+ .widget-top.ecwid-widget-categories h4:before {
229
+ content: "\e601";
230
+ }
231
+
232
+ .widget-top.ecwid-widget-search h4:before {
233
+ content: "\e603";
234
+ }
235
+
236
+ .widget-top.ecwid-widget-storelink h4:before {
237
+ content: "\e604";
238
  }
css/frontend.css CHANGED
@@ -1,9 +1,9 @@
1
- html#ecwid_html body#ecwid_body div#mini-cart-attached-to-categories.ecwid-cart-narrow-screen, div.ecwid-categories-horizontal.ecwid-categories-narrow-screen {
2
- display: none;
3
- }
4
-
5
- html#ecwid_html body#ecwid_body .ecwid.ecwid-SingleProduct a ,
6
- .ecwid-SingleProduct a div.ecwid-title {
7
- text-decoration: none;
8
- color: #000000;
9
  }
1
+ html#ecwid_html body#ecwid_body div#mini-cart-attached-to-categories.ecwid-cart-narrow-screen, div.ecwid-categories-horizontal.ecwid-categories-narrow-screen {
2
+ display: none;
3
+ }
4
+
5
+ html#ecwid_html body#ecwid_body .ecwid.ecwid-SingleProduct a ,
6
+ .ecwid-SingleProduct a div.ecwid-title {
7
+ text-decoration: none;
8
+ color: #000000;
9
  }
css/pure-min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- Pure v0.3.0
3
- Copyright 2013 Yahoo! Inc. All rights reserved.
4
- Licensed under the BSD License.
5
- https://github.com/yui/pure/blob/master/LICENSE.md
6
- */
7
- /*!
8
- normalize.css v1.1.2 | MIT License | git.io/normalize
9
- Copyright (c) Nicolas Gallagher and Jonathan Neal
10
- */
11
  /*! normalize.css v1.1.2 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.pure-button{display:inline-block;*display:inline;zoom:1;line-height:normal;white-space:nowrap;vertical-align:baseline;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-size:100%;*font-size:90%;*overflow:visible;padding:.5em 1.5em;color:#444;color:rgba(0,0,0,.8);*color:#444;border:1px solid #999;border:0 rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px;-webkit-transition:.1s linear -webkit-box-shadow;-moz-transition:.1s linear -moz-box-shadow;-ms-transition:.1s linear box-shadow;-o-transition:.1s linear box-shadow;transition:.1s linear box-shadow}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-ms-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;font-size:.8em;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-transition:.3s linear border;-moz-transition:.3s linear border;-ms-transition:.3s linear border;-o-transition:.3s linear border;transition:.3s linear border;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;outline:thin dotted \9;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin dotted #333;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{color:#b94a48;border:1px solid #ee5f5b}.pure-form input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form select:focus:invalid:focus{border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em;font-size:90%}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;font-size:125%;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 10em}.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input{display:block;padding:10px;margin:0;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus{z-index:2}.pure-form .pure-group input:first-child{top:1px;border-radius:4px 4px 0 0}.pure-form .pure-group input:last-child{top:-2px;border-radius:0 0 4px 4px}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:90%}.pure-form-message{display:block;color:#666;font-size:90%}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:80%;padding:.2em 0 .8em}}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-5-24,.pure-u-7-24,.pure-u-11-24,.pure-u-13-24,.pure-u-17-24,.pure-u-19-24,.pure-u-23-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1{width:100%}.pure-u-1-2{width:50%;*width:49.969%}.pure-u-1-3{width:33.3333%;*width:33.3023%}.pure-u-2-3{width:66.6667%;*width:66.6357%}.pure-u-1-4{width:25%;*width:24.969%}.pure-u-3-4{width:75%;*width:74.969%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-1-6{width:16.6667%;*width:16.6357%}.pure-u-5-6{width:83.3333%;*width:83.3023%}.pure-u-1-8{width:12.5%;*width:12.469%}.pure-u-3-8{width:37.5%;*width:37.469%}.pure-u-5-8{width:62.5%;*width:62.469%}.pure-u-7-8{width:87.5%;*width:87.469%}.pure-u-1-12{width:8.3333%;*width:8.3023%}.pure-u-5-12{width:41.6667%;*width:41.6357%}.pure-u-7-12{width:58.3333%;*width:58.3023%}.pure-u-11-12{width:91.6667%;*width:91.6357%}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-g-r{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g-r{word-spacing:-.43em}.pure-g-r [class *="pure-u"]{font-family:sans-serif}.pure-g-r img{max-width:100%;height:auto}@media (min-width:980px){.pure-visible-phone{display:none}.pure-visible-tablet{display:none}.pure-hidden-desktop{display:none}}@media (max-width:480px){.pure-g-r>.pure-u,.pure-g-r>[class *="pure-u-"]{width:100%}}@media (max-width:767px){.pure-g-r>.pure-u,.pure-g-r>[class *="pure-u-"]{width:100%}.pure-hidden-phone{display:none}.pure-visible-desktop{display:none}}@media (min-width:768px) and (max-width:979px){.pure-hidden-tablet{display:none}.pure-visible-desktop{display:none}}.pure-menu ul{position:absolute;visibility:hidden}.pure-menu.pure-menu-open{visibility:visible;z-index:2;width:100%}.pure-menu ul{left:-10000px;list-style:none;margin:0;padding:0;top:-10000px;z-index:1}.pure-menu>ul{position:relative}.pure-menu-open>ul{left:0;top:0;visibility:visible}.pure-menu-open>ul:focus{outline:0}.pure-menu li{position:relative}.pure-menu a,.pure-menu .pure-menu-heading{display:block;color:inherit;line-height:1.5em;padding:5px 20px;text-decoration:none;white-space:nowrap}.pure-menu.pure-menu-horizontal>.pure-menu-heading{display:inline-block;*display:inline;zoom:1;margin:0;vertical-align:middle}.pure-menu.pure-menu-horizontal>ul{display:inline-block;*display:inline;zoom:1;vertical-align:middle;height:2.4em}.pure-menu li a{padding:5px 20px}.pure-menu-can-have-children>.pure-menu-label:after{content:'\25B8';float:right;font-family:'Lucida Grande','Lucida Sans Unicode','DejaVu Sans',sans-serif;margin-right:-20px;margin-top:-1px}.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-separator{background-color:#dfdfdf;display:block;height:1px;font-size:0;margin:7px 2px;overflow:hidden}.pure-menu-hidden{display:none}.pure-menu-fixed{position:fixed;top:0;left:0;width:100%}.pure-menu-horizontal li{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-horizontal li li{display:block}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label:after{content:"\25BE"}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-horizontal li.pure-menu-separator{height:50%;width:1px;margin:0 7px}.pure-menu-horizontal li li.pure-menu-separator{height:1px;width:auto;margin:7px 2px}.pure-menu.pure-menu-open,.pure-menu.pure-menu-horizontal li .pure-menu-children{background:#fff;border:1px solid #b7b7b7}.pure-menu.pure-menu-horizontal,.pure-menu.pure-menu-horizontal .pure-menu-heading{border:0}.pure-menu a{border:1px solid transparent;border-left:0;border-right:0}.pure-menu a,.pure-menu .pure-menu-can-have-children>li:after{color:#777}.pure-menu .pure-menu-can-have-children>li:hover:after{color:#fff}.pure-menu .pure-menu-open{background:#dedede}.pure-menu li a:hover,.pure-menu li a:focus{background:#eee}.pure-menu li.pure-menu-disabled a:hover,.pure-menu li.pure-menu-disabled a:focus{background:#fff;color:#bfbfbf}.pure-menu .pure-menu-disabled>a{background-image:none;border-color:transparent;cursor:default}.pure-menu .pure-menu-disabled>a,.pure-menu .pure-menu-can-have-children.pure-menu-disabled>a:after{color:#bfbfbf}.pure-menu .pure-menu-heading{color:#565d64;text-transform:uppercase;font-size:90%;margin-top:.5em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#dfdfdf}.pure-menu .pure-menu-selected a{color:#000}.pure-menu.pure-menu-open.pure-menu-fixed{border:0;border-bottom:1px solid #b7b7b7}.pure-paginator{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;list-style:none;margin:0;padding:0}.opera-only :-o-prefocus,.pure-paginator{word-spacing:-.43em}.pure-paginator li{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-paginator .pure-button{border-radius:0;padding:.8em 1.4em;vertical-align:top;height:1.1em}.pure-paginator .pure-button:focus,.pure-paginator .pure-button:active{outline-style:none}.pure-paginator .prev,.pure-paginator .next{color:#C0C1C3;text-shadow:0 -1px 0 rgba(0,0,0,.45)}.pure-paginator .prev{border-radius:2px 0 0 2px}.pure-paginator .next{border-radius:0 2px 2px 0}@media (max-width:480px){.pure-menu-horizontal{width:100%}.pure-menu-children li{display:block;border-bottom:1px solid #000}}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:6px 12px}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child td,.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}
1
+ /*!
2
+ Pure v0.3.0
3
+ Copyright 2013 Yahoo! Inc. All rights reserved.
4
+ Licensed under the BSD License.
5
+ https://github.com/yui/pure/blob/master/LICENSE.md
6
+ */
7
+ /*!
8
+ normalize.css v1.1.2 | MIT License | git.io/normalize
9
+ Copyright (c) Nicolas Gallagher and Jonathan Neal
10
+ */
11
  /*! normalize.css v1.1.2 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.pure-button{display:inline-block;*display:inline;zoom:1;line-height:normal;white-space:nowrap;vertical-align:baseline;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-size:100%;*font-size:90%;*overflow:visible;padding:.5em 1.5em;color:#444;color:rgba(0,0,0,.8);*color:#444;border:1px solid #999;border:0 rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px;-webkit-transition:.1s linear -webkit-box-shadow;-moz-transition:.1s linear -moz-box-shadow;-ms-transition:.1s linear box-shadow;-o-transition:.1s linear box-shadow;transition:.1s linear box-shadow}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-ms-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;font-size:.8em;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-transition:.3s linear border;-moz-transition:.3s linear border;-ms-transition:.3s linear border;-o-transition:.3s linear border;transition:.3s linear border;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;outline:thin dotted \9;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin dotted #333;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{color:#b94a48;border:1px solid #ee5f5b}.pure-form input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form select:focus:invalid:focus{border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em;font-size:90%}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;font-size:125%;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 10em}.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input{display:block;padding:10px;margin:0;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus{z-index:2}.pure-form .pure-group input:first-child{top:1px;border-radius:4px 4px 0 0}.pure-form .pure-group input:last-child{top:-2px;border-radius:0 0 4px 4px}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:90%}.pure-form-message{display:block;color:#666;font-size:90%}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:80%;padding:.2em 0 .8em}}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-5-24,.pure-u-7-24,.pure-u-11-24,.pure-u-13-24,.pure-u-17-24,.pure-u-19-24,.pure-u-23-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1{width:100%}.pure-u-1-2{width:50%;*width:49.969%}.pure-u-1-3{width:33.3333%;*width:33.3023%}.pure-u-2-3{width:66.6667%;*width:66.6357%}.pure-u-1-4{width:25%;*width:24.969%}.pure-u-3-4{width:75%;*width:74.969%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-1-6{width:16.6667%;*width:16.6357%}.pure-u-5-6{width:83.3333%;*width:83.3023%}.pure-u-1-8{width:12.5%;*width:12.469%}.pure-u-3-8{width:37.5%;*width:37.469%}.pure-u-5-8{width:62.5%;*width:62.469%}.pure-u-7-8{width:87.5%;*width:87.469%}.pure-u-1-12{width:8.3333%;*width:8.3023%}.pure-u-5-12{width:41.6667%;*width:41.6357%}.pure-u-7-12{width:58.3333%;*width:58.3023%}.pure-u-11-12{width:91.6667%;*width:91.6357%}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-g-r{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g-r{word-spacing:-.43em}.pure-g-r [class *="pure-u"]{font-family:sans-serif}.pure-g-r img{max-width:100%;height:auto}@media (min-width:980px){.pure-visible-phone{display:none}.pure-visible-tablet{display:none}.pure-hidden-desktop{display:none}}@media (max-width:480px){.pure-g-r>.pure-u,.pure-g-r>[class *="pure-u-"]{width:100%}}@media (max-width:767px){.pure-g-r>.pure-u,.pure-g-r>[class *="pure-u-"]{width:100%}.pure-hidden-phone{display:none}.pure-visible-desktop{display:none}}@media (min-width:768px) and (max-width:979px){.pure-hidden-tablet{display:none}.pure-visible-desktop{display:none}}.pure-menu ul{position:absolute;visibility:hidden}.pure-menu.pure-menu-open{visibility:visible;z-index:2;width:100%}.pure-menu ul{left:-10000px;list-style:none;margin:0;padding:0;top:-10000px;z-index:1}.pure-menu>ul{position:relative}.pure-menu-open>ul{left:0;top:0;visibility:visible}.pure-menu-open>ul:focus{outline:0}.pure-menu li{position:relative}.pure-menu a,.pure-menu .pure-menu-heading{display:block;color:inherit;line-height:1.5em;padding:5px 20px;text-decoration:none;white-space:nowrap}.pure-menu.pure-menu-horizontal>.pure-menu-heading{display:inline-block;*display:inline;zoom:1;margin:0;vertical-align:middle}.pure-menu.pure-menu-horizontal>ul{display:inline-block;*display:inline;zoom:1;vertical-align:middle;height:2.4em}.pure-menu li a{padding:5px 20px}.pure-menu-can-have-children>.pure-menu-label:after{content:'\25B8';float:right;font-family:'Lucida Grande','Lucida Sans Unicode','DejaVu Sans',sans-serif;margin-right:-20px;margin-top:-1px}.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-separator{background-color:#dfdfdf;display:block;height:1px;font-size:0;margin:7px 2px;overflow:hidden}.pure-menu-hidden{display:none}.pure-menu-fixed{position:fixed;top:0;left:0;width:100%}.pure-menu-horizontal li{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-horizontal li li{display:block}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label:after{content:"\25BE"}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-horizontal li.pure-menu-separator{height:50%;width:1px;margin:0 7px}.pure-menu-horizontal li li.pure-menu-separator{height:1px;width:auto;margin:7px 2px}.pure-menu.pure-menu-open,.pure-menu.pure-menu-horizontal li .pure-menu-children{background:#fff;border:1px solid #b7b7b7}.pure-menu.pure-menu-horizontal,.pure-menu.pure-menu-horizontal .pure-menu-heading{border:0}.pure-menu a{border:1px solid transparent;border-left:0;border-right:0}.pure-menu a,.pure-menu .pure-menu-can-have-children>li:after{color:#777}.pure-menu .pure-menu-can-have-children>li:hover:after{color:#fff}.pure-menu .pure-menu-open{background:#dedede}.pure-menu li a:hover,.pure-menu li a:focus{background:#eee}.pure-menu li.pure-menu-disabled a:hover,.pure-menu li.pure-menu-disabled a:focus{background:#fff;color:#bfbfbf}.pure-menu .pure-menu-disabled>a{background-image:none;border-color:transparent;cursor:default}.pure-menu .pure-menu-disabled>a,.pure-menu .pure-menu-can-have-children.pure-menu-disabled>a:after{color:#bfbfbf}.pure-menu .pure-menu-heading{color:#565d64;text-transform:uppercase;font-size:90%;margin-top:.5em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#dfdfdf}.pure-menu .pure-menu-selected a{color:#000}.pure-menu.pure-menu-open.pure-menu-fixed{border:0;border-bottom:1px solid #b7b7b7}.pure-paginator{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;list-style:none;margin:0;padding:0}.opera-only :-o-prefocus,.pure-paginator{word-spacing:-.43em}.pure-paginator li{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-paginator .pure-button{border-radius:0;padding:.8em 1.4em;vertical-align:top;height:1.1em}.pure-paginator .pure-button:focus,.pure-paginator .pure-button:active{outline-style:none}.pure-paginator .prev,.pure-paginator .next{color:#C0C1C3;text-shadow:0 -1px 0 rgba(0,0,0,.45)}.pure-paginator .prev{border-radius:2px 0 0 2px}.pure-paginator .next{border-radius:0 2px 2px 0}@media (max-width:480px){.pure-menu-horizontal{width:100%}.pure-menu-children li{display:block;border-bottom:1px solid #000}}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:6px 12px}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child td,.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}
css/themes/responsive-adjustments.css CHANGED
@@ -1,385 +1,385 @@
1
- /* Page Adjustments */
2
- body.ecwid-shopping-cart #wrapper {
3
- padding: 0 47px 20px 47px;
4
- }
5
-
6
- body.ecwid-shopping-cart .page {
7
- position: relative;
8
- }
9
-
10
- body.ecwid-shopping-cart #content-full {
11
- margin-top: 55px;
12
- }
13
-
14
- .ecwid-shopping-cart .breadcrumb-list {
15
- display: none;
16
- }
17
-
18
- body.ecwid-shopping-cart h1.entry-title {
19
- padding-left: 1px;
20
- font-size: 37px;
21
- margin-top: 16px;
22
- }
23
-
24
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a,
25
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-link,
26
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath-categoryLink a,
27
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-results-topPanel .ecwid-results-topPanel-viewAsPanel-link,
28
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-productsTable-addToBagLink
29
- {
30
- text-decoration: none;
31
- }
32
-
33
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a:hover,
34
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-link:hover,
35
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath-categoryLink a:hover,
36
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-results-topPanel .ecwid-results-topPanel-viewAsPanel-link:hover,
37
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-productsTable-addToBagLink:hover
38
- {
39
- text-decoration: underline;
40
- }
41
-
42
- html#ecwid_html body#ecwid_body #container .ecwid-categories-category {
43
- font-family: Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;
44
- font-size: 22px;
45
- }
46
-
47
- /* Minicart */
48
-
49
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-minicart {
50
- position: absolute;
51
- top: 58px;
52
- display: inline-block;
53
- right: 0px;
54
- }
55
-
56
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-minicart div.ecwid-minicart-mini {
57
- width: 100px;
58
- text-align: right;
59
- }
60
- .ecwid-shopping-cart-minicart {
61
- visibility: hidden;
62
- }
63
-
64
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-rolloverContainer {
65
- display: block;
66
- }
67
-
68
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-minicart {
69
- margin-right: 5px;
70
- height: 35px;
71
- }
72
-
73
- /* Search */
74
-
75
-
76
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel input.ecwid-SearchPanel-field {
77
- width:30px;
78
- }
79
-
80
- .ecwid-shopping-cart .ecwid-shopping-cart-search {
81
- position: absolute;
82
- right: 5px;
83
- top: 8px;
84
- z-index: 1;
85
- height: 45px;
86
- }
87
-
88
- .ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel {
89
- display: none;
90
- width: 40px;
91
- }
92
-
93
- .ecwid-shopping-cart.ecwid-search-open .ecwid-search-placeholder {
94
- display: none;
95
- }
96
-
97
- .ecwid-shopping-cart.ecwid-search-open .ecwid-shopping-cart-search .ecwid-SearchPanel {
98
- display: block;
99
- width: 180px;
100
- -webkit-transition: width 0.1s;
101
- transition: width 0.1s;
102
- }
103
-
104
- .ecwid-shopping-cart-search,
105
- .ecwid-SearchPanel {
106
- white-space: nowrap;
107
- }
108
-
109
- .ecwid-shopping-cart-search .ecwid-SearchPanel-button,
110
- .ecwid-SearchPanel .ecwid-SearchPanel-button {
111
- border: 0 none;
112
- background: transparent;
113
- line-height: normal;
114
- vertical-align: top;
115
- padding: 0;
116
- margin: 0;
117
- width: 0px;
118
- height:30px;
119
- position: relative;
120
- right: 0px;
121
- cursor: pointer;
122
- font-size: 0px;
123
- }
124
-
125
- .ecwid-shopping-cart-search .ecwid-search-placeholder {
126
- width: 1px;
127
- height: 20px;
128
- position: absolute;
129
- right: 23px;
130
- top: -2px;
131
- z-index: 1;
132
- }
133
-
134
- .ecwid-shopping-cart .ecwid-search-placeholder:after,
135
- .ecwid-SearchPanel .ecwid-SearchPanel-button:before {
136
- content: '\f179';
137
- font-weight: bold;
138
- font-family: 'dashicons';
139
- font-size: 18px;
140
- color: #AAA;
141
- position: relative;
142
- }
143
-
144
- .ecwid-shopping-cart .ecwid-search-placeholder:after
145
- {
146
- top: 7px;
147
- cursor: pointer;
148
- }
149
-
150
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-search input,
151
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-search input:focus
152
- {
153
- border: 1px solid #D1D1D1;
154
- outline: none;
155
- }
156
-
157
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart.ecwid-search-open .ecwid-shopping-cart-search input.ecwid-SearchPanel-field,
158
- html#ecwid_html body#ecwid_body .ecwid-productBrowser-search-SearchPanel input[type=search],
159
- html#ecwid_html body#ecwid_body .ecwid-SearchPanel input.ecwid-SearchPanel-field
160
- {
161
- -webkit-appearance: none;
162
- border-radius: 3px;
163
- margin-right: -24px;
164
- padding: 6px 0px 6px 3px;
165
- box-shadow: none;
166
- border: 1px solid #D1D1D1;
167
- width:100%;
168
- box-sizing: border-box;
169
- }
170
-
171
- input.ecwid-SearchPanel-field::-webkit-search-cancel-button {
172
- -webkit-appearance: none;
173
- margin: 0px;
174
- }
175
-
176
- /* Auth */
177
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-categories {
178
- margin-top: 60px;
179
- }
180
-
181
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-product-browser {
182
- margin-top: 50px;
183
- }
184
-
185
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini,
186
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-search,
187
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-minicart {
188
- position: absolute;
189
- }
190
-
191
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini {
192
- margin-bottom: 5px;
193
- display: inline-block;
194
- width: inherit;
195
- right: 0px;
196
- }
197
-
198
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart.ecwid-with-search .ecwid-productBrowser-auth-mini {
199
- margin-right: 25px;
200
- }
201
-
202
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini td {
203
- height: 45px;
204
- }
205
-
206
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-ProductBrowser-auth-anonim,
207
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-ProductBrowser-auth-logged {
208
- margin-right: 0px;
209
- }
210
-
211
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart.ecwid-search-open .ecwid-productBrowser-auth-mini {
212
- margin-right: 195px;
213
- -webkit-transition: margin-right 0.1s;
214
- transition: margin-right 0.1s;
215
- }
216
-
217
- /* Product browser */
218
-
219
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser {
220
- padding: 0;
221
- }
222
-
223
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser-head {
224
- font-size: 26px;
225
- margin-top: 2px;
226
- }
227
-
228
- body.ecwid-shopping-cart h1,
229
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a,
230
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a:active,
231
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-head,
232
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a,
233
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a:active,
234
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-price,
235
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser-categoryPath a,
236
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-results-topPanel div
237
- {
238
- font-family: Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;
239
- }
240
-
241
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath a,
242
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath a:active
243
- {
244
- font-size: 14px;
245
- }
246
-
247
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath-categoryLabel
248
- {
249
- font-size: 13px;
250
- }
251
-
252
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath {
253
- padding-top: 5px;
254
- }
255
-
256
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productsGrid-mainTable {
257
- margin-top: 18px;
258
- }
259
-
260
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productsGrid div.ecwid-productBrowser-productNameLink {
261
- text-align: center;
262
- }
263
-
264
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a,
265
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a:active,
266
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a:visited
267
- {
268
- text-decoration: none;
269
- font-size: 20px;
270
- }
271
-
272
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productsGrid div.ecwid-productBrowser-sku {
273
- display: none;
274
- }
275
-
276
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-price {
277
- margin-top: 0;
278
- font-weight: 600;
279
- }
280
-
281
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser td.ecwid-productBrowser-productsGrid-cellSpace {
282
- height: 62px;
283
- }
284
-
285
- /* Product details */
286
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-details-rightPanel {
287
- margin-right: 4px;
288
- }
289
-
290
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-details-inStockLabel,
291
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-fieldLabel,
292
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-details-qtyLabel
293
- {
294
- font-family: Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;
295
- }
296
-
297
- @media screen and (max-width: 650px) {
298
-
299
- body.ecwid-shopping-cart #content-full {
300
- margin-top: 32px;
301
- }
302
- body.ecwid-shopping-cart h1.entry-title {
303
- display: none;
304
- }
305
-
306
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser {
307
- padding: 0 4px !important;
308
- }
309
-
310
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-categories {
311
- display: none;
312
-
313
- }
314
- /* Search */
315
-
316
- .ecwid-shopping-cart .ecwid-shopping-cart-search {
317
- top: -35px;
318
- right: auto;
319
- width: 100%;
320
- white-space: nowrap;
321
- }
322
-
323
- .ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel {
324
- display: block;
325
- width:100%;
326
- }
327
-
328
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel input.ecwid-SearchPanel-field {
329
- width: 100%;
330
- box-sizing: border-box;
331
- display: inline-block;
332
- }
333
-
334
- /* Auth */
335
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini {
336
- top: -25px;
337
- }
338
-
339
- html#ecwid_html body#ecwid_body .ecwid-productBrowser-auth > div,
340
- html#ecwid_html body#ecwid_body.ecwid-with-search .ecwid-productBrowser-auth > div,
341
- html#ecwid_html body#ecwid_body.ecwid-with-minicart .ecwid-productBrowser-auth > div,
342
- html#ecwid_html body#ecwid_body.ecwid-with-minicart.ecwid-with-search .ecwid-productBrowser-auth > div {
343
- margin-right: 0px;
344
- }
345
-
346
-
347
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini td {
348
- height: auto;
349
- }
350
-
351
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-ProductBrowser-auth-space {
352
- display: none;
353
- }
354
- /* Minicart */
355
-
356
- .ecwid-shopping-cart-minicart {
357
- position: absolute;
358
- right: auto;
359
- left: 31px;
360
- top: -204px;
361
- }
362
-
363
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-minicart,
364
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-rolloverContainer
365
- {
366
- display: none;
367
- }
368
-
369
- /* Product Browser */
370
- html#ecwid_html body#ecwid_body .ecwid-shopping-cart-product-browser {
371
- margin-top: 40px;
372
- }
373
-
374
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser-head {
375
- }
376
-
377
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath {
378
- padding-top: 6px;
379
- }
380
-
381
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productNameLink {
382
- margin-top: 10px;
383
- }
384
-
385
- }
1
+ /* Page Adjustments */
2
+ body.ecwid-shopping-cart #wrapper {
3
+ padding: 0 47px 20px 47px;
4
+ }
5
+
6
+ body.ecwid-shopping-cart .page {
7
+ position: relative;
8
+ }
9
+
10
+ body.ecwid-shopping-cart #content-full {
11
+ margin-top: 55px;
12
+ }
13
+
14
+ .ecwid-shopping-cart .breadcrumb-list {
15
+ display: none;
16
+ }
17
+
18
+ body.ecwid-shopping-cart h1.entry-title {
19
+ padding-left: 1px;
20
+ font-size: 37px;
21
+ margin-top: 16px;
22
+ }
23
+
24
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a,
25
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-link,
26
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath-categoryLink a,
27
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-results-topPanel .ecwid-results-topPanel-viewAsPanel-link,
28
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-productsTable-addToBagLink
29
+ {
30
+ text-decoration: none;
31
+ }
32
+
33
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a:hover,
34
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-link:hover,
35
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath-categoryLink a:hover,
36
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-results-topPanel .ecwid-results-topPanel-viewAsPanel-link:hover,
37
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-productsTable-addToBagLink:hover
38
+ {
39
+ text-decoration: underline;
40
+ }
41
+
42
+ html#ecwid_html body#ecwid_body #container .ecwid-categories-category {
43
+ font-family: Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;
44
+ font-size: 22px;
45
+ }
46
+
47
+ /* Minicart */
48
+
49
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-minicart {
50
+ position: absolute;
51
+ top: 58px;
52
+ display: inline-block;
53
+ right: 0px;
54
+ }
55
+
56
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-minicart div.ecwid-minicart-mini {
57
+ width: 100px;
58
+ text-align: right;
59
+ }
60
+ .ecwid-shopping-cart-minicart {
61
+ visibility: hidden;
62
+ }
63
+
64
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-rolloverContainer {
65
+ display: block;
66
+ }
67
+
68
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-minicart {
69
+ margin-right: 5px;
70
+ height: 35px;
71
+ }
72
+
73
+ /* Search */
74
+
75
+
76
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel input.ecwid-SearchPanel-field {
77
+ width:30px;
78
+ }
79
+
80
+ .ecwid-shopping-cart .ecwid-shopping-cart-search {
81
+ position: absolute;
82
+ right: 5px;
83
+ top: 8px;
84
+ z-index: 1;
85
+ height: 45px;
86
+ }
87
+
88
+ .ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel {
89
+ display: none;
90
+ width: 40px;
91
+ }
92
+
93
+ .ecwid-shopping-cart.ecwid-search-open .ecwid-search-placeholder {
94
+ display: none;
95
+ }
96
+
97
+ .ecwid-shopping-cart.ecwid-search-open .ecwid-shopping-cart-search .ecwid-SearchPanel {
98
+ display: block;
99
+ width: 180px;
100
+ -webkit-transition: width 0.1s;
101
+ transition: width 0.1s;
102
+ }
103
+
104
+ .ecwid-shopping-cart-search,
105
+ .ecwid-SearchPanel {
106
+ white-space: nowrap;
107
+ }
108
+
109
+ .ecwid-shopping-cart-search .ecwid-SearchPanel-button,
110
+ .ecwid-SearchPanel .ecwid-SearchPanel-button {
111
+ border: 0 none;
112
+ background: transparent;
113
+ line-height: normal;
114
+ vertical-align: top;
115
+ padding: 0;
116
+ margin: 0;
117
+ width: 0px;
118
+ height:30px;
119
+ position: relative;
120
+ right: 0px;
121
+ cursor: pointer;
122
+ font-size: 0px;
123
+ }
124
+
125
+ .ecwid-shopping-cart-search .ecwid-search-placeholder {
126
+ width: 1px;
127
+ height: 20px;
128
+ position: absolute;
129
+ right: 23px;
130
+ top: -2px;
131
+ z-index: 1;
132
+ }
133
+
134
+ .ecwid-shopping-cart .ecwid-search-placeholder:after,
135
+ .ecwid-SearchPanel .ecwid-SearchPanel-button:before {
136
+ content: '\f179';
137
+ font-weight: bold;
138
+ font-family: 'dashicons';
139
+ font-size: 18px;
140
+ color: #AAA;
141
+ position: relative;
142
+ }
143
+
144
+ .ecwid-shopping-cart .ecwid-search-placeholder:after
145
+ {
146
+ top: 7px;
147
+ cursor: pointer;
148
+ }
149
+
150
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-search input,
151
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-search input:focus
152
+ {
153
+ border: 1px solid #D1D1D1;
154
+ outline: none;
155
+ }
156
+
157
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart.ecwid-search-open .ecwid-shopping-cart-search input.ecwid-SearchPanel-field,
158
+ html#ecwid_html body#ecwid_body .ecwid-productBrowser-search-SearchPanel input[type=search],
159
+ html#ecwid_html body#ecwid_body .ecwid-SearchPanel input.ecwid-SearchPanel-field
160
+ {
161
+ -webkit-appearance: none;
162
+ border-radius: 3px;
163
+ margin-right: -24px;
164
+ padding: 6px 0px 6px 3px;
165
+ box-shadow: none;
166
+ border: 1px solid #D1D1D1;
167
+ width:100%;
168
+ box-sizing: border-box;
169
+ }
170
+
171
+ input.ecwid-SearchPanel-field::-webkit-search-cancel-button {
172
+ -webkit-appearance: none;
173
+ margin: 0px;
174
+ }
175
+
176
+ /* Auth */
177
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-categories {
178
+ margin-top: 60px;
179
+ }
180
+
181
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-product-browser {
182
+ margin-top: 50px;
183
+ }
184
+
185
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini,
186
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-search,
187
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-minicart {
188
+ position: absolute;
189
+ }
190
+
191
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini {
192
+ margin-bottom: 5px;
193
+ display: inline-block;
194
+ width: inherit;
195
+ right: 0px;
196
+ }
197
+
198
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart.ecwid-with-search .ecwid-productBrowser-auth-mini {
199
+ margin-right: 25px;
200
+ }
201
+
202
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini td {
203
+ height: 45px;
204
+ }
205
+
206
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-ProductBrowser-auth-anonim,
207
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-ProductBrowser-auth-logged {
208
+ margin-right: 0px;
209
+ }
210
+
211
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart.ecwid-search-open .ecwid-productBrowser-auth-mini {
212
+ margin-right: 195px;
213
+ -webkit-transition: margin-right 0.1s;
214
+ transition: margin-right 0.1s;
215
+ }
216
+
217
+ /* Product browser */
218
+
219
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser {
220
+ padding: 0;
221
+ }
222
+
223
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser-head {
224
+ font-size: 26px;
225
+ margin-top: 2px;
226
+ }
227
+
228
+ body.ecwid-shopping-cart h1,
229
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a,
230
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth a:active,
231
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-head,
232
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a,
233
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a:active,
234
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-price,
235
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser-categoryPath a,
236
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-results-topPanel div
237
+ {
238
+ font-family: Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;
239
+ }
240
+
241
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath a,
242
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath a:active
243
+ {
244
+ font-size: 14px;
245
+ }
246
+
247
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath-categoryLabel
248
+ {
249
+ font-size: 13px;
250
+ }
251
+
252
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath {
253
+ padding-top: 5px;
254
+ }
255
+
256
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productsGrid-mainTable {
257
+ margin-top: 18px;
258
+ }
259
+
260
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productsGrid div.ecwid-productBrowser-productNameLink {
261
+ text-align: center;
262
+ }
263
+
264
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a,
265
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a:active,
266
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-productNameLink a:visited
267
+ {
268
+ text-decoration: none;
269
+ font-size: 20px;
270
+ }
271
+
272
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productsGrid div.ecwid-productBrowser-sku {
273
+ display: none;
274
+ }
275
+
276
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-price {
277
+ margin-top: 0;
278
+ font-weight: 600;
279
+ }
280
+
281
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser td.ecwid-productBrowser-productsGrid-cellSpace {
282
+ height: 62px;
283
+ }
284
+
285
+ /* Product details */
286
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser div.ecwid-productBrowser-details-rightPanel {
287
+ margin-right: 4px;
288
+ }
289
+
290
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-details-inStockLabel,
291
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-fieldLabel,
292
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-details-qtyLabel
293
+ {
294
+ font-family: Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;
295
+ }
296
+
297
+ @media screen and (max-width: 650px) {
298
+
299
+ body.ecwid-shopping-cart #content-full {
300
+ margin-top: 32px;
301
+ }
302
+ body.ecwid-shopping-cart h1.entry-title {
303
+ display: none;
304
+ }
305
+
306
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser {
307
+ padding: 0 4px !important;
308
+ }
309
+
310
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-categories {
311
+ display: none;
312
+
313
+ }
314
+ /* Search */
315
+
316
+ .ecwid-shopping-cart .ecwid-shopping-cart-search {
317
+ top: -35px;
318
+ right: auto;
319
+ width: 100%;
320
+ white-space: nowrap;
321
+ }
322
+
323
+ .ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel {
324
+ display: block;
325
+ width:100%;
326
+ }
327
+
328
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-search .ecwid-SearchPanel input.ecwid-SearchPanel-field {
329
+ width: 100%;
330
+ box-sizing: border-box;
331
+ display: inline-block;
332
+ }
333
+
334
+ /* Auth */
335
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini {
336
+ top: -25px;
337
+ }
338
+
339
+ html#ecwid_html body#ecwid_body .ecwid-productBrowser-auth > div,
340
+ html#ecwid_html body#ecwid_body.ecwid-with-search .ecwid-productBrowser-auth > div,
341
+ html#ecwid_html body#ecwid_body.ecwid-with-minicart .ecwid-productBrowser-auth > div,
342
+ html#ecwid_html body#ecwid_body.ecwid-with-minicart.ecwid-with-search .ecwid-productBrowser-auth > div {
343
+ margin-right: 0px;
344
+ }
345
+
346
+
347
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-auth-mini td {
348
+ height: auto;
349
+ }
350
+
351
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-ProductBrowser-auth-space {
352
+ display: none;
353
+ }
354
+ /* Minicart */
355
+
356
+ .ecwid-shopping-cart-minicart {
357
+ position: absolute;
358
+ right: auto;
359
+ left: 31px;
360
+ top: -204px;
361
+ }
362
+
363
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-minicart,
364
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-minicart-mini-rolloverContainer
365
+ {
366
+ display: none;
367
+ }
368
+
369
+ /* Product Browser */
370
+ html#ecwid_html body#ecwid_body .ecwid-shopping-cart-product-browser {
371
+ margin-top: 40px;
372
+ }
373
+
374
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart div.ecwid-productBrowser-head {
375
+ }
376
+
377
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-productBrowser-categoryPath {
378
+ padding-top: 6px;
379
+ }
380
+
381
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-product-browser .ecwid-productBrowser-productNameLink {
382
+ margin-top: 10px;
383
+ }
384
+
385
+ }
css/themes/responsive.css CHANGED
@@ -1,22 +1,22 @@
1
- /* Mobile */
2
- @media screen and (max-width: 400px) {
3
-
4
- body.ecwid-shopping-cart #container {
5
- padding: 0 10px;
6
- }
7
-
8
- body.ecwid-shopping-cart #wrapper {
9
- padding: 0 10px;
10
- }
11
- }
12
-
13
- @media screen and (max-width: 650px) {
14
-
15
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart #select-State-Box,
16
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart #select-Country-Box,
17
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-AddressForm-state,
18
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-AddressForm-country,
19
- html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-fieldEnvelope {
20
- width: 100%;
21
- }
22
  }
1
+ /* Mobile */
2
+ @media screen and (max-width: 400px) {
3
+
4
+ body.ecwid-shopping-cart #container {
5
+ padding: 0 10px;
6
+ }
7
+
8
+ body.ecwid-shopping-cart #wrapper {
9
+ padding: 0 10px;
10
+ }
11
+ }
12
+
13
+ @media screen and (max-width: 650px) {
14
+
15
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart #select-State-Box,
16
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart #select-Country-Box,
17
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-AddressForm-state,
18
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-AddressForm-country,
19
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-fieldEnvelope {
20
+ width: 100%;
21
+ }
22
  }
ecwid-shopping-cart.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://www.ecwid.com?source=wporg
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Team
8
- Version: 2.7.4.1
9
  Author URI: http://www.ecwid.com?source=wporg
10
  */
11
 
@@ -26,11 +26,13 @@ if ( ! defined( 'ECWID_PLUGIN_URL' ) ) {
26
 
27
 
28
  // Older versions of Google XML Sitemaps plugin generate it in admin, newer in site area, so the hook should be assigned in both of them
29
- add_action('sm_buildmap', 'ecwid_build_sitemap_pages');
30
 
31
  // Needs to be in both front-end and back-end to allow admin zone recognize the shortcode
32
  add_shortcode('ecwid_productbrowser', 'ecwid_productbrowser_shortcode');
33
 
 
 
34
  if ( is_admin() ){
35
  add_action('admin_init', 'ecwid_settings_api_init');
36
  add_action('admin_init', 'ecwid_check_version');
@@ -58,13 +60,12 @@ if ( is_admin() ){
58
  add_shortcode('ecwid', 'ecwid_shortcode');
59
  add_action('init', 'ecwid_backward_compatibility');
60
  add_action('send_headers', 'ecwid_503_on_store_closed');
61
- add_action('template_redirect', 'ecwid_seo_compatibility_template_redirect');
62
  add_action('template_redirect', 'ecwid_404_on_broken_escaped_fragment');
63
  add_action('template_redirect', 'ecwid_apply_theme');
64
  add_action('wp_enqueue_scripts', 'ecwid_add_frontend_styles');
65
  add_action('wp', 'ecwid_seo_ultimate_compatibility', 0);
66
  add_action('wp', 'ecwid_remove_default_canonical');
67
- add_filter('wp_title', 'ecwid_seo_compatibility_init', 0);
68
  add_filter('wp_title', 'ecwid_seo_title', 20);
69
  add_action('plugins_loaded', 'ecwid_minifier_compatibility', 0);
70
  add_action('wp_head', 'ecwid_meta_description', 0);
@@ -85,6 +86,22 @@ require_once plugin_dir_path(__FILE__) . '/includes/themes.php';
85
  require_once plugin_dir_path(__FILE__) . '/includes/class-ecwid-message-manager.php';
86
  require_once plugin_dir_path(__FILE__) . '/includes/class-ecwid-store-editor.php';
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
 
89
  $version = get_bloginfo('version');
90
 
@@ -94,6 +111,56 @@ function ecwid_add_breadcrumbs_navxt($trail)
94
  $trail->add($breadcrumb);
95
  }
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  function ecwid_add_breadcrumb_links_wpseo($links)
98
  {
99
  return array_merge((array)$links, array(
@@ -166,8 +233,6 @@ function ecwid_ie8_fonts_inclusion()
166
  src:url($url);
167
  }
168
  </style>
169
- <script type="text/javascript">
170
- </script>
171
  HTML;
172
 
173
  }
@@ -241,22 +306,27 @@ function ecwid_backward_compatibility() {
241
  }
242
 
243
 
244
- function ecwid_build_sitemap_pages()
245
  {
246
  if (!ecwid_is_paid_account() || !ecwid_is_store_page_available()) return;
247
 
248
  $page_id = ecwid_get_current_store_page_id();
249
 
250
  if (get_post_status($page_id) == 'publish') {
251
- include ECWID_PLUGIN_DIR . '/includes/class-ecwid-sitemap-builder.php';
252
 
253
- $sitemap = new EcwidSitemapBuilder(ecwid_get_store_page_url(), 'build_sitemap_callback', ecwid_new_product_api());
254
 
255
  $sitemap->generate();
256
  }
257
  }
258
 
259
- function build_sitemap_callback($url, $priority, $frequency)
 
 
 
 
 
260
  {
261
  static $generatorObject = null;
262
  if (is_null($generatorObject)) {
@@ -334,15 +404,6 @@ function ecwid_seo_ultimate_compatibility()
334
  }
335
  }
336
 
337
- function ecwid_seo_compatibility_template_redirect()
338
- {
339
- global $wpseo_front;
340
-
341
- // Newer versions of Wordpress SEO assign their rewrite on this stage
342
- remove_action( 'template_redirect', array( $wpseo_front, 'force_rewrite_output_buffer' ), 99999 );
343
- }
344
-
345
- if (!is_admin) add_action('wp', 'ecwid_remove_default_canonical');
346
  function ecwid_remove_default_canonical()
347
  {
348
  if (array_key_exists('_escaped_fragment_', $_GET) && ecwid_page_has_productbrowser()) {
@@ -356,31 +417,11 @@ function ecwid_seo_compatibility_init($title)
356
  return $title;
357
  }
358
 
359
- // Yoast Wordpress SEO
360
- global $wpseo_front;
361
- // Canonical
362
- remove_action( 'wpseo_head', array( $wpseo_front, 'canonical' ), 20);
363
- // Title
364
- remove_action( 'get_header', array( $wpseo_front, 'force_rewrite_output_buffer' ) ); // Older versions of plugin
365
- remove_action( 'wp_footer', array( $wpseo_front, 'flush_cache'));
366
- // Description
367
- remove_action( 'wpseo_head', array( $wpseo_front, 'metadesc' ), 10 );
368
-
369
  // Platinum SEO Pack
370
- // Canonical
371
- ecwid_override_option('psp_canonical', false);
372
- // Title
373
- ecwid_override_option('aiosp_rewrite_titles', false);
374
-
375
- // All in one SEO Pack
376
- global $aioseop_options, $aiosp;
377
- // Canonical
378
- $aioseop_options['aiosp_can'] = false;
379
- // Title
380
- add_filter('aioseop_title', '__return_null');
381
- // Description
382
- add_filter('aioseop_description', '__return_null');
383
-
384
 
385
  return $title;
386
 
@@ -481,10 +522,13 @@ function ecwid_page_has_productbrowser($post_id = null)
481
  }
482
 
483
  if (!isset($results[$post_id])) {
484
- $post_content = get_post($post_id)->post_content;
 
 
485
 
486
- $results[$post_id] = ecwid_content_has_productbrowser($post_content);
487
- $results[$post_id] = apply_filters( 'ecwid_page_has_product_browser', $results[$post_id] );
 
488
  }
489
 
490
  return $results[$post_id];
@@ -605,11 +649,18 @@ function ecwid_get_product_and_category($category_id, $product_id) {
605
  return $return;
606
  }
607
 
 
 
 
 
 
608
  function ecwid_seo_title($content) {
609
  if (isset($_GET['_escaped_fragment_']) && ecwid_is_api_enabled()) {
610
  $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
611
  $ecwid_seo_title = '';
612
 
 
 
613
  $api = ecwid_new_product_api();
614
 
615
  if (isset($params['mode']) && !empty($params['mode'])) {
@@ -621,8 +672,8 @@ function ecwid_seo_title($content) {
621
  $ecwid_seo_title = $ecwid_product['name'];
622
  if(is_array($ecwid_product['categories'])){
623
  foreach ($ecwid_product['categories'] as $ecwid_category){
624
- if($ecwid_category['defaultCategory']==true){
625
- $ecwid_seo_title .=" | ";
626
  $ecwid_seo_title .= $ecwid_category['name'];
627
  }
628
  }
@@ -630,7 +681,7 @@ function ecwid_seo_title($content) {
630
  }
631
  }
632
 
633
- elseif ($params['mode'] == 'category'){
634
  $api = ecwid_new_product_api();
635
  $ecwid_category = $api->get_category($params['id']);
636
  $ecwid_seo_title = $ecwid_category['name'];
@@ -638,7 +689,7 @@ function ecwid_seo_title($content) {
638
  }
639
 
640
  if (!empty($ecwid_seo_title))
641
- return $ecwid_seo_title . " | " . $content;
642
  else
643
  return $content;
644
 
@@ -675,10 +726,10 @@ function ecwid_content_started($content)
675
 
676
  function ecwid_wrap_shortcode_content($content, $name)
677
  {
678
- return "<!-- Ecwid shopping cart plugin v 2.7.4.1 -->"
679
  . ecwid_get_scriptjs_code()
680
  . "<div class=\"ecwid-shopping-cart-$name\">$content</div>"
681
- . "<!-- END Ecwid Shopping Cart v 2.7.4.1 -->";
682
  }
683
 
684
  function ecwid_get_scriptjs_code($force_lang = null) {
@@ -739,7 +790,7 @@ function ecwid_minicart_shortcode($attributes) {
739
 
740
  if (!empty($ecwid_enable_minicart) && !empty($ecwid_show_categories)) {
741
  $result = <<<EOT
742
- <script type="text/javascript"> xMinicart("style=","layout=$layout"); </script>
743
  EOT;
744
  }
745
 
@@ -765,7 +816,7 @@ function ecwid_searchbox_shortcode($attributes) {
765
  $result = '';
766
  if (!empty($ecwid_show_search_box)) {
767
  $result = <<<EOT
768
- <script type="text/javascript"> xSearchPanel("style="); </script>
769
  EOT;
770
  }
771
 
@@ -791,7 +842,7 @@ function ecwid_categories_shortcode($attributes) {
791
  $result = '';
792
  if (!empty($ecwid_show_categories)) {
793
  $result = <<<EOT
794
- <script type="text/javascript"> xCategories("style="); </script>
795
  EOT;
796
  }
797
 
@@ -857,7 +908,7 @@ function ecwid_product_shortcode($shortcode_attributes) {
857
  $result .= '</div>';
858
 
859
  $result .= ecwid_get_product_browser_url_script();
860
- $result .= '<script type="text/javascript">xSingleProduct()</script>';
861
 
862
  update_option('ecwid_single_product_used', time());
863
 
@@ -1012,7 +1063,7 @@ function ecwid_productbrowser_shortcode($shortcode_params) {
1012
  }
1013
  if ($url) {
1014
  $parsed = parse_url($url);
1015
- $plain_content .= '<script type="text/javascript"> if (!document.location.hash) document.location.hash = "'. $parsed['fragment'] . '";</script>';
1016
  }
1017
  }
1018
 
@@ -1022,7 +1073,7 @@ function ecwid_productbrowser_shortcode($shortcode_params) {
1022
  <div id="ecwid-store-$store_id">
1023
  {$plain_content}
1024
  </div>
1025
- <script type="text/javascript"> xProductBrowser("categoriesPerRow=$ecwid_pb_categoriesperrow","views=grid($ecwid_pb_productspercolumn_grid,$ecwid_pb_productsperrow_grid) list($ecwid_pb_productsperpage_list) table($ecwid_pb_productsperpage_table)","categoryView=$ecwid_pb_defaultview","searchView=$ecwid_pb_searchview","style="$ecwid_default_category_str, "id=ecwid-store-$store_id");</script>
1026
  EOT;
1027
  return ecwid_wrap_shortcode_content($s, 'product-browser');
1028
  }
@@ -1207,7 +1258,7 @@ function ecwid_options_add_page() {
1207
  //add_options_page('Ecwid shopping cart settings', 'Ecwid shopping cart', 'manage_options', 'ecwid_options_page', 'ecwid_options_do_page');
1208
  }
1209
 
1210
- function ecwid_register_admin_styles() {
1211
 
1212
  wp_enqueue_style('ecwid-admin-css', plugins_url('ecwid-shopping-cart/css/admin.css'));
1213
 
@@ -1216,7 +1267,9 @@ function ecwid_register_admin_styles() {
1216
  }
1217
  }
1218
 
1219
- function ecwid_register_settings_styles() {
 
 
1220
 
1221
  wp_enqueue_style('ecwid-settings-pure-css', plugins_url('ecwid-shopping-cart/css/pure-min.css'), array(), '', 'all');
1222
  wp_enqueue_style('ecwid-settings-css', plugins_url('ecwid-shopping-cart/css/settings.css'), array(), '', 'all');
@@ -1476,7 +1529,7 @@ function ecwid_get_product_browser_url_script()
1476
  if (ecwid_is_store_page_available()) {
1477
  $url = ecwid_get_store_page_url();
1478
 
1479
- $str = '<script type="text/javascript">var ecwid_ProductBrowserURL = "' . esc_js($url) . '";</script>';
1480
  }
1481
 
1482
  return $str;
@@ -1636,7 +1689,7 @@ class EcwidMinicartWidget extends WP_Widget {
1636
 
1637
  echo ecwid_get_scriptjs_code();
1638
  echo ecwid_get_product_browser_url_script();
1639
- echo '<script type="text/javascript"> xMinicart("style="); </script>';
1640
 
1641
  echo '</div>';
1642
 
@@ -1681,7 +1734,7 @@ class EcwidMinicartMiniViewWidget extends WP_Widget {
1681
 
1682
  echo ecwid_get_scriptjs_code();
1683
  echo ecwid_get_product_browser_url_script();
1684
- echo '<script type="text/javascript"> xMinicart("style=left:10px","layout=Mini"); </script>';
1685
 
1686
  echo '</div>';
1687
 
@@ -1726,7 +1779,7 @@ class EcwidSearchWidget extends WP_Widget {
1726
 
1727
  echo ecwid_get_scriptjs_code();
1728
  echo ecwid_get_product_browser_url_script();
1729
- echo '<script type="text/javascript"> xSearchPanel("style="); </script>';
1730
 
1731
  echo '</div>';
1732
 
@@ -1771,7 +1824,7 @@ class EcwidVCategoriesWidget extends WP_Widget {
1771
 
1772
  echo ecwid_get_scriptjs_code();
1773
  echo ecwid_get_product_browser_url_script();
1774
- echo '<script type="text/javascript"> xVCategories("style="); </script>';
1775
 
1776
  echo '</div>';
1777
 
@@ -1984,10 +2037,10 @@ function ecwid_sso() {
1984
  $user_data = base64_encode(json_encode($user_data));
1985
  $time = time();
1986
  $hmac = ecwid_hmacsha1("$user_data $time", $key);
1987
- return "<script> var ecwid_sso_profile='$user_data $hmac $time' </script>";
1988
  }
1989
  else {
1990
- return "<script> var ecwid_sso_profile='' </script>";
1991
  }
1992
 
1993
 
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Team
8
+ Version: 2.8
9
  Author URI: http://www.ecwid.com?source=wporg
10
  */
11
 
26
 
27
 
28
  // Older versions of Google XML Sitemaps plugin generate it in admin, newer in site area, so the hook should be assigned in both of them
29
+ add_action('sm_buildmap', 'ecwid_build_google_xml_sitemap');
30
 
31
  // Needs to be in both front-end and back-end to allow admin zone recognize the shortcode
32
  add_shortcode('ecwid_productbrowser', 'ecwid_productbrowser_shortcode');
33
 
34
+ add_action( 'plugins_loaded', 'ecwid_init_integrations' );
35
+
36
  if ( is_admin() ){
37
  add_action('admin_init', 'ecwid_settings_api_init');
38
  add_action('admin_init', 'ecwid_check_version');
60
  add_shortcode('ecwid', 'ecwid_shortcode');
61
  add_action('init', 'ecwid_backward_compatibility');
62
  add_action('send_headers', 'ecwid_503_on_store_closed');
 
63
  add_action('template_redirect', 'ecwid_404_on_broken_escaped_fragment');
64
  add_action('template_redirect', 'ecwid_apply_theme');
65
  add_action('wp_enqueue_scripts', 'ecwid_add_frontend_styles');
66
  add_action('wp', 'ecwid_seo_ultimate_compatibility', 0);
67
  add_action('wp', 'ecwid_remove_default_canonical');
68
+ add_filter('wp', 'ecwid_seo_compatibility_init', 0);
69
  add_filter('wp_title', 'ecwid_seo_title', 20);
70
  add_action('plugins_loaded', 'ecwid_minifier_compatibility', 0);
71
  add_action('wp_head', 'ecwid_meta_description', 0);
86
  require_once plugin_dir_path(__FILE__) . '/includes/class-ecwid-message-manager.php';
87
  require_once plugin_dir_path(__FILE__) . '/includes/class-ecwid-store-editor.php';
88
 
89
+ function ecwid_init_integrations()
90
+ {
91
+ if ( !function_exists( 'get_plugins' ) ) { require_once ( ABSPATH . 'wp-admin/includes/plugin.php' ); }
92
+
93
+ $integrations = array(
94
+ 'aiosp' => 'all-in-one-seo-pack/all_in_one_seo_pack.php',
95
+ 'wpseo' => 'wordpress-seo/wp-seo.php'
96
+ );
97
+
98
+ foreach ($integrations as $key => $plugin) {
99
+ if ( is_plugin_active($plugin) ) {
100
+ require_once ECWID_PLUGIN_DIR . '/includes/class-ecwid-integration-' . $key . '.php';
101
+ }
102
+ }
103
+ }
104
+
105
 
106
  $version = get_bloginfo('version');
107
 
111
  $trail->add($breadcrumb);
112
  }
113
 
114
+ /*
115
+ add_filter('wpseo_sitemap_index', 'ecwid_wpseo_do_sitemap_index');
116
+
117
+ function ecwid_wpseo_do_sitemap_index($params)
118
+ {
119
+ $now = date('Y-m-dTH:i:sP', time());
120
+ $sitemap_url = wpseo_xml_sitemaps_base_url('ecwid-sitemap.xml');
121
+ return <<<XML
122
+ <sitemap>
123
+ <loc>$sitemap_url</loc>
124
+ <lastmod>$now</lastmod>
125
+ </sitemap>
126
+ XML;
127
+
128
+ // should return index string
129
+ }
130
+
131
+ add_action('wpseo_do_sitemap_ecwid', 'ecwid_wpseo_do_sitemap');
132
+
133
+ add_action('wpseo_do_sitemap_ecwid_content', 'ecwid_wpseo_do_sitemap');
134
+
135
+ function ecwid_wpseo_build_sitemap_callback($loc, $priority, $freq)
136
+ {
137
+ global $ecwid_wpseo_sitemap;
138
+
139
+ $ecwid_wpseo_sitemap .= <<<XML
140
+ <url>
141
+ <loc>$loc</loc>
142
+ <changefreq>$freq</changefreq>
143
+ <priority>$priority</priority>
144
+ </url>
145
+
146
+ XML;
147
+ }
148
+
149
+
150
+ function ecwid_wpseo_do_sitemap($params)
151
+ {
152
+ global $ecwid_wpseo_sitemap;
153
+
154
+ $ecwid_wpseo_sitemap = <<<XML
155
+ <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
156
+ XML;
157
+
158
+ ecwid_build_sitemap('ecwid_wpseo_build_sitemap_callback');
159
+
160
+ $ecwid_wpseo_sitemap .= '</urlset>';
161
+ $GLOBALS['wpseo_sitemaps']->set_sitemap($ecwid_wpseo_sitemap);
162
+ }
163
+ */
164
  function ecwid_add_breadcrumb_links_wpseo($links)
165
  {
166
  return array_merge((array)$links, array(
233
  src:url($url);
234
  }
235
  </style>
 
 
236
  HTML;
237
 
238
  }
306
  }
307
 
308
 
309
+ function ecwid_build_sitemap($callback)
310
  {
311
  if (!ecwid_is_paid_account() || !ecwid_is_store_page_available()) return;
312
 
313
  $page_id = ecwid_get_current_store_page_id();
314
 
315
  if (get_post_status($page_id) == 'publish') {
316
+ require_once ECWID_PLUGIN_DIR . '/includes/class-ecwid-sitemap-builder.php';
317
 
318
+ $sitemap = new EcwidSitemapBuilder(ecwid_get_store_page_url(), $callback, ecwid_new_product_api());
319
 
320
  $sitemap->generate();
321
  }
322
  }
323
 
324
+ function ecwid_build_google_xml_sitemap()
325
+ {
326
+ return ecwid_build_sitemap('ecwid_google_xml_sitemap_build_sitemap_callback');
327
+ }
328
+
329
+ function ecwid_google_xml_sitemap_build_sitemap_callback($url, $priority, $frequency)
330
  {
331
  static $generatorObject = null;
332
  if (is_null($generatorObject)) {
404
  }
405
  }
406
 
 
 
 
 
 
 
 
 
 
407
  function ecwid_remove_default_canonical()
408
  {
409
  if (array_key_exists('_escaped_fragment_', $_GET) && ecwid_page_has_productbrowser()) {
417
  return $title;
418
  }
419
 
 
 
 
 
 
 
 
 
 
 
420
  // Platinum SEO Pack
421
+ // Canonical
422
+ ecwid_override_option('psp_canonical', false);
423
+ // Title
424
+ ecwid_override_option('aiosp_rewrite_titles', false);
 
 
 
 
 
 
 
 
 
 
425
 
426
  return $title;
427
 
522
  }
523
 
524
  if (!isset($results[$post_id])) {
525
+ $post = get_post($post_id);
526
+ if ($post) {
527
+ $post_content = get_post($post_id)->post_content;
528
 
529
+ $results[$post_id] = ecwid_content_has_productbrowser($post_content);
530
+ $results[$post_id] = apply_filters( 'ecwid_page_has_product_browser', $results[$post_id] );
531
+ }
532
  }
533
 
534
  return $results[$post_id];
649
  return $return;
650
  }
651
 
652
+ function ecwid_get_title_separator()
653
+ {
654
+ return apply_filters('ecwid_title_separator', '|');
655
+ }
656
+
657
  function ecwid_seo_title($content) {
658
  if (isset($_GET['_escaped_fragment_']) && ecwid_is_api_enabled()) {
659
  $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
660
  $ecwid_seo_title = '';
661
 
662
+ $separator = ecwid_get_title_separator();
663
+
664
  $api = ecwid_new_product_api();
665
 
666
  if (isset($params['mode']) && !empty($params['mode'])) {
672
  $ecwid_seo_title = $ecwid_product['name'];
673
  if(is_array($ecwid_product['categories'])){
674
  foreach ($ecwid_product['categories'] as $ecwid_category){
675
+ if ( $ecwid_category['defaultCategory'] == true ) {
676
+ $ecwid_seo_title .= ' ' . $separator . ' ';
677
  $ecwid_seo_title .= $ecwid_category['name'];
678
  }
679
  }
681
  }
682
  }
683
 
684
+ elseif ($params['mode'] == 'category') {
685
  $api = ecwid_new_product_api();
686
  $ecwid_category = $api->get_category($params['id']);
687
  $ecwid_seo_title = $ecwid_category['name'];
689
  }
690
 
691
  if (!empty($ecwid_seo_title))
692
+ return "$ecwid_seo_title $separator $content";
693
  else
694
  return $content;
695
 
726
 
727
  function ecwid_wrap_shortcode_content($content, $name)
728
  {
729
+ return "<!-- Ecwid shopping cart plugin v 2.8 -->"
730
  . ecwid_get_scriptjs_code()
731
  . "<div class=\"ecwid-shopping-cart-$name\">$content</div>"
732
+ . "<!-- END Ecwid Shopping Cart v 2.8 -->";
733
  }
734
 
735
  function ecwid_get_scriptjs_code($force_lang = null) {
790
 
791
  if (!empty($ecwid_enable_minicart) && !empty($ecwid_show_categories)) {
792
  $result = <<<EOT
793
+ <script data-cfasync="false" type="text/javascript"> xMinicart("style=","layout=$layout"); </script>
794
  EOT;
795
  }
796
 
816
  $result = '';
817
  if (!empty($ecwid_show_search_box)) {
818
  $result = <<<EOT
819
+ <script data-cfasync="false" type="text/javascript"> xSearchPanel("style="); </script>
820
  EOT;
821
  }
822
 
842
  $result = '';
843
  if (!empty($ecwid_show_categories)) {
844
  $result = <<<EOT
845
+ <script data-cfasync="false" type="text/javascript"> xCategories("style="); </script>
846
  EOT;
847
  }
848
 
908
  $result .= '</div>';
909
 
910
  $result .= ecwid_get_product_browser_url_script();
911
+ $result .= '<script data-cfasync="false" type="text/javascript">xSingleProduct()</script>';
912
 
913
  update_option('ecwid_single_product_used', time());
914
 
1063
  }
1064
  if ($url) {
1065
  $parsed = parse_url($url);
1066
+ $plain_content .= '<script data-cfasync="false" type="text/javascript"> if (!document.location.hash) document.location.hash = "'. $parsed['fragment'] . '";</script>';
1067
  }
1068
  }
1069
 
1073
  <div id="ecwid-store-$store_id">
1074
  {$plain_content}
1075
  </div>
1076
+ <script data-cfasync="false" type="text/javascript"> xProductBrowser("categoriesPerRow=$ecwid_pb_categoriesperrow","views=grid($ecwid_pb_productspercolumn_grid,$ecwid_pb_productsperrow_grid) list($ecwid_pb_productsperpage_list) table($ecwid_pb_productsperpage_table)","categoryView=$ecwid_pb_defaultview","searchView=$ecwid_pb_searchview","style="$ecwid_default_category_str, "id=ecwid-store-$store_id");</script>
1077
  EOT;
1078
  return ecwid_wrap_shortcode_content($s, 'product-browser');
1079
  }
1258
  //add_options_page('Ecwid shopping cart settings', 'Ecwid shopping cart', 'manage_options', 'ecwid_options_page', 'ecwid_options_do_page');
1259
  }
1260
 
1261
+ function ecwid_register_admin_styles($hook_suffix) {
1262
 
1263
  wp_enqueue_style('ecwid-admin-css', plugins_url('ecwid-shopping-cart/css/admin.css'));
1264
 
1267
  }
1268
  }
1269
 
1270
+ function ecwid_register_settings_styles($hook_suffix) {
1271
+
1272
+ if ($hook_suffix != 'post.php' && strpos($hook_suffix, 'ecwid') === false) return;
1273
 
1274
  wp_enqueue_style('ecwid-settings-pure-css', plugins_url('ecwid-shopping-cart/css/pure-min.css'), array(), '', 'all');
1275
  wp_enqueue_style('ecwid-settings-css', plugins_url('ecwid-shopping-cart/css/settings.css'), array(), '', 'all');
1529
  if (ecwid_is_store_page_available()) {
1530
  $url = ecwid_get_store_page_url();
1531
 
1532
+ $str = '<script data-cfasync="false" type="text/javascript">var ecwid_ProductBrowserURL = "' . esc_js($url) . '";</script>';
1533
  }
1534
 
1535
  return $str;
1689
 
1690
  echo ecwid_get_scriptjs_code();
1691
  echo ecwid_get_product_browser_url_script();
1692
+ echo '<script data-cfasync="false" type="text/javascript"> xMinicart("style="); </script>';
1693
 
1694
  echo '</div>';
1695
 
1734
 
1735
  echo ecwid_get_scriptjs_code();
1736
  echo ecwid_get_product_browser_url_script();
1737
+ echo '<script data-cfasync="false" type="text/javascript"> xMinicart("style=left:10px","layout=Mini"); </script>';
1738
 
1739
  echo '</div>';
1740
 
1779
 
1780
  echo ecwid_get_scriptjs_code();
1781
  echo ecwid_get_product_browser_url_script();
1782
+ echo '<script data-cfasync="false" type="text/javascript"> xSearchPanel("style="); </script>';
1783
 
1784
  echo '</div>';
1785
 
1824
 
1825
  echo ecwid_get_scriptjs_code();
1826
  echo ecwid_get_product_browser_url_script();
1827
+ echo '<script data-cfasync="false" type="text/javascript"> xVCategories("style="); </script>';
1828
 
1829
  echo '</div>';
1830
 
2037
  $user_data = base64_encode(json_encode($user_data));
2038
  $time = time();
2039
  $hmac = ecwid_hmacsha1("$user_data $time", $key);
2040
+ return "<script data-cfasync='false' type='text/javascript'> var ecwid_sso_profile='$user_data $hmac $time' </script>";
2041
  }
2042
  else {
2043
+ return "<script data-cfasync='false' type='text/javascript'> var ecwid_sso_profile='' </script>";
2044
  }
2045
 
2046
 
fonts/ecwid-icons.eot CHANGED
Binary file
fonts/ecwid-icons.svg ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>Generated by IcoMoon</metadata>
5
+ <defs>
6
+ <font id="icomoon" horiz-adv-x="1024">
7
+ <font-face units-per-em="1024" ascent="960" descent="-64" />
8
+ <missing-glyph horiz-adv-x="1024" />
9
+ <glyph unicode="&#x20;" d="" horiz-adv-x="512" />
10
+ <glyph unicode="&#xe600;" d="M349.556 716.335c21.876 0 41.425 16.291 41.425 38.633 0 101.935 16.291 126.604 118.225 126.604s118.225-24.669 118.225-126.604c0-21.876 19.084-38.633 41.425-38.633 21.876 0 38.633 16.291 38.633 38.633 0 63.302 2.793 206.196-198.284 206.196s-197.818-142.895-197.818-206.196c2.327-21.876 16.291-38.633 38.167-38.633zM1023.535 47.942l-126.604 602.298c-2.793 16.291-16.291 30.255-33.047 30.255h-703.767c-16.291 0-33.047-13.964-33.047-30.255l-126.604-602.298c-2.793-27.462 11.171-49.338 33.047-49.338h960.233c19.084 0 32.582 21.876 29.789 49.338zM333.265 521.31c-33.047 0-60.509 27.462-60.509 60.509s27.462 60.509 60.509 60.509 60.509-27.462 60.509-60.509-27.462-60.509-60.509-60.509zM690.735 521.31c-33.047 0-60.509 27.462-60.509 60.509s27.462 60.509 60.509 60.509c33.047 0 60.509-27.462 60.509-60.509s-27.462-60.509-60.509-60.509z" />
11
+ <glyph unicode="&#xe601;" d="M976.524 884.364h-929.047c-26.065 0-47.476-23.273-47.476-54.458v-124.276c0-27.927 21.411-53.993 47.476-53.993h928.582c26.531 0 47.942 23.273 47.942 54.458v123.811c0 31.185-21.411 54.458-47.476 54.458zM976.524 558.546h-929.047c-26.065 0-47.476-23.273-47.476-54.458v-124.276c0-27.927 21.411-53.993 47.476-53.993h928.582c26.065 0 47.476 23.273 47.476 54.458v124.276c0.465 30.72-20.945 53.993-47.011 53.993zM976.524 232.728h-929.047c-26.065 0-47.476-23.273-47.476-54.458v-124.276c0-27.927 21.411-53.993 47.476-53.993h928.582c26.065 0 47.476 23.273 47.476 54.458v124.276c0.465 30.72-20.945 53.993-47.011 53.993z" />
12
+ <glyph unicode="&#xe602;" d="M848.989 185.717c0-15.424-12.503-27.927-27.927-27.927s-27.927 12.503-27.927 27.927c0 15.424 12.503 27.927 27.927 27.927s27.927-12.503 27.927-27.927zM233.658 184.786c0-15.424-12.503-27.927-27.927-27.927s-27.927 12.503-27.927 27.927c0 15.424 12.503 27.927 27.927 27.927s27.927-12.503 27.927-27.927zM823.389 977.455h-622.778c-110.778 0-200.611-89.833-200.611-200.611v-623.244c0-110.313 89.833-200.145 200.611-200.145h623.244c110.778 0 200.611 89.833 200.611 200.611v622.778c-0.465 110.778-90.298 200.611-201.076 200.611zM642.793 683.288c21.411 0 39.098-17.222 39.098-39.098s-17.687-39.098-39.098-39.098c-21.411 0-39.098 17.222-39.098 39.098 0.465 21.876 17.687 39.098 39.098 39.098zM642.793 543.186c21.411 0 39.098-17.222 39.098-39.098 0-21.411-17.687-39.098-39.098-39.098s-39.098 17.222-39.098 39.098 17.687 39.098 39.098 39.098zM514.793 683.288c21.411 0 39.098-17.222 39.098-39.098 0-21.411-17.222-39.098-39.098-39.098-21.411 0-39.098 17.222-39.098 39.098 0.465 21.876 17.687 39.098 39.098 39.098zM514.793 543.186c21.411 0 39.098-17.222 39.098-39.098 0-21.411-17.222-39.098-39.098-39.098-21.411 0-39.098 17.222-39.098 39.098 0.465 21.876 17.687 39.098 39.098 39.098zM388.655 683.288c21.411 0 39.098-17.222 39.098-39.098 0-21.411-17.222-39.098-39.098-39.098-21.411 0-39.098 17.222-39.098 39.098s17.222 39.098 39.098 39.098zM388.655 543.186c21.411 0 39.098-17.222 39.098-39.098 0-21.411-17.222-39.098-39.098-39.098-21.411 0-39.098 17.222-39.098 39.098s17.222 39.098 39.098 39.098zM205.731 107.055c-42.822 0-77.731 34.909-77.731 77.731s34.909 78.196 77.731 78.196c43.287 0 78.196-34.909 78.196-78.196 0-42.822-34.909-77.731-78.196-77.731zM566.924 284.393c-37.236 0-51.665 15.825-53.527 20.945-1.862-5.12-15.36-20.945-52.596-20.945-39.098 0-40.495 0-81.92 0-48.873 0-124.742 25.6-147.084 103.796-22.807 77.731-54.458 194.56-68.887 246.691-14.429 52.596-16.291 56.32 8.844 56.32 22.807 0 70.284-3.258 85.644-56.32 14.895-53.062 44.684-153.6 56.32-192.698 16.756-55.855 63.302-61.44 93.556-61.44 40.96 0 63.302 1.396 63.302 33.978 13.033 0.465 33.047 0 42.356 0s29.324 0 42.356 0c0-31.185 22.342-34.444 63.302-33.978 47.011 0.465 84.247 12.567 101.935 71.215 15.825 53.527 59.578 221.556 77.731 294.633 10.705 43.753 63.767 48.873 84.713 48.873 24.669 0.465 15.825-20.015 1.862-75.404-15.36-62.371-56.785-237.847-82.851-317.905-25.6-77.265-88.436-118.225-155.927-118.225-41.425 0.465-40.495 0.465-79.127 0.465zM821.062 107.986c-43.287 0-78.196 34.909-78.196 78.196s34.909 78.196 78.196 78.196c42.822 0 78.196-34.909 78.196-78.196s-35.375-78.196-78.196-78.196z" />
13
+ <glyph unicode="&#xe603;" d="M961.629 121.019c13.498-13.498 21.411-32.582 21.411-51.2 0-19.084-7.913-37.702-21.411-51.2-16.291-16.291-32.582-24.204-51.2-24.204-21.411 0-37.702 7.913-51.2 21.411l-200.145 197.353c-67.491-48.873-146.153-70.284-229.935-70.284-53.993 0-107.985 10.705-156.858 32.582-51.2 21.411-94.487 51.2-129.862 86.575-34.909 34.909-64.698 78.196-86.575 129.862s-32.582 102.865-32.582 156.858 10.705 107.985 32.582 156.858c21.411 51.2 51.2 94.487 86.575 129.862s78.196 64.698 129.862 86.575 102.865 32.582 156.858 32.582 107.985-10.705 156.858-32.582c51.2-21.411 94.487-51.2 129.862-86.575s64.698-78.196 86.575-129.862c21.411-51.2 32.582-102.865 32.582-156.858 0-83.782-24.204-161.978-70.284-229.935l196.887-197.818zM613.004 364.451c51.2 51.2 75.869 110.778 75.869 183.855 0 70.284-24.204 132.655-75.869 183.855s-110.778 75.869-183.855 75.869c-70.284 0-132.655-24.204-183.855-75.869s-75.404-110.778-75.404-183.855c0-70.284 24.204-132.655 75.869-183.855s110.778-75.869 183.855-75.869c69.818 0 132.189 26.996 183.389 75.869z" />
14
+ <glyph unicode="&#xe604;" d="M50.735 50.735c0 9.309 7.447 16.756 16.756 16.756h890.88c9.309 0 16.756-7.447 16.756-16.756v-33.978c0-9.309-7.447-16.756-16.756-16.756h-891.345c-9.309 0-16.756 7.447-16.756 16.756v33.978zM977.455 608.815c-35.84 71.68-51.2 141.498-71.68 257.396 0 6.516-16.291 28.858-35.84 28.858h-715.869c-19.549 0-35.84-22.342-35.84-28.858 0 0-35.84-221.556-71.68-257.396 0-36.305 0-108.451 0-108.451s0.465-1.396 1.396-2.793h-1.396c0 0 3.258-17.687 25.6-27.927 3.258-1.862 6.516-3.258 10.24-4.189v-324.422c0-19.549 20.48-33.047 40.029-33.047h282.065v296.495c0 19.549 18.618 35.375 38.633 35.375h142.429c19.549 0 35.375-15.825 35.375-35.375v-296.495h284.858c19.549 0 35.375 13.498 35.375 33.047v324.422c28.393 4.655 35.84 33.047 35.84 33.047h-0.931c0.465 1.862 0.931 2.793 0.931 2.793s0.465 71.68 0.465 107.52zM327.215 250.415c0-19.549-8.844-35.84-28.393-35.84h-74.007c-19.549 0-28.858 16.291-28.858 35.84v143.36c0 19.549 9.309 35.84 28.858 35.84h74.007c19.549 0 28.393-16.291 28.393-35.84v-143.36zM827.113 250.415c0-19.549-7.913-35.84-27.462-35.84h-73.076c-19.549 0-28.858 16.291-28.858 35.84v143.36c0 19.549 9.309 35.84 28.858 35.84h73.076c19.549 0 27.462-16.291 27.462-35.84v-143.36zM833.629 829.44c0 0 38.167-181.993 61.44-220.625-35.375 0-97.745 0-97.745 0l-35.84 220.625h72.145zM898.327 572.975l-0.465-27.927c-3.258-24.669-24.204-43.753-49.804-43.753-27.927 0-50.269 16.756-50.269 44.684 0 0.931 1.396 26.996 1.396 26.996h99.142zM628.829 554.357v18.618h101.935l-0.465-28.393c-3.724-24.669-24.669-43.287-49.804-43.287-27.927 0-50.735 22.807-50.735 50.735 0 0.931 0 1.396 0.465 2.327h-1.396zM689.804 829.44c0 0 26.996-177.338 38.167-220.625 11.171 0-99.142 0-99.142 0l-10.705 220.625h71.68zM475.229 829.44h72.611l13.033-220.625h-97.745l12.102 220.625zM462.196 572.975h99.142l0.465-25.135c-1.862-26.065-23.738-46.545-50.269-46.545s-48.407 20.48-50.269 46.545l0.931 25.135zM331.869 829.44h71.68l-10.705-220.625c0 0-69.818 0-95.884 0 11.171 40.029 34.909 220.625 34.909 220.625zM294.633 572.975h99.142l0.931-18.618h-0.465c0-0.931 0.465-1.396 0.465-2.327 0-27.927-22.807-50.735-50.735-50.735-25.6 0-46.080 18.618-49.804 43.287l0.465 28.393zM190.371 829.44h69.818l-29.324-220.625c0 0-71.215 0-97.745 0 27.462 49.804 57.251 220.625 57.251 220.625zM126.604 572.975h99.142c0 0 0-20.015 0-20.945 0-27.927-22.807-50.735-50.735-50.735-24.669 0-45.615 17.687-49.804 41.425l1.396 30.255z" />
15
+ <glyph unicode="&#xe605;" d="M865.745 109.848c-25.135-24.669-65.629-24.669-90.764 0l-267.636 263.913-272.756-268.567c-25.135-24.669-65.629-24.669-90.764 0s-25.135 64.698 0 89.367l268.567 264.378-269.033 264.378c-25.135 24.669-25.135 64.698 0 89.367s65.629 24.669 90.764 0l267.636-263.447 272.756 268.567c25.135 24.669 65.629 24.669 90.764 0s25.135-64.698 0-89.367l-268.567-264.378 268.567-264.844c25.135-24.669 25.135-64.698 0.465-89.367z" />
16
+ </font></defs></svg>
fonts/ecwid-icons.ttf ADDED
Binary file
fonts/ecwid-icons.woff ADDED
Binary file
images/add-store.svg CHANGED
@@ -1,40 +1,40 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 143 168" enable-background="new 0 0 143 168" xml:space="preserve">
4
- <path class="categories" fill="#D1ECF5" d="M41,49.1H2c-1.1,0-2,0.9-2,2.1V56c0,1.1,0.9,2.1,2,2.1H41c1.1,0,2-0.9,2-2.1v-4.8C43,50,42.1,49.1,41,49.1z"></path>
5
- <path class="categories" fill="#D1ECF5" d="M91,49H52c-1.1,0-2,0.9-2,2.1v4.8c0,1.1,0.9,2.1,2,2.1H91c1.1,0,2-0.9,2-2.1v-4.8C93,49.9,92.1,49,91,49z"></path>
6
- <path class="categories" fill="#D1ECF5" d="M141,49H102c-1.1,0-2,0.9-2,2.1v4.8c0,1.1,0.9,2.1,2,2.1H141c1.1,0,2-0.9,2-2.1v-4.8
7
- C143,49.9,142.1,49,141,49z"></path>
8
-
9
- <path class="minicart" fill="#D1ECF5" d="M115.2,8.9c0.8,0,1.5-0.6,1.5-1.4c0-3.7,0.6-4.6,4.3-4.6c3.7,0,4.3,0.9,4.3,4.6c0,0.8,0.7,1.4,1.5,1.4
10
- c0.8,0,1.4-0.6,1.4-1.4c0-2.3,0.1-7.5-7.2-7.5c-7.3,0-7.2,5.2-7.2,7.5C113.9,8.3,114.4,8.9,115.2,8.9z"></path>
11
- <path class="minicart" fill="#D1ECF5" d="M139.7,33.2l-4.6-21.9c-0.1-0.6-0.6-1.1-1.2-1.1h-25.6c-0.6,0-1.2,0.5-1.2,1.1l-4.6,21.9
12
- c-0.1,1,0.4,1.8,1.2,1.8h34.9C139.3,35,139.8,34.2,139.7,33.2z M114.6,16c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2s2.2,1,2.2,2.2
13
- S115.8,16,114.6,16z M127.6,16c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2c1.2,0,2.2,1,2.2,2.2S128.8,16,127.6,16z"></path>
14
-
15
- <path class="productbrowser" fill="#D1ECF5" d="M40.1,72H2.9C1.4,72,0,73.4,0,74.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9V74.9
16
- C43,73.4,41.6,72,40.1,72z M30.1,112.6c0,1.3,0,1.5-1.4,1.5H14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
17
- c1.5,0,1.4,0.1,1.4,1.5V112.6z"></path>
18
- <path class="productbrowser" fill="#D1ECF5" d="M90.1,72H52.9c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9V74.9
19
- C93,73.4,91.6,72,90.1,72z M80.1,112.6c0,1.3,0,1.5-1.4,1.5H64.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
20
- c1.5,0,1.4,0.1,1.4,1.5V112.6z"></path>
21
- <path class="productbrowser" fill="#D1ECF5" d="M140.1,72h-37.3c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9V74.9
22
- C143,73.4,141.6,72,140.1,72z M130.1,112.6c0,1.3,0,1.5-1.4,1.5h-14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
23
- c1.5,0,1.4,0.1,1.4,1.5V112.6z"></path>
24
- <path class="productbrowser" fill="#D1ECF5" d="M40.1,123H2.9c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9v-39.2
25
- C43,124.4,41.6,123,40.1,123z M30.1,163.6c0,1.3,0,1.5-1.4,1.5H14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
26
- c1.5,0,1.4,0.1,1.4,1.5V163.6z"></path>
27
- <path class="productbrowser" fill="#D1ECF5" d="M90.1,123H52.9c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9v-39.2
28
- C93,124.4,91.6,123,90.1,123z M80.1,163.6c0,1.3,0,1.5-1.4,1.5H64.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
29
- c1.5,0,1.4,0.1,1.4,1.5V163.6z"></path>
30
- <path class="productbrowser" fill="#D1ECF5" d="M140.1,123h-37.3c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9v-39.2
31
- C143,124.4,141.6,123,140.1,123z M130.1,163.6c0,1.3,0,1.5-1.4,1.5h-14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
32
- c1.5,0,1.4,0.1,1.4,1.5V163.6z"></path>
33
-
34
- <path class="search" fill="#D1ECF5" d="M38.2,31.3c0.5,0.5,0.8,1.2,0.8,1.9c0,0.7-0.3,1.4-0.8,1.9C37.6,35.7,37,36,36.3,36c-0.8,0-1.4-0.3-1.9-0.8
35
- L27,27.9c-2.5,1.8-5.4,2.6-8.5,2.6c-2,0-4-0.4-5.8-1.2c-1.9-0.8-3.5-1.9-4.8-3.2c-1.3-1.3-2.4-2.9-3.2-4.8c-0.8-1.9-1.2-3.8-1.2-5.8
36
- s0.4-4,1.2-5.8c0.8-1.9,1.9-3.5,3.2-4.8c1.3-1.3,2.9-2.4,4.8-3.2c1.9-0.8,3.8-1.2,5.8-1.2s4,0.4,5.8,1.2c1.9,0.8,3.5,1.9,4.8,3.2
37
- c1.3,1.3,2.4,2.9,3.2,4.8c0.8,1.9,1.2,3.8,1.2,5.8c0,3.1-0.9,6-2.6,8.5L38.2,31.3L38.2,31.3z M25.3,22.3c1.9-1.9,2.8-4.1,2.8-6.8
38
- c0-2.6-0.9-4.9-2.8-6.8c-1.9-1.9-4.1-2.8-6.8-2.8c-2.6,0-4.9,0.9-6.8,2.8c-1.9,1.9-2.8,4.1-2.8,6.8c0,2.6,0.9,4.9,2.8,6.8
39
- c1.9,1.9,4.1,2.8,6.8,2.8C21.1,25.1,23.4,24.1,25.3,22.3z"></path>
40
  </svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 143 168" enable-background="new 0 0 143 168" xml:space="preserve">
4
+ <path class="categories" fill="#D1ECF5" d="M41,49.1H2c-1.1,0-2,0.9-2,2.1V56c0,1.1,0.9,2.1,2,2.1H41c1.1,0,2-0.9,2-2.1v-4.8C43,50,42.1,49.1,41,49.1z"></path>
5
+ <path class="categories" fill="#D1ECF5" d="M91,49H52c-1.1,0-2,0.9-2,2.1v4.8c0,1.1,0.9,2.1,2,2.1H91c1.1,0,2-0.9,2-2.1v-4.8C93,49.9,92.1,49,91,49z"></path>
6
+ <path class="categories" fill="#D1ECF5" d="M141,49H102c-1.1,0-2,0.9-2,2.1v4.8c0,1.1,0.9,2.1,2,2.1H141c1.1,0,2-0.9,2-2.1v-4.8
7
+ C143,49.9,142.1,49,141,49z"></path>
8
+
9
+ <path class="minicart" fill="#D1ECF5" d="M115.2,8.9c0.8,0,1.5-0.6,1.5-1.4c0-3.7,0.6-4.6,4.3-4.6c3.7,0,4.3,0.9,4.3,4.6c0,0.8,0.7,1.4,1.5,1.4
10
+ c0.8,0,1.4-0.6,1.4-1.4c0-2.3,0.1-7.5-7.2-7.5c-7.3,0-7.2,5.2-7.2,7.5C113.9,8.3,114.4,8.9,115.2,8.9z"></path>
11
+ <path class="minicart" fill="#D1ECF5" d="M139.7,33.2l-4.6-21.9c-0.1-0.6-0.6-1.1-1.2-1.1h-25.6c-0.6,0-1.2,0.5-1.2,1.1l-4.6,21.9
12
+ c-0.1,1,0.4,1.8,1.2,1.8h34.9C139.3,35,139.8,34.2,139.7,33.2z M114.6,16c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2s2.2,1,2.2,2.2
13
+ S115.8,16,114.6,16z M127.6,16c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2c1.2,0,2.2,1,2.2,2.2S128.8,16,127.6,16z"></path>
14
+
15
+ <path class="productbrowser" fill="#D1ECF5" d="M40.1,72H2.9C1.4,72,0,73.4,0,74.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9V74.9
16
+ C43,73.4,41.6,72,40.1,72z M30.1,112.6c0,1.3,0,1.5-1.4,1.5H14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
17
+ c1.5,0,1.4,0.1,1.4,1.5V112.6z"></path>
18
+ <path class="productbrowser" fill="#D1ECF5" d="M90.1,72H52.9c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9V74.9
19
+ C93,73.4,91.6,72,90.1,72z M80.1,112.6c0,1.3,0,1.5-1.4,1.5H64.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
20
+ c1.5,0,1.4,0.1,1.4,1.5V112.6z"></path>
21
+ <path class="productbrowser" fill="#D1ECF5" d="M140.1,72h-37.3c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9V74.9
22
+ C143,73.4,141.6,72,140.1,72z M130.1,112.6c0,1.3,0,1.5-1.4,1.5h-14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
23
+ c1.5,0,1.4,0.1,1.4,1.5V112.6z"></path>
24
+ <path class="productbrowser" fill="#D1ECF5" d="M40.1,123H2.9c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9v-39.2
25
+ C43,124.4,41.6,123,40.1,123z M30.1,163.6c0,1.3,0,1.5-1.4,1.5H14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
26
+ c1.5,0,1.4,0.1,1.4,1.5V163.6z"></path>
27
+ <path class="productbrowser" fill="#D1ECF5" d="M90.1,123H52.9c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9v-39.2
28
+ C93,124.4,91.6,123,90.1,123z M80.1,163.6c0,1.3,0,1.5-1.4,1.5H64.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
29
+ c1.5,0,1.4,0.1,1.4,1.5V163.6z"></path>
30
+ <path class="productbrowser" fill="#D1ECF5" d="M140.1,123h-37.3c-1.4,0-2.9,1.4-2.9,2.9v39.2c0,1.5,1.4,2.9,2.9,2.9h37.3c1.4,0,2.9-1.4,2.9-2.9v-39.2
31
+ C143,124.4,141.6,123,140.1,123z M130.1,163.6c0,1.3,0,1.5-1.4,1.5h-14.3c-1.5,0-1.4-0.1-1.4-1.5v-4.4c0-1.3,0-1.5,1.4-1.5h14.3
32
+ c1.5,0,1.4,0.1,1.4,1.5V163.6z"></path>
33
+
34
+ <path class="search" fill="#D1ECF5" d="M38.2,31.3c0.5,0.5,0.8,1.2,0.8,1.9c0,0.7-0.3,1.4-0.8,1.9C37.6,35.7,37,36,36.3,36c-0.8,0-1.4-0.3-1.9-0.8
35
+ L27,27.9c-2.5,1.8-5.4,2.6-8.5,2.6c-2,0-4-0.4-5.8-1.2c-1.9-0.8-3.5-1.9-4.8-3.2c-1.3-1.3-2.4-2.9-3.2-4.8c-0.8-1.9-1.2-3.8-1.2-5.8
36
+ s0.4-4,1.2-5.8c0.8-1.9,1.9-3.5,3.2-4.8c1.3-1.3,2.9-2.4,4.8-3.2c1.9-0.8,3.8-1.2,5.8-1.2s4,0.4,5.8,1.2c1.9,0.8,3.5,1.9,4.8,3.2
37
+ c1.3,1.3,2.4,2.9,3.2,4.8c0.8,1.9,1.2,3.8,1.2,5.8c0,3.1-0.9,6-2.6,8.5L38.2,31.3L38.2,31.3z M25.3,22.3c1.9-1.9,2.8-4.1,2.8-6.8
38
+ c0-2.6-0.9-4.9-2.8-6.8c-1.9-1.9-4.1-2.8-6.8-2.8c-2.6,0-4.9,0.9-6.8,2.8c-1.9,1.9-2.8,4.1-2.8,6.8c0,2.6,0.9,4.9,2.8,6.8
39
+ c1.9,1.9,4.1,2.8,6.8,2.8C21.1,25.1,23.4,24.1,25.3,22.3z"></path>
40
  </svg>
includes/class-ecwid-integration-aiosp.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Ecwid_Integration_All_In_One_SEO_Pack
4
+ {
5
+ // Store intermediate sitemap generation results here
6
+ protected $sitemap = array();
7
+
8
+ public function __construct()
9
+ {
10
+ add_action( 'wp', array( $this, 'disable_seo_on_escaped_fragment' ) );
11
+
12
+ add_filter( 'aiosp_sitemap_extra', array( $this, 'aiosp_hook_sitemap_extra' ) );
13
+ add_filter( 'aiosp_sitemap_custom_ecwid', array( $this, 'aiosp_hook_sitemap_content') );
14
+ }
15
+
16
+ // Disable titles, descriptions and canonical link on ecwid _escaped_fragment_ pages
17
+ public function disable_seo_on_escaped_fragment()
18
+ {
19
+ if (!array_key_exists('_escaped_fragment_', $_GET) || !ecwid_page_has_productbrowser()) {
20
+ return;
21
+ }
22
+
23
+ global $aioseop_options;
24
+
25
+ $aioseop_options['aiosp_can'] = false;
26
+ add_filter( 'aioseop_title', '__return_null' );
27
+ add_filter( 'aioseop_description', '__return_null' );
28
+ }
29
+
30
+ // Hook that new sitemap type to aiosp sitemap
31
+ public function aiosp_hook_sitemap_extra( $params )
32
+ {
33
+ return array_merge($params, array('ecwid'));
34
+ }
35
+
36
+ // Hook that adds content to aiosp sitemap
37
+ public function aiosp_hook_sitemap_content()
38
+ {
39
+
40
+ $this->sitemap = array();
41
+
42
+ ecwid_build_sitemap( array($this, 'sitemap_callback') );
43
+
44
+ $sitemap = $this->sitemap;
45
+ $this->sitemap = null;
46
+
47
+ return $sitemap;
48
+ }
49
+
50
+ // A callback for the streaming sitemap builder
51
+ public function sitemap_callback($url, $priority, $frequency)
52
+ {
53
+ array_push($this->sitemap, array(
54
+ 'loc' => $url,
55
+ 'priority' => $priority,
56
+ 'changefreq' => $frequency
57
+ ));
58
+ }
59
+ }
60
+
61
+ $ecwid_integration_aiosp = new Ecwid_Integration_All_In_One_SEO_Pack();
includes/class-ecwid-integration-wpseo.php ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Ecwid_Integration_WordPress_SEO_By_Yoast
4
+ {
5
+ // Store intermediate sitemap generation results here
6
+ protected $sitemap = array();
7
+
8
+ public function __construct()
9
+ {
10
+ add_action( 'wp', array( $this, 'disable_seo_on_escaped_fragment' ) );
11
+ add_action( 'template_redirect', array( $this, 'disable_rewrite_titles' ) );
12
+
13
+ if (ecwid_is_paid_account() && ecwid_is_store_page_available()) {
14
+ add_filter( 'wpseo_sitemap_index', array( $this, 'wpseo_hook_sitemap_index' ) );
15
+ add_filter( 'wpseo_do_sitemap_ecwid', array( $this, 'wpseo_hook_do_sitemap' ) );
16
+ }
17
+
18
+ add_filter( 'ecwid_title_separator', array( $this, 'get_title_separator' ) );
19
+ }
20
+
21
+ // Disable titles, descriptions and canonical link on ecwid _escaped_fragment_ pages
22
+ public function disable_seo_on_escaped_fragment()
23
+ {
24
+ if (!array_key_exists('_escaped_fragment_', $_GET) || !ecwid_page_has_productbrowser()) {
25
+ return;
26
+ }
27
+
28
+ global $wpseo_front;
29
+ // Canonical
30
+ remove_action( 'wpseo_head', array( $wpseo_front, 'canonical' ), 20);
31
+ // Description
32
+ remove_action( 'wpseo_head', array( $wpseo_front, 'metadesc' ), 10 );
33
+ }
34
+
35
+ public function disable_rewrite_titles()
36
+ {
37
+ global $wpseo_front;
38
+
39
+ // Newer versions of Wordpress SEO assign their rewrite on this stage
40
+ remove_action( 'template_redirect', array( $wpseo_front, 'force_rewrite_output_buffer' ), 99999 );
41
+ }
42
+
43
+ // Hook that new sitemap type to aiosp sitemap
44
+ public function wpseo_hook_sitemap_index( )
45
+ {
46
+ $now = date('c', time());;
47
+ $sitemap_url = wpseo_xml_sitemaps_base_url('ecwid-sitemap.xml');
48
+ return <<<XML
49
+ <sitemap>
50
+ <loc>$sitemap_url</loc>
51
+ <lastmod>$now</lastmod>
52
+ </sitemap>
53
+ XML;
54
+ }
55
+
56
+ // Hook that adds content to aiosp sitemap
57
+ public function wpseo_hook_do_sitemap()
58
+ {
59
+
60
+ $this->sitemap = <<<XML
61
+ <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
62
+ XML;
63
+
64
+
65
+ ecwid_build_sitemap( array($this, 'sitemap_callback') );
66
+
67
+ $this->sitemap .= '</urlset>';
68
+
69
+ $sitemap = $this->sitemap;
70
+ $this->sitemap = null;
71
+
72
+ $GLOBALS['wpseo_sitemaps']->set_sitemap($sitemap);
73
+ }
74
+
75
+ // A callback for the streaming sitemap builder
76
+ public function sitemap_callback($url, $priority, $frequency)
77
+ {
78
+ $this->sitemap .= <<<XML
79
+ <url>
80
+ <loc>$url</loc>
81
+ <changefreq>$frequency</changefreq>
82
+ <priority>$priority</priority>
83
+ </url>
84
+
85
+ XML;
86
+ }
87
+
88
+ public function get_title_separator($separator)
89
+ {
90
+ if (class_exists('WPSEO_Option_Titles')) {
91
+ $separator = wpseo_replace_vars( '%%sep%%', array() );
92
+ }
93
+
94
+ return $separator;
95
+ }
96
+ }
97
+
98
+ $ecwid_integration_wpseo = new Ecwid_Integration_WordPress_SEO_By_Yoast();
includes/class-ecwid-message-manager.php CHANGED
@@ -223,7 +223,7 @@ class Ecwid_Message_Manager
223
  $is_newbie = get_ecwid_store_id() == ECWID_DEMO_STORE_ID;
224
 
225
  $is_ecwid_settings = in_array($admin_page, array('ecwid-store_page_ecwid-advanced', 'ecwid-store_page_ecwid-appearance'));
226
- $is_store_page = $admin_page == 'post' && $_GET['post'] == ecwid_get_current_store_page_id();
227
 
228
  return $is_newbie && ($is_ecwid_settings || $is_store_page);
229
 
223
  $is_newbie = get_ecwid_store_id() == ECWID_DEMO_STORE_ID;
224
 
225
  $is_ecwid_settings = in_array($admin_page, array('ecwid-store_page_ecwid-advanced', 'ecwid-store_page_ecwid-appearance'));
226
+ $is_store_page = $admin_page == 'post' && isset($_GET['post']) && $_GET['post'] == ecwid_get_current_store_page_id();
227
 
228
  return $is_newbie && ($is_ecwid_settings || $is_store_page);
229
 
includes/class-ecwid-sitemap-builder.php CHANGED
@@ -59,7 +59,8 @@ class EcwidSitemapBuilder implements JsonStreamingParser_Listener {
59
  if (is_array($obj) && array_key_exists('url', $obj)) {
60
  $callback = $this->callback;
61
 
62
- $callback(
 
63
  ecwid_get_entity_url($obj, $this->type == 'products' ? 'p' : 'c'),
64
  $this->type == 'products' ? 0.6 : 0.5,
65
  'weekly'
59
  if (is_array($obj) && array_key_exists('url', $obj)) {
60
  $callback = $this->callback;
61
 
62
+ call_user_func(
63
+ $callback,
64
  ecwid_get_entity_url($obj, $this->type == 'products' ? 'p' : 'c'),
65
  $this->type == 'products' ? 0.6 : 0.5,
66
  'weekly'
includes/themes/class-ecwid-theme-base.php CHANGED
@@ -1,24 +1,24 @@
1
- <?php
2
-
3
- class Ecwid_Theme_Base {
4
-
5
- public $has_advanced_layout = false;
6
-
7
- protected $adjust_pb_scroll = false;
8
-
9
- public function __construct()
10
- {
11
- if ( $this->adjust_pb_scroll ) {
12
- wp_enqueue_script(
13
- 'ecwid-scroller',
14
- plugins_url( 'ecwid-shopping-cart/js/create_scroller.js' ),
15
- array( 'jquery' )
16
- );
17
- }
18
- }
19
-
20
- protected function need_advanced_layout()
21
- {
22
- return get_option('ecwid_advanced_theme_layout') == 'Y';
23
- }
24
  }
1
+ <?php
2
+
3
+ class Ecwid_Theme_Base {
4
+
5
+ public $has_advanced_layout = false;
6
+
7
+ protected $adjust_pb_scroll = false;
8
+
9
+ public function __construct()
10
+ {
11
+ if ( $this->adjust_pb_scroll ) {
12
+ wp_enqueue_script(
13
+ 'ecwid-scroller',
14
+ plugins_url( 'ecwid-shopping-cart/js/create_scroller.js' ),
15
+ array( 'jquery' )
16
+ );
17
+ }
18
+ }
19
+
20
+ protected function need_advanced_layout()
21
+ {
22
+ return get_option('ecwid_advanced_theme_layout') == 'Y';
23
+ }
24
  }
includes/themes/class-ecwid-theme-bretheon.php CHANGED
@@ -1,36 +1,36 @@
1
- <?php
2
-
3
- require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
-
5
- class Ecwid_Theme_Bretheon extends Ecwid_Theme_Base
6
- {
7
- protected $name = 'Bretheon';
8
-
9
- public function __construct()
10
- {
11
- parent::__construct();
12
-
13
- add_filter( 'ecwid_page_has_product_browser', array( $this, 'has_product_browser' ) );
14
- }
15
-
16
- public function has_product_browser( $value )
17
- {
18
- if ( $value ) {
19
- return $value;
20
- }
21
-
22
- $meta = get_post_meta( get_the_ID(), 'mfn-page-items' );
23
- if ( is_array( $meta ) ) {
24
- $meta = base64_decode( $meta[0] );
25
-
26
- // not exactly the intended usage, but quite simple and still works
27
- // $meta is a serialized array that has the actual content
28
- // a right way is to walk through the structure and run has_shortcode against all fields
29
- $result = ecwid_content_has_productbrowser($meta);
30
- }
31
-
32
- return $result;
33
- }
34
- }
35
-
36
  $ecwid_current_theme = new Ecwid_Theme_Bretheon();
1
+ <?php
2
+
3
+ require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
+
5
+ class Ecwid_Theme_Bretheon extends Ecwid_Theme_Base
6
+ {
7
+ protected $name = 'Bretheon';
8
+
9
+ public function __construct()
10
+ {
11
+ parent::__construct();
12
+
13
+ add_filter( 'ecwid_page_has_product_browser', array( $this, 'has_product_browser' ) );
14
+ }
15
+
16
+ public function has_product_browser( $value )
17
+ {
18
+ if ( $value ) {
19
+ return $value;
20
+ }
21
+
22
+ $meta = get_post_meta( get_the_ID(), 'mfn-page-items' );
23
+ if ( is_array( $meta ) ) {
24
+ $meta = base64_decode( $meta[0] );
25
+
26
+ // not exactly the intended usage, but quite simple and still works
27
+ // $meta is a serialized array that has the actual content
28
+ // a right way is to walk through the structure and run has_shortcode against all fields
29
+ $result = ecwid_content_has_productbrowser($meta);
30
+ }
31
+
32
+ return $result;
33
+ }
34
+ }
35
+
36
  $ecwid_current_theme = new Ecwid_Theme_Bretheon();
includes/themes/class-ecwid-theme-envision.php CHANGED
@@ -1,34 +1,34 @@
1
- <?php
2
-
3
- require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
-
5
- class Ecwid_Theme_Envision extends Ecwid_Theme_Base
6
- {
7
- protected $name = 'Envision';
8
-
9
- public function __construct()
10
- {
11
- parent::__construct();
12
-
13
- add_filter( 'ecwid_page_has_product_browser', array( $this, 'has_product_browser' ) );
14
- }
15
-
16
- public function has_product_browser( $value )
17
- {
18
- if ( $value ) {
19
- return $value;
20
- }
21
-
22
- $meta = serialize(get_post_meta( get_the_ID(), 'env_composer' ));
23
- //die(print_r(serialize($meta)));
24
-
25
- // not exactly the intended usage, but quite simple and still works
26
- // $meta is a serialized array that has the actual content
27
- // a right way is to walk through the structure and run has_shortcode against all fields
28
- $result = ecwid_content_has_productbrowser($meta);
29
-
30
- return $result;
31
- }
32
- }
33
-
34
  $ecwid_current_theme = new Ecwid_Theme_Envision();
1
+ <?php
2
+
3
+ require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
+
5
+ class Ecwid_Theme_Envision extends Ecwid_Theme_Base
6
+ {
7
+ protected $name = 'Envision';
8
+
9
+ public function __construct()
10
+ {
11
+ parent::__construct();
12
+
13
+ add_filter( 'ecwid_page_has_product_browser', array( $this, 'has_product_browser' ) );
14
+ }
15
+
16
+ public function has_product_browser( $value )
17
+ {
18
+ if ( $value ) {
19
+ return $value;
20
+ }
21
+
22
+ $meta = serialize(get_post_meta( get_the_ID(), 'env_composer' ));
23
+ //die(print_r(serialize($meta)));
24
+
25
+ // not exactly the intended usage, but quite simple and still works
26
+ // $meta is a serialized array that has the actual content
27
+ // a right way is to walk through the structure and run has_shortcode against all fields
28
+ $result = ecwid_content_has_productbrowser($meta);
29
+
30
+ return $result;
31
+ }
32
+ }
33
+
34
  $ecwid_current_theme = new Ecwid_Theme_Envision();
includes/themes/class-ecwid-theme-pagelines.php CHANGED
@@ -1,19 +1,19 @@
1
- <?php
2
-
3
- require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
-
5
- class Ecwid_Theme_Pagelines extends Ecwid_Theme_Base
6
- {
7
- protected $name = 'Pagelines';
8
-
9
- protected $adjust_pb_scroll = true;
10
-
11
- public function __construct()
12
- {
13
- parent::__construct();
14
-
15
- wp_enqueue_script( 'ecwid-theme-js', plugins_url( 'ecwid-shopping-cart/js/themes/pagelines.js' ), array( 'jquery' ), false, true );
16
- }
17
- }
18
-
19
  $ecwid_current_theme = new Ecwid_Theme_Pagelines();
1
+ <?php
2
+
3
+ require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
+
5
+ class Ecwid_Theme_Pagelines extends Ecwid_Theme_Base
6
+ {
7
+ protected $name = 'Pagelines';
8
+
9
+ protected $adjust_pb_scroll = true;
10
+
11
+ public function __construct()
12
+ {
13
+ parent::__construct();
14
+
15
+ wp_enqueue_script( 'ecwid-theme-js', plugins_url( 'ecwid-shopping-cart/js/themes/pagelines.js' ), array( 'jquery' ), false, true );
16
+ }
17
+ }
18
+
19
  $ecwid_current_theme = new Ecwid_Theme_Pagelines();
includes/themes/class-ecwid-theme-responsive.php CHANGED
@@ -1,76 +1,76 @@
1
- <?php
2
-
3
- require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
-
5
- class Ecwid_Theme_Responsive extends Ecwid_Theme_Base
6
- {
7
- public $has_advanced_layout = true;
8
-
9
- public function __construct()
10
- {
11
- parent::__construct();
12
-
13
- if (!is_admin()) {
14
-
15
- if ( $this->need_advanced_layout() ) {
16
- wp_enqueue_style( 'ecwid-theme-adjustments' , plugins_url( 'ecwid-shopping-cart/css/themes/responsive-adjustments.css' ), array(), false, 'all' );
17
- wp_enqueue_script( 'ecwid-theme', plugins_url( 'ecwid-shopping-cart/js/themes/responsive.js' ), array( 'jquery' ), false, true );
18
-
19
- add_filter( 'ecwid_minicart_shortcode_content', array( $this, 'minicart_shortcode_content' ) );
20
- add_filter( 'ecwid_search_shortcode_content', array( $this, 'search_shortcode_content' ) );
21
- }
22
-
23
- wp_enqueue_style( 'ecwid-open-sans' , 'http://fonts.googleapis.com/css?family=Open+Sans:400,700&subset=latin,cyrillic-ext,cyrillic,greek-ext,vietnamese,greek,latin-ext');
24
- wp_enqueue_style( 'dashicons' );
25
- wp_enqueue_style( 'ecwid-theme-fixes' , plugins_url( 'ecwid-shopping-cart/css/themes/responsive.css' ), array(), false, 'all' );
26
-
27
- add_filter('body_class', array($this, 'body_class'));
28
-
29
- } else {
30
-
31
- add_action('ecwid_store_page_created', array($this, 'on_create_store_page'));
32
- add_action('switch_theme', array($this, 'switch_theme'));
33
-
34
- }
35
-
36
- }
37
-
38
- public function switch_theme()
39
- {
40
-
41
- }
42
-
43
- public function minicart_shortcode_content( $content )
44
- {
45
-
46
- if ( ecwid_page_has_productbrowser() ) {
47
- $content = '<script type="text/javascript"> xMinicart("style=","layout=Mini"); </script>';
48
- }
49
-
50
- return $content;
51
- }
52
-
53
- public function search_shortcode_content( $content ) {
54
-
55
- $content .= '<script type="text/javascript">jQuery(document.body).addClass("ecwid-with-search"); </script>';
56
-
57
- return $content;
58
- }
59
-
60
- public function body_class($classes)
61
- {
62
- if (get_option('ecwid_show_search_box')) {
63
- $classes[] = 'ecwid-with-search';
64
- }
65
-
66
- return $classes;
67
- }
68
-
69
- public function on_create_store_page($page_id)
70
- {
71
- update_post_meta($page_id, '_wp_page_template', 'full-width-page.php');
72
- }
73
- }
74
-
75
- global $ecwid_current_theme;
76
  $ecwid_current_theme = new Ecwid_Theme_Responsive();
1
+ <?php
2
+
3
+ require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
+
5
+ class Ecwid_Theme_Responsive extends Ecwid_Theme_Base
6
+ {
7
+ public $has_advanced_layout = true;
8
+
9
+ public function __construct()
10
+ {
11
+ parent::__construct();
12
+
13
+ if (!is_admin()) {
14
+
15
+ if ( $this->need_advanced_layout() ) {
16
+ wp_enqueue_style( 'ecwid-theme-adjustments' , plugins_url( 'ecwid-shopping-cart/css/themes/responsive-adjustments.css' ), array(), false, 'all' );
17
+ wp_enqueue_script( 'ecwid-theme', plugins_url( 'ecwid-shopping-cart/js/themes/responsive.js' ), array( 'jquery' ), false, true );
18
+
19
+ add_filter( 'ecwid_minicart_shortcode_content', array( $this, 'minicart_shortcode_content' ) );
20
+ add_filter( 'ecwid_search_shortcode_content', array( $this, 'search_shortcode_content' ) );
21
+ }
22
+
23
+ wp_enqueue_style( 'ecwid-open-sans' , 'http://fonts.googleapis.com/css?family=Open+Sans:400,700&subset=latin,cyrillic-ext,cyrillic,greek-ext,vietnamese,greek,latin-ext');
24
+ wp_enqueue_style( 'dashicons' );
25
+ wp_enqueue_style( 'ecwid-theme-fixes' , plugins_url( 'ecwid-shopping-cart/css/themes/responsive.css' ), array(), false, 'all' );
26
+
27
+ add_filter('body_class', array($this, 'body_class'));
28
+
29
+ } else {
30
+
31
+ add_action('ecwid_store_page_created', array($this, 'on_create_store_page'));
32
+ add_action('switch_theme', array($this, 'switch_theme'));
33
+
34
+ }
35
+
36
+ }
37
+
38
+ public function switch_theme()
39
+ {
40
+
41
+ }
42
+
43
+ public function minicart_shortcode_content( $content )
44
+ {
45
+
46
+ if ( ecwid_page_has_productbrowser() ) {
47
+ $content = '<script data-cfasync="false" type="text/javascript"> xMinicart("style=","layout=Mini"); </script>';
48
+ }
49
+
50
+ return $content;
51
+ }
52
+
53
+ public function search_shortcode_content( $content ) {
54
+
55
+ $content .= '<script data-cfasync="false" type="text/javascript">jQuery(document.body).addClass("ecwid-with-search"); </script>';
56
+
57
+ return $content;
58
+ }
59
+
60
+ public function body_class($classes)
61
+ {
62
+ if (get_option('ecwid_show_search_box')) {
63
+ $classes[] = 'ecwid-with-search';
64
+ }
65
+
66
+ return $classes;
67
+ }
68
+
69
+ public function on_create_store_page($page_id)
70
+ {
71
+ update_post_meta($page_id, '_wp_page_template', 'full-width-page.php');
72
+ }
73
+ }
74
+
75
+ global $ecwid_current_theme;
76
  $ecwid_current_theme = new Ecwid_Theme_Responsive();
includes/themes/class-ecwid-theme-twentyfourteen.php CHANGED
@@ -1,21 +1,21 @@
1
- <?php
2
-
3
- require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
-
5
- class Ecwid_Theme_2014 extends Ecwid_Theme_Base
6
- {
7
- protected $name = 'Twenty Fourteen';
8
-
9
- protected $adjust_pb_scroll = true;
10
-
11
- public function __construct()
12
- {
13
- parent::__construct();
14
-
15
- if (ecwid_page_has_productbrowser()) {
16
- wp_enqueue_style( 'ecwid-theme', plugins_url( 'ecwid-shopping-cart/css/themes/2014.css' ), array('twentyfourteen-style') );
17
- }
18
- }
19
- }
20
-
21
  $ecwid_current_theme = new Ecwid_Theme_2014();
1
+ <?php
2
+
3
+ require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
4
+
5
+ class Ecwid_Theme_2014 extends Ecwid_Theme_Base
6
+ {
7
+ protected $name = 'Twenty Fourteen';
8
+
9
+ protected $adjust_pb_scroll = true;
10
+
11
+ public function __construct()
12
+ {
13
+ parent::__construct();
14
+
15
+ if (ecwid_page_has_productbrowser()) {
16
+ wp_enqueue_style( 'ecwid-theme', plugins_url( 'ecwid-shopping-cart/css/themes/2014.css' ), array('twentyfourteen-style') );
17
+ }
18
+ }
19
+ }
20
+
21
  $ecwid_current_theme = new Ecwid_Theme_2014();
js/admin.js CHANGED
@@ -1,4 +1,4 @@
1
- jQuery(document).ready(function() {
2
  jQuery('#hide-vote-message').click(function() {
3
  jQuery('#hide-vote-message').addClass('hiding');
4
  jQuery.getJSON(
@@ -26,4 +26,26 @@ jQuery(document).ready(function() {
26
  }
27
  );
28
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  });
1
+ jQuery(document).ready(function() {
2
  jQuery('#hide-vote-message').click(function() {
3
  jQuery('#hide-vote-message').addClass('hiding');
4
  jQuery.getJSON(
26
  }
27
  );
28
  });
29
+
30
+ if (location.href.match(/wp-admin\/widgets.php/)) {
31
+ jQuery('div[id^="widget-"]').filter('div[id*="_ecwid"]').each(function(idx, el) {
32
+ if (location.href.match(/wp-admin\/widgets.php\?from-ecwid=/) && el.id.match(/__i__/)) {
33
+ if (jQuery('.ecwid-widget').length > 0) {
34
+ jQuery(el).insertAfter(jQuery('.ecwid-widget:last'));
35
+ } else {
36
+ jQuery(el).prependTo(jQuery('#widget-list'));
37
+ }
38
+ jQuery('.widget-top', el).addClass('ecwid-widget-highlighted');
39
+
40
+ }
41
+
42
+ var classname = el.id.match(/widget.*ecwid(.*)-/);
43
+ if (classname) {
44
+ classname = 'ecwid-widget-' + classname[1];
45
+ jQuery(el).addClass('ecwid-widget')
46
+ .find('.widget-top')
47
+ .addClass(classname);
48
+ }
49
+ });
50
+ }
51
  });
js/themes/pagelines.js CHANGED
@@ -1,9 +1,9 @@
1
- jQuery(document).ready(function() {
2
- var fixedNav = jQuery('#navbar');
3
- if (fixedNav.css('position') == 'fixed') {
4
- jQuery('#ecwid_product_browser_scroller').css({
5
- 'position': 'relative',
6
- 'top': -fixedNav.height()
7
- });
8
- }
9
  });
1
+ jQuery(document).ready(function() {
2
+ var fixedNav = jQuery('#navbar');
3
+ if (fixedNav.css('position') == 'fixed') {
4
+ jQuery('#ecwid_product_browser_scroller').css({
5
+ 'position': 'relative',
6
+ 'top': -fixedNav.height()
7
+ });
8
+ }
9
  });
languages/ecwid-shopping-cart-it_IT.po CHANGED
@@ -1,250 +1,250 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: Ecwid Shopping Cart 2.0\n"
4
- "PO-Revision-Date: 2013-10-28 20:42+0100\n"
5
- "Last-Translator: Luciano Del Fico <info@myweb2.it>\n"
6
- "MIME-Version: 1.0\n"
7
- "Content-Type: text/plain; charset=UTF-8\n"
8
- "Content-Transfer-Encoding: 8bit\n"
9
- "POT-Creation-Date: \n"
10
- "Language-Team: Luciano Del Fico <luciano@myweb2.it>\n"
11
- "X-Generator: Poedit 1.5.7\n"
12
- "Language: it_IT\n"
13
- "X-Poedit-SourceCharset: UTF-8\n"
14
-
15
- msgid "<strong>Ecwid shopping cart is almost ready</strong>. Please visit <a target=\"_blank\" href=\"%s\">the created page</a> to see your store with demo products. In order to finish the installation, please go to the <a href=\"admin.php?page=ecwid\"><strong>Ecwid settings</strong></a> and configure the plugin."
16
- msgstr "<strong>Ecwid shopping cart è pronto</strong>. Visita <a target=\"_blank\" href=\"%s\">la pagina creata</a> per vedere il tuo negozio con alcuni prodotti dimostrativi. Per completare l'installazione, vai alle <a href=\"admin.php?page=ecwid\"><strong>impostazioni Ecwid</strong></a> e configura il plugin."
17
-
18
- msgid "Account status"
19
- msgstr "Tipo account"
20
-
21
- msgid "Advanced"
22
- msgstr "Avanzate"
23
-
24
- msgid "Advanced settings"
25
- msgstr "Impostazioni avanzate"
26
-
27
- msgid "Appearance"
28
- msgstr "Visualizzazione"
29
-
30
- msgid "Appearance settings"
31
- msgstr "Impostazioni visualizzazione"
32
-
33
- msgid "Billing and plans"
34
- msgstr "Fatturazione e Piani"
35
-
36
- msgid "By default, the storefront shows a list of root categories. You can override this behavior and show a different category when customers open your store for the first time. This is useful if you only have one category or want to display a specific set of items (e.g. \"Featured Products\") to new visitors."
37
- msgstr "Per impostazione predefinita, la vetrina mostra un elenco di categorie principali. È possibile ignorare questo comportamento e mostrare una categoria diversa quando i clienti aprono il negozio per la prima volta. E 'utile se si dispone di una sola categoria o si desidera visualizzare uno specifico insieme di elementi (es. \"Prodotti in evidenza\") a tutti i nuovi visitatori."
38
-
39
- msgid "Category shown by default"
40
- msgstr "Categoria visualizzata come predefinita"
41
-
42
- msgid "Congratulations!"
43
- msgstr "Congratulazioni!"
44
-
45
- msgid "Control panel"
46
- msgstr "Pannello di Controllo"
47
-
48
- msgid "Create a new Ecwid account which you will use to manage your store and inventory. The registration is free."
49
- msgstr "Crea un nuovo account su Ecwid che verrà utilizzato per gestire il tuo negozio e magazzino. La registrazione è gratuita."
50
-
51
- msgid "Create new Ecwid account"
52
- msgstr "Crea un nuovo account Ecwid"
53
-
54
- msgid "Default category ID"
55
- msgstr "ID categoria predefinita"
56
-
57
- msgid "Default view mode on product pages"
58
- msgstr "Modalità di visualizzazione predefinita sulle pagine prodotti"
59
-
60
- msgid "Default view mode on search results"
61
- msgstr "Modalità di visualizzazione predefinita nei risultati di ricerca"
62
-
63
- msgid "Display horizontal categories above products"
64
- msgstr "Visualizza le categorie orizzontali sopra i prodotti"
65
-
66
- msgid "Display search box above products"
67
- msgstr "Mostra casella di ricerca sopra prodotti"
68
-
69
- msgid "Ecwid Search Box"
70
- msgstr "Casella di ricerca negozio"
71
-
72
- msgid "Ecwid Shopping Bag (Mini view)"
73
- msgstr "Carrello Ecwid Shopping (Mini)"
74
-
75
- msgid "Ecwid Shopping Bag (Normal)"
76
- msgstr "Carrello Ecwid Shopping Bag (Normale)"
77
-
78
- msgid "Ecwid Shopping Cart — Advanced settings"
79
- msgstr "Ecwid Shopping Cart — Impostazioni Avanzate"
80
-
81
- msgid "Ecwid Shopping Cart — Appearance settings"
82
- msgstr "Ecwid Shopping Cart — Impostazioni di visualizzazione"
83
-
84
- msgid "Ecwid Shopping Cart — General settings"
85
- msgstr "Ecwid Shopping Cart — Impostazioni Generali"
86
-
87
- msgid "Ecwid Store"
88
- msgstr "Negozio Ecwid"
89
-
90
- msgid "Ecwid Vertical Categories"
91
- msgstr "Categorie Verticali Ecwid "
92
-
93
- msgid "Ecwid shopping cart settings"
94
- msgstr "Impostazioni Ecwid shopping cart"
95
-
96
- msgid "Enable minicart attached to horizontal categories"
97
- msgstr "Abilita carrello attaccato alle categorie orizzontali"
98
-
99
- msgid "Enter your Store ID"
100
- msgstr "Aggiungi il tuo ID Negozio"
101
-
102
- msgid "Enter your Store ID here:"
103
- msgstr "Aggiungi qui il tuo ID Negozio:"
104
-
105
- msgid "Find your Store ID"
106
- msgstr "Cerca id tuo ID Negozio"
107
-
108
- msgid "Free"
109
- msgstr "Gratuito"
110
-
111
- msgid "General"
112
- msgstr "Generale"
113
-
114
- msgid "General settings"
115
- msgstr "Impostazioni Generali"
116
-
117
- msgid "Get help"
118
- msgstr "Chiedi aiuto"
119
-
120
- msgid "Go to Ecwid site"
121
- msgstr "Vai al sito Ecwid"
122
-
123
- msgid "Greetings!"
124
- msgstr "Auguri!"
125
-
126
- msgid "Grid"
127
- msgstr "Griglia"
128
-
129
- msgid "Grid view"
130
- msgstr "Visualizza come griglia"
131
-
132
- msgid "Here you can control how many products will be displayed per page. These options define maximum values. If there is not enough space to show all product columns, Ecwid will adapt the number of columns to hold all products."
133
- msgstr "Qui è possibile controllare il numero di prodotti da visualizzare per pagina. Queste opzioni definiscono valori massimi. Se non c'è abbastanza spazio per mostrare tutte le colonne dei prodotto, Ecwid adatterà il numero di colonne a tutti i prodotti."
134
-
135
- msgid "I already have Ecwid account, sign in"
136
- msgstr "Ho già un account Ecwid"
137
-
138
- msgid "If you want to connect another Ecwid store, you can <a %s>disconnect the current one and change Store ID</a>."
139
- msgstr "Se desideri collegare un altro negozio Ecwid, è possibile <a %s>scollegare e modificare il tuo attuale ID</a>."
140
-
141
- msgid "In order to enable this feature, opt to use a secret key. You will find this key in your Ecwid control panel, at \"System Settings > API > Single Sign-On API\" page. This feature is available for <a href=\"http://www.ecwid.com/compare-plans.html\" target=\"_blank\">paid users</a> only."
142
- msgstr "Per abilitare questa funzione è necessario essere in possesso di una chiave segreta. Troverete questo tasto nel pannello di controllo Ecwid, in \"Impostazioni di sistema > API > Single Sign-on API\" . Questa funzione è disponibile per tutti gli <a href=\"http://www.ecwid.com/compare-plans.html\" target=\"_blank\">utenti paganti</a>."
143
-
144
- msgid "In order to set this option, <a %s>find an ID of the necessary category</a> and save it here."
145
- msgstr "Per attivare questa opzione, <a %s> cerca un ID della categoria necessaria</a> e salvalo qui."
146
-
147
- msgid "List"
148
- msgstr "Elenco"
149
-
150
- msgid "List view"
151
- msgstr "Visualizza come elenco"
152
-
153
- msgid "Manage my store"
154
- msgstr "Gestione negozio"
155
-
156
- msgid "Manage plugin settings"
157
- msgstr "Impostazioni plugin"
158
-
159
- msgid "Number of categories per row"
160
- msgstr "Numero di categorie per riga"
161
-
162
- msgid "Number of products per page"
163
- msgstr "Numero di prodotti per pagina"
164
-
165
- msgid "Or you can add search box to your website's toolbar using <a href=\"%s\">WordPress native widgets</a>"
166
- msgstr "Puoi anche aggiungere alla barra degli strumenti la casella di ricerca del tuo sito web utilizzando i <a href=\"%s\">widgets nativi di WordPress</a>"
167
-
168
- msgid "Or you can add vertical categories to your website's toolbar using <a href=\"%s\">WordPress native widgets</a>"
169
- msgstr "Puoi anche aggiungere alla barra degli strumenti le categorie verticali utilizzando i <a href=\"%s\">widgets nativi di WordPress</a>"
170
-
171
- msgid "Paid"
172
- msgstr "Pagante"
173
-
174
- msgid "Questions? Visit <a href=\"http://help.ecwid.com/?source=wporg\">Ecwid support center</a>"
175
- msgstr "Domande? Visita il <a href=\"http://help.ecwid.com/?source=wporg\">Centro di Supporto Ecwid</a>"
176
-
177
- msgid "Register at Ecwid"
178
- msgstr "Registrati a Ecwid"
179
-
180
- msgid "Save and connect your Ecwid store to the site"
181
- msgstr "Salva e collega il tuo negozio Ecwid al sito"
182
-
183
- msgid "Save changes"
184
- msgstr "Salva modifiche"
185
-
186
- msgid "Single Sign-On Secret Key"
187
- msgstr "Registrazione Sign-On Secret Key"
188
-
189
- msgid "Store"
190
- msgstr "Negozio"
191
-
192
- msgid "Store ID"
193
- msgstr "ID Negozio"
194
-
195
- msgid "Store ID is a unique identifier of any Ecwid store, it consists of several digits. You can find it on the \"Dashboard\" page of Ecwid control panel. Also the Store ID will be sent in the Welcome email after the registration."
196
- msgstr "L'ID è un identificatore univoco di un qualsiasi negozio Ecwid, si compone di più cifre. Lo si può trovare sulla \"Scrivania\" di Ecwid. L'ID del Negozio sarà inviato dopo la registrazione anche nella email di benvenuto."
197
-
198
- msgid "Store root category"
199
- msgstr "Categoria principale negozio"
200
-
201
- msgid "Table"
202
- msgstr "Tabella"
203
-
204
- msgid "Table view"
205
- msgstr "Visualizza come tabella"
206
-
207
- msgid "Thank you for choosing Ecwid to build your online store"
208
- msgstr "Grazie per aver scelto Ecwid per costruire il tuo negozio online"
209
-
210
- msgid "Thank you for supporting Ecwid!"
211
- msgstr "Grazie per il supporto Ecwid!"
212
-
213
- msgid "The first step towards opening your online business: <br />Let’s get started and add a store to your WordPress website in <strong>3</strong> simple steps."
214
- msgstr "Il primo passo verso l'apertura tuo business online: <br />Comincia ad aggiungere un negozio al tuo sito WordPress in <strong>3</strong> semplici steps."
215
-
216
- msgid "Single Sign-On Secret Key is an option that allows your customers access to your WordPress site as well as the Ecwid shopping cart. When customers log in to your site, they will automatically be logged in to your Ecwid store as well. It makes sense to enable this feature if your visitors actually create accounts in your WordPress website."
217
- msgstr "Questa funzione opzionale consente di abilitare la Sign-on Secret Key, quando i clienti sono registrati al sito, si accede automaticamente al tuo negozio Ecwid, anche se non dispongono di un account del negozio . Ha senso attivare questa funzione, se i visitatori effettivamente hanno creato un account nel tuo sito WordPress."
218
-
219
- msgid "Upgrade"
220
- msgstr "Aggiorna"
221
-
222
- msgid "Upgrade to get access to cool premium features."
223
- msgstr "Aggiorna per accedere agli strumenti premium."
224
-
225
- msgid "Vertical menu of categories"
226
- msgstr "Menu verticale categorie"
227
-
228
- msgid "Visit storefront"
229
- msgstr "Visita la vetrina del negozio"
230
-
231
- msgid "You should disable this option, if you added minicart to your website's&nbsp;sidebar"
232
- msgstr "È necessario disattivare questa opzione, se hai aggiunto il carrello al tuo sito web&nbsp;sidebar"
233
-
234
- msgid "You will be able to sign up through your existing Google, Facebook or PayPal profiles as well."
235
- msgstr "Sarai in grado di iscriverti tramite il tuo accont esistente di Google, Facebook e PayPal."
236
-
237
- msgid "Your Ecwid store is connected to your WordPress website"
238
- msgstr "Il tuo Negozio Ecwid è ora connesso al tuo sito web WordPress"
239
-
240
- msgid "Your Ecwid store is now connected to your WordPress website"
241
- msgstr "Il tuo Negozio Ecwid è ora connesso al tuo sito web WordPress"
242
-
243
- msgid "Your store's minicart"
244
- msgstr "Carrello del tuo negozio"
245
-
246
- msgid "Your store's search box"
247
- msgstr "La casella di ricerca del tuo negozio"
248
-
249
- msgid "→ Sell on Facebook"
250
- msgstr "→ Vendi su Facebook"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Ecwid Shopping Cart 2.0\n"
4
+ "PO-Revision-Date: 2013-10-28 20:42+0100\n"
5
+ "Last-Translator: Luciano Del Fico <info@myweb2.it>\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "POT-Creation-Date: \n"
10
+ "Language-Team: Luciano Del Fico <luciano@myweb2.it>\n"
11
+ "X-Generator: Poedit 1.5.7\n"
12
+ "Language: it_IT\n"
13
+ "X-Poedit-SourceCharset: UTF-8\n"
14
+
15
+ msgid "<strong>Ecwid shopping cart is almost ready</strong>. Please visit <a target=\"_blank\" href=\"%s\">the created page</a> to see your store with demo products. In order to finish the installation, please go to the <a href=\"admin.php?page=ecwid\"><strong>Ecwid settings</strong></a> and configure the plugin."
16
+ msgstr "<strong>Ecwid shopping cart è pronto</strong>. Visita <a target=\"_blank\" href=\"%s\">la pagina creata</a> per vedere il tuo negozio con alcuni prodotti dimostrativi. Per completare l'installazione, vai alle <a href=\"admin.php?page=ecwid\"><strong>impostazioni Ecwid</strong></a> e configura il plugin."
17
+
18
+ msgid "Account status"
19
+ msgstr "Tipo account"
20
+
21
+ msgid "Advanced"
22
+ msgstr "Avanzate"
23
+
24
+ msgid "Advanced settings"
25
+ msgstr "Impostazioni avanzate"
26
+
27
+ msgid "Appearance"
28
+ msgstr "Visualizzazione"
29
+
30
+ msgid "Appearance settings"
31
+ msgstr "Impostazioni visualizzazione"
32
+
33
+ msgid "Billing and plans"
34
+ msgstr "Fatturazione e Piani"
35
+
36
+ msgid "By default, the storefront shows a list of root categories. You can override this behavior and show a different category when customers open your store for the first time. This is useful if you only have one category or want to display a specific set of items (e.g. \"Featured Products\") to new visitors."
37
+ msgstr "Per impostazione predefinita, la vetrina mostra un elenco di categorie principali. È possibile ignorare questo comportamento e mostrare una categoria diversa quando i clienti aprono il negozio per la prima volta. E 'utile se si dispone di una sola categoria o si desidera visualizzare uno specifico insieme di elementi (es. \"Prodotti in evidenza\") a tutti i nuovi visitatori."
38
+
39
+ msgid "Category shown by default"
40
+ msgstr "Categoria visualizzata come predefinita"
41
+
42
+ msgid "Congratulations!"
43
+ msgstr "Congratulazioni!"
44
+
45
+ msgid "Control panel"
46
+ msgstr "Pannello di Controllo"
47
+
48
+ msgid "Create a new Ecwid account which you will use to manage your store and inventory. The registration is free."
49
+ msgstr "Crea un nuovo account su Ecwid che verrà utilizzato per gestire il tuo negozio e magazzino. La registrazione è gratuita."
50
+
51
+ msgid "Create new Ecwid account"
52
+ msgstr "Crea un nuovo account Ecwid"
53
+
54
+ msgid "Default category ID"
55
+ msgstr "ID categoria predefinita"
56
+
57
+ msgid "Default view mode on product pages"
58
+ msgstr "Modalità di visualizzazione predefinita sulle pagine prodotti"
59
+
60
+ msgid "Default view mode on search results"
61
+ msgstr "Modalità di visualizzazione predefinita nei risultati di ricerca"
62
+
63
+ msgid "Display horizontal categories above products"
64
+ msgstr "Visualizza le categorie orizzontali sopra i prodotti"
65
+
66
+ msgid "Display search box above products"
67
+ msgstr "Mostra casella di ricerca sopra prodotti"
68
+
69
+ msgid "Ecwid Search Box"
70
+ msgstr "Casella di ricerca negozio"
71
+
72
+ msgid "Ecwid Shopping Bag (Mini view)"
73
+ msgstr "Carrello Ecwid Shopping (Mini)"
74
+
75
+ msgid "Ecwid Shopping Bag (Normal)"
76
+ msgstr "Carrello Ecwid Shopping Bag (Normale)"
77
+
78
+ msgid "Ecwid Shopping Cart — Advanced settings"
79
+ msgstr "Ecwid Shopping Cart — Impostazioni Avanzate"
80
+
81
+ msgid "Ecwid Shopping Cart — Appearance settings"
82
+ msgstr "Ecwid Shopping Cart — Impostazioni di visualizzazione"
83
+
84
+ msgid "Ecwid Shopping Cart — General settings"
85
+ msgstr "Ecwid Shopping Cart — Impostazioni Generali"
86
+
87
+ msgid "Ecwid Store"
88
+ msgstr "Negozio Ecwid"
89
+
90
+ msgid "Ecwid Vertical Categories"
91
+ msgstr "Categorie Verticali Ecwid "
92
+
93
+ msgid "Ecwid shopping cart settings"
94
+ msgstr "Impostazioni Ecwid shopping cart"
95
+
96
+ msgid "Enable minicart attached to horizontal categories"
97
+ msgstr "Abilita carrello attaccato alle categorie orizzontali"
98
+
99
+ msgid "Enter your Store ID"
100
+ msgstr "Aggiungi il tuo ID Negozio"
101
+
102
+ msgid "Enter your Store ID here:"
103
+ msgstr "Aggiungi qui il tuo ID Negozio:"
104
+
105
+ msgid "Find your Store ID"
106
+ msgstr "Cerca id tuo ID Negozio"
107
+
108
+ msgid "Free"
109
+ msgstr "Gratuito"
110
+
111
+ msgid "General"
112
+ msgstr "Generale"
113
+
114
+ msgid "General settings"
115
+ msgstr "Impostazioni Generali"
116
+
117
+ msgid "Get help"
118
+ msgstr "Chiedi aiuto"
119
+
120
+ msgid "Go to Ecwid site"
121
+ msgstr "Vai al sito Ecwid"
122
+
123
+ msgid "Greetings!"
124
+ msgstr "Auguri!"
125
+
126
+ msgid "Grid"
127
+ msgstr "Griglia"
128
+
129
+ msgid "Grid view"
130
+ msgstr "Visualizza come griglia"
131
+
132
+ msgid "Here you can control how many products will be displayed per page. These options define maximum values. If there is not enough space to show all product columns, Ecwid will adapt the number of columns to hold all products."
133
+ msgstr "Qui è possibile controllare il numero di prodotti da visualizzare per pagina. Queste opzioni definiscono valori massimi. Se non c'è abbastanza spazio per mostrare tutte le colonne dei prodotto, Ecwid adatterà il numero di colonne a tutti i prodotti."
134
+
135
+ msgid "I already have Ecwid account, sign in"
136
+ msgstr "Ho già un account Ecwid"
137
+
138
+ msgid "If you want to connect another Ecwid store, you can <a %s>disconnect the current one and change Store ID</a>."
139
+ msgstr "Se desideri collegare un altro negozio Ecwid, è possibile <a %s>scollegare e modificare il tuo attuale ID</a>."
140
+
141
+ msgid "In order to enable this feature, opt to use a secret key. You will find this key in your Ecwid control panel, at \"System Settings > API > Single Sign-On API\" page. This feature is available for <a href=\"http://www.ecwid.com/compare-plans.html\" target=\"_blank\">paid users</a> only."
142
+ msgstr "Per abilitare questa funzione è necessario essere in possesso di una chiave segreta. Troverete questo tasto nel pannello di controllo Ecwid, in \"Impostazioni di sistema > API > Single Sign-on API\" . Questa funzione è disponibile per tutti gli <a href=\"http://www.ecwid.com/compare-plans.html\" target=\"_blank\">utenti paganti</a>."
143
+
144
+ msgid "In order to set this option, <a %s>find an ID of the necessary category</a> and save it here."
145
+ msgstr "Per attivare questa opzione, <a %s> cerca un ID della categoria necessaria</a> e salvalo qui."
146
+
147
+ msgid "List"
148
+ msgstr "Elenco"
149
+
150
+ msgid "List view"
151
+ msgstr "Visualizza come elenco"
152
+
153
+ msgid "Manage my store"
154
+ msgstr "Gestione negozio"
155
+
156
+ msgid "Manage plugin settings"
157
+ msgstr "Impostazioni plugin"
158
+
159
+ msgid "Number of categories per row"
160
+ msgstr "Numero di categorie per riga"
161
+
162
+ msgid "Number of products per page"
163
+ msgstr "Numero di prodotti per pagina"
164
+
165
+ msgid "Or you can add search box to your website's toolbar using <a href=\"%s\">WordPress native widgets</a>"
166
+ msgstr "Puoi anche aggiungere alla barra degli strumenti la casella di ricerca del tuo sito web utilizzando i <a href=\"%s\">widgets nativi di WordPress</a>"
167
+
168
+ msgid "Or you can add vertical categories to your website's toolbar using <a href=\"%s\">WordPress native widgets</a>"
169
+ msgstr "Puoi anche aggiungere alla barra degli strumenti le categorie verticali utilizzando i <a href=\"%s\">widgets nativi di WordPress</a>"
170
+
171
+ msgid "Paid"
172
+ msgstr "Pagante"
173
+
174
+ msgid "Questions? Visit <a href=\"http://help.ecwid.com/?source=wporg\">Ecwid support center</a>"
175
+ msgstr "Domande? Visita il <a href=\"http://help.ecwid.com/?source=wporg\">Centro di Supporto Ecwid</a>"
176
+
177
+ msgid "Register at Ecwid"
178
+ msgstr "Registrati a Ecwid"
179
+
180
+ msgid "Save and connect your Ecwid store to the site"
181
+ msgstr "Salva e collega il tuo negozio Ecwid al sito"
182
+
183
+ msgid "Save changes"
184
+ msgstr "Salva modifiche"
185
+
186
+ msgid "Single Sign-On Secret Key"
187
+ msgstr "Registrazione Sign-On Secret Key"
188
+
189
+ msgid "Store"
190
+ msgstr "Negozio"
191
+
192
+ msgid "Store ID"
193
+ msgstr "ID Negozio"
194
+
195
+ msgid "Store ID is a unique identifier of any Ecwid store, it consists of several digits. You can find it on the \"Dashboard\" page of Ecwid control panel. Also the Store ID will be sent in the Welcome email after the registration."
196
+ msgstr "L'ID è un identificatore univoco di un qualsiasi negozio Ecwid, si compone di più cifre. Lo si può trovare sulla \"Scrivania\" di Ecwid. L'ID del Negozio sarà inviato dopo la registrazione anche nella email di benvenuto."
197
+
198
+ msgid "Store root category"
199
+ msgstr "Categoria principale negozio"
200
+
201
+ msgid "Table"
202
+ msgstr "Tabella"
203
+
204
+ msgid "Table view"
205
+ msgstr "Visualizza come tabella"
206
+
207
+ msgid "Thank you for choosing Ecwid to build your online store"
208
+ msgstr "Grazie per aver scelto Ecwid per costruire il tuo negozio online"
209
+
210
+ msgid "Thank you for supporting Ecwid!"
211
+ msgstr "Grazie per il supporto Ecwid!"
212
+
213
+ msgid "The first step towards opening your online business: <br />Let’s get started and add a store to your WordPress website in <strong>3</strong> simple steps."
214
+ msgstr "Il primo passo verso l'apertura tuo business online: <br />Comincia ad aggiungere un negozio al tuo sito WordPress in <strong>3</strong> semplici steps."
215
+
216
+ msgid "Single Sign-On Secret Key is an option that allows your customers access to your WordPress site as well as the Ecwid shopping cart. When customers log in to your site, they will automatically be logged in to your Ecwid store as well. It makes sense to enable this feature if your visitors actually create accounts in your WordPress website."
217
+ msgstr "Questa funzione opzionale consente di abilitare la Sign-on Secret Key, quando i clienti sono registrati al sito, si accede automaticamente al tuo negozio Ecwid, anche se non dispongono di un account del negozio . Ha senso attivare questa funzione, se i visitatori effettivamente hanno creato un account nel tuo sito WordPress."
218
+
219
+ msgid "Upgrade"
220
+ msgstr "Aggiorna"
221
+
222
+ msgid "Upgrade to get access to cool premium features."
223
+ msgstr "Aggiorna per accedere agli strumenti premium."
224
+
225
+ msgid "Vertical menu of categories"
226
+ msgstr "Menu verticale categorie"
227
+
228
+ msgid "Visit storefront"
229
+ msgstr "Visita la vetrina del negozio"
230
+
231
+ msgid "You should disable this option, if you added minicart to your website's&nbsp;sidebar"
232
+ msgstr "È necessario disattivare questa opzione, se hai aggiunto il carrello al tuo sito web&nbsp;sidebar"
233
+
234
+ msgid "You will be able to sign up through your existing Google, Facebook or PayPal profiles as well."
235
+ msgstr "Sarai in grado di iscriverti tramite il tuo accont esistente di Google, Facebook e PayPal."
236
+
237
+ msgid "Your Ecwid store is connected to your WordPress website"
238
+ msgstr "Il tuo Negozio Ecwid è ora connesso al tuo sito web WordPress"
239
+
240
+ msgid "Your Ecwid store is now connected to your WordPress website"
241
+ msgstr "Il tuo Negozio Ecwid è ora connesso al tuo sito web WordPress"
242
+
243
+ msgid "Your store's minicart"
244
+ msgstr "Carrello del tuo negozio"
245
+
246
+ msgid "Your store's search box"
247
+ msgstr "La casella di ricerca del tuo negozio"
248
+
249
+ msgid "→ Sell on Facebook"
250
+ msgstr "→ Vendi su Facebook"
lib/ecwid_catalog.php CHANGED
@@ -1,366 +1,366 @@
1
- <?php
2
-
3
- class EcwidCatalog
4
- {
5
- var $store_id = 0;
6
- var $store_base_url = '';
7
- var $ecwid_api = null;
8
-
9
- public function __construct($store_id, $store_base_url)
10
- {
11
- $this->store_id = intval($store_id);
12
- $this->store_base_url = $store_base_url;
13
- $this->ecwid_api = new EcwidProductApi($this->store_id);
14
- }
15
-
16
- public function get_product($id)
17
- {
18
- $params = array
19
- (
20
- array("alias" => "p", "action" => "product", "params" => array("id" => $id)),
21
- array("alias" => "pf", "action" => "profile")
22
- );
23
-
24
- $batch_result = $this->ecwid_api->get_batch_request($params);
25
- $product = $batch_result["p"];
26
- $profile = $batch_result["pf"];
27
-
28
- $return = $this->_l('');
29
-
30
- if (is_array($product))
31
- {
32
-
33
- $return .= $this->_l('<div itemscope itemtype="http://schema.org/Product">', 1);
34
- $return .= $this->_l('<h2 class="ecwid_catalog_product_name" itemprop="name">' . EcwidPlatform::esc_html($product["name"]) . '</h2>');
35
- $return .= $this->_l('<p class="ecwid_catalog_product_sku" itemprop="sku">' . EcwidPlatform::esc_html($product["sku"]) . '</p>');
36
-
37
- if (!empty($product["thumbnailUrl"]))
38
- {
39
- $return .= $this->_l('<div class="ecwid_catalog_product_image">', 1);
40
- $return .= $this->_l(
41
- sprintf(
42
- '<img itemprop="image" src="%s" alt="%s" />',
43
- EcwidPlatform::esc_attr($product['thumbnailUrl']),
44
- EcwidPlatform::esc_attr($product['name'] . ' ' . $product['sku'])
45
- )
46
- );
47
- $return .= $this->_l('</div>', -1);
48
- }
49
-
50
- if(is_array($product["categories"]))
51
- {
52
- foreach ($product["categories"] as $ecwid_category)
53
- {
54
- if($ecwid_category["defaultCategory"] == true)
55
- {
56
- $return .= $this->_l('<div class="ecwid_catalog_product_category">' . EcwidPlatform::esc_html($ecwid_category['name']) . '</div>');
57
- }
58
- }
59
- }
60
-
61
- $return .= $this->_l('<div class="ecwid_catalog_product_price" itemprop="offers" itemscope itemtype="http://schema.org/Offer">', 1);
62
- $return .= $this->_l(EcwidPlatform::get_price_label() . ': <span itemprop="price">' . EcwidPlatform::esc_html($product["price"]) . '</span>');
63
-
64
- $return .= $this->_l('<span itemprop="priceCurrency">' . EcwidPlatform::esc_html($profile['currency']) . '</span>');
65
- if (!isset($product['quantity']) || (isset($product['quantity']) && $product['quantity'] > 0)) {
66
- $return .= $this->_l('<link itemprop="availability" href="http://schema.org/InStock" />In stock');
67
- }
68
- $return .= $this->_l('</div>', -1);
69
-
70
- $return .= $this->_l('<div class="ecwid_catalog_product_description" itemprop="description">', 1);
71
- $return .= $this->_l($product['description']);
72
- $return .= $this->_l('</div>', -1);
73
-
74
- if (is_array($product['attributes']) && !empty($product['attributes'])) {
75
-
76
- foreach ($product['attributes'] as $attribute) {
77
- if (trim($attribute['value']) != '') {
78
- $return .= $this->_l('<div class="ecwid_catalog_product_attribute">', 1);
79
-
80
- $attr_string = EcwidPlatform::esc_html($attribute['name']) . ':';
81
-
82
- if (isset($attribute['internalName']) && $attribute['internalName'] == 'Brand') {
83
- $attr_string .= '<span itemprop="brand">' . EcwidPlatform::esc_html($attribute['value']) . '</span>';
84
- } else {
85
- $attr_string .= EcwidPlatform::esc_html($attribute['value']);
86
- }
87
-
88
- $return .= $this->_l($attr_string);
89
- $return .= $this->_l('</div>', -1);
90
- }
91
- }
92
- }
93
-
94
- if (is_array($product["options"]))
95
- {
96
- $allowed_types = array('TEXTFIELD', 'DATE', 'TEXTAREA', 'SELECT', 'RADIO', 'CHECKBOX');
97
- foreach($product["options"] as $product_options)
98
- {
99
- if (!in_array($product_options['type'], $allowed_types)) continue;
100
-
101
- $return .= $this->_l('<div class="ecwid_catalog_product_options">', 1);
102
- $return .=$this->_l('<span>' . EcwidPlatform::esc_html($product_options["name"]) . '</span>');
103
-
104
- if($product_options["type"] == "TEXTFIELD" || $product_options["type"] == "DATE")
105
- {
106
- $return .=$this->_l('<input type="text" size="40" name="'. EcwidPlatform::esc_attr($product_options["name"]) . '">');
107
- }
108
- if($product_options["type"] == "TEXTAREA")
109
- {
110
- $return .=$this->_l('<textarea name="' . EcwidPlatform::esc_attr($product_options["name"]) . '></textarea>');
111
- }
112
- if ($product_options["type"] == "SELECT")
113
- {
114
- $return .= $this->_l('<select name='. $product_options["name"].'>', 1);
115
- foreach ($product_options["choices"] as $options_param)
116
- {
117
- $return .= $this->_l(
118
- sprintf(
119
- '<option value="%s">%s (%s)</option>',
120
- EcwidPlatform::esc_attr($options_param['text']),
121
- EcwidPlatform::esc_html($options_param['text']),
122
- EcwidPlatform::esc_html($options_param['priceModifier'])
123
- )
124
- );
125
- }
126
- $return .= $this->_l('</select>', -1);
127
- }
128
- if($product_options["type"] == "RADIO")
129
- {
130
- foreach ($product_options["choices"] as $options_param)
131
- {
132
- $return .= $this->_l(
133
- sprintf(
134
- '<input type="radio" name="%s" value="%s" />%s (%s)',
135
- EcwidPlatform::esc_attr($product_options['name']),
136
- EcwidPlatform::esc_attr($options_param['text']),
137
- EcwidPlatform::esc_html($options_param['text']),
138
- EcwidPlatform::esc_html($options_param['priceModifier'])
139
- )
140
- );
141
- }
142
- }
143
- if($product_options["type"] == "CHECKBOX")
144
- {
145
- foreach ($product_options["choices"] as $options_param)
146
- {
147
- $return .= $this->_l(
148
- sprintf(
149
- '<input type="checkbox" name="%s" value="%s" />%s (%s)',
150
- EcwidPlatform::esc_attr($product_options['name']),
151
- EcwidPlatform::esc_attr($options_param['text']),
152
- EcwidPlatform::esc_html($options_param['text']),
153
- EcwidPlatform::esc_html($options_param['priceModifier'])
154
- )
155
- );
156
- }
157
- }
158
-
159
- $return .= $this->_l('</div>', -1);
160
- }
161
- }
162
-
163
- if (is_array($product["galleryImages"]))
164
- {
165
- foreach ($product["galleryImages"] as $galleryimage)
166
- {
167
- if (empty($galleryimage["alt"])) $galleryimage["alt"] = htmlspecialchars($product["name"]);
168
- $return .= $this->_l(
169
- sprintf(
170
- '<img src="%s" alt="%s" title="%s" />',
171
- EcwidPlatform::esc_attr($galleryimage['url']),
172
- EcwidPlatform::esc_attr($galleryimage['alt']),
173
- EcwidPlatform::esc_attr($galleryimage['alt'])
174
- )
175
- );
176
- }
177
- }
178
-
179
- $return .= $this->_l("</div>", -1);
180
- }
181
-
182
- return $return;
183
- }
184
-
185
- public function get_category($id)
186
- {
187
- $params = array
188
- (
189
- array("alias" => "c", "action" => "categories", "params" => array("parent" => $id)),
190
- array("alias" => "p", "action" => "products", "params" => array("category" => $id)),
191
- array("alias" => "pf", "action" => "profile")
192
- );
193
- if ($id > 0) {
194
- $params[] = array('alias' => 'category', "action" => "category", "params" => array("id" => $id));
195
- }
196
-
197
- $batch_result = $this->ecwid_api->get_batch_request($params);
198
-
199
- $category = $id > 0 ? $batch_result['category'] : null;
200
- $categories = $batch_result["c"];
201
- $products = $batch_result["p"];
202
- $profile = $batch_result["pf"];
203
-
204
- $return = $this->_l('');
205
-
206
- if (!is_null($category)) {
207
- $return .= $this->_l('<h2>' . EcwidPlatform::esc_html($category['name']) . '</h2>');
208
- $return .= $this->_l('<div>' . $category['description'] . '</div>');
209
- }
210
-
211
- if (is_array($categories))
212
- {
213
- foreach ($categories as $category)
214
- {
215
- $category_url = $this->get_category_url($category);
216
-
217
- $category_name = $category["name"];
218
- $return .= $this->_l('<div class="ecwid_catalog_category_name">', 1);
219
- $return .= $this->_l('<a href="' . EcwidPlatform::esc_attr($category_url) . '">' . EcwidPlatform::esc_html($category_name) . '</a>');
220
- $return .= $this->_l('</div>', -1);
221
- }
222
- }
223
-
224
- if (is_array($products))
225
- {
226
- foreach ($products as $product)
227
- {
228
-
229
- $product_url = $this->get_product_url($product);
230
-
231
- $product_name = $product['name'];
232
- $product_price = $product['price'] . ' ' . $profile['currency'];
233
- $return .= $this->_l('<div>', 1);
234
- $return .= $this->_l('<span class="ecwid_product_name">', 1);
235
- $return .= $this->_l('<a href="' . EcwidPlatform::esc_attr($product_url) . '">' . EcwidPlatform::esc_html($product_name) . '</a>');
236
- $return .= $this->_l('</span>', -1);
237
- $return .= $this->_l('<span class="ecwid_product_price">' . EcwidPlatform::esc_html($product_price) . '</span>');
238
- $return .= $this->_l('</div>', -1);
239
- }
240
- }
241
-
242
- return $return;
243
- }
244
-
245
- public function parse_escaped_fragment($escaped_fragment)
246
- {
247
- $fragment = urldecode($escaped_fragment);
248
- $return = array();
249
-
250
- if (preg_match('/^(\/~\/)([a-z]+)\/(.*)$/', $fragment, $matches)) {
251
- parse_str($matches[3], $return);
252
- $return['mode'] = $matches[2];
253
- } elseif (preg_match('!.*/(p|c)/([0-9]*)!', $fragment, $matches)) {
254
- if (count($matches) == 3 && in_array($matches[1], array('p', 'c'))) {
255
- $return = array(
256
- 'mode' => 'p' == $matches[1] ? 'product' : 'category',
257
- 'id' => $matches[2]
258
- );
259
- }
260
- }
261
-
262
- return $return;
263
- }
264
-
265
- public function get_category_name($id)
266
- {
267
- $category = $this->ecwid_api->get_category($id);
268
-
269
- $result = '';
270
- if (is_array($category) && isset($category['name'])) {
271
- $result = $category['name'];
272
- }
273
-
274
- return $result;
275
- }
276
-
277
- public function get_product_name($id)
278
- {
279
- $product = $this->ecwid_api->get_product($id);
280
-
281
- $result = '';
282
- if (is_array($product) && isset($product['name'])) {
283
- $result = $product['name'];
284
- }
285
-
286
- return $result;
287
- }
288
-
289
-
290
- public function get_category_description($id)
291
- {
292
- $category = $this->ecwid_api->get_category($id);
293
-
294
- $result = '';
295
- if (is_array($category) && isset($category['description'])) {
296
- $result = $category['description'];
297
- }
298
-
299
- return $result;
300
- }
301
-
302
- public function get_product_description($id)
303
- {
304
- $product = $this->ecwid_api->get_product($id);
305
-
306
- $result = '';
307
- if (is_array($product) && isset($product['description'])) {
308
- $result = $product['description'];
309
- }
310
-
311
- return $result;
312
- }
313
-
314
- public function get_product_url($product)
315
- {
316
- if (is_numeric($product) && $this->ecwid_api->is_api_enabled()) {
317
- $product = $this->ecwid_api->get_product($product);
318
- }
319
-
320
- return $this->get_entity_url($product, 'p');
321
- }
322
-
323
- public function get_category_url($category)
324
- {
325
- if (is_numeric($category) && $this->ecwid_api->is_api_enabled()) {
326
- $category = $this->ecwid_api->get_category($category);
327
- }
328
-
329
- return $this->get_entity_url($category, 'c');
330
- }
331
-
332
- protected function get_entity_url($entity, $type) {
333
-
334
- $link = $this->store_base_url;
335
-
336
- if (is_numeric($entity)) {
337
- return $link . '#!/' . $type . '/' . $entity;
338
- } elseif (is_array($entity) && isset($entity['url'])) {
339
- $link .= substr($entity['url'], strpos($entity['url'], '#'));
340
- }
341
-
342
- return $link;
343
-
344
- }
345
-
346
- /*
347
- * A helper function to produce indented html output.
348
- * Indent change need to be 1 for opening tag lines and -1 for closing tag lines.
349
- * Regular lines should omit the second parameter.
350
- * Example:
351
- * _l('<parent-tag>', 1);
352
- * _l('<content-tag>content</content-tag>');
353
- * _l('</parent-tag>', -1)
354
- *
355
- */
356
- protected function _l($code, $indent_change = 0)
357
- {
358
- static $indent = 0;
359
-
360
- if ($indent_change < 0) $indent -= 1;
361
- $str = str_repeat(' ', $indent) . $code . "\n";
362
- if ($indent_change > 0) $indent += 1;
363
-
364
- return $str;
365
- }
366
- }
1
+ <?php
2
+
3
+ class EcwidCatalog
4
+ {
5
+ var $store_id = 0;
6
+ var $store_base_url = '';
7
+ var $ecwid_api = null;
8
+
9
+ public function __construct($store_id, $store_base_url)
10
+ {
11
+ $this->store_id = intval($store_id);
12
+ $this->store_base_url = $store_base_url;
13
+ $this->ecwid_api = new EcwidProductApi($this->store_id);
14
+ }
15
+
16
+ public function get_product($id)
17
+ {
18
+ $params = array
19
+ (
20
+ array("alias" => "p", "action" => "product", "params" => array("id" => $id)),
21
+ array("alias" => "pf", "action" => "profile")
22
+ );
23
+
24
+ $batch_result = $this->ecwid_api->get_batch_request($params);
25
+ $product = $batch_result["p"];
26
+ $profile = $batch_result["pf"];
27
+
28
+ $return = $this->_l('');
29
+
30
+ if (is_array($product))
31
+ {
32
+
33
+ $return .= $this->_l('<div itemscope itemtype="http://schema.org/Product">', 1);
34
+ $return .= $this->_l('<h2 class="ecwid_catalog_product_name" itemprop="name">' . EcwidPlatform::esc_html($product["name"]) . '</h2>');
35
+ $return .= $this->_l('<p class="ecwid_catalog_product_sku" itemprop="sku">' . EcwidPlatform::esc_html($product["sku"]) . '</p>');
36
+
37
+ if (!empty($product["thumbnailUrl"]))
38
+ {
39
+ $return .= $this->_l('<div class="ecwid_catalog_product_image">', 1);
40
+ $return .= $this->_l(
41
+ sprintf(
42
+ '<img itemprop="image" src="%s" alt="%s" />',
43
+ EcwidPlatform::esc_attr($product['thumbnailUrl']),
44
+ EcwidPlatform::esc_attr($product['name'] . ' ' . $product['sku'])
45
+ )
46
+ );
47
+ $return .= $this->_l('</div>', -1);
48
+ }
49
+
50
+ if(is_array($product["categories"]))
51
+ {
52
+ foreach ($product["categories"] as $ecwid_category)
53
+ {
54
+ if($ecwid_category["defaultCategory"] == true)
55
+ {
56
+ $return .= $this->_l('<div class="ecwid_catalog_product_category">' . EcwidPlatform::esc_html($ecwid_category['name']) . '</div>');
57
+ }
58
+ }
59
+ }
60
+
61
+ $return .= $this->_l('<div class="ecwid_catalog_product_price" itemprop="offers" itemscope itemtype="http://schema.org/Offer">', 1);
62
+ $return .= $this->_l(EcwidPlatform::get_price_label() . ': <span itemprop="price">' . EcwidPlatform::esc_html($product["price"]) . '</span>');
63
+
64
+ $return .= $this->_l('<span itemprop="priceCurrency">' . EcwidPlatform::esc_html($profile['currency']) . '</span>');
65
+ if (!isset($product['quantity']) || (isset($product['quantity']) && $product['quantity'] > 0)) {
66
+ $return .= $this->_l('<link itemprop="availability" href="http://schema.org/InStock" />In stock');
67
+ }
68
+ $return .= $this->_l('</div>', -1);
69
+
70
+ $return .= $this->_l('<div class="ecwid_catalog_product_description" itemprop="description">', 1);
71
+ $return .= $this->_l($product['description']);
72
+ $return .= $this->_l('</div>', -1);
73
+
74
+ if (is_array($product['attributes']) && !empty($product['attributes'])) {
75
+
76
+ foreach ($product['attributes'] as $attribute) {
77
+ if (trim($attribute['value']) != '') {
78
+ $return .= $this->_l('<div class="ecwid_catalog_product_attribute">', 1);
79
+
80
+ $attr_string = EcwidPlatform::esc_html($attribute['name']) . ':';
81
+
82
+ if (isset($attribute['internalName']) && $attribute['internalName'] == 'Brand') {
83
+ $attr_string .= '<span itemprop="brand">' . EcwidPlatform::esc_html($attribute['value']) . '</span>';
84
+ } else {
85
+ $attr_string .= EcwidPlatform::esc_html($attribute['value']);
86
+ }
87
+
88
+ $return .= $this->_l($attr_string);
89
+ $return .= $this->_l('</div>', -1);
90
+ }
91
+ }
92
+ }
93
+
94
+ if (is_array($product["options"]))
95
+ {
96
+ $allowed_types = array('TEXTFIELD', 'DATE', 'TEXTAREA', 'SELECT', 'RADIO', 'CHECKBOX');
97
+ foreach($product["options"] as $product_options)
98
+ {
99
+ if (!in_array($product_options['type'], $allowed_types)) continue;
100
+
101
+ $return .= $this->_l('<div class="ecwid_catalog_product_options">', 1);
102
+ $return .=$this->_l('<span>' . EcwidPlatform::esc_html($product_options["name"]) . '</span>');
103
+
104
+ if($product_options["type"] == "TEXTFIELD" || $product_options["type"] == "DATE")
105
+ {
106
+ $return .=$this->_l('<input type="text" size="40" name="'. EcwidPlatform::esc_attr($product_options["name"]) . '">');
107
+ }
108
+ if($product_options["type"] == "TEXTAREA")
109
+ {
110
+ $return .=$this->_l('<textarea name="' . EcwidPlatform::esc_attr($product_options["name"]) . '></textarea>');
111
+ }
112
+ if ($product_options["type"] == "SELECT")
113
+ {
114
+ $return .= $this->_l('<select name='. $product_options["name"].'>', 1);
115
+ foreach ($product_options["choices"] as $options_param)
116
+ {
117
+ $return .= $this->_l(
118
+ sprintf(
119
+ '<option value="%s">%s (%s)</option>',
120
+ EcwidPlatform::esc_attr($options_param['text']),
121
+ EcwidPlatform::esc_html($options_param['text']),
122
+ EcwidPlatform::esc_html($options_param['priceModifier'])
123
+ )
124
+ );
125
+ }
126
+ $return .= $this->_l('</select>', -1);
127
+ }
128
+ if($product_options["type"] == "RADIO")
129
+ {
130
+ foreach ($product_options["choices"] as $options_param)
131
+ {
132
+ $return .= $this->_l(
133
+ sprintf(
134
+ '<input type="radio" name="%s" value="%s" />%s (%s)',
135
+ EcwidPlatform::esc_attr($product_options['name']),
136
+ EcwidPlatform::esc_attr($options_param['text']),
137
+ EcwidPlatform::esc_html($options_param['text']),
138
+ EcwidPlatform::esc_html($options_param['priceModifier'])
139
+ )
140
+ );
141
+ }
142
+ }
143
+ if($product_options["type"] == "CHECKBOX")
144
+ {
145
+ foreach ($product_options["choices"] as $options_param)
146
+ {
147
+ $return .= $this->_l(
148
+ sprintf(
149
+ '<input type="checkbox" name="%s" value="%s" />%s (%s)',
150
+ EcwidPlatform::esc_attr($product_options['name']),
151
+ EcwidPlatform::esc_attr($options_param['text']),
152
+ EcwidPlatform::esc_html($options_param['text']),
153
+ EcwidPlatform::esc_html($options_param['priceModifier'])
154
+ )
155
+ );
156
+ }
157
+ }
158
+
159
+ $return .= $this->_l('</div>', -1);
160
+ }
161
+ }
162
+
163
+ if (is_array($product["galleryImages"]))
164
+ {
165
+ foreach ($product["galleryImages"] as $galleryimage)
166
+ {
167
+ if (empty($galleryimage["alt"])) $galleryimage["alt"] = htmlspecialchars($product["name"]);
168
+ $return .= $this->_l(
169
+ sprintf(
170
+ '<img src="%s" alt="%s" title="%s" />',
171
+ EcwidPlatform::esc_attr($galleryimage['url']),
172
+ EcwidPlatform::esc_attr($galleryimage['alt']),
173
+ EcwidPlatform::esc_attr($galleryimage['alt'])
174
+ )
175
+ );
176
+ }
177
+ }
178
+
179
+ $return .= $this->_l("</div>", -1);
180
+ }
181
+
182
+ return $return;
183
+ }
184
+
185
+ public function get_category($id)
186
+ {
187
+ $params = array
188
+ (
189
+ array("alias" => "c", "action" => "categories", "params" => array("parent" => $id)),
190
+ array("alias" => "p", "action" => "products", "params" => array("category" => $id)),
191
+ array("alias" => "pf", "action" => "profile")
192
+ );
193
+ if ($id > 0) {
194
+ $params[] = array('alias' => 'category', "action" => "category", "params" => array("id" => $id));
195
+ }
196
+
197
+ $batch_result = $this->ecwid_api->get_batch_request($params);
198
+
199
+ $category = $id > 0 ? $batch_result['category'] : null;
200
+ $categories = $batch_result["c"];
201
+ $products = $batch_result["p"];
202
+ $profile = $batch_result["pf"];
203
+
204
+ $return = $this->_l('');
205
+
206
+ if (!is_null($category)) {
207
+ $return .= $this->_l('<h2>' . EcwidPlatform::esc_html($category['name']) . '</h2>');
208
+ $return .= $this->_l('<div>' . $category['description'] . '</div>');
209
+ }
210
+
211
+ if (is_array($categories))
212
+ {
213
+ foreach ($categories as $category)
214
+ {
215
+ $category_url = $this->get_category_url($category);
216
+
217
+ $category_name = $category["name"];
218
+ $return .= $this->_l('<div class="ecwid_catalog_category_name">', 1);
219
+ $return .= $this->_l('<a href="' . EcwidPlatform::esc_attr($category_url) . '">' . EcwidPlatform::esc_html($category_name) . '</a>');
220
+ $return .= $this->_l('</div>', -1);
221
+ }
222
+ }
223
+
224
+ if (is_array($products))
225
+ {
226
+ foreach ($products as $product)
227
+ {
228
+
229
+ $product_url = $this->get_product_url($product);
230
+
231
+ $product_name = $product['name'];
232
+ $product_price = $product['price'] . ' ' . $profile['currency'];
233
+ $return .= $this->_l('<div>', 1);
234
+ $return .= $this->_l('<span class="ecwid_product_name">', 1);
235
+ $return .= $this->_l('<a href="' . EcwidPlatform::esc_attr($product_url) . '">' . EcwidPlatform::esc_html($product_name) . '</a>');
236
+ $return .= $this->_l('</span>', -1);
237
+ $return .= $this->_l('<span class="ecwid_product_price">' . EcwidPlatform::esc_html($product_price) . '</span>');
238
+ $return .= $this->_l('</div>', -1);
239
+ }
240
+ }
241
+
242
+ return $return;
243
+ }
244
+
245
+ public function parse_escaped_fragment($escaped_fragment)
246
+ {
247
+ $fragment = urldecode($escaped_fragment);
248
+ $return = array();
249
+
250
+ if (preg_match('/^(\/~\/)([a-z]+)\/(.*)$/', $fragment, $matches)) {
251
+ parse_str($matches[3], $return);
252
+ $return['mode'] = $matches[2];
253
+ } elseif (preg_match('!.*/(p|c)/([0-9]*)!', $fragment, $matches)) {
254
+ if (count($matches) == 3 && in_array($matches[1], array('p', 'c'))) {
255
+ $return = array(
256
+ 'mode' => 'p' == $matches[1] ? 'product' : 'category',
257
+ 'id' => $matches[2]
258
+ );
259
+ }
260
+ }
261
+
262
+ return $return;
263
+ }
264
+
265
+ public function get_category_name($id)
266
+ {
267
+ $category = $this->ecwid_api->get_category($id);
268
+
269
+ $result = '';
270
+ if (is_array($category) && isset($category['name'])) {
271
+ $result = $category['name'];
272
+ }
273
+
274
+ return $result;
275
+ }
276
+
277
+ public function get_product_name($id)
278
+ {
279
+ $product = $this->ecwid_api->get_product($id);
280
+
281
+ $result = '';
282
+ if (is_array($product) && isset($product['name'])) {
283
+ $result = $product['name'];
284
+ }
285
+
286
+ return $result;
287
+ }
288
+
289
+
290
+ public function get_category_description($id)
291
+ {
292
+ $category = $this->ecwid_api->get_category($id);
293
+
294
+ $result = '';
295
+ if (is_array($category) && isset($category['description'])) {
296
+ $result = $category['description'];
297
+ }
298
+
299
+ return $result;
300
+ }
301
+
302
+ public function get_product_description($id)
303
+ {
304
+ $product = $this->ecwid_api->get_product($id);
305
+
306
+ $result = '';
307
+ if (is_array($product) && isset($product['description'])) {
308
+ $result = $product['description'];
309
+ }
310
+
311
+ return $result;
312
+ }
313
+
314
+ public function get_product_url($product)
315
+ {
316
+ if (is_numeric($product) && $this->ecwid_api->is_api_enabled()) {
317
+ $product = $this->ecwid_api->get_product($product);
318
+ }
319
+
320
+ return $this->get_entity_url($product, 'p');
321
+ }
322
+
323
+ public function get_category_url($category)
324
+ {
325
+ if (is_numeric($category) && $this->ecwid_api->is_api_enabled()) {
326
+ $category = $this->ecwid_api->get_category($category);
327
+ }
328
+
329
+ return $this->get_entity_url($category, 'c');
330
+ }
331
+
332
+ protected function get_entity_url($entity, $type) {
333
+
334
+ $link = $this->store_base_url;
335
+
336
+ if (is_numeric($entity)) {
337
+ return $link . '#!/' . $type . '/' . $entity;
338
+ } elseif (is_array($entity) && isset($entity['url'])) {
339
+ $link .= substr($entity['url'], strpos($entity['url'], '#'));
340
+ }
341
+
342
+ return $link;
343
+
344
+ }
345
+
346
+ /*
347
+ * A helper function to produce indented html output.
348
+ * Indent change need to be 1 for opening tag lines and -1 for closing tag lines.
349
+ * Regular lines should omit the second parameter.
350
+ * Example:
351
+ * _l('<parent-tag>', 1);
352
+ * _l('<content-tag>content</content-tag>');
353
+ * _l('</parent-tag>', -1)
354
+ *
355
+ */
356
+ protected function _l($code, $indent_change = 0)
357
+ {
358
+ static $indent = 0;
359
+
360
+ if ($indent_change < 0) $indent -= 1;
361
+ $str = str_repeat(' ', $indent) . $code . "\n";
362
+ if ($indent_change > 0) $indent += 1;
363
+
364
+ return $str;
365
+ }
366
+ }
lib/ecwid_platform.php CHANGED
@@ -1,46 +1,46 @@
1
- <?php
2
-
3
- class EcwidPlatform {
4
-
5
- static public function esc_attr($value)
6
- {
7
- return esc_attr($value);
8
- }
9
-
10
- static public function esc_html($value)
11
- {
12
- return esc_html($value);
13
- }
14
-
15
- static public function get_price_label()
16
- {
17
- return __('Price', 'ecwid-shopping-cart');
18
- }
19
-
20
- static public function fetch_url($url)
21
- {
22
- $result = wp_remote_get($url);
23
-
24
- $return = array(
25
- 'code' => '',
26
- 'data' => '',
27
- 'message' => ''
28
- );
29
-
30
- if (is_array($result)) {
31
- $return = array(
32
- 'code' => $result['response']['code'],
33
- 'data' => $result['body']
34
- );
35
- } elseif (is_object($result)) {
36
- $return = array(
37
- 'code' => $result->get_error_code(),
38
- 'data' => $result->get_error_data(),
39
- 'message' => $result->get_error_message()
40
- );
41
- }
42
-
43
- return $return;
44
-
45
- }
46
- }
1
+ <?php
2
+
3
+ class EcwidPlatform {
4
+
5
+ static public function esc_attr($value)
6
+ {
7
+ return esc_attr($value);
8
+ }
9
+
10
+ static public function esc_html($value)
11
+ {
12
+ return esc_html($value);
13
+ }
14
+
15
+ static public function get_price_label()
16
+ {
17
+ return __('Price', 'ecwid-shopping-cart');
18
+ }
19
+
20
+ static public function fetch_url($url)
21
+ {
22
+ $result = wp_remote_get($url);
23
+
24
+ $return = array(
25
+ 'code' => '',
26
+ 'data' => '',
27
+ 'message' => ''
28
+ );
29
+
30
+ if (is_array($result)) {
31
+ $return = array(
32
+ 'code' => $result['response']['code'],
33
+ 'data' => $result['body']
34
+ );
35
+ } elseif (is_object($result)) {
36
+ $return = array(
37
+ 'code' => $result->get_error_code(),
38
+ 'data' => $result->get_error_data(),
39
+ 'message' => $result->get_error_message()
40
+ );
41
+ }
42
+
43
+ return $return;
44
+
45
+ }
46
+ }
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: ecwid
3
  Tags: ecwid, shopping cart, ecommerce, wordpress ecommerce, wp e-commerce, paypal, e-commerce, online store, store, shop, cart, online shop, shopping, digital goods, downloadable products, product catalog, ecomerce, products, facebook, f-commerce
4
  Requires at least: 2.8
5
  Tested up to: 4.1
6
- Stable tag: 2.7.4.1
7
 
8
  Ecwid is a full-featured shopping cart that can be added to any Wordpress site in less than 5 minutes. Start using Ecwid for free today.
9
 
@@ -110,6 +110,13 @@ http://codex.wordpress.org/Managing_Plugins#Installing_Plugins
110
  * [Ecwid site](http://www.ecwid.com/?source=wporg-plugin-site "Ecwid Site")
111
 
112
  == Changelog ==
 
 
 
 
 
 
 
113
  = 2.7.4.1 =
114
  - Additional fixes for the "title" tags on product pages following the 2.7.4 version's updates.
115
 
3
  Tags: ecwid, shopping cart, ecommerce, wordpress ecommerce, wp e-commerce, paypal, e-commerce, online store, store, shop, cart, online shop, shopping, digital goods, downloadable products, product catalog, ecomerce, products, facebook, f-commerce
4
  Requires at least: 2.8
5
  Tested up to: 4.1
6
+ Stable tag: 2.8
7
 
8
  Ecwid is a full-featured shopping cart that can be added to any Wordpress site in less than 5 minutes. Start using Ecwid for free today.
9
 
110
  * [Ecwid site](http://www.ecwid.com/?source=wporg-plugin-site "Ecwid Site")
111
 
112
  == Changelog ==
113
+ = 2.8 =
114
+ - **Integration with the XML sitemap functionality of Yoast and All in One SEO Pack plugins.** Ecwid has been integrated with Google XML Sitemaps plugin allowing you to generate a sitemap containing the links to your products and categories. Now, the sitemaps generated by Yoast SEO and All in One SEO plugins will also include store pages, if you're on a paid Ecwid plan.
115
+ - **Improved design of Ecwid sidebar controls in the Appearance/Widgets page in Wordpress backend.** Store sidebar widgets controls are now more noticeable and responsive.
116
+ - **Improved compatibility with the Cloudflare's Rocketloader.** Rocket loader tool sometimes blocked Ecwid scripts from loading. We added another improvements to prevent such issues.
117
+ - **Fixes and improvements of the meta title tag generation on product and categories pages.**
118
+ - **A few minor fixes and adjustments.**
119
+
120
  = 2.7.4.1 =
121
  - Additional fixes for the "title" tags on product pages following the 2.7.4 version's updates.
122
 
templates/admin-message.php CHANGED
@@ -1,51 +1,51 @@
1
- <div class="ecwid-message <?php echo esc_attr($type); ?>">
2
- <?php if ($title): ?>
3
- <div class="ecwid-message-title">
4
- <?php echo esc_html($title); ?>
5
- </div>
6
- <?php endif; ?>
7
-
8
- <div class="ecwid-message-content">
9
- <?php echo $message; ?>
10
- </div>
11
-
12
- <?php if ($primary_button || $secondary_button || $do_not_show_again): ?>
13
- <div class="ecwid-message-buttons">
14
- <?php if ($primary_button): ?>
15
- <div>
16
- <a
17
- class="button button-primary"
18
- href="<?php echo esc_attr($primary_url); ?>"
19
- <?php if ($primary_blank): ?>
20
- target="_blank"
21
- <?php endif; ?>
22
- >
23
- <?php echo esc_html($primary_title); ?>
24
- </a>
25
- </div>
26
- <?php endif; ?>
27
-
28
- <?php if ($secondary_button): ?>
29
- <div>
30
- <a
31
- class="button"
32
- href="<?php echo esc_attr($secondary_url); ?>"
33
- <?php if ($secondary_blank): ?>
34
- target="_blank"
35
- <?php endif; ?>
36
- >
37
- <?php echo esc_html($secondary_title); ?>
38
- </a>
39
- </div>
40
- <?php endif; ?>
41
-
42
- <?php if ($do_not_show_again): ?>
43
- <div>
44
- <a class="ecwid-message-hide" name="<?php echo $name; ?>" href="javascript: void(0);">
45
- <?php _e('Never show this message again', 'ecwid-shopping-cart'); ?>
46
- </a>
47
- </div>
48
- <?php endif; ?>
49
- </div>
50
- <?php endif; ?>
51
  </div>
1
+ <div class="ecwid-message <?php echo esc_attr($type); ?>">
2
+ <?php if ($title): ?>
3
+ <div class="ecwid-message-title">
4
+ <?php echo esc_html($title); ?>
5
+ </div>
6
+ <?php endif; ?>
7
+
8
+ <div class="ecwid-message-content">
9
+ <?php echo $message; ?>
10
+ </div>
11
+
12
+ <?php if ($primary_button || $secondary_button || $do_not_show_again): ?>
13
+ <div class="ecwid-message-buttons">
14
+ <?php if ($primary_button): ?>
15
+ <div>
16
+ <a
17
+ class="button button-primary"
18
+ href="<?php echo esc_attr($primary_url); ?>"
19
+ <?php if ($primary_blank): ?>
20
+ target="_blank"
21
+ <?php endif; ?>
22
+ >
23
+ <?php echo esc_html($primary_title); ?>
24
+ </a>
25
+ </div>
26
+ <?php endif; ?>
27
+
28
+ <?php if ($secondary_button): ?>
29
+ <div>
30
+ <a
31
+ class="button"
32
+ href="<?php echo esc_attr($secondary_url); ?>"
33
+ <?php if ($secondary_blank): ?>
34
+ target="_blank"
35
+ <?php endif; ?>
36
+ >
37
+ <?php echo esc_html($secondary_title); ?>
38
+ </a>
39
+ </div>
40
+ <?php endif; ?>
41
+
42
+ <?php if ($do_not_show_again): ?>
43
+ <div>
44
+ <a class="ecwid-message-hide" name="<?php echo $name; ?>" href="javascript: void(0);">
45
+ <?php _e('Never show this message again', 'ecwid-shopping-cart'); ?>
46
+ </a>
47
+ </div>
48
+ <?php endif; ?>
49
+ </div>
50
+ <?php endif; ?>
51
  </div>
templates/store-popup.php CHANGED
@@ -1,4 +1,4 @@
1
- <script type="text/javascript">
2
  var ecwid_store_svg = '<?php echo get_site_url('', 'index.php?file=ecwid_store_svg.svg'); ?>';
3
  </script>
4
  <div id="ecwid-store-popup-content">
@@ -254,7 +254,7 @@
254
  <a href="#" class="button media-button button-primary button-large media-button-select"><?php _e('Insert into page'); ?></a>
255
  </div>
256
  <div class="media-toolbar-primary store-settings">
257
- <a href="#" class="button media-button button-primary button-large media-button-select"><?php _e('Save and close', 'ecwid-shopping-cart'); ?></a>
258
  </div>
259
  </div>
260
  </div>
1
+ <script data-cfasync="false" type="text/javascript">
2
  var ecwid_store_svg = '<?php echo get_site_url('', 'index.php?file=ecwid_store_svg.svg'); ?>';
3
  </script>
4
  <div id="ecwid-store-popup-content">
254
  <a href="#" class="button media-button button-primary button-large media-button-select"><?php _e('Insert into page'); ?></a>
255
  </div>
256
  <div class="media-toolbar-primary store-settings">
257
+ <a href="#" class="button media-button button-primary button-large media-button-select"><?php _e('Update'); ?></a>
258
  </div>
259
  </div>
260
  </div>