Version Description
- Ecwid mobile apps badges of the dashboard page. We made a facelift for the plugin dashboard page footer and included mobile apps badges there to make it easier for new users to find and install Ecwid mobile applications for iPhone, iPad and Android. Why bother to install it? It allows you to manage your store and sell on the go.
- Fixes for the embedded store Control Panel. There were issues in the store control panel when the Wordpress site was hosted on a server with incorrect system date set. We made the plugin tolerant of this kind of hosting issues the embedded store Control Panel should now be displayed fine on every server.
- A fix for the Advanced settings page in the plugin backend. In some rare cases, the advanced settings page in the plugin didn't show the Chameleon option, which enables auto adjustment of the store layout. We fixed that and the Chameleon option is now available for every user. A good moment to try it, if you haven't yet.
- A few miscellaneous fixes and improvemens in the plugin core.
Download this release
Release Info
Developer | Ecwid |
Plugin | Ecwid Ecommerce Shopping Cart |
Version | 4.1.2 |
Comparing to | |
See all releases |
Code changes from version 4.1 to 4.1.2
- css/admin.css +71 -2
- css/landing.css +850 -15
- css/landing_old.css +496 -0
- css/settings.css +6 -9
- css/themes/accesspress-mag.css +7 -0
- ecwid-shopping-cart.php +181 -705
- images/black-app-store.svg +3 -0
- images/black-google.svg +2 -0
- includes/class-ecwid-kissmetrics.php +39 -8
- includes/class-ecwid-message-manager.php +4 -15
- includes/class-ecwid-oauth.php +2 -2
- includes/class-ecwid-store-editor.php +6 -6
- includes/oembed.php +1 -1
- includes/themes.php +3 -2
- includes/themes/class-ecwid-theme-accesspress-mag.php +17 -0
- includes/themes/class-ecwid-theme-attitude.php +1 -1
- includes/themes/class-ecwid-theme-base.php +1 -1
- includes/themes/class-ecwid-theme-customizr.php +2 -2
- includes/themes/class-ecwid-theme-edin.php +1 -1
- includes/themes/class-ecwid-theme-evolve.php +1 -1
- includes/themes/class-ecwid-theme-mantra.php +1 -1
- includes/themes/class-ecwid-theme-pagelines.php +1 -1
- includes/themes/class-ecwid-theme-responsive.php +3 -3
- includes/themes/class-ecwid-theme-responsiveboat.php +1 -1
- includes/themes/class-ecwid-theme-twentyfifteen.php +1 -1
- includes/themes/class-ecwid-theme-twentyfourteen.php +1 -1
- includes/themes/class-ecwid-theme-twentysixteen.php +1 -1
- includes/themes/class-ecwid-theme-twentytwelve.php +1 -1
- includes/widgets.php +22 -0
- includes/widgets/class-ecwid-widget-badge.php +133 -0
- includes/widgets/class-ecwid-widget-minicart-miniview.php +47 -0
- includes/widgets/class-ecwid-widget-minicart.php +47 -0
- includes/widgets/class-ecwid-widget-recently-viewed.php +158 -0
- includes/widgets/class-ecwid-widget-search.php +46 -0
- includes/widgets/class-ecwid-widget-store-link.php +36 -0
- includes/widgets/class-ecwid-widget-vcategories.php +46 -0
- js/admin.js +6 -1
- js/kissmetrics.js +16 -4
- js/landing.js +46 -1
- js/nav-menu.js +1 -1
- languages/ecwid-shopping-cart-ru_RU.mo +0 -0
- languages/ecwid-shopping-cart-ru_RU.po +47 -11
- lib/ecwid_api_v3.php +49 -8
- lib/ecwid_platform.php +68 -49
- readme.txt +36 -26
- templates/admin-footer.php +24 -8
- templates/advanced-settings.php +8 -23
- templates/ecwid-admin.php +3 -8
- templates/landing.php +65 -67
- templates/landing_old.php +171 -0
- templates/store-popup.php +23 -39
css/admin.css
CHANGED
@@ -65,6 +65,7 @@
|
|
65 |
|
66 |
div.ecwid-message {
|
67 |
padding: 27px 29px 20px 30px;
|
|
|
68 |
}
|
69 |
|
70 |
.ecwid-message a {
|
@@ -169,10 +170,9 @@ div.ecwid-message {
|
|
169 |
}
|
170 |
|
171 |
body[class*="_page_ecwid"] .ecwid-message {
|
172 |
-
margin: 20px
|
173 |
}
|
174 |
|
175 |
-
|
176 |
.ecwid-message.dev {
|
177 |
outline: 2px solid red;
|
178 |
width: 434px;
|
@@ -352,13 +352,22 @@ body[class*="_page_ecwid"] .ecwid-message {
|
|
352 |
margin-top: 25px;
|
353 |
}
|
354 |
|
|
|
|
|
|
|
|
|
355 |
/* Remove left padding for integrated admin */
|
356 |
.ecwid-admin-superwrap {
|
357 |
position:relative;
|
358 |
height: 600px;
|
359 |
}
|
360 |
|
|
|
|
|
|
|
|
|
361 |
.ecwid-admin-superwrap #wrap {
|
|
|
362 |
height: 600px;
|
363 |
background: white;
|
364 |
|
@@ -370,6 +379,10 @@ body[class*="_page_ecwid"] .ecwid-message {
|
|
370 |
padding-left: 0px;
|
371 |
}
|
372 |
|
|
|
|
|
|
|
|
|
373 |
/* ---------------------- */
|
374 |
|
375 |
@media screen and (max-width:1023px) {
|
@@ -405,4 +418,60 @@ body[class*="_page_ecwid"] .ecwid-message {
|
|
405 |
.ecwid-reconnect-allow-sso.ecwid-connect .box .note {
|
406 |
margin-bottom: 20px;
|
407 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
408 |
}
|
65 |
|
66 |
div.ecwid-message {
|
67 |
padding: 27px 29px 20px 30px;
|
68 |
+
display: block;
|
69 |
}
|
70 |
|
71 |
.ecwid-message a {
|
170 |
}
|
171 |
|
172 |
body[class*="_page_ecwid"] .ecwid-message {
|
173 |
+
margin: 20px;
|
174 |
}
|
175 |
|
|
|
176 |
.ecwid-message.dev {
|
177 |
outline: 2px solid red;
|
178 |
width: 434px;
|
352 |
margin-top: 25px;
|
353 |
}
|
354 |
|
355 |
+
#ecwid-frame {
|
356 |
+
border: 1px solid #e5e5e5;
|
357 |
+
}
|
358 |
+
|
359 |
/* Remove left padding for integrated admin */
|
360 |
.ecwid-admin-superwrap {
|
361 |
position:relative;
|
362 |
height: 600px;
|
363 |
}
|
364 |
|
365 |
+
.toplevel_page_ecwid #wpcontent {
|
366 |
+
padding-left: 0px;
|
367 |
+
}
|
368 |
+
|
369 |
.ecwid-admin-superwrap #wrap {
|
370 |
+
right: 0px;
|
371 |
height: 600px;
|
372 |
background: white;
|
373 |
|
379 |
padding-left: 0px;
|
380 |
}
|
381 |
|
382 |
+
.ecwid-no-padding .ecwid-message, .ecwid-no-padding .update-nag {
|
383 |
+
margin-left: 20px;
|
384 |
+
}
|
385 |
+
|
386 |
/* ---------------------- */
|
387 |
|
388 |
@media screen and (max-width:1023px) {
|
418 |
.ecwid-reconnect-allow-sso.ecwid-connect .box .note {
|
419 |
margin-bottom: 20px;
|
420 |
}
|
421 |
+
}
|
422 |
+
|
423 |
+
.ecwid-admin-footer {
|
424 |
+
display: table;
|
425 |
+
width:100%;
|
426 |
+
padding: 0 20px;
|
427 |
+
}
|
428 |
+
|
429 |
+
.ecwid-connect .ecwid-admin-footer .ecwid-app-badges-block {
|
430 |
+
display: none;
|
431 |
+
}
|
432 |
+
|
433 |
+
.ecwid-admin-footer-block {
|
434 |
+
display: table-cell;
|
435 |
+
padding-top: 5px;
|
436 |
+
padding-right: 10px;
|
437 |
+
font-size: 13px;
|
438 |
+
}
|
439 |
+
|
440 |
+
.ecwid-admin-footer-block:last-child {
|
441 |
+
padding-right: 0px;
|
442 |
+
}
|
443 |
+
|
444 |
+
|
445 |
+
.ecwid-admin-footer-block .ecwid-admin-footer-title {
|
446 |
+
margin: 1em 0;
|
447 |
+
font-weight: 600;
|
448 |
+
}
|
449 |
+
|
450 |
+
.ecwid-admin-footer-block .ecwid-admin-footer-text {
|
451 |
+
margin: 0.7em 0;
|
452 |
+
}
|
453 |
+
.ecwid-admin-footer-block .ecwid-app-badges {
|
454 |
+
margin-top: -1em;
|
455 |
+
min-width:230px;
|
456 |
+
padding-top: 1px;
|
457 |
+
}
|
458 |
+
|
459 |
+
.ecwid-admin-footer-block .ecwid-app-badges a,
|
460 |
+
.ecwid-admin-footer-block .ecwid-app-badges svg {
|
461 |
+
display: inline-block;
|
462 |
+
}
|
463 |
+
.ecwid-admin-footer-block .ecwid-app-badges svg {
|
464 |
+
width: 105px;
|
465 |
+
margin-right: 7px;
|
466 |
+
opacity: .8;
|
467 |
+
}
|
468 |
+
|
469 |
+
.ecwid-admin-footer-block .ecwid-app-badges svg:hover {
|
470 |
+
opacity: 1;
|
471 |
+
}
|
472 |
+
|
473 |
+
@media screen and (max-width:767px) {
|
474 |
+
.ecwid-admin-footer-block {
|
475 |
+
display: block;
|
476 |
+
}
|
477 |
}
|
css/landing.css
CHANGED
@@ -55,7 +55,7 @@ body {
|
|
55 |
padding-top: 36px; }
|
56 |
.ecwid-thank h1 {
|
57 |
text-align: center;
|
58 |
-
font-size:
|
59 |
color: #000000;
|
60 |
line-height: 1.4;
|
61 |
margin-bottom: 30px; }
|
@@ -73,7 +73,9 @@ body {
|
|
73 |
.ecwid-thank h1 span {
|
74 |
display: block;
|
75 |
font-size: 14px;
|
76 |
-
|
|
|
|
|
77 |
|
78 |
.ecwid-thank-steps {
|
79 |
margin: 0 auto 51px;
|
@@ -151,7 +153,7 @@ body {
|
|
151 |
background-position: center bottom; } }
|
152 |
@media (min-width: 1440px) {
|
153 |
.ecwid-thank-background {
|
154 |
-
background-position: left
|
155 |
.ecwid-thank-background .ecwid-thank-background-tablet {
|
156 |
padding: 52px 5% 0; }
|
157 |
.ecwid-thank-background .ecwid-thank-background-tablet img {
|
@@ -445,23 +447,16 @@ body {
|
|
445 |
}
|
446 |
|
447 |
#wpcontent {
|
448 |
-
background: white;
|
449 |
padding-left: 0px;
|
450 |
}
|
|
|
|
|
|
|
451 |
ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu>li.current>a.current:after
|
452 |
{
|
453 |
border-right-color:white;
|
454 |
}
|
455 |
|
456 |
-
.ecwid-landing.register .on-connect {
|
457 |
-
display: none;
|
458 |
-
}
|
459 |
-
|
460 |
-
|
461 |
-
.ecwid-landing.connect .on-register {
|
462 |
-
display: none;
|
463 |
-
}
|
464 |
-
|
465 |
.ecwid-landing .on-error {
|
466 |
display: none;
|
467 |
}
|
@@ -481,7 +476,6 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu>li.current>a.current:a
|
|
481 |
@media (min-width: 768px) {
|
482 |
.ecwid-button .ecwid-connection-error {
|
483 |
position: relative;
|
484 |
-
top: -30px;
|
485 |
margin-bottom: 8px;
|
486 |
}
|
487 |
}
|
@@ -493,4 +487,845 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu>li.current>a.current:a
|
|
493 |
|
494 |
.ecwid-landing .button:hover {
|
495 |
color: white;
|
496 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
padding-top: 36px; }
|
56 |
.ecwid-thank h1 {
|
57 |
text-align: center;
|
58 |
+
font-size: 34px;
|
59 |
color: #000000;
|
60 |
line-height: 1.4;
|
61 |
margin-bottom: 30px; }
|
73 |
.ecwid-thank h1 span {
|
74 |
display: block;
|
75 |
font-size: 14px;
|
76 |
+
text-align: left;
|
77 |
+
max-width: 500px;
|
78 |
+
margin: 14px auto; }
|
79 |
|
80 |
.ecwid-thank-steps {
|
81 |
margin: 0 auto 51px;
|
153 |
background-position: center bottom; } }
|
154 |
@media (min-width: 1440px) {
|
155 |
.ecwid-thank-background {
|
156 |
+
background-position: left bottom; } }
|
157 |
.ecwid-thank-background .ecwid-thank-background-tablet {
|
158 |
padding: 52px 5% 0; }
|
159 |
.ecwid-thank-background .ecwid-thank-background-tablet img {
|
447 |
}
|
448 |
|
449 |
#wpcontent {
|
|
|
450 |
padding-left: 0px;
|
451 |
}
|
452 |
+
.ecwid-landing {
|
453 |
+
background: white;
|
454 |
+
}
|
455 |
ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu>li.current>a.current:after
|
456 |
{
|
457 |
border-right-color:white;
|
458 |
}
|
459 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
.ecwid-landing .on-error {
|
461 |
display: none;
|
462 |
}
|
476 |
@media (min-width: 768px) {
|
477 |
.ecwid-button .ecwid-connection-error {
|
478 |
position: relative;
|
|
|
479 |
margin-bottom: 8px;
|
480 |
}
|
481 |
}
|
487 |
|
488 |
.ecwid-landing .button:hover {
|
489 |
color: white;
|
490 |
+
}
|
491 |
+
|
492 |
+
.ecwid-landing .ecwid-button .btn {
|
493 |
+
width: 300px;
|
494 |
+
margin-bottom: 40px;
|
495 |
+
height: 59px;
|
496 |
+
font-size: 20px;
|
497 |
+
}
|
498 |
+
|
499 |
+
.ecwid-button .create-store-loading,
|
500 |
+
.ecwid-button .create-store-loading-note,
|
501 |
+
.ecwid-button .create-store-success-note,
|
502 |
+
.ecwid-button .create-store-success {
|
503 |
+
display: none;
|
504 |
+
}
|
505 |
+
|
506 |
+
.ecwid-button .create-store-loading-note,
|
507 |
+
.ecwid-button .create-store-success-note
|
508 |
+
{
|
509 |
+
margin-top: -20px;
|
510 |
+
margin-bottom: 32px;
|
511 |
+
}
|
512 |
+
|
513 |
+
|
514 |
+
/* loose copy of ecwid css framework */
|
515 |
+
|
516 |
+
@import url('//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300&subset=latin,latin-ext,cyrillic');
|
517 |
+
|
518 |
+
.btn {
|
519 |
+
font-family: 'Open Sans';
|
520 |
+
}
|
521 |
+
|
522 |
+
@keyframes spinleft {
|
523 |
+
0% {
|
524 |
+
transform: rotate(360deg); }
|
525 |
+
|
526 |
+
100% {
|
527 |
+
transform: rotate(0deg); } }
|
528 |
+
|
529 |
+
@-webkit-keyframes spinleft {
|
530 |
+
0% {
|
531 |
+
-webkit-transform: rotate(360deg); }
|
532 |
+
|
533 |
+
100% {
|
534 |
+
-webkit-transform: rotate(0deg); } }
|
535 |
+
|
536 |
+
@keyframes spinright {
|
537 |
+
0% {
|
538 |
+
transform: rotate(0deg); }
|
539 |
+
|
540 |
+
100% {
|
541 |
+
transform: rotate(360deg); } }
|
542 |
+
|
543 |
+
@-webkit-keyframes spinright {
|
544 |
+
0% {
|
545 |
+
-webkit-transform: rotate(0deg); }
|
546 |
+
|
547 |
+
100% {
|
548 |
+
-webkit-transform: rotate(360deg); } }
|
549 |
+
|
550 |
+
/* Iconic font */
|
551 |
+
@font-face {
|
552 |
+
font-family: 'font_icons';
|
553 |
+
src: url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.eot');
|
554 |
+
src: url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.eot?#iefix') format('embedded-opentype'), url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.ttf') format('truetype'), url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.woff') format('woff'), url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.svg#icomoon') format('svg');
|
555 |
+
font-weight: normal;
|
556 |
+
font-style: normal; }
|
557 |
+
|
558 |
+
.ecwid-button [class*="icon-"] {
|
559 |
+
display: inline-block;
|
560 |
+
text-transform: none;
|
561 |
+
font-weight: normal;
|
562 |
+
font-style: normal;
|
563 |
+
font-variant: normal;
|
564 |
+
font-family: 'font_icons';
|
565 |
+
line-height: 1;
|
566 |
+
speak: none;
|
567 |
+
-webkit-font-smoothing: antialiased;
|
568 |
+
-moz-osx-font-smoothing: grayscale;
|
569 |
+
-webkit-transition: color .1s linear;
|
570 |
+
transition: color .1s linear; }
|
571 |
+
|
572 |
+
.icon-odn:before {
|
573 |
+
content: "\e639"; }
|
574 |
+
|
575 |
+
.icon-vk:before {
|
576 |
+
content: "\e63a"; }
|
577 |
+
|
578 |
+
.icon-customer_groups:before {
|
579 |
+
content: "\e62e"; }
|
580 |
+
|
581 |
+
.icon-unfinished:before {
|
582 |
+
content: "\e62d"; }
|
583 |
+
|
584 |
+
.icon-table_cake:before {
|
585 |
+
content: "\e62c"; }
|
586 |
+
|
587 |
+
.icon-coupons:before {
|
588 |
+
content: "\e63b"; }
|
589 |
+
|
590 |
+
.icon-discounts:before {
|
591 |
+
content: "\e63c"; }
|
592 |
+
|
593 |
+
.icon-marketplaces:before {
|
594 |
+
content: "\e63d"; }
|
595 |
+
|
596 |
+
.icon-odn:before {
|
597 |
+
content: "\e639"; }
|
598 |
+
|
599 |
+
.icon-vk:before {
|
600 |
+
content: "\e63a"; }
|
601 |
+
|
602 |
+
.icon-appointment:before {
|
603 |
+
content: "\e62b"; }
|
604 |
+
|
605 |
+
.icon-trash:before {
|
606 |
+
content: "\e62a"; }
|
607 |
+
|
608 |
+
.icon-lock:before {
|
609 |
+
content: "\e621"; }
|
610 |
+
|
611 |
+
.icon-letter:before {
|
612 |
+
content: "\e629"; }
|
613 |
+
|
614 |
+
.icon-vend:before {
|
615 |
+
content: "\e628"; }
|
616 |
+
|
617 |
+
.icon-apple:before {
|
618 |
+
content: "\e624"; }
|
619 |
+
|
620 |
+
.icon-discount:before {
|
621 |
+
content: "\e625"; }
|
622 |
+
|
623 |
+
.icon-bag:before {
|
624 |
+
content: "\e626"; }
|
625 |
+
|
626 |
+
.icon-phone:before {
|
627 |
+
content: "\e627"; }
|
628 |
+
|
629 |
+
.icon-speaker:before {
|
630 |
+
content: "\e622"; }
|
631 |
+
|
632 |
+
.icon-warning:before {
|
633 |
+
content: "\e623"; }
|
634 |
+
|
635 |
+
.icon-lock:before {
|
636 |
+
content: "\e621"; }
|
637 |
+
|
638 |
+
.icon-radiobutton-checked:before {
|
639 |
+
content: "\e61e"; }
|
640 |
+
|
641 |
+
.icon-radiobutton-unchecked:before {
|
642 |
+
content: "\e61f"; }
|
643 |
+
|
644 |
+
.icon-update:before {
|
645 |
+
content: "\e620"; }
|
646 |
+
|
647 |
+
.icon-settings:before {
|
648 |
+
content: "\e619"; }
|
649 |
+
|
650 |
+
.icon-main-menu:before {
|
651 |
+
content: "\e61a"; }
|
652 |
+
|
653 |
+
.icon-sales:before {
|
654 |
+
content: "\e61b"; }
|
655 |
+
|
656 |
+
.icon-chart:before {
|
657 |
+
content: "\e61c"; }
|
658 |
+
|
659 |
+
.icon-home:before {
|
660 |
+
content: "\e61d"; }
|
661 |
+
|
662 |
+
.icon-print:before {
|
663 |
+
content: "\e618"; }
|
664 |
+
|
665 |
+
.icon-search:before {
|
666 |
+
content: "\e617"; }
|
667 |
+
|
668 |
+
.icon-calendar:before {
|
669 |
+
content: "\e616"; }
|
670 |
+
|
671 |
+
.icon-show:before {
|
672 |
+
content: "\e010"; }
|
673 |
+
|
674 |
+
.icon-hide:before {
|
675 |
+
content: "\e011"; }
|
676 |
+
|
677 |
+
.icon-star:before {
|
678 |
+
content: "\e615"; }
|
679 |
+
|
680 |
+
.icon-edit:before {
|
681 |
+
content: "\e614"; }
|
682 |
+
|
683 |
+
.icon-categories:before {
|
684 |
+
content: "\e613"; }
|
685 |
+
|
686 |
+
.icon-arrange:before {
|
687 |
+
content: "\e612"; }
|
688 |
+
|
689 |
+
.icon-menu:before {
|
690 |
+
content: "\e611"; }
|
691 |
+
|
692 |
+
.icon-import:before {
|
693 |
+
content: "\e610"; }
|
694 |
+
|
695 |
+
.icon-gallery:before {
|
696 |
+
content: "\e60f"; }
|
697 |
+
|
698 |
+
.icon-enable-all:before {
|
699 |
+
content: "\e60e"; }
|
700 |
+
|
701 |
+
.icon-disable-all:before {
|
702 |
+
content: "\e60d"; }
|
703 |
+
|
704 |
+
.icon-next:before {
|
705 |
+
content: "\e000"; }
|
706 |
+
|
707 |
+
.icon-previous:before {
|
708 |
+
content: "\e00a"; }
|
709 |
+
|
710 |
+
.icon-store:before {
|
711 |
+
content: "\e001"; }
|
712 |
+
|
713 |
+
.icon-megaphone:before {
|
714 |
+
content: "\e002"; }
|
715 |
+
|
716 |
+
.icon-product:before {
|
717 |
+
content: "\e003"; }
|
718 |
+
|
719 |
+
.icon-geo:before {
|
720 |
+
content: "\e004"; }
|
721 |
+
|
722 |
+
.icon-shipping:before {
|
723 |
+
content: "\e005"; }
|
724 |
+
|
725 |
+
.icon-payments:before {
|
726 |
+
content: "\e006"; }
|
727 |
+
|
728 |
+
.icon-launch:before {
|
729 |
+
content: "\e007"; }
|
730 |
+
|
731 |
+
.icon-share:before {
|
732 |
+
content: "\e008"; }
|
733 |
+
|
734 |
+
.icon-facebook:before {
|
735 |
+
content: "\e009"; }
|
736 |
+
|
737 |
+
.icon-fb:before {
|
738 |
+
content: "\e00b"; }
|
739 |
+
|
740 |
+
.icon-twitter:before {
|
741 |
+
content: "\e00c"; }
|
742 |
+
|
743 |
+
.icon-chain:before {
|
744 |
+
content: "\e00d"; }
|
745 |
+
|
746 |
+
.icon-checkmark:before {
|
747 |
+
content: "\e00f"; }
|
748 |
+
|
749 |
+
.icon-close:before {
|
750 |
+
content: "\e014"; }
|
751 |
+
|
752 |
+
.icon-sort:before {
|
753 |
+
content: "\f0dc"; }
|
754 |
+
|
755 |
+
.icon-box:before {
|
756 |
+
content: "\e00e"; }
|
757 |
+
|
758 |
+
.icon-cloud:before {
|
759 |
+
content: "\e012"; }
|
760 |
+
|
761 |
+
.icon-rates:before {
|
762 |
+
content: "\e015"; }
|
763 |
+
|
764 |
+
.icon-upload:before {
|
765 |
+
content: "\e013"; }
|
766 |
+
|
767 |
+
.icon-arr-down:before {
|
768 |
+
content: "\e018"; }
|
769 |
+
|
770 |
+
.icon-dropdown:before {
|
771 |
+
content: "\e016"; }
|
772 |
+
|
773 |
+
.icon-cash:before {
|
774 |
+
content: "\e019"; }
|
775 |
+
|
776 |
+
.icon-check:before {
|
777 |
+
content: "\e01a"; }
|
778 |
+
|
779 |
+
.icon-google:before {
|
780 |
+
content: "\e600"; }
|
781 |
+
|
782 |
+
.icon-paypal:before {
|
783 |
+
content: "\e601"; }
|
784 |
+
|
785 |
+
.icon-envelope:before {
|
786 |
+
content: "\e603"; }
|
787 |
+
|
788 |
+
.icon-help:before {
|
789 |
+
content: "\e602"; }
|
790 |
+
|
791 |
+
.icon-chat:before {
|
792 |
+
content: "\e604"; }
|
793 |
+
|
794 |
+
.icon-arr-left:before {
|
795 |
+
content: "\e605"; }
|
796 |
+
|
797 |
+
.icon-arr-right:before {
|
798 |
+
content: "\e606"; }
|
799 |
+
|
800 |
+
.icon-arr-up:before {
|
801 |
+
content: "\e609"; }
|
802 |
+
|
803 |
+
.icon-open:before {
|
804 |
+
content: "\e608"; }
|
805 |
+
|
806 |
+
.icon-user:before {
|
807 |
+
content: "\e607"; }
|
808 |
+
|
809 |
+
.icon-tumbler:before {
|
810 |
+
content: "\e60a"; }
|
811 |
+
|
812 |
+
.icon-taxes:before {
|
813 |
+
content: "\e60b"; }
|
814 |
+
|
815 |
+
.icon-ecwid:before {
|
816 |
+
content: "\e60c"; }
|
817 |
+
|
818 |
+
.btn {
|
819 |
+
display: inline-block;
|
820 |
+
margin: 0;
|
821 |
+
border: 1px solid transparent;
|
822 |
+
vertical-align: middle;
|
823 |
+
text-align: center;
|
824 |
+
cursor: pointer;
|
825 |
+
outline: 0;
|
826 |
+
text-decoration: none;
|
827 |
+
white-space: nowrap;
|
828 |
+
*display: inline;
|
829 |
+
*margin-left: .3em;
|
830 |
+
*zoom: 1;
|
831 |
+
-moz-box-sizing: border-box;
|
832 |
+
box-sizing: border-box;
|
833 |
+
font-size: 0.813em;
|
834 |
+
padding: 4px 10px;
|
835 |
+
border-radius: 3px;
|
836 |
+
line-height: 1.7em;
|
837 |
+
height: 2.462em;
|
838 |
+
min-width: 7.385em;
|
839 |
+
color: #333;
|
840 |
+
background-color: #f6f6f6;
|
841 |
+
border-color: transparent;
|
842 |
+
-webkit-transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear;
|
843 |
+
transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear; }
|
844 |
+
.btn:focus, .btn.focus, .btn.btn-loading, .btn.btn-loading:hover, .btn.btn-loading:focus, .btn.btn-loading:focus:hover, .btn.btn-loading:active, .btn.btn-loading:focus:active, .btn-group.opened .btn.btn-dropdown {
|
845 |
+
border-width: 2px;
|
846 |
+
padding: 3px 9px; }
|
847 |
+
.btn:hover {
|
848 |
+
background-color: #c4c4c4; }
|
849 |
+
.btn:focus {
|
850 |
+
border-color: #acacac; }
|
851 |
+
.btn:focus:hover {
|
852 |
+
background-color: #c4c4c4; }
|
853 |
+
.btn:active {
|
854 |
+
background-color: #f7f7f7; }
|
855 |
+
.btn:focus:active {
|
856 |
+
background-color: #f7f7f7; }
|
857 |
+
.btn.btn-loading, .btn.btn-loading:hover, .btn.btn-loading:focus, .btn.btn-loading:focus:hover, .btn.btn-loading:active, .btn.btn-loading:focus:active {
|
858 |
+
position: relative;
|
859 |
+
background-color: #f7f7f7;
|
860 |
+
border-color: transparent;
|
861 |
+
overflow: visible; }
|
862 |
+
.btn-group.opened .btn.btn-dropdown {
|
863 |
+
border-color: #acacac; }
|
864 |
+
.btn.btn-loading .loader-inner, .btn.btn-loading .loader-outer, .btn.btn-loading:hover .loader-inner, .btn.btn-loading:hover .loader-outer, .btn.btn-loading:focus .loader-inner, .btn.btn-loading:focus .loader-outer, .btn.btn-loading:focus:hover .loader-inner, .btn.btn-loading:focus:hover .loader-outer, .btn.btn-loading:active .loader-inner, .btn.btn-loading:active .loader-outer, .btn.btn-loading:focus:active .loader-inner, .btn.btn-loading:focus:active .loader-outer {
|
865 |
+
fill: #f7f7f7; }
|
866 |
+
.btn:first-child {
|
867 |
+
*margin-left: 0; }
|
868 |
+
.btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled]:focus:hover, .btn[disabled]:active, .btn[disabled]:focus:active {
|
869 |
+
cursor: default;
|
870 |
+
opacity: .3;
|
871 |
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
|
872 |
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; }
|
873 |
+
.btn.btn-loading:before, .btn.btn-loading:hover:before, .btn.btn-loading:focus:before, .btn.btn-loading:focus:hover:before, .btn.btn-loading:active:before, .btn.btn-loading:focus:active:before {
|
874 |
+
position: absolute;
|
875 |
+
content: "";
|
876 |
+
top: 0;
|
877 |
+
left: 0;
|
878 |
+
width: 100%;
|
879 |
+
height: 100%;
|
880 |
+
border-radius: inherit;
|
881 |
+
background-color: inherit;
|
882 |
+
opacity: 1;
|
883 |
+
-webkit-transition: opacity .3s ease-out;
|
884 |
+
transition: opacity .3s ease-out; }
|
885 |
+
|
886 |
+
/* buttons' sizes */
|
887 |
+
.btn-large {
|
888 |
+
font-size: 1.063em;
|
889 |
+
padding: 4px 16px;
|
890 |
+
border-radius: 5px;
|
891 |
+
line-height: 2.118em;
|
892 |
+
height: 2.824em;
|
893 |
+
min-width: 8.471em; }
|
894 |
+
.btn-large:focus, .btn-large.focus, .btn-large.btn.btn-loading, .btn-large.btn.btn-loading:focus:hover, .btn-large.btn.btn-loading:focus:active, .btn-large.btn-default.btn-loading, .btn-large.btn-loading.btn-icon, .btn-large.btn-default.btn-loading:focus:hover, .btn-large.btn-loading.btn-icon:focus:hover, .btn-large.btn-default.btn-loading:focus:active, .btn-large.btn-loading.btn-icon:focus:active, .btn-group.opened .btn-large.btn-dropdown {
|
895 |
+
border-width: 2px;
|
896 |
+
padding: 3px 15px; }
|
897 |
+
|
898 |
+
.btn-medium {
|
899 |
+
font-size: 0.875em;
|
900 |
+
padding: 4px 12px;
|
901 |
+
border-radius: 3px;
|
902 |
+
line-height: 1.7em;
|
903 |
+
height: 2.857em;
|
904 |
+
min-width: 8.571em; }
|
905 |
+
.btn-medium:focus, .btn-medium.focus, .btn-medium.btn.btn-loading, .btn-medium.btn.btn-loading:focus:hover, .btn-medium.btn.btn-loading:focus:active, .btn-medium.btn-default.btn-loading, .btn-medium.btn-loading.btn-icon, .btn-medium.btn-default.btn-loading:focus:hover, .btn-medium.btn-loading.btn-icon:focus:hover, .btn-medium.btn-default.btn-loading:focus:active, .btn-medium.btn-loading.btn-icon:focus:active, .btn-group.opened .btn-medium.btn-dropdown {
|
906 |
+
border-width: 2px;
|
907 |
+
padding: 3px 11px; }
|
908 |
+
|
909 |
+
.btn-small {
|
910 |
+
font-size: 0.755em;
|
911 |
+
padding: 3px 8px;
|
912 |
+
border-radius: 3px;
|
913 |
+
line-height: 1.4em;
|
914 |
+
height: 2.333em;
|
915 |
+
min-width: 7em; }
|
916 |
+
.btn-small:focus, .btn-small.focus, .btn-small.btn.btn-loading, .btn-small.btn.btn-loading:focus:hover, .btn-small.btn.btn-loading:focus:active, .btn-small.btn-default.btn-loading, .btn-small.btn-loading.btn-icon, .btn-small.btn-default.btn-loading:focus:hover, .btn-small.btn-loading.btn-icon:focus:hover, .btn-small.btn-default.btn-loading:focus:active, .btn-small.btn-loading.btn-icon:focus:active, .btn-group.opened .btn-small.btn-dropdown {
|
917 |
+
border-width: 2px;
|
918 |
+
padding: 2px 7px; }
|
919 |
+
|
920 |
+
/* buttons' types */
|
921 |
+
.btn-default, .btn-icon {
|
922 |
+
background-color: #f6f6f6;
|
923 |
+
color: #333;
|
924 |
+
border-color: #cccccc; }
|
925 |
+
.btn-default:hover, .btn-icon:hover {
|
926 |
+
background-color: #fff;
|
927 |
+
color: #137ebe;
|
928 |
+
border-color: #89bede; }
|
929 |
+
.btn-default:focus, .btn-icon:focus, .btn-default.focus, .focus.btn-icon, .btn-group.opened .btn-icon.btn-dropdown, .btn-group.opened .btn-default.btn-dropdown {
|
930 |
+
background-color: #eaf2f7;
|
931 |
+
border-color: #b3cad5; }
|
932 |
+
.btn-default:focus:hover, .btn-icon:focus:hover {
|
933 |
+
background-color: #fff;
|
934 |
+
border-color: #137ebe; }
|
935 |
+
.btn-default:active, .btn-icon:active {
|
936 |
+
background-color: #fff;
|
937 |
+
color: #5ebbf3;
|
938 |
+
border-color: #aeddf9; }
|
939 |
+
.btn-default:focus:active, .btn-icon:focus:active {
|
940 |
+
background-color: #fff;
|
941 |
+
border-color: #5ebbf3; }
|
942 |
+
.btn-default.btn-loading, .btn-loading.btn-icon, .btn-default.btn-loading:hover, .btn-loading.btn-icon:hover, .btn-default.btn-loading:focus, .btn-loading.btn-icon:focus, .btn-default.btn-loading:focus:hover, .btn-loading.btn-icon:focus:hover, .btn-default.btn-loading:active, .btn-loading.btn-icon:active, .btn-default.btn-loading:focus:active, .btn-loading.btn-icon:focus:active {
|
943 |
+
position: relative;
|
944 |
+
background-color: #aeddf9;
|
945 |
+
border-color: #aeddf9;
|
946 |
+
overflow: visible; }
|
947 |
+
.btn-default.btn-loading .loader-inner, .btn-loading.btn-icon .loader-inner, .btn-default.btn-loading .loader-outer, .btn-loading.btn-icon .loader-outer, .btn-default.btn-loading:hover .loader-inner, .btn-loading.btn-icon:hover .loader-inner, .btn-default.btn-loading:hover .loader-outer, .btn-loading.btn-icon:hover .loader-outer, .btn-default.btn-loading:focus .loader-inner, .btn-loading.btn-icon:focus .loader-inner, .btn-default.btn-loading:focus .loader-outer, .btn-loading.btn-icon:focus .loader-outer, .btn-default.btn-loading:focus:hover .loader-inner, .btn-loading.btn-icon:focus:hover .loader-inner, .btn-default.btn-loading:focus:hover .loader-outer, .btn-loading.btn-icon:focus:hover .loader-outer, .btn-default.btn-loading:active .loader-inner, .btn-loading.btn-icon:active .loader-inner, .btn-default.btn-loading:active .loader-outer, .btn-loading.btn-icon:active .loader-outer, .btn-default.btn-loading:focus:active .loader-inner, .btn-loading.btn-icon:focus:active .loader-inner, .btn-default.btn-loading:focus:active .loader-outer, .btn-loading.btn-icon:focus:active .loader-outer {
|
948 |
+
fill: #aeddf9; }
|
949 |
+
|
950 |
+
.btn-default[disabled], [disabled].btn-icon, .btn-default[disabled]:hover, [disabled].btn-icon:hover, .btn-default[disabled]:focus, [disabled].btn-icon:focus, .btn-default[disabled]:focus:hover, [disabled].btn-icon:focus:hover, .btn-default[disabled]:active, [disabled].btn-icon:active, .btn-default[disabled]:focus:active, [disabled].btn-icon:focus:active {
|
951 |
+
background-color: #f6f6f6;
|
952 |
+
color: #333;
|
953 |
+
border-color: transparent;
|
954 |
+
border-color: #cccccc; }
|
955 |
+
|
956 |
+
.btn-alt {
|
957 |
+
background-color: #fff;
|
958 |
+
color: #333; }
|
959 |
+
.btn-alt:hover {
|
960 |
+
background-color: #edf8ff;
|
961 |
+
color: #137ebe; }
|
962 |
+
.btn-alt:active {
|
963 |
+
background-color: #fff;
|
964 |
+
color: #54bfd6; }
|
965 |
+
.btn-alt:focus {
|
966 |
+
border-color: #fff;
|
967 |
+
background-color: #d3e6f1; }
|
968 |
+
.btn-alt:focus:hover {
|
969 |
+
background-color: #dce6ed; }
|
970 |
+
.btn-alt:focus:active {
|
971 |
+
background-color: #fff; }
|
972 |
+
|
973 |
+
.btn-alt[disabled], .btn-alt[disabled]:hover, .btn-alt[disabled]:focus, .btn-alt[disabled]:focus:hover, .btn-alt[disabled]:active, .btn-alt[disabled]:focus:active {
|
974 |
+
background-color: #fff;
|
975 |
+
color: #333;
|
976 |
+
border-color: transparent; }
|
977 |
+
|
978 |
+
/* btn-primary */
|
979 |
+
.btn-primary,
|
980 |
+
.ecwid-button .btn-primary {
|
981 |
+
color: #fff;
|
982 |
+
background-color: #189dee;
|
983 |
+
border-color: transparent; }
|
984 |
+
.btn-primary:hover {
|
985 |
+
background-color: #137dbe; }
|
986 |
+
.btn-primary:focus {
|
987 |
+
border-color: #106da6; }
|
988 |
+
.btn-primary:focus:hover {
|
989 |
+
background-color: #137dbe; }
|
990 |
+
.btn-primary:active {
|
991 |
+
background-color: #46b0f1; }
|
992 |
+
.btn-primary:focus:active {
|
993 |
+
background-color: #46b0f1; }
|
994 |
+
.btn-primary.btn.btn-loading, .btn-primary.btn.btn-loading:focus:hover, .btn-primary.btn.btn-loading:focus:active, .btn-primary.btn-default.btn-loading, .btn-primary.btn-loading.btn-icon, .btn-primary.btn-default.btn-loading:focus:hover, .btn-primary.btn-loading.btn-icon:focus:hover, .btn-primary.btn-default.btn-loading:focus:active, .btn-primary.btn-loading.btn-icon:focus:active {
|
995 |
+
position: relative;
|
996 |
+
background-color: #46b0f1;
|
997 |
+
border-color: transparent;
|
998 |
+
overflow: visible; }
|
999 |
+
.btn-group.opened .btn-primary.btn-dropdown {
|
1000 |
+
border-color: #106da6; }
|
1001 |
+
.btn-primary.btn-loading .loader-inner, .btn-primary.btn-loading .loader-outer, .btn-primary.btn-loading:hover .loader-inner, .btn-primary.btn-loading:hover .loader-outer, .btn-primary.btn-loading:focus .loader-inner, .btn-primary.btn-loading:focus .loader-outer, .btn-primary.btn-loading:focus:hover .loader-inner, .btn-primary.btn-loading:focus:hover .loader-outer, .btn-primary.btn-loading:active .loader-inner, .btn-primary.btn-loading:active .loader-outer, .btn-primary.btn-loading:focus:active .loader-inner, .btn-primary.btn-loading:focus:active .loader-outer {
|
1002 |
+
fill: #46b0f1; }
|
1003 |
+
|
1004 |
+
.btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:focus:hover, .btn-primary[disabled]:active, .btn-primary[disabled]:focus:active {
|
1005 |
+
background-color: #189dee;
|
1006 |
+
color: #fff;
|
1007 |
+
border-color: transparent; }
|
1008 |
+
|
1009 |
+
/* btn-success */
|
1010 |
+
.btn-success,
|
1011 |
+
.ecwid-button .btn-success {
|
1012 |
+
color: #fff;
|
1013 |
+
background-color: #64a52f;
|
1014 |
+
border-color: transparent; }
|
1015 |
+
.btn-success:hover {
|
1016 |
+
background-color: #508425; }
|
1017 |
+
.btn-success:focus {
|
1018 |
+
border-color: #467320; }
|
1019 |
+
.btn-success:focus:hover {
|
1020 |
+
background-color: #508425; }
|
1021 |
+
.btn-success:active {
|
1022 |
+
background-color: #83b758; }
|
1023 |
+
.btn-success:focus:active {
|
1024 |
+
background-color: #83b758; }
|
1025 |
+
.btn-success.btn.btn-loading, .btn-success.btn.btn-loading:focus:hover, .btn-success.btn.btn-loading:focus:active, .btn-success.btn-default.btn-loading, .btn-success.btn-loading.btn-icon, .btn-success.btn-default.btn-loading:focus:hover, .btn-success.btn-loading.btn-icon:focus:hover, .btn-success.btn-default.btn-loading:focus:active, .btn-success.btn-loading.btn-icon:focus:active {
|
1026 |
+
position: relative;
|
1027 |
+
background-color: #83b758;
|
1028 |
+
border-color: transparent;
|
1029 |
+
overflow: visible; }
|
1030 |
+
.btn-group.opened .btn-success.btn-dropdown {
|
1031 |
+
border-color: #467320; }
|
1032 |
+
.btn-success.btn-loading .loader-inner, .btn-success.btn-loading .loader-outer, .btn-success.btn-loading:hover .loader-inner, .btn-success.btn-loading:hover .loader-outer, .btn-success.btn-loading:focus .loader-inner, .btn-success.btn-loading:focus .loader-outer, .btn-success.btn-loading:focus:hover .loader-inner, .btn-success.btn-loading:focus:hover .loader-outer, .btn-success.btn-loading:active .loader-inner, .btn-success.btn-loading:active .loader-outer, .btn-success.btn-loading:focus:active .loader-inner, .btn-success.btn-loading:focus:active .loader-outer {
|
1033 |
+
fill: #83b758; }
|
1034 |
+
|
1035 |
+
.btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:focus:hover, .btn-success[disabled]:active, .btn-success[disabled]:focus:active {
|
1036 |
+
background-color: #64a52f;
|
1037 |
+
color: #fff;
|
1038 |
+
border-color: transparent; }
|
1039 |
+
|
1040 |
+
/* btn-info */
|
1041 |
+
.btn-info {
|
1042 |
+
color: #fff;
|
1043 |
+
background-color: #1baecd;
|
1044 |
+
border-color: transparent; }
|
1045 |
+
.btn-info:hover {
|
1046 |
+
background-color: #158ba4; }
|
1047 |
+
.btn-info:focus {
|
1048 |
+
border-color: #12798f; }
|
1049 |
+
.btn-info:focus:hover {
|
1050 |
+
background-color: #158ba4; }
|
1051 |
+
.btn-info:active {
|
1052 |
+
background-color: #48bed7; }
|
1053 |
+
.btn-info:focus:active {
|
1054 |
+
background-color: #48bed7; }
|
1055 |
+
.btn-info.btn.btn-loading, .btn-info.btn.btn-loading:focus:hover, .btn-info.btn.btn-loading:focus:active, .btn-info.btn-default.btn-loading, .btn-info.btn-loading.btn-icon, .btn-info.btn-default.btn-loading:focus:hover, .btn-info.btn-loading.btn-icon:focus:hover, .btn-info.btn-default.btn-loading:focus:active, .btn-info.btn-loading.btn-icon:focus:active {
|
1056 |
+
position: relative;
|
1057 |
+
background-color: #48bed7;
|
1058 |
+
border-color: transparent;
|
1059 |
+
overflow: visible; }
|
1060 |
+
.btn-group.opened .btn-info.btn-dropdown {
|
1061 |
+
border-color: #12798f; }
|
1062 |
+
.btn-info.btn-loading .loader-inner, .btn-info.btn-loading .loader-outer, .btn-info.btn-loading:hover .loader-inner, .btn-info.btn-loading:hover .loader-outer, .btn-info.btn-loading:focus .loader-inner, .btn-info.btn-loading:focus .loader-outer, .btn-info.btn-loading:focus:hover .loader-inner, .btn-info.btn-loading:focus:hover .loader-outer, .btn-info.btn-loading:active .loader-inner, .btn-info.btn-loading:active .loader-outer, .btn-info.btn-loading:focus:active .loader-inner, .btn-info.btn-loading:focus:active .loader-outer {
|
1063 |
+
fill: #48bed7; }
|
1064 |
+
|
1065 |
+
.btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:focus:hover, .btn-info[disabled]:active, .btn-info[disabled]:focus:active {
|
1066 |
+
background-color: #1baecd;
|
1067 |
+
color: #fff;
|
1068 |
+
border-color: transparent; }
|
1069 |
+
|
1070 |
+
/* btn-info-light */
|
1071 |
+
.btn-info-light {
|
1072 |
+
color: #fff;
|
1073 |
+
background-color: #99d5e1;
|
1074 |
+
border-color: transparent; }
|
1075 |
+
.btn-info-light:hover {
|
1076 |
+
background-color: #7aaab4; }
|
1077 |
+
.btn-info-light:focus {
|
1078 |
+
border-color: #6b959d; }
|
1079 |
+
.btn-info-light:focus:hover {
|
1080 |
+
background-color: #7aaab4; }
|
1081 |
+
.btn-info-light:active {
|
1082 |
+
background-color: #addde7; }
|
1083 |
+
.btn-info-light:focus:active {
|
1084 |
+
background-color: #addde7; }
|
1085 |
+
.btn-info-light.btn.btn-loading, .btn-info-light.btn.btn-loading:focus:hover, .btn-info-light.btn.btn-loading:focus:active, .btn-info-light.btn-default.btn-loading, .btn-info-light.btn-loading.btn-icon, .btn-info-light.btn-default.btn-loading:focus:hover, .btn-info-light.btn-loading.btn-icon:focus:hover, .btn-info-light.btn-default.btn-loading:focus:active, .btn-info-light.btn-loading.btn-icon:focus:active {
|
1086 |
+
position: relative;
|
1087 |
+
background-color: #addde7;
|
1088 |
+
border-color: transparent;
|
1089 |
+
overflow: visible; }
|
1090 |
+
.btn-group.opened .btn-info-light.btn-dropdown {
|
1091 |
+
border-color: #6b959d; }
|
1092 |
+
.btn-info-light.btn-loading .loader-inner, .btn-info-light.btn-loading .loader-outer, .btn-info-light.btn-loading:hover .loader-inner, .btn-info-light.btn-loading:hover .loader-outer, .btn-info-light.btn-loading:focus .loader-inner, .btn-info-light.btn-loading:focus .loader-outer, .btn-info-light.btn-loading:focus:hover .loader-inner, .btn-info-light.btn-loading:focus:hover .loader-outer, .btn-info-light.btn-loading:active .loader-inner, .btn-info-light.btn-loading:active .loader-outer, .btn-info-light.btn-loading:focus:active .loader-inner, .btn-info-light.btn-loading:focus:active .loader-outer {
|
1093 |
+
fill: #addde7; }
|
1094 |
+
|
1095 |
+
.btn-info-light[disabled], .btn-info-light[disabled]:hover, .btn-info-light[disabled]:focus, .btn-info-light[disabled]:focus:hover, .btn-info-light[disabled]:active, .btn-info-light[disabled]:focus:active {
|
1096 |
+
background-color: #99d5e1;
|
1097 |
+
color: #fff;
|
1098 |
+
border-color: transparent; }
|
1099 |
+
|
1100 |
+
/* btn-warning */
|
1101 |
+
.btn-warning {
|
1102 |
+
color: #fff;
|
1103 |
+
background-color: #bfa454;
|
1104 |
+
border-color: transparent; }
|
1105 |
+
.btn-warning:hover {
|
1106 |
+
background-color: #988343; }
|
1107 |
+
.btn-warning:focus {
|
1108 |
+
border-color: #85723a; }
|
1109 |
+
.btn-warning:focus:hover {
|
1110 |
+
background-color: #988343; }
|
1111 |
+
.btn-warning:active {
|
1112 |
+
background-color: #cbb676; }
|
1113 |
+
.btn-warning:focus:active {
|
1114 |
+
background-color: #cbb676; }
|
1115 |
+
.btn-warning.btn.btn-loading, .btn-warning.btn.btn-loading:focus:hover, .btn-warning.btn.btn-loading:focus:active, .btn-warning.btn-default.btn-loading, .btn-warning.btn-loading.btn-icon, .btn-warning.btn-default.btn-loading:focus:hover, .btn-warning.btn-loading.btn-icon:focus:hover, .btn-warning.btn-default.btn-loading:focus:active, .btn-warning.btn-loading.btn-icon:focus:active {
|
1116 |
+
position: relative;
|
1117 |
+
background-color: #cbb676;
|
1118 |
+
border-color: transparent;
|
1119 |
+
overflow: visible; }
|
1120 |
+
.btn-group.opened .btn-warning.btn-dropdown {
|
1121 |
+
border-color: #85723a; }
|
1122 |
+
.btn-warning.btn-loading .loader-inner, .btn-warning.btn-loading .loader-outer, .btn-warning.btn-loading:hover .loader-inner, .btn-warning.btn-loading:hover .loader-outer, .btn-warning.btn-loading:focus .loader-inner, .btn-warning.btn-loading:focus .loader-outer, .btn-warning.btn-loading:focus:hover .loader-inner, .btn-warning.btn-loading:focus:hover .loader-outer, .btn-warning.btn-loading:active .loader-inner, .btn-warning.btn-loading:active .loader-outer, .btn-warning.btn-loading:focus:active .loader-inner, .btn-warning.btn-loading:focus:active .loader-outer {
|
1123 |
+
fill: #cbb676; }
|
1124 |
+
|
1125 |
+
.btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:focus:hover, .btn-warning[disabled]:active, .btn-warning[disabled]:focus:active {
|
1126 |
+
background-color: #bfa454;
|
1127 |
+
color: #fff;
|
1128 |
+
border-color: transparent; }
|
1129 |
+
|
1130 |
+
/* btn-inverse */
|
1131 |
+
.btn-inverse, .btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active {
|
1132 |
+
color: #333; }
|
1133 |
+
|
1134 |
+
/* icons on btn */
|
1135 |
+
.btn [class*="icon-"] {
|
1136 |
+
color: inherit;
|
1137 |
+
padding-right: 0.688em;
|
1138 |
+
vertical-align: text-top;
|
1139 |
+
font-size: 1.143em;
|
1140 |
+
margin-top: 1px;
|
1141 |
+
opacity: .8; }
|
1142 |
+
|
1143 |
+
.btn-left-caret [class*="icon-"] {
|
1144 |
+
float: left;
|
1145 |
+
margin-top: 4px;
|
1146 |
+
padding-right: 8px; }
|
1147 |
+
|
1148 |
+
.btn-small.btn-left-caret [class*="icon-"] {
|
1149 |
+
float: left;
|
1150 |
+
margin-top: 1px;
|
1151 |
+
padding-right: 7px; }
|
1152 |
+
|
1153 |
+
.btn-medium.btn-left-caret [class*="icon-"] {
|
1154 |
+
float: left;
|
1155 |
+
margin-top: 4px; }
|
1156 |
+
|
1157 |
+
.btn-large.btn-left-caret [class*="icon-"] {
|
1158 |
+
float: left;
|
1159 |
+
margin-top: 8px;
|
1160 |
+
padding-right: 10px; }
|
1161 |
+
|
1162 |
+
/* btn-icon */
|
1163 |
+
.btn-icon {
|
1164 |
+
min-width: 40px; }
|
1165 |
+
.btn-icon.btn-large {
|
1166 |
+
min-width: 60px; }
|
1167 |
+
.btn-icon.btn-medium {
|
1168 |
+
min-width: 45px; }
|
1169 |
+
.btn-icon.btn-small {
|
1170 |
+
min-width: 30px; }
|
1171 |
+
.btn-icon [class*='icon-'] {
|
1172 |
+
padding: 0; }
|
1173 |
+
|
1174 |
+
/* button group */
|
1175 |
+
.btn-group {
|
1176 |
+
position: relative;
|
1177 |
+
display: inline-block;
|
1178 |
+
vertical-align: middle; }
|
1179 |
+
.btn-group > .btn {
|
1180 |
+
position: relative;
|
1181 |
+
float: left; }
|
1182 |
+
.btn-group > .btn:focus {
|
1183 |
+
outline: 0;
|
1184 |
+
z-index: 1; }
|
1185 |
+
|
1186 |
+
.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
|
1187 |
+
margin-left: -1px; }
|
1188 |
+
|
1189 |
+
.btn-group > .btn:not(:first-child):not(:last-child):not(.btn-dropdown) {
|
1190 |
+
border-radius: 0; }
|
1191 |
+
|
1192 |
+
.btn-group > .btn:first-child {
|
1193 |
+
margin-left: 0; }
|
1194 |
+
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
|
1195 |
+
border-top-right-radius: 0;
|
1196 |
+
border-bottom-right-radius: 0; }
|
1197 |
+
|
1198 |
+
.btn-group > .btn:last-child:not(:first-child), .btn-group > .btn-dropdown:not(:first-child) {
|
1199 |
+
border-top-left-radius: 0;
|
1200 |
+
border-bottom-left-radius: 0; }
|
1201 |
+
|
1202 |
+
.btn-group .btn-dropdown {
|
1203 |
+
min-width: 30px;
|
1204 |
+
vertical-align: middle; }
|
1205 |
+
.btn-group .btn-dropdown [class*='icon-'] {
|
1206 |
+
font-size: .3em;
|
1207 |
+
vertical-align: middle;
|
1208 |
+
margin-top: -2px;
|
1209 |
+
padding: 0; }
|
1210 |
+
|
1211 |
+
.btn-group .list-dropdown {
|
1212 |
+
top: 100%;
|
1213 |
+
right: 0;
|
1214 |
+
margin: 2px 0 0 0;
|
1215 |
+
box-shadow: 0 1px 4px #b5b5b5;
|
1216 |
+
display: none; }
|
1217 |
+
|
1218 |
+
.opened > .list-dropdown {
|
1219 |
+
display: block; }
|
1220 |
+
|
1221 |
+
.btn-group .btn-dropdown {
|
1222 |
+
border-left-color: rgba(255, 255, 255, 0.6); }
|
1223 |
+
.btn-group .btn-dropdown.btn-default, .btn-group .btn-dropdown.btn-icon {
|
1224 |
+
border-color: #cccccc; }
|
1225 |
+
|
1226 |
+
.normalized .form-control, .normalized .input-prefix-suffix {
|
1227 |
+
display: inline-block;
|
1228 |
+
width: 100%;
|
1229 |
+
vertical-align: middle;
|
1230 |
+
outline: 0;
|
1231 |
+
border: 1px solid #c7c7c7;
|
1232 |
+
background-color: #fafbfc;
|
1233 |
+
color: #606060;
|
1234 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.07);
|
1235 |
+
-moz-box-sizing: border-box;
|
1236 |
+
box-sizing: border-box;
|
1237 |
+
font-size: 0.813em;
|
1238 |
+
padding: 4px 8px;
|
1239 |
+
border-radius: 3px;
|
1240 |
+
line-height: 1.75em;
|
1241 |
+
height: 2.462em;
|
1242 |
+
-webkit-transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear, box-shadow 0.1s linear;
|
1243 |
+
transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear, box-shadow 0.1s linear; }
|
1244 |
+
.normalized .form-control:focus, .normalized .input-prefix-suffix:focus, .normalized .form-control.focus, .normalized .focus.input-prefix-suffix {
|
1245 |
+
border-width: 2px;
|
1246 |
+
padding: 3px 7px; }
|
1247 |
+
.normalized .form-control:hover, .normalized .input-prefix-suffix:hover {
|
1248 |
+
background-color: #fff; }
|
1249 |
+
.normalized .form-control:focus, .normalized .input-prefix-suffix:focus, .normalized .form-control.focus, .normalized .focus.input-prefix-suffix, .normalized .form-control:active, .normalized .input-prefix-suffix:active, .normalized .form-control.active, .normalized .active.input-prefix-suffix {
|
1250 |
+
background-color: #fff;
|
1251 |
+
border-color: #0c92e3;
|
1252 |
+
color: #606060;
|
1253 |
+
box-shadow: 0 0 4px #d1eafa; }
|
1254 |
+
.normalized .form-control[disabled], .normalized [disabled].input-prefix-suffix, .normalized .form-control[readonly], .normalized [readonly].input-prefix-suffix, .normalized .form-control[disabled]:hover, .normalized [disabled].input-prefix-suffix:hover, .normalized .form-control[disabled]:focus, .normalized [disabled].input-prefix-suffix:focus, .normalized .form-control[disabled]:focus:hover, .normalized [disabled].input-prefix-suffix:focus:hover, .normalized .form-control[disabled]:active, .normalized [disabled].input-prefix-suffix:active, .normalized .form-control[disabled]:focus:active, .normalized [disabled].input-prefix-suffix:focus:active {
|
1255 |
+
background-color: #eeeeee;
|
1256 |
+
border-color: #c7c7c7;
|
1257 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.07);
|
1258 |
+
cursor: not-allowed; }
|
1259 |
+
|
1260 |
+
.normalized .form-control::-moz-placeholder, .normalized .input-prefix-suffix::-moz-placeholder {
|
1261 |
+
color: #606060;
|
1262 |
+
opacity: .6; }
|
1263 |
+
|
1264 |
+
.normalized .form-control::-webkit-input-placeholder, .normalized .input-prefix-suffix::-webkit-input-placeholder {
|
1265 |
+
color: #606060;
|
1266 |
+
opacity: .6; }
|
1267 |
+
|
1268 |
+
.normalized .form-control::-ms-input-placeholder, .normalized .input-prefix-suffix::-ms-input-placeholder {
|
1269 |
+
color: #606060;
|
1270 |
+
opacity: .6; }
|
1271 |
+
|
1272 |
+
.normalized .has-error .form-control, .normalized .has-error .input-prefix-suffix {
|
1273 |
+
border: 2px solid #fa5111;
|
1274 |
+
padding: 4px 7px;
|
1275 |
+
color: #cf3e07;
|
1276 |
+
background-color: #ffeaea;
|
1277 |
+
box-shadow: none;
|
1278 |
+
-webkit-transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear;
|
1279 |
+
transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear; }
|
1280 |
+
|
1281 |
+
.normalized .has-error .form-control:hover, .normalized .has-error .input-prefix-suffix:hover {
|
1282 |
+
background-color: #fff; }
|
1283 |
+
|
1284 |
+
.normalized .has-error .form-control:focus, .normalized .has-error .input-prefix-suffix:focus {
|
1285 |
+
background-color: #fff;
|
1286 |
+
box-shadow: 0 0 4px #F5C0C0; }
|
1287 |
+
|
1288 |
+
.normalized .has-success .form-control, .normalized .has-success .input-prefix-suffix {
|
1289 |
+
border: 2px solid #468847;
|
1290 |
+
padding: 4px 7px;
|
1291 |
+
background-color: #eaffea;
|
1292 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1293 |
+
color: #468847;
|
1294 |
+
transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear;
|
1295 |
+
-webkit-transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear; }
|
1296 |
+
|
1297 |
+
.normalized .has-success .form-control:focus, .normalized .has-success .input-prefix-suffix:focus {
|
1298 |
+
background-color: #fff;
|
1299 |
+
box-shadow: 0 0 4px #88c889; }
|
1300 |
+
|
1301 |
+
.loader svg {
|
1302 |
+
height: 100%;
|
1303 |
+
width: 100%; }
|
1304 |
+
|
1305 |
+
[class*="loading"] .loader .spin-left {
|
1306 |
+
-webkit-animation: spinleft 1s infinite linear;
|
1307 |
+
animation: spinleft 1s infinite linear; }
|
1308 |
+
|
1309 |
+
[class*="loading"] .loader .spin-right {
|
1310 |
+
-webkit-animation: spinright 0.5s infinite linear;
|
1311 |
+
animation: spinright 0.5s infinite linear; }
|
1312 |
+
|
1313 |
+
.btn .loader {
|
1314 |
+
position: absolute;
|
1315 |
+
width: 100%;
|
1316 |
+
height: 160%;
|
1317 |
+
top: -30%;
|
1318 |
+
left: 0;
|
1319 |
+
display: none;
|
1320 |
+
z-index: 1;
|
1321 |
+
overflow: hidden;
|
1322 |
+
-webkit-animation: fadein .1s 1 linear;
|
1323 |
+
animation: fadein .1s 1 linear; }
|
1324 |
+
.btn .loader .ecwid-spinner {
|
1325 |
+
margin: 0 auto;
|
1326 |
+
height: 100%;
|
1327 |
+
height: -webkit-calc(100% + 0px);
|
1328 |
+
width: -webkit-calc(100% + 0px); }
|
1329 |
+
|
1330 |
+
.btn-loading .loader {
|
1331 |
+
display: block; }
|
css/landing_old.css
ADDED
@@ -0,0 +1,496 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* http://meyerweb.com/eric/tools/css/reset/
|
2 |
+
* v2.0 | 20110126
|
3 |
+
* License: none (public domain) */
|
4 |
+
html, body, div, span, applet, object, iframe,
|
5 |
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
6 |
+
a, abbr, acronym, address, big, cite, code,
|
7 |
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
8 |
+
small, strike, strong, sub, sup, tt, var,
|
9 |
+
b, u, i, center,
|
10 |
+
dl, dt, dd, ol, ul, li,
|
11 |
+
fieldset, form, label, legend,
|
12 |
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
13 |
+
article, aside, canvas, details, embed,
|
14 |
+
figure, figcaption, footer, header, hgroup,
|
15 |
+
menu, nav, output, ruby, section, summary,
|
16 |
+
time, mark, audio, video, button {
|
17 |
+
margin: 0;
|
18 |
+
padding: 0;
|
19 |
+
border: 0;
|
20 |
+
font-size: 100%;
|
21 |
+
font: inherit;
|
22 |
+
box-sizing: border-box;
|
23 |
+
vertical-align: baseline; }
|
24 |
+
|
25 |
+
/* HTML5 display-role reset for older browsers */
|
26 |
+
article, aside, details, figcaption, figure,
|
27 |
+
footer, header, hgroup, menu, nav, section {
|
28 |
+
display: block; }
|
29 |
+
|
30 |
+
body {
|
31 |
+
line-height: 1; }
|
32 |
+
|
33 |
+
ol, ul {
|
34 |
+
list-style: none; }
|
35 |
+
|
36 |
+
blockquote, q {
|
37 |
+
quotes: none; }
|
38 |
+
|
39 |
+
blockquote:before, blockquote:after,
|
40 |
+
q:before, q:after {
|
41 |
+
content: "";
|
42 |
+
content: none; }
|
43 |
+
|
44 |
+
table {
|
45 |
+
border-collapse: collapse;
|
46 |
+
border-spacing: 0; }
|
47 |
+
|
48 |
+
body {
|
49 |
+
font-family: "Open sans", sans-serif;
|
50 |
+
font-weight: 400;
|
51 |
+
color: #363636;
|
52 |
+
min-width: 320px; }
|
53 |
+
|
54 |
+
.ecwid-thank {
|
55 |
+
padding-top: 36px; }
|
56 |
+
.ecwid-thank h1 {
|
57 |
+
text-align: center;
|
58 |
+
font-size: 28px;
|
59 |
+
color: #000000;
|
60 |
+
line-height: 1.4;
|
61 |
+
margin-bottom: 30px; }
|
62 |
+
@media (max-width: 767px) {
|
63 |
+
.ecwid-thank h1 {
|
64 |
+
font-size: 22px;
|
65 |
+
max-width: 490px;
|
66 |
+
padding: 0 2%;
|
67 |
+
margin: 0 auto 15px; }
|
68 |
+
.ecwid-thank h1 br {
|
69 |
+
display: none; } }
|
70 |
+
@media (max-width: 500px) {
|
71 |
+
.ecwid-thank h1 {
|
72 |
+
max-width: 320px; } }
|
73 |
+
.ecwid-thank h1 span {
|
74 |
+
display: block;
|
75 |
+
font-size: 14px;
|
76 |
+
margin-bottom: 14px; }
|
77 |
+
|
78 |
+
.ecwid-thank-steps {
|
79 |
+
margin: 0 auto 51px;
|
80 |
+
max-width: 1000px; }
|
81 |
+
@media (max-width: 767px) {
|
82 |
+
.ecwid-thank-steps {
|
83 |
+
max-width: 450px;
|
84 |
+
margin-bottom: 0;
|
85 |
+
padding: 0 2%; } }
|
86 |
+
.ecwid-thank-steps:after {
|
87 |
+
content: "";
|
88 |
+
display: table;
|
89 |
+
clear: both; }
|
90 |
+
|
91 |
+
.ecwid-thank-step {
|
92 |
+
text-align: center;
|
93 |
+
width: 33.33333%;
|
94 |
+
float: left;
|
95 |
+
position: relative;
|
96 |
+
padding: 0 2%; }
|
97 |
+
.ecwid-thank-step.active .ecwid-thank-step-image:before {
|
98 |
+
position: absolute;
|
99 |
+
content: url("../images/landing/correct.svg");
|
100 |
+
width: 17px;
|
101 |
+
left: 61%; }
|
102 |
+
.ecwid-thank-step.active .ecwid-thank-step-image img.none-active {
|
103 |
+
display: none; }
|
104 |
+
.ecwid-thank-step.active .ecwid-thank-step-image img.active {
|
105 |
+
display: inline-block; }
|
106 |
+
@media (max-width: 767px) {
|
107 |
+
.ecwid-thank-step {
|
108 |
+
display: none; } }
|
109 |
+
.ecwid-thank-step .ecwid-thank-step-image {
|
110 |
+
height: 92px;
|
111 |
+
position: relative; }
|
112 |
+
.ecwid-thank-step .ecwid-thank-step-image:after {
|
113 |
+
content: "";
|
114 |
+
position: absolute;
|
115 |
+
overflow: hidden; }
|
116 |
+
@media (min-width: 768px) {
|
117 |
+
.ecwid-thank-step .ecwid-thank-step-image:after {
|
118 |
+
top: 40px;
|
119 |
+
left: 77%;
|
120 |
+
width: 64%;
|
121 |
+
height: 7px;
|
122 |
+
background: url("../images/landing/arrow.png") center right; } }
|
123 |
+
.ecwid-thank-step img {
|
124 |
+
margin: 3px 0 10px; }
|
125 |
+
.ecwid-thank-step img.active {
|
126 |
+
display: none; }
|
127 |
+
.ecwid-thank-step h2 {
|
128 |
+
font-size: 18px;
|
129 |
+
line-height: 1.5;
|
130 |
+
margin-bottom: 6px; }
|
131 |
+
.ecwid-thank-step p {
|
132 |
+
font-size: 14px;
|
133 |
+
line-height: 1.5; }
|
134 |
+
.ecwid-thank-step.ecwid-thank-step-one img {
|
135 |
+
height: 77px; }
|
136 |
+
.ecwid-thank-step.ecwid-thank-step-two img {
|
137 |
+
height: 60px;
|
138 |
+
margin-top: 13px; }
|
139 |
+
.ecwid-thank-step.ecwid-thank-step-three .ecwid-thank-step-image:after {
|
140 |
+
display: none; }
|
141 |
+
.ecwid-thank-step.ecwid-thank-step-three h2 {
|
142 |
+
font-weight: 600; }
|
143 |
+
.ecwid-thank-step.ecwid-thank-step-three img {
|
144 |
+
height: 82px; }
|
145 |
+
|
146 |
+
.ecwid-thank-background {
|
147 |
+
background: url("../images/landing/background-think.jpg");
|
148 |
+
background-size: cover; }
|
149 |
+
@media (min-width: 768px) {
|
150 |
+
.ecwid-thank-background {
|
151 |
+
background-position: center bottom; } }
|
152 |
+
@media (min-width: 1440px) {
|
153 |
+
.ecwid-thank-background {
|
154 |
+
background-position: left -50px; } }
|
155 |
+
.ecwid-thank-background .ecwid-thank-background-tablet {
|
156 |
+
padding: 52px 5% 0; }
|
157 |
+
.ecwid-thank-background .ecwid-thank-background-tablet img {
|
158 |
+
display: block;
|
159 |
+
margin: 0 auto;
|
160 |
+
max-width: 100%; }
|
161 |
+
|
162 |
+
.ecwid-description {
|
163 |
+
padding: 0 2%; }
|
164 |
+
.ecwid-description:after {
|
165 |
+
content: "";
|
166 |
+
display: table;
|
167 |
+
clear: both; }
|
168 |
+
|
169 |
+
.ecwid-description-inner {
|
170 |
+
max-width: 930px;
|
171 |
+
margin: 0 auto;
|
172 |
+
table-layout: fixed;
|
173 |
+
width: 100%; }
|
174 |
+
@media (min-width: 768px) {
|
175 |
+
.ecwid-description-inner {
|
176 |
+
display: table;
|
177 |
+
padding-top: 35px; } }
|
178 |
+
@media (min-width: 992px) {
|
179 |
+
.ecwid-description-inner {
|
180 |
+
padding-top: 95px; } }
|
181 |
+
@media (max-width: 767px) {
|
182 |
+
.ecwid-description-inner {
|
183 |
+
display: -webkit-flex;
|
184 |
+
display: -ms-flexbox;
|
185 |
+
display: flex;
|
186 |
+
-webkit-flex-direction: column-reverse;
|
187 |
+
-ms-flex-direction: column-reverse;
|
188 |
+
flex-direction: column-reverse; } }
|
189 |
+
|
190 |
+
.ecwid-description-image {
|
191 |
+
padding-right: 5%;
|
192 |
+
vertical-align: bottom; }
|
193 |
+
@media (min-width: 768px) {
|
194 |
+
.ecwid-description-image {
|
195 |
+
display: table-cell;
|
196 |
+
width: 60%; } }
|
197 |
+
@media (min-width: 992px) {
|
198 |
+
.ecwid-description-image {
|
199 |
+
width: 65%; } }
|
200 |
+
@media (max-width: 767px) {
|
201 |
+
.ecwid-description-image {
|
202 |
+
width: 100%;
|
203 |
+
padding: 0 4%; } }
|
204 |
+
.ecwid-description-image img {
|
205 |
+
display: block;
|
206 |
+
max-width: 100%; }
|
207 |
+
@media (max-width: 767px) {
|
208 |
+
.ecwid-description-image img {
|
209 |
+
margin: 0 auto; } }
|
210 |
+
|
211 |
+
.ecwid-description-text {
|
212 |
+
padding-top: 35px;
|
213 |
+
padding-bottom: 35px; }
|
214 |
+
@media (min-width: 768px) {
|
215 |
+
.ecwid-description-text {
|
216 |
+
width: 40%;
|
217 |
+
display: table-cell;
|
218 |
+
vertical-align: middle; } }
|
219 |
+
@media (min-width: 992px) {
|
220 |
+
.ecwid-description-text {
|
221 |
+
width: 35%;
|
222 |
+
vertical-align: baseline; } }
|
223 |
+
@media (max-width: 767px) {
|
224 |
+
.ecwid-description-text {
|
225 |
+
padding: 44px 4% 0;
|
226 |
+
max-width: 500px;
|
227 |
+
margin: 0 auto 50px;
|
228 |
+
width: 100%; } }
|
229 |
+
.ecwid-description-text h2 {
|
230 |
+
line-height: 1.2;
|
231 |
+
margin-bottom: 18px; }
|
232 |
+
@media (min-width: 768px) {
|
233 |
+
.ecwid-description-text h2 {
|
234 |
+
font-size: 24px; } }
|
235 |
+
@media (min-width: 992px) {
|
236 |
+
.ecwid-description-text h2 {
|
237 |
+
font-size: 28px; } }
|
238 |
+
@media (max-width: 767px) {
|
239 |
+
.ecwid-description-text h2 {
|
240 |
+
font-size: 22px;
|
241 |
+
text-align: center; } }
|
242 |
+
.ecwid-description-text p {
|
243 |
+
font-size: 14px;
|
244 |
+
line-height: 1.5;
|
245 |
+
padding: 0.8em 0; }
|
246 |
+
|
247 |
+
.ecwid-features {
|
248 |
+
background-color: #F4F4F4;
|
249 |
+
padding: 44px 0 60px; }
|
250 |
+
@media (max-width: 767px) {
|
251 |
+
.ecwid-features {
|
252 |
+
padding-bottom: 9px; } }
|
253 |
+
.ecwid-features h2 {
|
254 |
+
font-size: 28px;
|
255 |
+
color: #1F1F1F;
|
256 |
+
font-weight: 400;
|
257 |
+
text-align: center;
|
258 |
+
margin-bottom: 62px; }
|
259 |
+
@media (max-width: 767px) {
|
260 |
+
.ecwid-features h2 {
|
261 |
+
font-size: 22px;
|
262 |
+
margin-bottom: 40px; } }
|
263 |
+
|
264 |
+
.ecwid-features-inner {
|
265 |
+
margin: 0 auto;
|
266 |
+
max-width: 930px;
|
267 |
+
padding: 0 3%; }
|
268 |
+
|
269 |
+
.ecwid-features-top {
|
270 |
+
margin-bottom: 70px; }
|
271 |
+
@media (max-width: 767px) {
|
272 |
+
.ecwid-features-top {
|
273 |
+
margin-bottom: 0; } }
|
274 |
+
.ecwid-features-top:after {
|
275 |
+
content: "";
|
276 |
+
display: table;
|
277 |
+
clear: both; }
|
278 |
+
.ecwid-features-top .ecwid-features-top-item {
|
279 |
+
width: 50%;
|
280 |
+
float: left;
|
281 |
+
text-align: center; }
|
282 |
+
@media (max-width: 767px) {
|
283 |
+
.ecwid-features-top .ecwid-features-top-item {
|
284 |
+
padding: 0 2%;
|
285 |
+
width: 100%;
|
286 |
+
max-width: 320px;
|
287 |
+
margin: 0 auto 35px;
|
288 |
+
float: none; } }
|
289 |
+
.ecwid-features-top .ecwid-features-top-item .ecwid-features-top-item-image {
|
290 |
+
height: 82px; }
|
291 |
+
@media (max-width: 767px) {
|
292 |
+
.ecwid-features-top .ecwid-features-top-item .ecwid-features-top-item-image {
|
293 |
+
height: 75px; } }
|
294 |
+
.ecwid-features-top .ecwid-features-top-item img {
|
295 |
+
height: 61px;
|
296 |
+
margin-bottom: 36px; }
|
297 |
+
@media (max-width: 767px) {
|
298 |
+
.ecwid-features-top .ecwid-features-top-item img {
|
299 |
+
margin-bottom: 20px; } }
|
300 |
+
.ecwid-features-top .ecwid-features-top-item img.gift {
|
301 |
+
height: 80px;
|
302 |
+
margin-top: -10px; }
|
303 |
+
.ecwid-features-top .ecwid-features-top-item h3 {
|
304 |
+
font-size: 21px;
|
305 |
+
font-weight: 600;
|
306 |
+
margin-bottom: 15px; }
|
307 |
+
@media (max-width: 767px) {
|
308 |
+
.ecwid-features-top .ecwid-features-top-item h3 {
|
309 |
+
font-size: 18px;
|
310 |
+
margin-bottom: 6px; } }
|
311 |
+
.ecwid-features-top .ecwid-features-top-item p {
|
312 |
+
font-size: 14px;
|
313 |
+
line-height: 1.45; }
|
314 |
+
@media (max-width: 767px) {
|
315 |
+
.ecwid-features-top .ecwid-features-top-item p {
|
316 |
+
font-size: 13px; } }
|
317 |
+
|
318 |
+
.ecwid-features-bottom:after {
|
319 |
+
content: "";
|
320 |
+
display: table;
|
321 |
+
clear: both; }
|
322 |
+
.ecwid-features-bottom .ecwid-features-bottom-item {
|
323 |
+
width: 33.33333%;
|
324 |
+
float: left;
|
325 |
+
text-align: center; }
|
326 |
+
@media (max-width: 767px) {
|
327 |
+
.ecwid-features-bottom .ecwid-features-bottom-item {
|
328 |
+
float: none;
|
329 |
+
width: 100%;
|
330 |
+
max-width: 270px;
|
331 |
+
margin: 0 auto 35px; } }
|
332 |
+
.ecwid-features-bottom .ecwid-features-bottom-item .ecwid-features-bottom-item-image {
|
333 |
+
height: 82px; }
|
334 |
+
@media (max-width: 767px) {
|
335 |
+
.ecwid-features-bottom .ecwid-features-bottom-item .ecwid-features-bottom-item-image {
|
336 |
+
height: 75px; } }
|
337 |
+
.ecwid-features-bottom .ecwid-features-bottom-item img {
|
338 |
+
height: 63px;
|
339 |
+
margin-bottom: 17px; }
|
340 |
+
.ecwid-features-bottom .ecwid-features-bottom-item img.secure {
|
341 |
+
height: 67px; }
|
342 |
+
@media (min-width: 768px) {
|
343 |
+
.ecwid-features-bottom .ecwid-features-bottom-item img.secure {
|
344 |
+
margin-top: -8px; } }
|
345 |
+
.ecwid-features-bottom .ecwid-features-bottom-item h3 {
|
346 |
+
font-size: 18px;
|
347 |
+
font-weight: 600;
|
348 |
+
margin-bottom: 6px; }
|
349 |
+
.ecwid-features-bottom .ecwid-features-bottom-item p {
|
350 |
+
font-size: 14px;
|
351 |
+
line-height: 1.45; }
|
352 |
+
@media (max-width: 767px) {
|
353 |
+
.ecwid-features-bottom .ecwid-features-bottom-item p {
|
354 |
+
font-size: 13px; }
|
355 |
+
.ecwid-features-bottom .ecwid-features-bottom-item p br {
|
356 |
+
display: none; } }
|
357 |
+
|
358 |
+
.ecwid-start {
|
359 |
+
text-align: center;
|
360 |
+
padding: 64px 0 194px; }
|
361 |
+
@media (max-width: 767px) {
|
362 |
+
.ecwid-start {
|
363 |
+
padding: 44px 0 64px; }
|
364 |
+
.ecwid-start .ecwid-button .button {
|
365 |
+
margin-bottom: 29px; } }
|
366 |
+
.ecwid-start:after {
|
367 |
+
content: "";
|
368 |
+
display: table;
|
369 |
+
clear: both; }
|
370 |
+
.ecwid-start h2 {
|
371 |
+
font-size: 28px;
|
372 |
+
line-height: 1.4;
|
373 |
+
margin-bottom: 32px; }
|
374 |
+
@media (max-width: 767px) {
|
375 |
+
.ecwid-start h2 {
|
376 |
+
font-size: 22px;
|
377 |
+
padding: 0 2%;
|
378 |
+
margin-bottom: 1px; } }
|
379 |
+
|
380 |
+
.ecwid-button {
|
381 |
+
text-align: center; }
|
382 |
+
.ecwid-button a,
|
383 |
+
.ecwid-button button {
|
384 |
+
background-image: none; }
|
385 |
+
.ecwid-button .button {
|
386 |
+
border-radius: 4px;
|
387 |
+
border: 0;
|
388 |
+
font-size: 20px;
|
389 |
+
color: #ffffff;
|
390 |
+
line-height: 2.6;
|
391 |
+
letter-spacing: 0.01em;
|
392 |
+
padding: 0.12em 1.5em;
|
393 |
+
margin-bottom: 46px;
|
394 |
+
outline: none;
|
395 |
+
cursor: pointer; }
|
396 |
+
@media (max-width: 767px) {
|
397 |
+
.ecwid-button .button {
|
398 |
+
font-size: 18px;
|
399 |
+
margin-top: 25px;
|
400 |
+
margin-bottom: 14px;
|
401 |
+
padding: 0.12em 1em; } }
|
402 |
+
@media (max-width: 500px) {
|
403 |
+
.ecwid-button .button {
|
404 |
+
font-size: 16px; } }
|
405 |
+
.ecwid-button .button:hover {
|
406 |
+
opacity: 0.8; }
|
407 |
+
.ecwid-button .button.button--blue {
|
408 |
+
background-color: #189DEE; }
|
409 |
+
.ecwid-button .button.button--green {
|
410 |
+
background-color: #59BB00; }
|
411 |
+
.ecwid-button .button-description-mobile {
|
412 |
+
font-size: 12px;
|
413 |
+
line-height: 1.5;
|
414 |
+
margin-bottom: 38px;
|
415 |
+
color: #999; }
|
416 |
+
.ecwid-button .button-description-mobile h3 {
|
417 |
+
font-size: 18px;
|
418 |
+
color: #363636;
|
419 |
+
font-weight: 600;
|
420 |
+
margin-bottom: -70px; }
|
421 |
+
@media (min-width: 768px) {
|
422 |
+
.ecwid-button .button-description-mobile {
|
423 |
+
display: none; } }
|
424 |
+
.ecwid-button .ecwid-button-description {
|
425 |
+
font-size: 14px; }
|
426 |
+
.ecwid-button .ecwid-button-description a {
|
427 |
+
display: block;
|
428 |
+
font-size: 20px;
|
429 |
+
color: #288FB5;
|
430 |
+
margin-top: 12px;
|
431 |
+
text-decoration: none; }
|
432 |
+
.ecwid-button .ecwid-button-description a:hover {
|
433 |
+
opacity: 0.8; }
|
434 |
+
@media (max-width: 767px) {
|
435 |
+
.ecwid-button .ecwid-button-description a {
|
436 |
+
margin-bottom: 10px;
|
437 |
+
font-size: 18px; } }
|
438 |
+
|
439 |
+
|
440 |
+
/*
|
441 |
+
* Adapt landing to wordpress actual environment
|
442 |
+
*/
|
443 |
+
.ecwid-button .button {
|
444 |
+
height: auto;
|
445 |
+
}
|
446 |
+
|
447 |
+
#wpcontent {
|
448 |
+
background: white;
|
449 |
+
padding-left: 0px;
|
450 |
+
}
|
451 |
+
ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu>li.current>a.current:after
|
452 |
+
{
|
453 |
+
border-right-color:white;
|
454 |
+
}
|
455 |
+
|
456 |
+
.ecwid-landing.register .on-connect {
|
457 |
+
display: none;
|
458 |
+
}
|
459 |
+
|
460 |
+
|
461 |
+
.ecwid-landing.connect .on-register {
|
462 |
+
display: none;
|
463 |
+
}
|
464 |
+
|
465 |
+
.ecwid-landing .on-error {
|
466 |
+
display: none;
|
467 |
+
}
|
468 |
+
|
469 |
+
.ecwid-landing.conn-error .on-error {
|
470 |
+
display: inherit;
|
471 |
+
}
|
472 |
+
|
473 |
+
.ecwid-landing.conn-error .on-no-error {
|
474 |
+
display: none;
|
475 |
+
}
|
476 |
+
|
477 |
+
.ecwid-button .ecwid-connection-error {
|
478 |
+
color: red;
|
479 |
+
}
|
480 |
+
|
481 |
+
@media (min-width: 768px) {
|
482 |
+
.ecwid-button .ecwid-connection-error {
|
483 |
+
position: relative;
|
484 |
+
top: -30px;
|
485 |
+
margin-bottom: 8px;
|
486 |
+
}
|
487 |
+
}
|
488 |
+
|
489 |
+
.ecwid-landing a:focus {
|
490 |
+
outline: 0px none;
|
491 |
+
box-shadow: none;
|
492 |
+
}
|
493 |
+
|
494 |
+
.ecwid-landing .button:hover {
|
495 |
+
color: white;
|
496 |
+
}
|
css/settings.css
CHANGED
@@ -327,7 +327,6 @@ display: none;
|
|
327 |
.ecwid-admin .box {
|
328 |
position: relative;
|
329 |
margin-top: 25px;
|
330 |
-
padding: 0 15px;
|
331 |
|
332 |
border: 1px solid #E5E5E5;
|
333 |
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
@@ -359,7 +358,7 @@ display: none;
|
|
359 |
}
|
360 |
|
361 |
.ecwid-admin .head {
|
362 |
-
border-bottom: 1px solid #
|
363 |
height: 70px;
|
364 |
}
|
365 |
|
@@ -401,11 +400,12 @@ display: none;
|
|
401 |
|
402 |
|
403 |
.ecwid-connect.ecwid-reconnect .box .greeting-message {
|
404 |
-
margin-bottom:
|
405 |
}
|
406 |
|
407 |
.ecwid-connect .box .connect-button {
|
408 |
margin-top: 8px;
|
|
|
409 |
}
|
410 |
.ecwid-connect .where-to-find-store-id {
|
411 |
margin-top: 25px;
|
@@ -437,7 +437,6 @@ display: none;
|
|
437 |
padding: 14px 40px;
|
438 |
border: 0px none;
|
439 |
border-radius: 4px;
|
440 |
-
width: 180px;
|
441 |
|
442 |
background: #59bb00;
|
443 |
color: white;
|
@@ -447,6 +446,8 @@ display: none;
|
|
447 |
|
448 |
transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear;
|
449 |
display: inline-block;
|
|
|
|
|
450 |
}
|
451 |
|
452 |
.ecwid-connect .box .connect-button a:hover {
|
@@ -742,8 +743,4 @@ display: none;
|
|
742 |
top: 46px;
|
743 |
bottom: 0px;
|
744 |
}
|
745 |
-
}
|
746 |
-
|
747 |
-
.ecwid-admin-footer {
|
748 |
-
padding: 0 20px;
|
749 |
-
}
|
327 |
.ecwid-admin .box {
|
328 |
position: relative;
|
329 |
margin-top: 25px;
|
|
|
330 |
|
331 |
border: 1px solid #E5E5E5;
|
332 |
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
358 |
}
|
359 |
|
360 |
.ecwid-admin .head {
|
361 |
+
border-bottom: 1px solid #E5E5E5;
|
362 |
height: 70px;
|
363 |
}
|
364 |
|
400 |
|
401 |
|
402 |
.ecwid-connect.ecwid-reconnect .box .greeting-message {
|
403 |
+
margin-bottom: 15px;
|
404 |
}
|
405 |
|
406 |
.ecwid-connect .box .connect-button {
|
407 |
margin-top: 8px;
|
408 |
+
margin-bottom: 15px;
|
409 |
}
|
410 |
.ecwid-connect .where-to-find-store-id {
|
411 |
margin-top: 25px;
|
437 |
padding: 14px 40px;
|
438 |
border: 0px none;
|
439 |
border-radius: 4px;
|
|
|
440 |
|
441 |
background: #59bb00;
|
442 |
color: white;
|
446 |
|
447 |
transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear;
|
448 |
display: inline-block;
|
449 |
+
|
450 |
+
white-space: nowrap;
|
451 |
}
|
452 |
|
453 |
.ecwid-connect .box .connect-button a:hover {
|
743 |
top: 46px;
|
744 |
bottom: 0px;
|
745 |
}
|
746 |
+
}
|
|
|
|
|
|
|
|
css/themes/accesspress-mag.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
html#ecwid_html body#ecwid_body .ecwid .ecwid-btn--secondary,
|
2 |
+
html#ecwid_html body#ecwid_body .ecwid-SearchPanel-button {
|
3 |
+
color: #333 !important;
|
4 |
+
}
|
5 |
+
html#ecwid_html body#ecwid_body .ecwid .ecwid-btn--secondary:hover {
|
6 |
+
color: #fff !important;
|
7 |
+
}
|
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: 4.1
|
9 |
Author URI: http://www.ecwid.com?source=wporg
|
10 |
*/
|
11 |
|
@@ -20,11 +20,15 @@ define ('ECWID_TRIMMED_DESCRIPTION_LENGTH', 160);
|
|
20 |
|
21 |
|
22 |
if ( ! defined( 'ECWID_PLUGIN_DIR' ) ) {
|
23 |
-
define( 'ECWID_PLUGIN_DIR', plugin_dir_path(
|
|
|
|
|
|
|
|
|
24 |
}
|
25 |
|
26 |
if ( ! defined( 'ECWID_PLUGIN_URL' ) ) {
|
27 |
-
define( 'ECWID_PLUGIN_URL', plugin_dir_url(
|
28 |
}
|
29 |
|
30 |
// 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
|
@@ -56,7 +60,8 @@ if ( is_admin() ){
|
|
56 |
add_action('wp_ajax_ecwid_hide_message', 'ecwid_ajax_hide_message');
|
57 |
add_action('wp_ajax_save-widget', 'ecwid_ajax_save_widget');
|
58 |
add_action('wp_ajax_ecwid_reset_categories_cache', 'ecwid_reset_categories_cache');
|
59 |
-
|
|
|
60 |
add_action('admin_head', 'ecwid_ie8_fonts_inclusion');
|
61 |
add_action('admin_head', 'ecwid_send_stats');
|
62 |
add_action('save_post', 'ecwid_save_post');
|
@@ -101,15 +106,16 @@ if (get_option('ecwid_last_oauth_fail_time') > 0) {
|
|
101 |
|
102 |
$ecwid_script_rendered = false; // controls single script.js on page
|
103 |
|
104 |
-
require_once ECWID_PLUGIN_DIR . '
|
105 |
-
require_once ECWID_PLUGIN_DIR . '
|
106 |
-
require_once ECWID_PLUGIN_DIR . '
|
107 |
-
require_once ECWID_PLUGIN_DIR . '
|
108 |
-
require_once ECWID_PLUGIN_DIR . '
|
109 |
-
require_once ECWID_PLUGIN_DIR . '
|
|
|
110 |
|
111 |
-
require_once ECWID_PLUGIN_DIR . '
|
112 |
-
require_once ECWID_PLUGIN_DIR . '
|
113 |
|
114 |
|
115 |
function ecwid_init_integrations()
|
@@ -123,7 +129,7 @@ function ecwid_init_integrations()
|
|
123 |
|
124 |
foreach ($integrations as $key => $plugin) {
|
125 |
if ( is_plugin_active($plugin) ) {
|
126 |
-
require_once ECWID_PLUGIN_DIR . '
|
127 |
}
|
128 |
}
|
129 |
}
|
@@ -206,7 +212,7 @@ function ecwid_ie8_fonts_inclusion()
|
|
206 |
{
|
207 |
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') === false) return;
|
208 |
|
209 |
-
$url = ECWID_PLUGIN_URL . '
|
210 |
echo <<<HTML
|
211 |
<style>
|
212 |
@font-face {
|
@@ -225,13 +231,13 @@ add_action('wp_ajax_nopriv_ecwid_get_product_info', 'ecwid_ajax_get_product_info
|
|
225 |
function ecwid_enqueue_frontend() {
|
226 |
|
227 |
wp_enqueue_script('jquery-ui-widget');
|
228 |
-
wp_register_script('ecwid-products-list-js',
|
229 |
-
wp_register_style('ecwid-products-list-css',
|
230 |
-
wp_enqueue_style('ecwid-css',
|
231 |
-
wp_enqueue_style('ecwid-fonts-css',
|
232 |
|
233 |
if (function_exists('wp_get_document_title')) {
|
234 |
-
wp_enqueue_script( 'ecwid-frontend-js',
|
235 |
|
236 |
global $ecwid_seo_title_mode;
|
237 |
|
@@ -275,7 +281,7 @@ function ecwid_enqueue_frontend() {
|
|
275 |
}
|
276 |
|
277 |
if (is_active_widget(false, false, 'ecwidrecentlyviewed')) {
|
278 |
-
wp_enqueue_script('ecwid-recently-viewed',
|
279 |
|
280 |
wp_localize_script(
|
281 |
'ecwid-products-list-js',
|
@@ -359,7 +365,7 @@ function ecwid_build_sitemap($callback)
|
|
359 |
$page_id = ecwid_get_current_store_page_id();
|
360 |
|
361 |
if (get_post_status($page_id) == 'publish') {
|
362 |
-
require_once ECWID_PLUGIN_DIR . '
|
363 |
|
364 |
$sitemap = new EcwidSitemapBuilder(ecwid_get_store_page_url(), $callback, ecwid_new_product_api());
|
365 |
|
@@ -621,60 +627,48 @@ TEXT;
|
|
621 |
$body = __($body, 'ecwid-shopping-cart');
|
622 |
$body = sprintf($body, $theme, $store_url);
|
623 |
|
|
|
|
|
|
|
|
|
|
|
|
|
624 |
$wp_admin_bar->add_menu(array(
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
'meta' => array(
|
630 |
-
'target' => '_blank'
|
631 |
)
|
632 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
633 |
|
634 |
-
$wp_admin_bar->add_menu( array(
|
635 |
-
'id' => 'ecwid-main',
|
636 |
-
'title' => '<span class="ab-icon ecwid-top-menu-item"></span>',
|
637 |
-
'href' => 'admin.php?page=ecwid',
|
638 |
-
));
|
639 |
$wp_admin_bar->add_menu(array(
|
640 |
"id" => "ecwid-help",
|
641 |
-
"title" => __("
|
642 |
"parent" => "ecwid-main",
|
643 |
-
'href' => __('https://help.ecwid.com', 'ecwid-shopping-cart'),
|
644 |
'meta' => array(
|
645 |
'target' => '_blank'
|
646 |
)
|
647 |
)
|
648 |
);
|
649 |
-
$wp_admin_bar->add_menu(array(
|
650 |
-
"id" => "ecwid-home",
|
651 |
-
"title" => __("Go to Ecwid site", 'ecwid-shopping-cart'),
|
652 |
-
"parent" => "ecwid-main",
|
653 |
-
'href' => 'http://www.ecwid.com?source=wporg'
|
654 |
-
)
|
655 |
-
);
|
656 |
-
$wp_admin_bar->add_menu(array(
|
657 |
-
"id" => "ecwid-go-to-page",
|
658 |
-
"title" => __("Visit storefront", 'ecwid-shopping-cart'),
|
659 |
-
"parent" => "ecwid-main",
|
660 |
-
'href' => ecwid_get_store_page_url()
|
661 |
-
)
|
662 |
-
);
|
663 |
-
$wp_admin_bar->add_menu(array(
|
664 |
-
"id" => "ecwid-control-panel",
|
665 |
-
"title" => __("Manage my store", 'ecwid-shopping-cart'),
|
666 |
-
"parent" => "ecwid-main",
|
667 |
-
'href' => admin_url('admin.php?page=ecwid')
|
668 |
-
)
|
669 |
-
);
|
670 |
-
$wp_admin_bar->add_menu(array(
|
671 |
-
"id" => "ecwid-fb-app",
|
672 |
-
"title" => __("→ Sell on Facebook", 'ecwid-shopping-cart'),
|
673 |
-
"parent" => "ecwid-main",
|
674 |
-
'href' => 'http://apps.facebook.com/ecwid-shop/?fb_source=wp'
|
675 |
-
)
|
676 |
-
);
|
677 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
678 |
}
|
679 |
|
680 |
function ecwid_content_has_productbrowser($content) {
|
@@ -891,6 +885,7 @@ function ecwid_seo_title_parts($parts)
|
|
891 |
function ecwid_ajax_seo_title()
|
892 |
{
|
893 |
$title = _ecwid_get_seo_title();
|
|
|
894 |
$template = $_GET['title_template'];
|
895 |
|
896 |
$result = str_replace('ECWID_SEO_TITLE', $title, $template);
|
@@ -977,10 +972,10 @@ function ecwid_content_started($content)
|
|
977 |
|
978 |
function ecwid_wrap_shortcode_content($content, $name, $attrs)
|
979 |
{
|
980 |
-
return "<!-- Ecwid shopping cart plugin v 4.1 --><!-- noptimize -->"
|
981 |
. ecwid_get_scriptjs_code(@$attrs['lang'])
|
982 |
. "<div class=\"ecwid-shopping-cart-$name\">$content</div>"
|
983 |
-
. "<!-- /noptimize --><!-- END Ecwid Shopping Cart v 4.1 -->";
|
984 |
}
|
985 |
|
986 |
function ecwid_get_scriptjs_code($force_lang = null) {
|
@@ -1232,6 +1227,10 @@ function ecwid_shortcode($attributes)
|
|
1232 |
|
1233 |
function ecwid_productbrowser_shortcode($shortcode_params) {
|
1234 |
|
|
|
|
|
|
|
|
|
1235 |
$atts = shortcode_atts(
|
1236 |
array(
|
1237 |
'categories_per_row' => false,
|
@@ -1301,8 +1300,8 @@ function ecwid_productbrowser_shortcode($shortcode_params) {
|
|
1301 |
|
1302 |
if (ecwid_can_display_html_catalog()) {
|
1303 |
$params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
|
1304 |
-
include_once
|
1305 |
-
include_once
|
1306 |
|
1307 |
$page_url = get_page_link();
|
1308 |
|
@@ -1383,6 +1382,10 @@ function ecwid_override_jsexclude($exclude)
|
|
1383 |
}
|
1384 |
|
1385 |
function ecwid_store_activate() {
|
|
|
|
|
|
|
|
|
1386 |
$my_post = array();
|
1387 |
$content = <<<EOT
|
1388 |
[ecwid widgets="productbrowser minicart categories search" grid="3,3" list="10" table="20" default_category_id="0" category_view="grid" search_view="grid" minicart_layout="MiniAttachToProductBrowser" ]
|
@@ -1760,43 +1763,45 @@ function ecwid_admin_orders_do_page() {
|
|
1760 |
|
1761 |
function ecwid_register_admin_styles($hook_suffix) {
|
1762 |
|
1763 |
-
|
1764 |
-
|
1765 |
|
1766 |
-
wp_enqueue_style('ecwid-admin-css', plugins_url('ecwid-shopping-cart/css/admin.css'), array(), get_option('ecwid_plugin_version'));
|
1767 |
-
wp_enqueue_style('ecwid-fonts-css', plugins_url('ecwid-shopping-cart/css/fonts.css'), array(), get_option('ecwid_plugin_version'));
|
1768 |
|
1769 |
if (version_compare(get_bloginfo('version'), '3.8-beta') > 0) {
|
1770 |
-
wp_enqueue_style('ecwid-admin38-css',
|
1771 |
}
|
1772 |
|
1773 |
if (isset($_GET['page']) && $_GET['page'] == 'ecwid') {
|
1774 |
|
1775 |
if (get_option('ecwid_store_id') == ECWID_DEMO_STORE_ID) {
|
1776 |
// Open dashboard for the first time, ecwid store id is set to demo => need landing styles/scripts
|
1777 |
-
wp_enqueue_script('ecwid-landing-js',
|
1778 |
wp_localize_script('ecwid-landing-js', 'ecwidParams', array(
|
1779 |
'register_link' => ecwid_get_register_link()
|
1780 |
));
|
1781 |
-
|
|
|
|
|
|
|
|
|
1782 |
wp_enqueue_style('ecwid-landing-fonts', 'http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300', array(), get_option('ecwid_plugin_version'));
|
1783 |
} else {
|
1784 |
// We already connected and disconnected the store, no need for fancy landing
|
1785 |
-
wp_enqueue_script('ecwid-connect-js',
|
1786 |
}
|
1787 |
}
|
1788 |
|
1789 |
-
wp_enqueue_style('ecwid-nav-menu',
|
1790 |
}
|
1791 |
|
1792 |
function ecwid_register_settings_styles($hook_suffix) {
|
1793 |
|
1794 |
if ( ($hook_suffix != 'post.php' && $hook_suffix != 'post-new.php') && strpos($hook_suffix, 'ecwid') === false) return;
|
1795 |
|
1796 |
-
wp_enqueue_style('ecwid-settings-css',
|
1797 |
|
1798 |
if (version_compare(get_bloginfo('version'), '3.8-beta') > 0) {
|
1799 |
-
wp_enqueue_style('ecwid-settings38-css',
|
1800 |
}}
|
1801 |
|
1802 |
function ecwid_plugin_actions($links) {
|
@@ -1860,8 +1865,8 @@ function ecwid_settings_api_init() {
|
|
1860 |
|
1861 |
function ecwid_common_admin_scripts() {
|
1862 |
|
1863 |
-
wp_enqueue_script('ecwid-admin-js',
|
1864 |
-
wp_enqueue_script('ecwid-modernizr-js',
|
1865 |
|
1866 |
if (function_exists('get_current_screen') ) {
|
1867 |
$screen = get_current_screen();
|
@@ -1870,18 +1875,20 @@ function ecwid_common_admin_scripts() {
|
|
1870 |
EcwidPlatform::set('nav-menus-opened-once', null);
|
1871 |
|
1872 |
$first_run = false;
|
|
|
1873 |
if (EcwidPlatform::get('nav-menus-opened-once', false) < 2) {
|
1874 |
EcwidPlatform::set('nav-menus-opened-once', EcwidPlatform::get('nav-menus-opened-once') + 1);
|
1875 |
$first_run = EcwidPlatform::get('nav-menus-opened-once') <= 2;
|
1876 |
}
|
1877 |
|
1878 |
-
wp_enqueue_script('ecwid-admin-menu-js',
|
1879 |
wp_localize_script('ecwid-admin-menu-js', 'ecwid_params', array(
|
1880 |
'store_page' => __('Store Page', 'ecwid-shopping-cart'),
|
1881 |
'reset_cats_cache' => __('Refresh categories list', 'ecwid-shopping-cart'),
|
1882 |
'cache_updated' => __('Done', 'ecwid-shopping-cart'),
|
1883 |
'reset_cache_message' => __('The store top-level categories are automatically added to this drop-down menu', 'ecwid-shopping-cart'),
|
1884 |
-
'first_run' => $first_run
|
|
|
1885 |
));
|
1886 |
}
|
1887 |
|
@@ -1928,6 +1935,25 @@ function ecwid_get_register_link()
|
|
1928 |
return $link;
|
1929 |
}
|
1930 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1931 |
function ecwid_general_settings_do_page() {
|
1932 |
|
1933 |
$store_id = get_option( 'ecwid_store_id' );
|
@@ -1937,19 +1963,28 @@ function ecwid_general_settings_do_page() {
|
|
1937 |
if ( $store_id == ECWID_DEMO_STORE_ID ) {
|
1938 |
$no_oauth = @$_GET['oauth'] == 'no';
|
1939 |
if ( isset( $connection_error ) && $no_oauth ) {
|
1940 |
-
require_once ECWID_PLUGIN_DIR . '
|
1941 |
} else {
|
1942 |
$register = ! $connection_error && ! isset( $_GET['connect'] ) && ! @$_COOKIE['ecwid_create_store_clicked'];
|
1943 |
|
1944 |
-
|
1945 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1946 |
}
|
1947 |
} else {
|
1948 |
global $ecwid_oauth;
|
1949 |
|
1950 |
if ( !$ecwid_oauth->has_scope( 'allow_sso' ) && !isset($_GET['reconnect']) ) {
|
1951 |
if ( ecwid_test_oauth(true) ) {
|
1952 |
-
require_once ECWID_PLUGIN_DIR . '
|
1953 |
} else {
|
1954 |
require_once ECWID_PLUGIN_DIR . 'templates/dashboard.php';
|
1955 |
}
|
@@ -1965,9 +2000,9 @@ function ecwid_general_settings_do_page() {
|
|
1965 |
|
1966 |
$connection_error = isset($_GET['connection_error']);
|
1967 |
|
1968 |
-
require_once ECWID_PLUGIN_DIR . '
|
1969 |
} else {
|
1970 |
-
$time = time();
|
1971 |
$page = 'dashboard';
|
1972 |
$iframe_src = sprintf(
|
1973 |
'https://my.ecwid.com/api/v3/%s/sso?token=%s×tamp=%s&signature=%s&place=%s&inline&lang=%s',
|
@@ -1981,10 +2016,35 @@ function ecwid_general_settings_do_page() {
|
|
1981 |
|
1982 |
$result = EcwidPlatform::fetch_url( $iframe_src );
|
1983 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1984 |
if ( is_array( $result ) && $result['code'] == 200 ) {
|
1985 |
ecwid_admin_do_page( 'dashboard' );
|
1986 |
} else {
|
1987 |
-
require_once ECWID_PLUGIN_DIR . '
|
1988 |
}
|
1989 |
}
|
1990 |
}
|
@@ -1997,9 +2057,12 @@ function ecwid_admin_do_page( $page ) {
|
|
1997 |
|
1998 |
if ($page == 'dashboard') {
|
1999 |
$show_reconnect = true;
|
|
|
|
|
|
|
2000 |
}
|
2001 |
|
2002 |
-
$time = time();
|
2003 |
|
2004 |
$iframe_src = sprintf(
|
2005 |
'https://my.ecwid.com/api/v3/%s/sso?token=%s×tamp=%s&signature=%s&place=%s&inline&lang=%s',
|
@@ -2020,49 +2083,7 @@ function ecwid_admin_do_page( $page ) {
|
|
2020 |
require_once ECWID_PLUGIN_DIR . 'templates/dashboard.php';
|
2021 |
}
|
2022 |
} else {
|
2023 |
-
require_once ECWID_PLUGIN_DIR . '
|
2024 |
-
}
|
2025 |
-
}
|
2026 |
-
|
2027 |
-
function _ecwid_general_settings_do_page() {
|
2028 |
-
|
2029 |
-
$connection_error = isset( $_GET['connection_error'] );
|
2030 |
-
|
2031 |
-
$no_oauth = isset( $_GET['oauth'] ) && @$_GET['oauth'] == 'no';
|
2032 |
-
|
2033 |
-
if ( ! $no_oauth ) {
|
2034 |
-
$no_oauth = !ecwid_test_oauth();
|
2035 |
-
}
|
2036 |
-
|
2037 |
-
global $ecwid_oauth;
|
2038 |
-
|
2039 |
-
if ( get_option( 'ecwid_store_id' ) != ECWID_DEMO_STORE_ID && ! $ecwid_oauth->has_scope( 'allow_sso' ) && !isset($_GET['connection_error']) && !$no_oauth ) {
|
2040 |
-
require_once ECWID_PLUGIN_DIR . '/templates/reconnect-sso.php';
|
2041 |
-
|
2042 |
-
} else if (get_option('ecwid_store_id') == ECWID_DEMO_STORE_ID && !$no_oauth) {
|
2043 |
-
|
2044 |
-
$register = !$connection_error && !isset($_GET['connect']) && !@$_COOKIE['ecwid_create_store_clicked'];
|
2045 |
-
|
2046 |
-
require_once(ECWID_PLUGIN_DIR . '/templates/landing.php');
|
2047 |
-
} else if (isset($_GET['reconnect'])) {
|
2048 |
-
if (isset($_GET['reason'])) switch ($_GET['reason']) {
|
2049 |
-
case '1': $reconnect_message = "Message 1"; break;
|
2050 |
-
case '2': $reconnect_message = "Message 2"; break;
|
2051 |
-
}
|
2052 |
-
|
2053 |
-
$scopes = '';
|
2054 |
-
|
2055 |
-
$connection_error = isset($_GET['connection_error']);
|
2056 |
-
|
2057 |
-
require_once ECWID_PLUGIN_DIR . '/templates/reconnect.php';
|
2058 |
-
} else if (get_ecwid_store_id() == ECWID_DEMO_STORE_ID && ( isset($_GET['connection_error']) || $no_oauth ) ) {
|
2059 |
-
|
2060 |
-
require_once ECWID_PLUGIN_DIR . '/templates/connect.php';
|
2061 |
-
} else if ( get_option( 'ecwid_last_oauth_fail_time' ) > 0 ) {
|
2062 |
-
require_once ECWID_PLUGIN_DIR . '/templates/dashboard.php';
|
2063 |
-
} else {
|
2064 |
-
|
2065 |
-
ecwid_admin_do_page( 'dashboard' );
|
2066 |
}
|
2067 |
}
|
2068 |
|
@@ -2147,59 +2168,37 @@ function ecwid_test_oauth($force = false)
|
|
2147 |
}
|
2148 |
|
2149 |
function ecwid_get_categories_for_selector() {
|
2150 |
-
$categories = false;
|
2151 |
-
if (ecwid_is_paid_account()) {
|
2152 |
-
$api = ecwid_new_product_api();
|
2153 |
-
$categories = $api->get_all_categories();
|
2154 |
-
$by_id = array();
|
2155 |
-
|
2156 |
-
if (empty($categories)) return array();
|
2157 |
|
2158 |
-
|
2159 |
-
|
2160 |
-
|
2161 |
-
}
|
2162 |
-
}
|
2163 |
-
unset($categories);
|
2164 |
-
|
2165 |
-
foreach ($by_id as $id => $category) {
|
2166 |
-
$name_path = array($category['name']);
|
2167 |
-
while (is_array($category) && isset($category['parentId'])) {
|
2168 |
-
$name = '';
|
2169 |
-
if (isset($by_id[$category['parentId']])) {
|
2170 |
-
$name = $by_id[$category['parentId']]['name'];
|
2171 |
-
} else {
|
2172 |
-
$name = __('Hidden category', 'ecwid-shopping-cart');
|
2173 |
-
}
|
2174 |
-
$name_path[] = $name;
|
2175 |
-
$category = isset($by_id[$category['parentId']]) ? $by_id[$category['parentId']] : false;
|
2176 |
-
}
|
2177 |
-
|
2178 |
-
$by_id[$id]['path'] = array_reverse($name_path);
|
2179 |
-
$by_id[$id]['path_str'] = implode(" > ", $by_id[$id]['path']);
|
2180 |
}
|
|
|
2181 |
|
2182 |
-
|
2183 |
-
|
|
|
|
|
|
|
2184 |
}
|
2185 |
|
2186 |
-
|
2187 |
-
|
2188 |
-
$categories = $by_id;
|
2189 |
}
|
2190 |
|
2191 |
-
|
|
|
|
|
2192 |
}
|
2193 |
|
2194 |
function ecwid_advanced_settings_do_page() {
|
2195 |
$categories = ecwid_get_categories_for_selector();
|
2196 |
|
2197 |
-
require_once ECWID_PLUGIN_DIR . '
|
2198 |
}
|
2199 |
|
2200 |
function ecwid_appearance_settings_do_page() {
|
2201 |
|
2202 |
-
wp_register_script('ecwid-appearance-js',
|
2203 |
wp_enqueue_script('ecwid-appearance-js');
|
2204 |
|
2205 |
$disabled = false;
|
@@ -2242,12 +2241,10 @@ function ecwid_get_debug_file() {
|
|
2242 |
}
|
2243 |
|
2244 |
function get_ecwid_store_id() {
|
2245 |
-
|
2246 |
-
|
2247 |
-
|
2248 |
-
|
2249 |
-
$store_id = ECWID_DEMO_STORE_ID;
|
2250 |
-
}
|
2251 |
|
2252 |
return $store_id;
|
2253 |
}
|
@@ -2367,519 +2364,6 @@ function ecwid_get_product_browser_url_script()
|
|
2367 |
|
2368 |
}
|
2369 |
|
2370 |
-
class EcwidBadgeWidget extends WP_Widget {
|
2371 |
-
|
2372 |
-
var $url_template = "https://dj925myfyz5v.cloudfront.net/badges/%s.png";
|
2373 |
-
var $available_badges;
|
2374 |
-
|
2375 |
-
function __construct() {
|
2376 |
-
$widget_ops = array('classname' => 'widget_ecwid_badge', 'description' => __("Do you like Ecwid and want to help it grow? You can add this fancy 'Powered by Ecwid' badge on your site to show your visitors that you're a proud user of Ecwid.", 'ecwid-shopping-cart') );
|
2377 |
-
parent::__construct('ecwidbadge', __('Ecwid Badge', 'ecwid-shopping-cart'), $widget_ops);
|
2378 |
-
|
2379 |
-
$this->available_badges = array(
|
2380 |
-
'ecwid-shopping-cart-widget-5' => array (
|
2381 |
-
'name' => 'ecwid-shopping-cart-widget-5',
|
2382 |
-
'width' => '73',
|
2383 |
-
'height' => '20',
|
2384 |
-
'alt' => __('Ecwid shopping cart widget', 'ecwid-shopping-cart')
|
2385 |
-
),
|
2386 |
-
'ecwid-shopping-cart-widget-6' => array (
|
2387 |
-
'name' => 'ecwid-shopping-cart-widget-6',
|
2388 |
-
'width' => '73',
|
2389 |
-
'height' => '20',
|
2390 |
-
'alt' => __('Ecwid shopping cart widget', 'ecwid-shopping-cart')
|
2391 |
-
),
|
2392 |
-
'ecwid-ecommerce-solution-2' => array (
|
2393 |
-
'name' => 'ecwid-ecommerce-solution-2',
|
2394 |
-
'width' => '165',
|
2395 |
-
'height' => '58',
|
2396 |
-
'alt' => __('Ecwid ecommerce solution', 'ecwid-shopping-cart')
|
2397 |
-
),
|
2398 |
-
'ecwid-free-shopping-cart-2' => array (
|
2399 |
-
'name' => 'ecwid-free-shopping-cart-2',
|
2400 |
-
'width' => '175',
|
2401 |
-
'height' => '58',
|
2402 |
-
'alt' => __('Ecwid free shopping cart', 'ecwid-shopping-cart')
|
2403 |
-
),
|
2404 |
-
'ecwid-shopping-cart-3' => array (
|
2405 |
-
'name' => 'ecwid-shopping-cart-3',
|
2406 |
-
'width' => '165',
|
2407 |
-
'height' => '56',
|
2408 |
-
'alt' => __('Ecwid shopping cart', 'ecwid-shopping-cart')
|
2409 |
-
),
|
2410 |
-
'ecwid-ecommerce-widgets-3' => array (
|
2411 |
-
'name' => 'ecwid-ecommerce-widgets-3',
|
2412 |
-
'width' => '165',
|
2413 |
-
'height' => '58',
|
2414 |
-
'alt' => __('Ecwid e-commerce widgets', 'ecwid-shopping-cart')
|
2415 |
-
),
|
2416 |
-
'ecwid-shopping-cart-3' => array (
|
2417 |
-
'name' => 'ecwid-shopping-cart-3',
|
2418 |
-
'width' => '165',
|
2419 |
-
'height' => '56',
|
2420 |
-
'alt' => __('Ecwid shopping cart', 'ecwid-shopping-cart')
|
2421 |
-
),
|
2422 |
-
'ecwid-ecommerce-widgets-3' => array (
|
2423 |
-
'name' => 'ecwid-ecommerce-widgets-3',
|
2424 |
-
'width' => '165',
|
2425 |
-
'height' => '58',
|
2426 |
-
'alt' => __('Ecwid e-commerce widgets', 'ecwid-shopping-cart')
|
2427 |
-
),
|
2428 |
-
'ecwid-ecommerce-solution-3' => array (
|
2429 |
-
'name' => 'ecwid-ecommerce-solution-3',
|
2430 |
-
'width' => '165',
|
2431 |
-
'height' => '58',
|
2432 |
-
'alt' => __('Ecwid ecommerce solution', 'ecwid-shopping-cart')
|
2433 |
-
),
|
2434 |
-
'ecwid-free-shopping-cart-3' => array (
|
2435 |
-
'name' => 'ecwid-free-shopping-cart-3',
|
2436 |
-
'width' => '175',
|
2437 |
-
'height' => '58',
|
2438 |
-
'alt' => __('Ecwid free shopping cart', 'ecwid-shopping-cart')
|
2439 |
-
)
|
2440 |
-
);
|
2441 |
-
}
|
2442 |
-
|
2443 |
-
function widget($args, $instance)
|
2444 |
-
{
|
2445 |
-
extract($args);
|
2446 |
-
|
2447 |
-
if (!isset($instance['badge_id']) || !array_key_exists($instance['badge_id'], $this->available_badges)) {
|
2448 |
-
return;
|
2449 |
-
}
|
2450 |
-
$badge = $this->available_badges[$instance['badge_id']];
|
2451 |
-
$url = sprintf($this->url_template, $badge['name']);
|
2452 |
-
|
2453 |
-
echo $before_widget;
|
2454 |
-
|
2455 |
-
echo <<<HTML
|
2456 |
-
<div>
|
2457 |
-
<a target="_blank" rel="nofollow" href="http://www.ecwid.com?source=wporg-badge">
|
2458 |
-
<img src="$url" width="$badge[width]" height="$badge[height]" alt="$badge[alt]" />
|
2459 |
-
</a>
|
2460 |
-
</div>
|
2461 |
-
HTML;
|
2462 |
-
|
2463 |
-
echo $after_widget;
|
2464 |
-
}
|
2465 |
-
|
2466 |
-
function update($new_instance, $old_instance){
|
2467 |
-
$instance = $old_instance;
|
2468 |
-
$instance['badge_id'] =
|
2469 |
-
array_key_exists($new_instance['badge_id'], $this->available_badges)
|
2470 |
-
? $new_instance['badge_id']
|
2471 |
-
: '';
|
2472 |
-
|
2473 |
-
return $instance;
|
2474 |
-
}
|
2475 |
-
|
2476 |
-
function form($instance) {
|
2477 |
-
$instance = wp_parse_args( (array) $instance, array('badge_id' => 'ecwid-shopping-cart-widget-5') );
|
2478 |
-
|
2479 |
-
foreach ($this->available_badges as $id => $widget) {
|
2480 |
-
$element_id = "badge-$id";
|
2481 |
-
$name = $this->get_field_name('badge_id');
|
2482 |
-
$checked = '';
|
2483 |
-
if (isset($instance['badge_id']) && $instance['badge_id'] == $id) {
|
2484 |
-
$checked = 'checked="checked"';
|
2485 |
-
}
|
2486 |
-
$url = sprintf($this->url_template, $id);
|
2487 |
-
$content = <<<HTML
|
2488 |
-
<label class="ecwid-badge">
|
2489 |
-
<div class="checkbox">
|
2490 |
-
<input name="$name" type="radio" value="$widget[name]"$checked/>
|
2491 |
-
</div>
|
2492 |
-
<div class="image">
|
2493 |
-
<img src="$url" width="$widget[width]" height="$widget[height]" alt="$widget[alt]" />
|
2494 |
-
</div>
|
2495 |
-
</label>
|
2496 |
-
HTML;
|
2497 |
-
echo $content;
|
2498 |
-
}
|
2499 |
-
}
|
2500 |
-
}
|
2501 |
-
|
2502 |
-
class EcwidMinicartWidget extends WP_Widget {
|
2503 |
-
|
2504 |
-
function __construct() {
|
2505 |
-
$widget_ops = array('classname' => 'widget_ecwid_minicart', 'description' => __("Adds a cart widget for customer to see the products they added to the cart.", 'ecwid-shopping-cart') );
|
2506 |
-
parent::__construct('ecwidminicart', __('Shopping Cart', 'ecwid-shopping-cart'), $widget_ops);
|
2507 |
-
|
2508 |
-
}
|
2509 |
-
|
2510 |
-
function widget($args, $instance) {
|
2511 |
-
extract($args);
|
2512 |
-
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
2513 |
-
|
2514 |
-
echo $before_widget;
|
2515 |
-
|
2516 |
-
if ( $title )
|
2517 |
-
echo $before_title . $title . $after_title;
|
2518 |
-
|
2519 |
-
echo '<div>';
|
2520 |
-
|
2521 |
-
echo '<!-- noptimize -->';
|
2522 |
-
echo ecwid_get_scriptjs_code();
|
2523 |
-
echo ecwid_get_product_browser_url_script();
|
2524 |
-
echo '<script data-cfasync="false" type="text/javascript"> xMinicart("style="); </script>';
|
2525 |
-
|
2526 |
-
echo '<!-- /noptimize -->';
|
2527 |
-
echo '</div>';
|
2528 |
-
|
2529 |
-
echo $after_widget;
|
2530 |
-
}
|
2531 |
-
|
2532 |
-
function update($new_instance, $old_instance){
|
2533 |
-
$instance = $old_instance;
|
2534 |
-
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
2535 |
-
|
2536 |
-
return $instance;
|
2537 |
-
}
|
2538 |
-
|
2539 |
-
function form($instance){
|
2540 |
-
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
2541 |
-
|
2542 |
-
$title = htmlspecialchars($instance['title']);
|
2543 |
-
|
2544 |
-
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
2545 |
-
}
|
2546 |
-
|
2547 |
-
}
|
2548 |
-
|
2549 |
-
class EcwidMinicartMiniViewWidget extends WP_Widget {
|
2550 |
-
|
2551 |
-
function __construct() {
|
2552 |
-
$widget_ops = array('classname' => 'widget_ecwid_minicart_miniview', 'description' => __("Adds a compact cart widget for customer to see the products they added to the cart.", 'ecwid-shopping-cart') );
|
2553 |
-
parent::__construct('ecwidminicart_miniview', __('Shopping Cart (Mini)', 'ecwid-shopping-cart'), $widget_ops);
|
2554 |
-
}
|
2555 |
-
|
2556 |
-
function widget($args, $instance) {
|
2557 |
-
extract($args);
|
2558 |
-
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
2559 |
-
|
2560 |
-
echo $before_widget;
|
2561 |
-
|
2562 |
-
if ( $title )
|
2563 |
-
echo $before_title . $title . $after_title;
|
2564 |
-
|
2565 |
-
|
2566 |
-
echo '<div>';
|
2567 |
-
echo '<!-- noptimize -->';
|
2568 |
-
|
2569 |
-
echo ecwid_get_scriptjs_code();
|
2570 |
-
echo ecwid_get_product_browser_url_script();
|
2571 |
-
echo '<script data-cfasync="false" type="text/javascript"> xMinicart("style=left:10px","layout=Mini"); </script>';
|
2572 |
-
|
2573 |
-
echo '<!-- /noptimize -->';
|
2574 |
-
echo '</div>';
|
2575 |
-
|
2576 |
-
echo $after_widget;
|
2577 |
-
}
|
2578 |
-
|
2579 |
-
function update($new_instance, $old_instance){
|
2580 |
-
$instance = $old_instance;
|
2581 |
-
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
2582 |
-
|
2583 |
-
return $instance;
|
2584 |
-
}
|
2585 |
-
|
2586 |
-
function form($instance){
|
2587 |
-
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
2588 |
-
|
2589 |
-
$title = htmlspecialchars($instance['title']);
|
2590 |
-
|
2591 |
-
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
2592 |
-
}
|
2593 |
-
|
2594 |
-
}
|
2595 |
-
|
2596 |
-
|
2597 |
-
class EcwidSearchWidget extends WP_Widget {
|
2598 |
-
|
2599 |
-
function __construct() {
|
2600 |
-
$widget_ops = array('classname' => 'widget_ecwid_search', 'description' => __("Displays a simple search box for your customers to find a product in your storex", 'ecwid-shopping-cart'));
|
2601 |
-
parent::__construct('ecwidsearch', __('Product Search', 'ecwid-shopping-cart'), $widget_ops);
|
2602 |
-
}
|
2603 |
-
|
2604 |
-
function widget($args, $instance) {
|
2605 |
-
extract($args);
|
2606 |
-
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
2607 |
-
|
2608 |
-
echo $before_widget;
|
2609 |
-
|
2610 |
-
if ( $title )
|
2611 |
-
echo $before_title . $title . $after_title;
|
2612 |
-
|
2613 |
-
echo '<div>';
|
2614 |
-
echo '<!-- noptimize -->';
|
2615 |
-
|
2616 |
-
echo ecwid_get_scriptjs_code();
|
2617 |
-
echo ecwid_get_product_browser_url_script();
|
2618 |
-
echo '<script data-cfasync="false" type="text/javascript"> xSearchPanel("style="); </script>';
|
2619 |
-
|
2620 |
-
echo '<!-- /noptimize -->';
|
2621 |
-
echo '</div>';
|
2622 |
-
|
2623 |
-
echo $after_widget;
|
2624 |
-
}
|
2625 |
-
|
2626 |
-
function update($new_instance, $old_instance){
|
2627 |
-
$instance = $old_instance;
|
2628 |
-
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
2629 |
-
|
2630 |
-
return $instance;
|
2631 |
-
}
|
2632 |
-
|
2633 |
-
function form($instance){
|
2634 |
-
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
2635 |
-
|
2636 |
-
$title = htmlspecialchars($instance['title']);
|
2637 |
-
|
2638 |
-
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
2639 |
-
}
|
2640 |
-
|
2641 |
-
}
|
2642 |
-
|
2643 |
-
class EcwidVCategoriesWidget extends WP_Widget {
|
2644 |
-
|
2645 |
-
function __construct() {
|
2646 |
-
$widget_ops = array('classname' => 'widget_ecwid_vcategories', 'description' => __('Adds vertical categories block to let the customer navigate your store.', 'ecwid-shopping-cart'));
|
2647 |
-
parent::__construct('ecwidvcategories', __('Store Categories', 'ecwid-shopping-cart'), $widget_ops);
|
2648 |
-
}
|
2649 |
-
|
2650 |
-
function widget($args, $instance) {
|
2651 |
-
extract($args);
|
2652 |
-
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
2653 |
-
|
2654 |
-
echo $before_widget;
|
2655 |
-
|
2656 |
-
if ( $title )
|
2657 |
-
echo $before_title . $title . $after_title;
|
2658 |
-
|
2659 |
-
echo '<div>';
|
2660 |
-
echo '<!-- noptimize -->';
|
2661 |
-
|
2662 |
-
echo ecwid_get_scriptjs_code();
|
2663 |
-
echo ecwid_get_product_browser_url_script();
|
2664 |
-
echo '<script data-cfasync="false" type="text/javascript"> xVCategories("style="); </script>';
|
2665 |
-
|
2666 |
-
echo '<!-- /noptimize -->';
|
2667 |
-
echo '</div>';
|
2668 |
-
|
2669 |
-
echo $after_widget;
|
2670 |
-
}
|
2671 |
-
|
2672 |
-
function update($new_instance, $old_instance){
|
2673 |
-
$instance = $old_instance;
|
2674 |
-
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
2675 |
-
|
2676 |
-
return $instance;
|
2677 |
-
}
|
2678 |
-
|
2679 |
-
function form($instance){
|
2680 |
-
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
2681 |
-
|
2682 |
-
$title = htmlspecialchars($instance['title']);
|
2683 |
-
|
2684 |
-
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
2685 |
-
}
|
2686 |
-
|
2687 |
-
}
|
2688 |
-
|
2689 |
-
class EcwidStoreLinkWidget extends WP_Widget {
|
2690 |
-
|
2691 |
-
function __construct() {
|
2692 |
-
$widget_ops = array('classname' => 'widget_ecwid_store_link', 'description' => __('Displays a link to the store page in sidebar for customer to quickly access your store from any page on the site.', 'ecwid-shopping-cart'));
|
2693 |
-
parent::__construct('ecwidstorelink', __('Store Page Link', 'ecwid-shopping-cart'), $widget_ops);
|
2694 |
-
}
|
2695 |
-
|
2696 |
-
function widget($args, $instance) {
|
2697 |
-
extract($args);
|
2698 |
-
echo $before_widget;
|
2699 |
-
|
2700 |
-
echo '<div>';
|
2701 |
-
|
2702 |
-
echo '<a href="' . ecwid_get_store_page_url() . '">' . $instance['label'] . '</a>';
|
2703 |
-
echo '</div>';
|
2704 |
-
|
2705 |
-
echo $after_widget;
|
2706 |
-
}
|
2707 |
-
|
2708 |
-
function update($new_instance, $old_instance){
|
2709 |
-
$instance = $old_instance;
|
2710 |
-
$instance['label'] = strip_tags(stripslashes($new_instance['label']));
|
2711 |
-
|
2712 |
-
return $instance;
|
2713 |
-
}
|
2714 |
-
|
2715 |
-
function form($instance){
|
2716 |
-
$instance = wp_parse_args( (array) $instance, array( 'label' => __('Shop', 'ecwid-shopping-cart') ) );
|
2717 |
-
|
2718 |
-
$label = htmlspecialchars($instance['label']);
|
2719 |
-
|
2720 |
-
echo '<p><label for="' . $this->get_field_name('label') . '">' . __('Text') . ': <input style="width:100%;" id="' . $this->get_field_id('label') . '" name="' . $this->get_field_name('label') . '" type="text" value="' . $label . '" /></label></p>';
|
2721 |
-
}
|
2722 |
-
|
2723 |
-
}
|
2724 |
-
|
2725 |
-
class EcwidRecentlyViewedWidget extends WP_Widget {
|
2726 |
-
|
2727 |
-
var $max = 10;
|
2728 |
-
var $min = 1;
|
2729 |
-
var $default = 3;
|
2730 |
-
function __construct() {
|
2731 |
-
$widget_ops = array('classname' => 'widget_ecwid_recently_viewed', 'description' => __('Displays a list of products recently viewed by the customer to easily return to the products they saw in your shop.', 'ecwid-shopping-cart'));
|
2732 |
-
parent::__construct('ecwidrecentlyviewed', __('Recently Viewed Products', 'ecwid-shopping-cart'), $widget_ops);
|
2733 |
-
$recently_viewed = json_decode(stripslashes(@$_COOKIE['ecwid-shopping-cart-recently-viewed']));
|
2734 |
-
|
2735 |
-
if ($recently_viewed && $recently_viewed->store_id != get_ecwid_store_id() && !is_admin()) {
|
2736 |
-
setcookie('ecwid-shopping-cart-recently-viewed', null, strtotime('-1 day'));
|
2737 |
-
}
|
2738 |
-
}
|
2739 |
-
|
2740 |
-
function widget($args, $instance) {
|
2741 |
-
|
2742 |
-
wp_enqueue_script('ecwid-recently-viewed-js', plugins_url('ecwid-shopping-cart/js/recently-viewed.js'), array('jquery', 'utils', 'ecwid-products-list-js'), get_option('ecwid_plugin_version'));
|
2743 |
-
wp_enqueue_style('ecwid-products-list-css');
|
2744 |
-
wp_enqueue_style('ecwid-recently-viewed-css', plugins_url('ecwid-shopping-cart/css/recently-viewed.css'), array(), get_option('ecwid_plugin_version'));
|
2745 |
-
extract($args);
|
2746 |
-
|
2747 |
-
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
2748 |
-
|
2749 |
-
echo $before_widget;
|
2750 |
-
|
2751 |
-
if ( $title )
|
2752 |
-
echo $before_title . $title . $after_title;
|
2753 |
-
|
2754 |
-
echo '<!-- noptimize -->' . ecwid_get_scriptjs_code() . '<!-- /noptimize -->';
|
2755 |
-
|
2756 |
-
$recently_viewed = false;
|
2757 |
-
if (isset($_COOKIE['ecwid-shopping-cart-recently-viewed'])) {
|
2758 |
-
$recently_viewed = json_decode($_COOKIE['ecwid-shopping-cart-recently-viewed']);
|
2759 |
-
}
|
2760 |
-
$recently_viewed = json_decode(stripslashes(@$_COOKIE['ecwid-shopping-cart-recently-viewed']));
|
2761 |
-
|
2762 |
-
if ($recently_viewed && $recently_viewed->store_id != get_ecwid_store_id()) {
|
2763 |
-
$recently_viewed = null;
|
2764 |
-
}
|
2765 |
-
|
2766 |
-
echo '<div class="ecwid-recently-viewed-products" data-ecwid-max="' . $instance['number_of_products'] . '">';
|
2767 |
-
|
2768 |
-
|
2769 |
-
$api = false;
|
2770 |
-
if (ecwid_is_api_enabled()) {
|
2771 |
-
$api = ecwid_new_product_api();
|
2772 |
-
}
|
2773 |
-
|
2774 |
-
$counter = 0;
|
2775 |
-
$ids = array();
|
2776 |
-
if ($recently_viewed && isset($recently_viewed->products)) {
|
2777 |
-
|
2778 |
-
for ($i = count($recently_viewed->products) - 1; $i >= 0; $i--) {
|
2779 |
-
$product = $recently_viewed->products[$i];
|
2780 |
-
|
2781 |
-
$counter++;
|
2782 |
-
if (isset($product->id) && isset($product->link)) {
|
2783 |
-
$ids[] = $product->id;
|
2784 |
-
$hide = $counter > $instance['number_of_products'] ? ' hidden' : '';
|
2785 |
-
|
2786 |
-
if ($api) {
|
2787 |
-
$product_https = $api->get_product_https($product->id);
|
2788 |
-
}
|
2789 |
-
|
2790 |
-
$name = isset($product_https) ? $product_https['name']: '';
|
2791 |
-
|
2792 |
-
echo <<<HTML
|
2793 |
-
<a class="product$hide" href="$product->link" alt="$name" title="$name">
|
2794 |
-
<div class="ecwid ecwid-SingleProduct ecwid-Product ecwid-Product-$product->id" data-single-product-link="$product->link" itemscope itemtype="http://schema.org/Product" data-single-product-id="$product->id">
|
2795 |
-
<div itemprop="image" data-force-image="$product_https[imageUrl]"></div>
|
2796 |
-
<div class="ecwid-title" itemprop="name"></div>
|
2797 |
-
<div itemtype="http://schema.org/Offer" itemscope itemprop="offers"><div class="ecwid-productBrowser-price ecwid-price" itemprop="price"></div></div>
|
2798 |
-
</div>
|
2799 |
-
|
2800 |
-
<!-- noptimize --><script type="text/javascript">xSingleProduct();</script><!-- /noptimize -->
|
2801 |
-
</a>
|
2802 |
-
HTML;
|
2803 |
-
}
|
2804 |
-
}
|
2805 |
-
} else {
|
2806 |
-
echo <<<HTML
|
2807 |
-
<script type="text/javascript">
|
2808 |
-
jQuery(document).ready(function() {
|
2809 |
-
wpCookies.remove('ecwid-shopping-cart-recently-viewed');
|
2810 |
-
recently_viewed = {products: []};
|
2811 |
-
});
|
2812 |
-
</script>
|
2813 |
-
HTML;
|
2814 |
-
}
|
2815 |
-
$ids_string = '';
|
2816 |
-
if (!empty($ids)) {
|
2817 |
-
$ids_string = implode(',', $ids);
|
2818 |
-
}
|
2819 |
-
|
2820 |
-
echo <<<HTML
|
2821 |
-
<script type="text/javascript">
|
2822 |
-
<!--
|
2823 |
-
jQuery(document).ready(function() {
|
2824 |
-
jQuery('#$this->id .ecwid-recently-viewed-products').recentlyViewedProducts();
|
2825 |
-
});
|
2826 |
-
-->
|
2827 |
-
</script>
|
2828 |
-
HTML;
|
2829 |
-
|
2830 |
-
echo "</div>";
|
2831 |
-
|
2832 |
-
$store_link_message = empty($instance['store_link_title']) ? __('You have not viewed any product yet. Open store.', 'ecwid-shopping-cart') : $instance['store_link_title'];
|
2833 |
-
|
2834 |
-
$page_id = ecwid_get_current_store_page_id();
|
2835 |
-
$post = get_post($page_id);
|
2836 |
-
|
2837 |
-
if (empty($recently_viewed->products)) {
|
2838 |
-
echo '<a class="show-if-empty" href="' . ecwid_get_store_page_url() . '">' . $store_link_message . '</a>';
|
2839 |
-
}
|
2840 |
-
|
2841 |
-
echo $after_widget;
|
2842 |
-
}
|
2843 |
-
|
2844 |
-
function update($new_instance, $old_instance){
|
2845 |
-
$instance = $old_instance;
|
2846 |
-
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
2847 |
-
$instance['store_link_title'] = strip_tags(stripslashes($new_instance['store_link_title']));
|
2848 |
-
$num = intval($new_instance['number_of_products']);
|
2849 |
-
if ($num > $this->max || $num < $this->min) {
|
2850 |
-
$num = $this->default;
|
2851 |
-
}
|
2852 |
-
$instance['number_of_products'] = intval($new_instance['number_of_products']);
|
2853 |
-
|
2854 |
-
return $instance;
|
2855 |
-
}
|
2856 |
-
|
2857 |
-
function form($instance){
|
2858 |
-
|
2859 |
-
$instance = wp_parse_args( (array) $instance,
|
2860 |
-
array(
|
2861 |
-
'title' => __('Recently Viewed Products', 'ecwid-shopping-cart'),
|
2862 |
-
'store_link_title' => __('You have not viewed any product yet. Open store.', 'ecwid-shopping-cart'),
|
2863 |
-
'number_of_products' => 3
|
2864 |
-
)
|
2865 |
-
);
|
2866 |
-
|
2867 |
-
$title = htmlspecialchars($instance['title']);
|
2868 |
-
$store_link_title = htmlspecialchars($instance['store_link_title']);
|
2869 |
-
$number_of_products = $instance['number_of_products'];
|
2870 |
-
if ($number_of_products)
|
2871 |
-
|
2872 |
-
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title') . ': <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
2873 |
-
echo '<p><label for="' . $this->get_field_name('store_link_title') . '">' . __('Store Link Title', 'ecwid-shopping-cart') . ': <input style="width:100%;" id="' . $this->get_field_id('store_link_title') . '" name="' . $this->get_field_name('store_link_title') . '" type="text" value="' . $store_link_title . '" /></label></p>';
|
2874 |
-
echo '<p><label for="' . $this->get_field_name('number_of_products') . '">' . __( 'Number of products to show', 'ecwid-shopping-cart' ) . ': <input style="width:100%;" id="' . $this->get_field_id('number_of_products') . '" name="' . $this->get_field_name('number_of_products') . '" type="number" min="' . $this->min . '" max="' . $this->max . '" value="' . $number_of_products . '" /></label></p>';
|
2875 |
-
}
|
2876 |
-
|
2877 |
-
function is_valid_number_of_products($num) {
|
2878 |
-
return is_numeric($num) && $num <= $this->max && $num >= $this->min;
|
2879 |
-
}
|
2880 |
-
}
|
2881 |
-
|
2882 |
-
|
2883 |
function ecwid_send_stats()
|
2884 |
{
|
2885 |
$storeid = get_ecwid_store_id();
|
@@ -2972,7 +2456,7 @@ function ecwid_gather_stats()
|
|
2972 |
if (!empty($results)) {
|
2973 |
$stats = array_merge($stats, $results);
|
2974 |
}
|
2975 |
-
|
2976 |
}
|
2977 |
|
2978 |
return $stats;
|
@@ -3021,7 +2505,7 @@ function ecwid_gather_usage_stats()
|
|
3021 |
|
3022 |
$usage_stats['is_wp_newbie'] = (bool) (($ecwid_date - $wp_date) / 60 / 60 / 24 <= 30);
|
3023 |
|
3024 |
-
$usage_stats['ecwid_remote_get_fails'] = (bool) get_option('
|
3025 |
|
3026 |
$woo = 0;
|
3027 |
$all_plugins = get_plugins();
|
@@ -3057,18 +2541,6 @@ function ecwid_check_for_remote_connection_errors()
|
|
3057 |
return $results;
|
3058 |
}
|
3059 |
|
3060 |
-
function ecwid_sidebar_widgets_init() {
|
3061 |
-
register_widget('EcwidMinicartWidget');
|
3062 |
-
register_widget('EcwidSearchWidget');
|
3063 |
-
register_widget('EcwidVCategoriesWidget');
|
3064 |
-
register_widget('EcwidMinicartMiniViewWidget');
|
3065 |
-
register_widget('EcwidBadgeWidget');
|
3066 |
-
register_widget('EcwidStoreLinkWidget');
|
3067 |
-
register_widget('EcwidRecentlyViewedWidget');
|
3068 |
-
}
|
3069 |
-
|
3070 |
-
add_action('widgets_init', 'ecwid_sidebar_widgets_init');
|
3071 |
-
|
3072 |
function ecwid_sso() {
|
3073 |
$key = get_option('ecwid_sso_secret_key');
|
3074 |
if (empty($key)) {
|
@@ -3221,7 +2693,7 @@ function ecwid_is_api_enabled()
|
|
3221 |
|
3222 |
function ecwid_new_product_api()
|
3223 |
{
|
3224 |
-
include_once
|
3225 |
$ecwid_store_id = intval(get_ecwid_store_id());
|
3226 |
$api = new EcwidProductApi($ecwid_store_id);
|
3227 |
|
@@ -3229,7 +2701,7 @@ function ecwid_new_product_api()
|
|
3229 |
}
|
3230 |
|
3231 |
function ecwid_embed_svg($name) {
|
3232 |
-
$code = file_get_contents(ECWID_PLUGIN_DIR . '
|
3233 |
|
3234 |
echo $code;
|
3235 |
}
|
@@ -3269,6 +2741,10 @@ function ecwid_find_shortcodes( $content, $tag ) {
|
|
3269 |
return false;
|
3270 |
}
|
3271 |
|
|
|
|
|
|
|
|
|
3272 |
// Since we use shortcode regex in our own functions, we need it to be persistent
|
3273 |
function ecwid_get_shortcode_regex() {
|
3274 |
global $shortcode_tags;
|
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: 4.1.2
|
9 |
Author URI: http://www.ecwid.com?source=wporg
|
10 |
*/
|
11 |
|
20 |
|
21 |
|
22 |
if ( ! defined( 'ECWID_PLUGIN_DIR' ) ) {
|
23 |
+
define( 'ECWID_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
24 |
+
}
|
25 |
+
|
26 |
+
if ( ! defined( 'ECWID_PLUGIN_BASENAME' ) ) {
|
27 |
+
define( 'ECWID_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
28 |
}
|
29 |
|
30 |
if ( ! defined( 'ECWID_PLUGIN_URL' ) ) {
|
31 |
+
define( 'ECWID_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
32 |
}
|
33 |
|
34 |
// 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
|
60 |
add_action('wp_ajax_ecwid_hide_message', 'ecwid_ajax_hide_message');
|
61 |
add_action('wp_ajax_save-widget', 'ecwid_ajax_save_widget');
|
62 |
add_action('wp_ajax_ecwid_reset_categories_cache', 'ecwid_reset_categories_cache');
|
63 |
+
add_action('wp_ajax_ecwid_create_store', 'ecwid_create_store');
|
64 |
+
add_filter('plugin_action_links_' . ECWID_PLUGIN_BASENAME, 'ecwid_plugin_actions');
|
65 |
add_action('admin_head', 'ecwid_ie8_fonts_inclusion');
|
66 |
add_action('admin_head', 'ecwid_send_stats');
|
67 |
add_action('save_post', 'ecwid_save_post');
|
106 |
|
107 |
$ecwid_script_rendered = false; // controls single script.js on page
|
108 |
|
109 |
+
require_once ECWID_PLUGIN_DIR . 'includes/themes.php';
|
110 |
+
require_once ECWID_PLUGIN_DIR . 'includes/oembed.php';
|
111 |
+
require_once ECWID_PLUGIN_DIR . 'includes/widgets.php';
|
112 |
+
require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-message-manager.php';
|
113 |
+
require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-store-editor.php';
|
114 |
+
require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-oauth.php';
|
115 |
+
require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-kissmetrics.php';
|
116 |
|
117 |
+
require_once ECWID_PLUGIN_DIR . 'lib/ecwid_platform.php';
|
118 |
+
require_once ECWID_PLUGIN_DIR . 'lib/ecwid_api_v3.php';
|
119 |
|
120 |
|
121 |
function ecwid_init_integrations()
|
129 |
|
130 |
foreach ($integrations as $key => $plugin) {
|
131 |
if ( is_plugin_active($plugin) ) {
|
132 |
+
require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-integration-' . $key . '.php';
|
133 |
}
|
134 |
}
|
135 |
}
|
212 |
{
|
213 |
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') === false) return;
|
214 |
|
215 |
+
$url = ECWID_PLUGIN_URL . 'fonts/ecwid-logo.eot';
|
216 |
echo <<<HTML
|
217 |
<style>
|
218 |
@font-face {
|
231 |
function ecwid_enqueue_frontend() {
|
232 |
|
233 |
wp_enqueue_script('jquery-ui-widget');
|
234 |
+
wp_register_script('ecwid-products-list-js', ECWID_PLUGIN_URL . 'js/products-list.js', array('jquery-ui-widget'), get_option('ecwid_plugin_version'));
|
235 |
+
wp_register_style('ecwid-products-list-css', ECWID_PLUGIN_URL . 'css/products-list.css', array(), get_option('ecwid_plugin_version'));
|
236 |
+
wp_enqueue_style('ecwid-css', ECWID_PLUGIN_URL . 'css/frontend.css',array(), get_option('ecwid_plugin_version'));
|
237 |
+
wp_enqueue_style('ecwid-fonts-css', ECWID_PLUGIN_URL . 'css/fonts.css', array(), get_option('ecwid_plugin_version'));
|
238 |
|
239 |
if (function_exists('wp_get_document_title')) {
|
240 |
+
wp_enqueue_script( 'ecwid-frontend-js', ECWID_PLUGIN_URL . 'js/frontend.js', array( 'jquery' ), get_option( 'ecwid_plugin_version' ) );
|
241 |
|
242 |
global $ecwid_seo_title_mode;
|
243 |
|
281 |
}
|
282 |
|
283 |
if (is_active_widget(false, false, 'ecwidrecentlyviewed')) {
|
284 |
+
wp_enqueue_script('ecwid-recently-viewed', ECWID_PLUGIN_URL . 'js/recently-viewed-common.js', array('jquery', 'utils'), get_option('ecwid_plugin_version'), true);
|
285 |
|
286 |
wp_localize_script(
|
287 |
'ecwid-products-list-js',
|
365 |
$page_id = ecwid_get_current_store_page_id();
|
366 |
|
367 |
if (get_post_status($page_id) == 'publish') {
|
368 |
+
require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-sitemap-builder.php';
|
369 |
|
370 |
$sitemap = new EcwidSitemapBuilder(ecwid_get_store_page_url(), $callback, ecwid_new_product_api());
|
371 |
|
627 |
$body = __($body, 'ecwid-shopping-cart');
|
628 |
$body = sprintf($body, $theme, $store_url);
|
629 |
|
630 |
+
$wp_admin_bar->add_menu( array(
|
631 |
+
'id' => 'ecwid-main',
|
632 |
+
'title' => '<span class="ab-icon ecwid-top-menu-item"></span>',
|
633 |
+
'href' => 'admin.php?page=ecwid',
|
634 |
+
));
|
635 |
+
|
636 |
$wp_admin_bar->add_menu(array(
|
637 |
+
"id" => "ecwid-go-to-page",
|
638 |
+
"title" => __("Visit storefront", 'ecwid-shopping-cart'),
|
639 |
+
"parent" => "ecwid-main",
|
640 |
+
'href' => ecwid_get_store_page_url()
|
|
|
|
|
641 |
)
|
642 |
+
);
|
643 |
+
|
644 |
+
$wp_admin_bar->add_menu(array(
|
645 |
+
"id" => "ecwid-control-panel",
|
646 |
+
"title" => __("Manage my store", 'ecwid-shopping-cart'),
|
647 |
+
"parent" => "ecwid-main",
|
648 |
+
'href' => admin_url('admin.php?page=ecwid')
|
649 |
+
)
|
650 |
+
);
|
651 |
|
|
|
|
|
|
|
|
|
|
|
652 |
$wp_admin_bar->add_menu(array(
|
653 |
"id" => "ecwid-help",
|
654 |
+
"title" => __("Read FAQ", 'ecwid-shopping-cart'),
|
655 |
"parent" => "ecwid-main",
|
656 |
+
'href' => __('https://help.ecwid.com/customer/portal/articles/1085017-wordpress-downloadable', 'ecwid-shopping-cart'),
|
657 |
'meta' => array(
|
658 |
'target' => '_blank'
|
659 |
)
|
660 |
)
|
661 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
662 |
|
663 |
+
$wp_admin_bar->add_menu(array(
|
664 |
+
'id' => 'ecwid-report-problem',
|
665 |
+
'title' => __( 'Report a problem with the store', 'ecwid-shopping-cart' ),
|
666 |
+
'parent' => 'ecwid-main',
|
667 |
+
'href' => 'mailto:wordpress@ecwid.com?subject=' . rawurlencode($subject) . '&body=' . rawurlencode($body),
|
668 |
+
'meta' => array(
|
669 |
+
'target' => '_blank'
|
670 |
+
)
|
671 |
+
));
|
672 |
}
|
673 |
|
674 |
function ecwid_content_has_productbrowser($content) {
|
885 |
function ecwid_ajax_seo_title()
|
886 |
{
|
887 |
$title = _ecwid_get_seo_title();
|
888 |
+
echo $title;
|
889 |
$template = $_GET['title_template'];
|
890 |
|
891 |
$result = str_replace('ECWID_SEO_TITLE', $title, $template);
|
972 |
|
973 |
function ecwid_wrap_shortcode_content($content, $name, $attrs)
|
974 |
{
|
975 |
+
return "<!-- Ecwid shopping cart plugin v 4.1.2 --><!-- noptimize -->"
|
976 |
. ecwid_get_scriptjs_code(@$attrs['lang'])
|
977 |
. "<div class=\"ecwid-shopping-cart-$name\">$content</div>"
|
978 |
+
. "<!-- /noptimize --><!-- END Ecwid Shopping Cart v 4.1.2 -->";
|
979 |
}
|
980 |
|
981 |
function ecwid_get_scriptjs_code($force_lang = null) {
|
1227 |
|
1228 |
function ecwid_productbrowser_shortcode($shortcode_params) {
|
1229 |
|
1230 |
+
if (current_user_can('administrator')) {
|
1231 |
+
Ecwid_Kissmetrics::record('storefrontIsOpened');
|
1232 |
+
}
|
1233 |
+
|
1234 |
$atts = shortcode_atts(
|
1235 |
array(
|
1236 |
'categories_per_row' => false,
|
1300 |
|
1301 |
if (ecwid_can_display_html_catalog()) {
|
1302 |
$params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
|
1303 |
+
include_once ECWID_PLUGIN_DIR . 'lib/ecwid_product_api.php';
|
1304 |
+
include_once ECWID_PLUGIN_DIR . 'lib/ecwid_catalog.php';
|
1305 |
|
1306 |
$page_url = get_page_link();
|
1307 |
|
1382 |
}
|
1383 |
|
1384 |
function ecwid_store_activate() {
|
1385 |
+
|
1386 |
+
if (get_option('ecwid_store_id', null) === null) {
|
1387 |
+
Ecwid_Kissmetrics::record('firstactivated');
|
1388 |
+
}
|
1389 |
$my_post = array();
|
1390 |
$content = <<<EOT
|
1391 |
[ecwid widgets="productbrowser minicart categories search" grid="3,3" list="10" table="20" default_category_id="0" category_view="grid" search_view="grid" minicart_layout="MiniAttachToProductBrowser" ]
|
1763 |
|
1764 |
function ecwid_register_admin_styles($hook_suffix) {
|
1765 |
|
1766 |
+
wp_enqueue_style('ecwid-admin-css', ECWID_PLUGIN_URL . 'css/admin.css', array(), get_option('ecwid_plugin_version'));
|
1767 |
+
wp_enqueue_style('ecwid-fonts-css', ECWID_PLUGIN_URL . 'css/fonts.css', array(), get_option('ecwid_plugin_version'));
|
1768 |
|
|
|
|
|
1769 |
|
1770 |
if (version_compare(get_bloginfo('version'), '3.8-beta') > 0) {
|
1771 |
+
wp_enqueue_style('ecwid-admin38-css', ECWID_PLUGIN_URL . 'css/admin.3.8.css', array('ecwid-admin-css'), get_option('ecwid_plugin_version'), 'all');
|
1772 |
}
|
1773 |
|
1774 |
if (isset($_GET['page']) && $_GET['page'] == 'ecwid') {
|
1775 |
|
1776 |
if (get_option('ecwid_store_id') == ECWID_DEMO_STORE_ID) {
|
1777 |
// Open dashboard for the first time, ecwid store id is set to demo => need landing styles/scripts
|
1778 |
+
wp_enqueue_script('ecwid-landing-js', ECWID_PLUGIN_URL . 'js/landing.js', array(), get_option('ecwid_plugin_version'));
|
1779 |
wp_localize_script('ecwid-landing-js', 'ecwidParams', array(
|
1780 |
'register_link' => ecwid_get_register_link()
|
1781 |
));
|
1782 |
+
if (ecwid_use_old_landing()) {
|
1783 |
+
wp_enqueue_style('ecwid-landing-css', ECWID_PLUGIN_URL . 'css/landing_old.css', array(), get_option('ecwid_plugin_version'), 'all');
|
1784 |
+
} else {
|
1785 |
+
wp_enqueue_style('ecwid-landing-css', ECWID_PLUGIN_URL . 'css/landing.css', array(), get_option('ecwid_plugin_version'), 'all');
|
1786 |
+
}
|
1787 |
wp_enqueue_style('ecwid-landing-fonts', 'http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300', array(), get_option('ecwid_plugin_version'));
|
1788 |
} else {
|
1789 |
// We already connected and disconnected the store, no need for fancy landing
|
1790 |
+
wp_enqueue_script('ecwid-connect-js', ECWID_PLUGIN_URL . 'js/dashboard.js', array(), get_option('ecwid_plugin_version'));
|
1791 |
}
|
1792 |
}
|
1793 |
|
1794 |
+
wp_enqueue_style('ecwid-nav-menu', ECWID_PLUGIN_URL . 'css/nav-menu.css', array(), get_option('ecwid_plugin_version'));
|
1795 |
}
|
1796 |
|
1797 |
function ecwid_register_settings_styles($hook_suffix) {
|
1798 |
|
1799 |
if ( ($hook_suffix != 'post.php' && $hook_suffix != 'post-new.php') && strpos($hook_suffix, 'ecwid') === false) return;
|
1800 |
|
1801 |
+
wp_enqueue_style('ecwid-settings-css', ECWID_PLUGIN_URL . 'css/settings.css', array(), get_option('ecwid_plugin_version'), 'all');
|
1802 |
|
1803 |
if (version_compare(get_bloginfo('version'), '3.8-beta') > 0) {
|
1804 |
+
wp_enqueue_style('ecwid-settings38-css', ECWID_PLUGIN_URL . 'css/settings.3.8.css', array('ecwid-settings-css'), '', 'all');
|
1805 |
}}
|
1806 |
|
1807 |
function ecwid_plugin_actions($links) {
|
1865 |
|
1866 |
function ecwid_common_admin_scripts() {
|
1867 |
|
1868 |
+
wp_enqueue_script('ecwid-admin-js', ECWID_PLUGIN_URL . 'js/admin.js', array(), get_option('ecwid_plugin_version'));
|
1869 |
+
wp_enqueue_script('ecwid-modernizr-js', ECWID_PLUGIN_URL . 'js/modernizr.js', array(), get_option('ecwid_plugin_version'));
|
1870 |
|
1871 |
if (function_exists('get_current_screen') ) {
|
1872 |
$screen = get_current_screen();
|
1875 |
EcwidPlatform::set('nav-menus-opened-once', null);
|
1876 |
|
1877 |
$first_run = false;
|
1878 |
+
// It opens the page twice on the very first run of that page
|
1879 |
if (EcwidPlatform::get('nav-menus-opened-once', false) < 2) {
|
1880 |
EcwidPlatform::set('nav-menus-opened-once', EcwidPlatform::get('nav-menus-opened-once') + 1);
|
1881 |
$first_run = EcwidPlatform::get('nav-menus-opened-once') <= 2;
|
1882 |
}
|
1883 |
|
1884 |
+
wp_enqueue_script('ecwid-admin-menu-js', ECWID_PLUGIN_URL . 'js/nav-menu.js', array(), get_option('ecwid_plugin_version'));
|
1885 |
wp_localize_script('ecwid-admin-menu-js', 'ecwid_params', array(
|
1886 |
'store_page' => __('Store Page', 'ecwid-shopping-cart'),
|
1887 |
'reset_cats_cache' => __('Refresh categories list', 'ecwid-shopping-cart'),
|
1888 |
'cache_updated' => __('Done', 'ecwid-shopping-cart'),
|
1889 |
'reset_cache_message' => __('The store top-level categories are automatically added to this drop-down menu', 'ecwid-shopping-cart'),
|
1890 |
+
'first_run' => $first_run,
|
1891 |
+
'register_link' => ecwid_get_register_link()
|
1892 |
));
|
1893 |
}
|
1894 |
|
1935 |
return $link;
|
1936 |
}
|
1937 |
|
1938 |
+
function ecwid_create_store() {
|
1939 |
+
$api = new Ecwid_Api_V3();
|
1940 |
+
$result = $api->create_store();
|
1941 |
+
if ($result['response']['code'] == 200) {
|
1942 |
+
$data = json_decode($result['body']);
|
1943 |
+
|
1944 |
+
update_option('ecwid_store_id', $data->id);
|
1945 |
+
|
1946 |
+
$api->save_token($data->token);
|
1947 |
+
update_option('ecwid_oauth_scope', 'read_profile read_catalog allow_sso');
|
1948 |
+
|
1949 |
+
header( 'HTTP/1.1 200 OK' );
|
1950 |
+
|
1951 |
+
} else {
|
1952 |
+
header( 'HTTP/1.1 ' . $result['response']['code'] . ' ' . $result['response']['message'] );
|
1953 |
+
Ecwid_Kissmetrics::record( 'Create Store Failed' );
|
1954 |
+
}
|
1955 |
+
}
|
1956 |
+
|
1957 |
function ecwid_general_settings_do_page() {
|
1958 |
|
1959 |
$store_id = get_option( 'ecwid_store_id' );
|
1963 |
if ( $store_id == ECWID_DEMO_STORE_ID ) {
|
1964 |
$no_oauth = @$_GET['oauth'] == 'no';
|
1965 |
if ( isset( $connection_error ) && $no_oauth ) {
|
1966 |
+
require_once ECWID_PLUGIN_DIR . 'templates/connect.php';
|
1967 |
} else {
|
1968 |
$register = ! $connection_error && ! isset( $_GET['connect'] ) && ! @$_COOKIE['ecwid_create_store_clicked'];
|
1969 |
|
1970 |
+
$api = new Ecwid_Api_V3();
|
1971 |
+
global $current_user;
|
1972 |
+
|
1973 |
+
if ( ecwid_use_old_landing() ) {
|
1974 |
+
require_once( ECWID_PLUGIN_DIR . '/templates/landing_old.php' );
|
1975 |
+
} else if ($api->does_store_exist($current_user->user_email)) {
|
1976 |
+
Ecwid_Kissmetrics::record( 'Existing Store Found' );
|
1977 |
+
require_once ECWID_PLUGIN_DIR . '/templates/connect.php';
|
1978 |
+
} else {
|
1979 |
+
require_once( ECWID_PLUGIN_DIR . '/templates/landing.php' );
|
1980 |
+
}
|
1981 |
}
|
1982 |
} else {
|
1983 |
global $ecwid_oauth;
|
1984 |
|
1985 |
if ( !$ecwid_oauth->has_scope( 'allow_sso' ) && !isset($_GET['reconnect']) ) {
|
1986 |
if ( ecwid_test_oauth(true) ) {
|
1987 |
+
require_once ECWID_PLUGIN_DIR . 'templates/reconnect-sso.php';
|
1988 |
} else {
|
1989 |
require_once ECWID_PLUGIN_DIR . 'templates/dashboard.php';
|
1990 |
}
|
2000 |
|
2001 |
$connection_error = isset($_GET['connection_error']);
|
2002 |
|
2003 |
+
require_once ECWID_PLUGIN_DIR . 'templates/reconnect.php';
|
2004 |
} else {
|
2005 |
+
$time = time() - get_option('ecwid_time_correction', 0);
|
2006 |
$page = 'dashboard';
|
2007 |
$iframe_src = sprintf(
|
2008 |
'https://my.ecwid.com/api/v3/%s/sso?token=%s×tamp=%s&signature=%s&place=%s&inline&lang=%s',
|
2016 |
|
2017 |
$result = EcwidPlatform::fetch_url( $iframe_src );
|
2018 |
|
2019 |
+
if ($result['code'] == 403 && strpos($result['data'], 'Token too old') !== false ) {
|
2020 |
+
|
2021 |
+
$result = wp_remote_get($iframe_src);
|
2022 |
+
|
2023 |
+
if (isset($result['headers']['date'])) {
|
2024 |
+
$time = strtotime($result['headers']['date']);
|
2025 |
+
|
2026 |
+
$iframe_src = sprintf(
|
2027 |
+
'https://my.ecwid.com/api/v3/%s/sso?token=%s×tamp=%s&signature=%s&place=%s&inline&lang=%s',
|
2028 |
+
get_ecwid_store_id(),
|
2029 |
+
Ecwid_Api_V3::get_token(),
|
2030 |
+
$time,
|
2031 |
+
hash('sha256', get_ecwid_store_id() . Ecwid_Api_V3::get_token() . $time . Ecwid_Api_V3::CLIENT_SECRET),
|
2032 |
+
$page,
|
2033 |
+
substr(get_bloginfo('language'), 0, 2)
|
2034 |
+
);
|
2035 |
+
|
2036 |
+
$result = EcwidPlatform::fetch_url($iframe_src);
|
2037 |
+
|
2038 |
+
if ($result['code'] == 200) {
|
2039 |
+
update_option('ecwid_time_correction', time() - $time);
|
2040 |
+
}
|
2041 |
+
}
|
2042 |
+
}
|
2043 |
+
|
2044 |
if ( is_array( $result ) && $result['code'] == 200 ) {
|
2045 |
ecwid_admin_do_page( 'dashboard' );
|
2046 |
} else {
|
2047 |
+
require_once ECWID_PLUGIN_DIR . 'templates/reconnect-sso.php';
|
2048 |
}
|
2049 |
}
|
2050 |
}
|
2057 |
|
2058 |
if ($page == 'dashboard') {
|
2059 |
$show_reconnect = true;
|
2060 |
+
if (isset($_GET['just-created'])) {
|
2061 |
+
$page = 'dashboard:wizard=ADD_PRODUCTS';
|
2062 |
+
}
|
2063 |
}
|
2064 |
|
2065 |
+
$time = time() - get_option('ecwid_time_correction', 0);
|
2066 |
|
2067 |
$iframe_src = sprintf(
|
2068 |
'https://my.ecwid.com/api/v3/%s/sso?token=%s×tamp=%s&signature=%s&place=%s&inline&lang=%s',
|
2083 |
require_once ECWID_PLUGIN_DIR . 'templates/dashboard.php';
|
2084 |
}
|
2085 |
} else {
|
2086 |
+
require_once ECWID_PLUGIN_DIR . 'templates/ecwid-admin.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2087 |
}
|
2088 |
}
|
2089 |
|
2168 |
}
|
2169 |
|
2170 |
function ecwid_get_categories_for_selector() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2171 |
|
2172 |
+
function walk_through_categories($categories, $parent_prefix) {
|
2173 |
+
if (empty($categories)) {
|
2174 |
+
return array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2175 |
}
|
2176 |
+
$result = array();
|
2177 |
|
2178 |
+
foreach ($categories as $category) {
|
2179 |
+
$result[$category->id] = $category;
|
2180 |
+
$result[$category->id]->path = $parent_prefix . $category->name;
|
2181 |
+
$result = array_merge($result, walk_through_categories($category->sub, $category->name . ' > '));
|
2182 |
+
unset($result[$category->id]->sub);
|
2183 |
}
|
2184 |
|
2185 |
+
return $result;
|
|
|
|
|
2186 |
}
|
2187 |
|
2188 |
+
$result = walk_through_categories(ecwid_get_categories(), "");
|
2189 |
+
|
2190 |
+
return $result;
|
2191 |
}
|
2192 |
|
2193 |
function ecwid_advanced_settings_do_page() {
|
2194 |
$categories = ecwid_get_categories_for_selector();
|
2195 |
|
2196 |
+
require_once ECWID_PLUGIN_DIR . 'templates/advanced-settings.php';
|
2197 |
}
|
2198 |
|
2199 |
function ecwid_appearance_settings_do_page() {
|
2200 |
|
2201 |
+
wp_register_script('ecwid-appearance-js', ECWID_PLUGIN_URL . 'js/appearance.js', array(), get_option('ecwid_plugin_version'), true);
|
2202 |
wp_enqueue_script('ecwid-appearance-js');
|
2203 |
|
2204 |
$disabled = false;
|
2241 |
}
|
2242 |
|
2243 |
function get_ecwid_store_id() {
|
2244 |
+
$store_id = get_option('ecwid_store_id');
|
2245 |
+
if (empty($store_id)) {
|
2246 |
+
$store_id = ECWID_DEMO_STORE_ID;
|
2247 |
+
}
|
|
|
|
|
2248 |
|
2249 |
return $store_id;
|
2250 |
}
|
2364 |
|
2365 |
}
|
2366 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2367 |
function ecwid_send_stats()
|
2368 |
{
|
2369 |
$storeid = get_ecwid_store_id();
|
2456 |
if (!empty($results)) {
|
2457 |
$stats = array_merge($stats, $results);
|
2458 |
}
|
2459 |
+
update_option('ecwid_checked_for_remote_connection_errors', empty($results));
|
2460 |
}
|
2461 |
|
2462 |
return $stats;
|
2505 |
|
2506 |
$usage_stats['is_wp_newbie'] = (bool) (($ecwid_date - $wp_date) / 60 / 60 / 24 <= 30);
|
2507 |
|
2508 |
+
$usage_stats['ecwid_remote_get_fails'] = (bool) get_option('ecwid_remote_get_fails');
|
2509 |
|
2510 |
$woo = 0;
|
2511 |
$all_plugins = get_plugins();
|
2541 |
return $results;
|
2542 |
}
|
2543 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2544 |
function ecwid_sso() {
|
2545 |
$key = get_option('ecwid_sso_secret_key');
|
2546 |
if (empty($key)) {
|
2693 |
|
2694 |
function ecwid_new_product_api()
|
2695 |
{
|
2696 |
+
include_once ECWID_PLUGIN_DIR . 'lib/ecwid_product_api.php';
|
2697 |
$ecwid_store_id = intval(get_ecwid_store_id());
|
2698 |
$api = new EcwidProductApi($ecwid_store_id);
|
2699 |
|
2701 |
}
|
2702 |
|
2703 |
function ecwid_embed_svg($name) {
|
2704 |
+
$code = file_get_contents(ECWID_PLUGIN_DIR . 'images/' . $name . '.svg');
|
2705 |
|
2706 |
echo $code;
|
2707 |
}
|
2741 |
return false;
|
2742 |
}
|
2743 |
|
2744 |
+
function ecwid_use_old_landing() {
|
2745 |
+
return get_option('ecwid_installation_date') % 10 >= 0;
|
2746 |
+
}
|
2747 |
+
|
2748 |
// Since we use shortcode regex in our own functions, we need it to be persistent
|
2749 |
function ecwid_get_shortcode_regex() {
|
2750 |
global $shortcode_tags;
|
images/black-app-store.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg width="136" height="42" viewBox="0 0 136 42" xmlns="http://www.w3.org/2000/svg"><title>black download on the app store</title><g fill="none" fill-rule="evenodd"><g><rect fill="#050708" width="136" height="42" rx="7"/><path d="M30.045 20.85c-.03-3.496 2.806-5.197 2.936-5.276-1.606-2.39-4.097-2.716-4.972-2.742-2.092-.225-4.12 1.277-5.187 1.277-1.086 0-2.727-1.257-4.496-1.22-2.276.036-4.405 1.38-5.573 3.468-2.41 4.255-.612 10.51 1.697 13.95 1.155 1.684 2.505 3.565 4.272 3.5 1.727-.073 2.373-1.125 4.458-1.125 2.067 0 2.673 1.124 4.475 1.082 1.854-.03 3.022-1.692 4.137-3.392 1.335-1.93 1.87-3.833 1.892-3.93-.044-.016-3.602-1.4-3.637-5.592zM26.276 10.396c.873-1.113 1.47-2.627 1.304-4.164-1.263.057-2.844.89-3.754 1.98-.806.96-1.525 2.532-1.34 4.01 1.42.11 2.878-.73 3.79-1.826z" fill="#FFF"/></g><g fill="#FFF"><path d="M50.698 32.17h-2.39L47 27.992h-4.55l-1.245 4.178H38.88l4.505-14.223h2.784l4.528 14.223zm-4.092-5.93l-1.184-3.714c-.125-.38-.36-1.273-.706-2.68h-.042c-.138.605-.36 1.5-.665 2.68l-1.163 3.713h3.76zM62.288 26.916c0 1.744-.464 3.123-1.392 4.135-.83.902-1.863 1.352-3.095 1.352-1.33 0-2.284-.485-2.866-1.456h-.042v5.403H52.65V25.29c0-1.096-.03-2.222-.084-3.376h1.973l.124 1.626h.042c.748-1.225 1.883-1.836 3.406-1.836 1.19 0 2.185.477 2.98 1.434.798.957 1.196 2.216 1.196 3.778zM60.003 27c0-1-.22-1.822-.665-2.47-.485-.675-1.136-1.013-1.953-1.013-.553 0-1.056.188-1.505.56-.45.373-.745.862-.883 1.467-.07.282-.104.513-.104.694v1.71c0 .746.225 1.376.676 1.89.45.514 1.034.77 1.753.77.845 0 1.502-.33 1.973-.99.47-.663.707-1.535.707-2.62zM73.898 26.916c0 1.744-.464 3.123-1.393 4.135-.83.902-1.862 1.352-3.093 1.352-1.33 0-2.285-.485-2.866-1.456h-.042v5.403H64.26V25.29c0-1.096-.027-2.222-.082-3.376h1.972l.126 1.626h.042c.747-1.225 1.882-1.836 3.406-1.836 1.19 0 2.184.477 2.98 1.434.796.957 1.194 2.216 1.194 3.778zM71.613 27c0-1-.222-1.822-.666-2.47-.484-.675-1.134-1.013-1.95-1.013-.555 0-1.057.188-1.507.56-.45.373-.744.862-.882 1.467-.068.282-.104.513-.104.694v1.71c0 .746.225 1.376.673 1.89.45.513 1.035.77 1.757.77.845 0 1.502-.33 1.972-.99.472-.663.707-1.535.707-2.62zM86.88 28.18c0 1.21-.414 2.195-1.244 2.955-.912.83-2.18 1.245-3.813 1.245-1.507 0-2.714-.295-3.628-.886l.52-1.9c.984.606 2.064.91 3.24.91.846 0 1.504-.195 1.976-.582.47-.387.706-.906.706-1.554 0-.577-.194-1.063-.582-1.457-.386-.394-1.03-.76-1.93-1.1-2.452-.928-3.677-2.288-3.677-4.078 0-1.17.43-2.127 1.29-2.873.855-.748 1.998-1.12 3.426-1.12 1.274 0 2.332.224 3.177.674l-.56 1.858c-.79-.437-1.682-.655-2.68-.655-.79 0-1.405.198-1.847.59-.374.353-.56.782-.56 1.29 0 .56.213 1.026.642 1.392.373.337 1.052.702 2.036 1.096 1.206.493 2.09 1.07 2.66 1.73.567.658.85 1.482.85 2.465zM94.295 23.624h-2.472v4.98c0 1.266.436 1.9 1.31 1.9.4 0 .732-.037.995-.107l.062 1.73c-.442.168-1.024.252-1.744.252-.886 0-1.578-.275-2.078-.824-.497-.55-.748-1.47-.748-2.764v-5.17h-1.473v-1.71h1.473v-1.878l2.203-.675v2.552h2.472v1.712zM105.45 26.958c0 1.576-.445 2.87-1.33 3.882-.93 1.042-2.162 1.562-3.7 1.562-1.48 0-2.66-.5-3.54-1.497-.878-1-1.318-2.26-1.318-3.777 0-1.59.452-2.89 1.36-3.904.906-1.013 2.128-1.52 3.665-1.52 1.48 0 2.673.5 3.573 1.5.86.968 1.29 2.22 1.29 3.754zm-2.328.073c0-.944-.198-1.756-.6-2.432-.472-.82-1.144-1.227-2.015-1.227-.9 0-1.586.41-2.056 1.228-.402.677-.6 1.5-.6 2.476 0 .946.198 1.757.6 2.433.486.818 1.163 1.227 2.037 1.227.856 0 1.53-.417 2.014-1.25.414-.688.622-1.508.622-2.453zM112.74 23.918c-.222-.042-.46-.063-.707-.063-.79 0-1.4.302-1.83.908-.372.535-.56 1.21-.56 2.026v5.38h-2.24l.02-7.026c0-1.182-.028-2.258-.084-3.23h1.952l.082 1.963h.062c.237-.674.61-1.217 1.122-1.624.5-.367 1.04-.55 1.62-.55.208 0 .395.016.562.042v2.173zM122.77 26.557c0 .408-.026.752-.082 1.033h-6.728c.026 1.013.35 1.788.976 2.323.567.477 1.3.717 2.2.717.997 0 1.906-.162 2.723-.485l.35 1.58c-.955.425-2.082.635-3.384.635-1.565 0-2.794-.468-3.688-1.403-.892-.935-1.34-2.19-1.34-3.766 0-1.546.417-2.834 1.25-3.86.87-1.097 2.047-1.646 3.528-1.646 1.455 0 2.556.55 3.304 1.645.593.87.89 1.948.89 3.227zm-2.138-.59c.014-.677-.132-1.26-.436-1.753-.388-.634-.985-.95-1.787-.95-.734 0-1.33.31-1.786.93-.374.49-.596 1.082-.664 1.77h4.672v.002z"/></g><g fill="#FFF"><path d="M45.864 9.947c0 1.258-.37 2.205-1.113 2.84-.686.588-1.662.882-2.927.882-.627 0-1.163-.03-1.612-.085V6.712c.587-.096 1.218-.145 1.9-.145 1.204 0 2.112.266 2.724.798.686.602 1.03 1.462 1.03 2.582zm-1.162.03c0-.814-.213-1.44-.638-1.876-.425-.434-1.046-.652-1.863-.652-.346 0-.642.024-.887.073v5.226c.136.022.384.03.745.03.844 0 1.495-.237 1.953-.714.46-.476.692-1.17.692-2.084zM52.028 11.046c0 .775-.218 1.41-.654 1.908-.456.51-1.06.767-1.817.767-.727 0-1.307-.244-1.74-.735-.43-.49-.646-1.11-.646-1.856 0-.78.223-1.42.67-1.918.445-.497 1.044-.746 1.8-.746.728 0 1.312.245 1.755.735.42.478.633 1.093.633 1.846zm-1.144.036c0-.465-.1-.863-.296-1.196-.23-.402-.56-.603-.988-.603-.443 0-.78.2-1.01.603-.2.333-.297.738-.297 1.216 0 .465.1.864.296 1.196.237.402.57.603 1 .603.42 0 .75-.203.988-.612.204-.34.306-.74.306-1.206zM60.292 8.568l-1.552 5.04h-1.01l-.642-2.19c-.163-.545-.296-1.088-.4-1.627h-.02c-.095.555-.227 1.097-.398 1.63l-.683 2.187h-1.02l-1.46-5.04h1.133l.56 2.396c.136.567.248 1.107.337 1.618h.02c.082-.42.218-.957.41-1.606l.703-2.405h.9l.673 2.353c.163.574.296 1.126.398 1.66h.03c.076-.52.188-1.072.338-1.66l.6-2.354h1.084v-.002zM66.007 13.607h-1.102V10.72c0-.888-.333-1.333-1-1.333-.327 0-.59.122-.796.367-.204.244-.307.533-.307.863v2.988H61.7v-3.597c0-.442-.013-.922-.04-1.442h.97l.05.788h.03c.13-.245.32-.447.573-.608.298-.188.633-.283 1-.283.462 0 .847.15 1.153.456.38.372.57.93.57 1.668v3.02zM69.048 13.607h-1.102v-7.35h1.102v7.35zM75.538 11.046c0 .775-.217 1.41-.653 1.908-.457.51-1.062.767-1.817.767-.73 0-1.308-.244-1.74-.735-.43-.49-.647-1.11-.647-1.856 0-.78.223-1.42.67-1.918.445-.497 1.045-.746 1.8-.746.728 0 1.312.245 1.756.735.42.478.632 1.093.632 1.846zm-1.144.036c0-.465-.1-.863-.296-1.196-.23-.402-.56-.603-.988-.603-.444 0-.78.2-1.01.603-.198.333-.296.738-.296 1.216 0 .465.1.864.295 1.196.238.402.57.603 1 .603.42 0 .75-.203.988-.612.205-.34.306-.74.306-1.206zM80.874 13.607h-.99l-.082-.58h-.03c-.34.462-.822.694-1.45.694-.467 0-.846-.152-1.13-.455-.26-.276-.39-.62-.39-1.026 0-.617.253-1.086.76-1.41.508-.326 1.222-.485 2.14-.478v-.094c0-.664-.343-.995-1.03-.995-.49 0-.92.125-1.293.373l-.225-.735c.46-.29 1.03-.434 1.7-.434 1.297 0 1.947.695 1.947 2.084v1.855c0 .504.025.904.072 1.202zm-1.145-1.732v-.777c-1.217-.02-1.825.318-1.825 1.015 0 .263.07.46.212.59.142.133.323.198.538.198.242 0 .468-.077.675-.232.207-.156.334-.354.382-.596.01-.055.017-.12.017-.197zM87.14 13.607h-.98l-.05-.81h-.032c-.312.616-.845.924-1.593.924-.597 0-1.095-.237-1.49-.714-.394-.477-.59-1.096-.59-1.855 0-.815.213-1.475.642-1.98.416-.47.925-.705 1.53-.705.667 0 1.133.227 1.398.684h.02V6.256H87.1v5.992c0 .49.012.942.04 1.357zm-1.144-2.125v-.84c0-.146-.01-.263-.03-.353-.062-.27-.196-.497-.4-.68-.204-.182-.45-.274-.737-.274-.412 0-.734.165-.97.498-.235.332-.354.757-.354 1.275 0 .497.113.9.34 1.212.238.33.56.497.962.497.362 0 .652-.14.87-.416.214-.255.318-.563.318-.922zM96.567 11.046c0 .775-.217 1.41-.653 1.908-.456.51-1.06.767-1.817.767-.726 0-1.306-.244-1.74-.735-.43-.49-.647-1.11-.647-1.856 0-.78.222-1.42.668-1.918.447-.497 1.046-.746 1.803-.746.727 0 1.313.245 1.755.735.42.478.632 1.093.632 1.846zm-1.142.036c0-.465-.1-.863-.296-1.196-.233-.402-.56-.603-.99-.603-.442 0-.78.2-1.01.603-.2.333-.297.738-.297 1.216 0 .465.1.864.296 1.196.237.402.57.603 1 .603.42 0 .75-.203.99-.612.202-.34.305-.74.305-1.206zM102.495 13.607h-1.1V10.72c0-.888-.333-1.333-1-1.333-.33 0-.593.122-.797.367-.204.244-.306.533-.306.863v2.988H98.19v-3.597c0-.442-.014-.922-.04-1.442h.967l.052.788h.03c.13-.245.32-.447.57-.608.3-.188.634-.283 1-.283.463 0 .848.15 1.154.456.382.372.57.93.57 1.668v3.02zM109.915 9.407H108.7v2.448c0 .622.217.933.644.933.198 0 .362-.017.49-.053l.03.85c-.218.084-.504.125-.857.125-.435 0-.774-.134-1.02-.404-.245-.27-.367-.722-.367-1.358v-2.54h-.725v-.84h.725v-.923l1.08-.33v1.252h1.214v.84zM115.75 13.607h-1.102v-2.865c0-.903-.332-1.355-.998-1.355-.512 0-.86.262-1.052.786-.033.11-.052.244-.052.403v3.03h-1.1v-7.35h1.1v3.037h.02c.348-.553.846-.828 1.49-.828.457 0 .835.152 1.135.456.374.38.56.945.56 1.69v2.997zM121.772 10.85c0 .2-.015.37-.04.507h-3.307c.014.498.172.877.478 1.14.28.235.64.353 1.083.353.49 0 .935-.08 1.337-.238l.172.778c-.47.207-1.023.31-1.664.31-.767 0-1.372-.23-1.81-.69-.44-.458-.657-1.075-.657-1.85 0-.76.203-1.39.612-1.896.427-.538 1.005-.808 1.734-.808.712 0 1.254.27 1.62.808.296.428.442.957.442 1.585zm-1.052-.29c.008-.333-.064-.62-.214-.86-.19-.312-.482-.468-.877-.468-.36 0-.654.152-.878.456-.183.243-.292.533-.327.872h2.295z"/></g></g></svg>
|
3 |
+
|
images/black-google.svg
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg width="136" height="42" viewBox="0 0 136 42" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>black get it on google</title><defs><linearGradient x1="19.215%" y1="-35.157%" x2="69.302%" y2="93.537%" id="b"><stop stop-color="#19A3B4" offset="0%"/><stop stop-color="#5BC3AF" offset="34.817%"/><stop stop-color="#C9F7A6" offset="92.234%"/><stop stop-color="#D7FEA5" offset="100%"/></linearGradient><path id="a" d="M13.983 7.228L1.547.216C1.194.018.87-.028.607.056L10.79 10.502l3.19-3.272"/><linearGradient x1="-14.698%" y1="-114.322%" x2="74.844%" y2="114.156%" id="c"><stop stop-color="#FC227C" offset="0%"/><stop stop-color="#FEEB7B" offset="100%"/></linearGradient><linearGradient x1="28.151%" y1="-14.814%" x2="48.188%" y2="82.894%" id="e"><stop stop-color="#0E4DA0" offset="0%"/><stop stop-color="#6BFED4" offset="100%"/></linearGradient><path id="d" d="M.605.057C.227.177-.018.57-.018 1.165l.002 18.697c0 .587.238.974.605 1.103L10.79 10.503.605.057"/><linearGradient x1="132.245%" y1="16.466%" x2="5.959%" y2="126.31%" id="g"><stop stop-color="#FC472E" offset="0%"/><stop stop-color="#FC472E" offset=".332%"/><stop stop-color="#893CD8" offset="100%"/></linearGradient><path id="f" d="M.59 20.965c.264.092.596.05.957-.154l12.45-7.02-3.205-3.287L.59 20.965"/><path id="h" d="M0 .054h91.96V18H0V.054z"/><path id="j" d="M0 .143h38.904V7H0V.143z"/><path id="l" d="M0 .143h38.904V7H0V.143z"/></defs><g fill="none" fill-rule="evenodd"><rect fill="#000" width="136" height="42" rx="7"/><g transform="translate(11 15)"><use fill="url(#b)" xlink:href="#a"/><path d="M14 13.79l4.244-2.394c.86-.487.86-1.28 0-1.765l-4.26-2.402L10.79 10.5 14 13.79" fill="url(#c)"/><use fill="url(#e)" xlink:href="#d"/><use fill="url(#g)" xlink:href="#f"/></g><g transform="translate(35 18)"><path d="M13.32 6.392H6.996v1.895h4.484c-.22 2.658-2.41 3.79-4.475 3.79-2.643 0-4.95-2.1-4.95-5.045 0-2.868 2.2-5.077 4.956-5.077 2.127 0 3.38 1.37 3.38 1.37l1.314-1.375S10.018.054 6.944.054C3.03.054 0 3.392 0 6.998c0 3.534 2.85 6.98 7.043 6.98 3.69 0 6.39-2.554 6.39-6.33 0-.796-.115-1.257-.115-1.257v.002zM18.692 5.02c-2.594 0-4.453 2.048-4.453 4.438 0 2.424 1.802 4.51 4.482 4.51 2.427 0 4.414-1.872 4.414-4.458 0-2.964-2.312-4.49-4.444-4.49m.026 1.757c1.275 0 2.484 1.042 2.484 2.72 0 1.644-1.204 2.716-2.49 2.716-1.414 0-2.53-1.144-2.53-2.728 0-1.55 1.103-2.708 2.536-2.708M28.48 5.02c-2.593 0-4.452 2.048-4.452 4.438 0 2.424 1.803 4.51 4.483 4.51 2.428 0 4.415-1.872 4.415-4.458 0-2.964-2.312-4.49-4.444-4.49m.027 1.757c1.275 0 2.484 1.042 2.484 2.72 0 1.644-1.203 2.716-2.49 2.716-1.413 0-2.528-1.144-2.528-2.728 0-1.55 1.102-2.708 2.535-2.708M38.07 5.024c-2.38 0-4.253 2.107-4.253 4.47 0 2.695 2.17 4.48 4.21 4.48 1.264 0 1.935-.505 2.43-1.086v.882c0 1.544-.927 2.47-2.328 2.47-1.354 0-2.032-1.018-2.268-1.595l-1.703.72c.603 1.29 1.82 2.635 3.983 2.635 2.367 0 4.17-1.506 4.17-4.666v-8.04h-1.856v.757c-.57-.62-1.35-1.026-2.388-1.026zm.172 1.754c1.167 0 2.365 1.007 2.365 2.727 0 1.748-1.196 2.71-2.39 2.71-1.27 0-2.45-1.04-2.45-2.694 0-1.717 1.225-2.742 2.475-2.742zM50.962 5.013c-2.246 0-4.132 1.805-4.132 4.47 0 2.818 2.102 4.49 4.347 4.49 1.874 0 3.024-1.036 3.71-1.964l-1.53-1.03c-.398.622-1.062 1.23-2.17 1.23-1.245 0-1.818-.688-2.173-1.355l5.94-2.49-.31-.73c-.573-1.428-1.91-2.622-3.682-2.622zm.077 1.72c.808 0 1.39.436 1.638.957l-3.966 1.675c-.17-1.297 1.045-2.63 2.327-2.63z" fill="#FFF"/><mask id="i" fill="#fff"><use xlink:href="#h"/></mask><path d="M43.804 13.707h1.95V.517h-1.95v13.19zM69.96 13.707h1.95V.517h-1.95v13.19zM64.333 6.95h-2.77V2.487h2.77c1.21 0 2.208 1.007 2.208 2.23 0 1.224-.997 2.23-2.207 2.23m0-6.43h-4.72V13.707h1.95V8.92h2.77c2.287 0 4.16-1.89 4.16-4.2 0-2.312-1.873-4.203-4.16-4.203M89.83 5.013l-2.556 5.877-2.556-5.877h-2.13l3.62 8.327L84.183 18h2.13l5.65-12.987H89.83zM79.893 9.894c-.25 1.097-1.09 1.886-2.16 2.18-2.254.62-2.815-3.082.537-2.573.575.07 1.078.215 1.623.394zm0 3.813h1.95V8.963c.306-4.893-5.833-6.044-8.156-2.516l1.57 1.064c1.136-2.006 4.377-1.544 4.59.606-.974-.26-2.027-.45-2.988-.35-1.502.152-2.787 1.115-2.99 2.693-.11.85.077 1.902.666 2.542.918.997 2.424 1.132 3.662.79.697-.19 1.246-.61 1.695-1.15v1.065z" fill="#FFF" mask="url(#i)"/></g><g transform="translate(35 6)"><mask id="k" fill="#fff"><use xlink:href="#j"/></mask><path d="M6.314 3.264H3.317v.934h2.125C5.337 5.506 4.3 6.064 3.322 6.064 2.067 6.064.974 5.03.974 3.58c0-1.413 1.042-2.5 2.348-2.5 1.01 0 1.603.674 1.603.674l.622-.677s-.8-.934-2.256-.934C1.436.143 0 1.787 0 3.563 0 5.303 1.35 7 3.34 7c1.748 0 3.028-1.257 3.028-3.117 0-.392-.055-.62-.055-.62z" fill="#FFF" mask="url(#k)"/><mask id="m" fill="#fff"><use xlink:href="#l"/></mask><path d="M18.56 6.867h.926V.37h-.925v6.497zM13.382 6.867h.925V1.342h1.518v-.97h-3.96v.97h1.517v5.525zM7.343 6.867h3.546v-.97H8.266V4.103h2.307v-.97H8.267V1.342h2.622v-.97H7.342v6.495zM21.757 6.867h.924V1.342h1.52v-.97h-3.96v.97h1.517v5.525zM29.87.143c-1.855 0-3.29 1.644-3.29 3.42 0 1.726 1.328 3.41 3.29 3.436 1.963-.027 3.292-1.71 3.292-3.437 0-1.776-1.436-3.42-3.292-3.42m0 5.92c-1.24-.015-2.317-1.044-2.317-2.483 0-1.4 1.026-2.483 2.317-2.5 1.292.017 2.317 1.1 2.317 2.5 0 1.44-1.076 2.468-2.317 2.484M34.086 6.867h.925V2.135l2.97 4.732h.924V.37h-.925V5.1L35.01.37h-.924v6.497z" fill="#FFF" mask="url(#m)"/></g></g></svg>
|
includes/class-ecwid-kissmetrics.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
class Ecwid_Kissmetrics {
|
4 |
|
5 |
-
const API_KEY = '
|
6 |
const STORAGE_OPTION_NAME = 'ecwid_kissmetrics';
|
7 |
const EVENT_PREFIX = 'wp-plugin ';
|
8 |
|
@@ -30,12 +30,30 @@ class Ecwid_Kissmetrics {
|
|
30 |
wp_enqueue_script('ecwid-kissmetrics', 'https://scripts.kissmetrics.com/' . self::API_KEY . '.2.js');
|
31 |
wp_enqueue_script('ecwid-kissmetrics-events', ECWID_PLUGIN_URL . 'js/kissmetrics.js', array( 'ecwid-kissmetrics' ) );
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
$kissmetrics = array(
|
34 |
-
'
|
35 |
'key' => self::API_KEY
|
36 |
);
|
37 |
|
38 |
-
$this->
|
39 |
|
40 |
$store_id = get_ecwid_store_id();
|
41 |
if ($store_id != ECWID_DEMO_STORE_ID) {
|
@@ -59,14 +77,27 @@ class Ecwid_Kissmetrics {
|
|
59 |
}
|
60 |
|
61 |
protected function _enqueue_record( $event ) {
|
62 |
-
$
|
|
|
|
|
63 |
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
-
update_option ( self::STORAGE_OPTION_NAME, $
|
67 |
}
|
68 |
|
69 |
-
protected function
|
70 |
$value = get_option( self::STORAGE_OPTION_NAME );
|
71 |
|
72 |
if ( !is_array($value) ) {
|
@@ -76,7 +107,7 @@ class Ecwid_Kissmetrics {
|
|
76 |
return $value;
|
77 |
}
|
78 |
|
79 |
-
protected function
|
80 |
update_option( self::STORAGE_OPTION_NAME, null );
|
81 |
}
|
82 |
}
|
2 |
|
3 |
class Ecwid_Kissmetrics {
|
4 |
|
5 |
+
const API_KEY = '12a19b058a28c5db7b722584d59e60e4f080e142';
|
6 |
const STORAGE_OPTION_NAME = 'ecwid_kissmetrics';
|
7 |
const EVENT_PREFIX = 'wp-plugin ';
|
8 |
|
30 |
wp_enqueue_script('ecwid-kissmetrics', 'https://scripts.kissmetrics.com/' . self::API_KEY . '.2.js');
|
31 |
wp_enqueue_script('ecwid-kissmetrics-events', ECWID_PLUGIN_URL . 'js/kissmetrics.js', array( 'ecwid-kissmetrics' ) );
|
32 |
|
33 |
+
|
34 |
+
$this->_enqueue_property('Storefront URL', ecwid_get_store_page_url());
|
35 |
+
$this->_enqueue_property('WP Theme', ecwid_get_theme_name());
|
36 |
+
$this->_enqueue_property('WP Chameleon Enabled', get_option('ecwid_use_chameleon') ? 'true' : 'false');
|
37 |
+
|
38 |
+
$woo = 'none';
|
39 |
+
$all_plugins = get_plugins();
|
40 |
+
if (array_key_exists('woocommerce/woocommerce.php', $all_plugins)) {
|
41 |
+
$active_plugins = get_option('active_plugins');
|
42 |
+
if (in_array('woocommerce/woocommerce.php', $active_plugins)) {
|
43 |
+
$woo = 'active';
|
44 |
+
} else {
|
45 |
+
$woo = 'inactive';
|
46 |
+
}
|
47 |
+
}
|
48 |
+
$kissmetrics['woo'] = $woo;
|
49 |
+
$this->_enqueue_property('Woocommerce installed', $woo);
|
50 |
+
|
51 |
$kissmetrics = array(
|
52 |
+
'items' => $this->_get_pending(),
|
53 |
'key' => self::API_KEY
|
54 |
);
|
55 |
|
56 |
+
$this->_flush_pending();
|
57 |
|
58 |
$store_id = get_ecwid_store_id();
|
59 |
if ($store_id != ECWID_DEMO_STORE_ID) {
|
77 |
}
|
78 |
|
79 |
protected function _enqueue_record( $event ) {
|
80 |
+
$items = $this->_get_pending();
|
81 |
+
|
82 |
+
array_push( $items, array( 'event' => $event ) );
|
83 |
|
84 |
+
update_option ( self::STORAGE_OPTION_NAME, $items );
|
85 |
+
}
|
86 |
+
|
87 |
+
protected function _enqueue_property( $name, $value ) {
|
88 |
+
$items = $this->_get_pending();
|
89 |
+
|
90 |
+
array_push( $items, array(
|
91 |
+
'property' => array(
|
92 |
+
$name => $value
|
93 |
+
)
|
94 |
+
)
|
95 |
+
);
|
96 |
|
97 |
+
update_option ( self::STORAGE_OPTION_NAME, $items );
|
98 |
}
|
99 |
|
100 |
+
protected function _get_pending() {
|
101 |
$value = get_option( self::STORAGE_OPTION_NAME );
|
102 |
|
103 |
if ( !is_array($value) ) {
|
107 |
return $value;
|
108 |
}
|
109 |
|
110 |
+
protected function _flush_pending() {
|
111 |
update_option( self::STORAGE_OPTION_NAME, null );
|
112 |
}
|
113 |
}
|
includes/class-ecwid-message-manager.php
CHANGED
@@ -87,7 +87,7 @@ TXT
|
|
87 |
|
88 |
$do_not_show_again = true == $params['hideable'];
|
89 |
|
90 |
-
include ECWID_PLUGIN_DIR . '
|
91 |
}
|
92 |
|
93 |
public static function disable_message($name)
|
@@ -191,7 +191,7 @@ TXT
|
|
191 |
{
|
192 |
return array(
|
193 |
'on_activate' => array(
|
194 |
-
'title' => __('Greetings! Your Ecwid
|
195 |
'message' => __('Take a few simple steps to complete store setup', 'ecwid-shopping-cart'),
|
196 |
'primary_title' => __('Set up Ecwid Store', 'ecwid-shopping-cart'),
|
197 |
'primary_url' => 'admin.php?page=ecwid',
|
@@ -199,22 +199,11 @@ TXT
|
|
199 |
'default' => 'disabled'
|
200 |
),
|
201 |
|
202 |
-
'on_storeid_set' => array(
|
203 |
-
'title' => __('Good job! Your store is set up and you\'re ready to sell.', 'ecwid-shopping-cart'),
|
204 |
-
'message' => __('Use the dashboard below to add products, track sales and adjust settings in your store. We also created a store page on your site and now you can fine-tune the storefront appearance.', 'ecwid-shopping-cart'),
|
205 |
-
'primary_title' => __('Visit Storefront', 'ecwid-shopping-cart'),
|
206 |
-
'primary_url' => '',
|
207 |
-
'primary_blank' => true,
|
208 |
-
'secondary_title' => __('Configure Appearance', 'ecwid-shopping-cart'),
|
209 |
-
'secondary_url' => 'admin.php?page=ecwid-appearance',
|
210 |
-
'hideable' => true
|
211 |
-
),
|
212 |
-
|
213 |
'on_no_storeid_on_setup_pages' => array(
|
214 |
'type' => 'warning',
|
215 |
'title' => __('Your store is almost ready!', 'ecwid-shopping-cart' ),
|
216 |
-
'message' => __('
|
217 |
-
'primary_title' => __('
|
218 |
'primary_url' => 'admin.php?page=ecwid',
|
219 |
'hideable' => true
|
220 |
),
|
87 |
|
88 |
$do_not_show_again = true == $params['hideable'];
|
89 |
|
90 |
+
include ECWID_PLUGIN_DIR . 'templates/admin-message.php';
|
91 |
}
|
92 |
|
93 |
public static function disable_message($name)
|
191 |
{
|
192 |
return array(
|
193 |
'on_activate' => array(
|
194 |
+
'title' => __('Greetings! Your Ecwid plugin is now active.', 'ecwid-shopping-cart'),
|
195 |
'message' => __('Take a few simple steps to complete store setup', 'ecwid-shopping-cart'),
|
196 |
'primary_title' => __('Set up Ecwid Store', 'ecwid-shopping-cart'),
|
197 |
'primary_url' => 'admin.php?page=ecwid',
|
199 |
'default' => 'disabled'
|
200 |
),
|
201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
'on_no_storeid_on_setup_pages' => array(
|
203 |
'type' => 'warning',
|
204 |
'title' => __('Your store is almost ready!', 'ecwid-shopping-cart' ),
|
205 |
+
'message' => __('Complete setup and start selling', 'ecwid-shopping-cart' ),
|
206 |
+
'primary_title' => __('Complete Setup', 'ecwid-shopping-cart' ),
|
207 |
'primary_url' => 'admin.php?page=ecwid',
|
208 |
'hideable' => true
|
209 |
),
|
includes/class-ecwid-oauth.php
CHANGED
@@ -21,13 +21,13 @@ class Ecwid_OAuth {
|
|
21 |
|
22 |
$this->_load_state();
|
23 |
|
24 |
-
$this->api = new Ecwid_Api_V3(
|
25 |
}
|
26 |
|
27 |
public function show_reconnect()
|
28 |
{
|
29 |
$ecwid_oauth = $this;
|
30 |
-
require_once(ECWID_PLUGIN_DIR . '
|
31 |
}
|
32 |
|
33 |
public function test_post()
|
21 |
|
22 |
$this->_load_state();
|
23 |
|
24 |
+
$this->api = new Ecwid_Api_V3();
|
25 |
}
|
26 |
|
27 |
public function show_reconnect()
|
28 |
{
|
29 |
$ecwid_oauth = $this;
|
30 |
+
require_once(ECWID_PLUGIN_DIR . 'templates/reconnect.php');
|
31 |
}
|
32 |
|
33 |
public function test_post()
|
includes/class-ecwid-store-editor.php
CHANGED
@@ -30,8 +30,8 @@ class Ecwid_Store_Editor {
|
|
30 |
public function add_mce_plugin($plugins) {
|
31 |
|
32 |
$plugins_array = array(
|
33 |
-
'ecwid' =>
|
34 |
-
'ecwid_common' =>
|
35 |
);
|
36 |
|
37 |
return array_merge($plugins, $plugins_array);
|
@@ -61,11 +61,11 @@ HTML;
|
|
61 |
}
|
62 |
|
63 |
public function add_scripts() {
|
64 |
-
wp_enqueue_style( 'ecwid-store-editor-css',
|
65 |
-
wp_enqueue_script( 'ecwid-store-editor-common-js',
|
66 |
-
wp_enqueue_script( 'ecwid-store-editor-page-js',
|
67 |
wp_localize_script( 'ecwid-store-editor-page-js', 'ecwid_i18n', array( 'edit_store_appearance' => __( 'Edit Appearance', 'ecwid-shopping-cart' ) ) );
|
68 |
-
add_editor_style(
|
69 |
}
|
70 |
|
71 |
public function get_store_svg() {
|
30 |
public function add_mce_plugin($plugins) {
|
31 |
|
32 |
$plugins_array = array(
|
33 |
+
'ecwid' => ECWID_PLUGIN_URL . 'js/store-editor-mce.js',
|
34 |
+
'ecwid_common' => ECWID_PLUGIN_URL . 'js/store-editor-common.js',
|
35 |
);
|
36 |
|
37 |
return array_merge($plugins, $plugins_array);
|
61 |
}
|
62 |
|
63 |
public function add_scripts() {
|
64 |
+
wp_enqueue_style( 'ecwid-store-editor-css', ECWID_PLUGIN_URL . 'css/store-popup.css', array(), get_option('ecwid_plugin_version') );
|
65 |
+
wp_enqueue_script( 'ecwid-store-editor-common-js', ECWID_PLUGIN_URL . 'js/store-editor-common.js', array(), get_option('ecwid_plugin_version') );
|
66 |
+
wp_enqueue_script( 'ecwid-store-editor-page-js', ECWID_PLUGIN_URL . 'js/store-editor-page.js', array(), get_option('ecwid_plugin_version') );
|
67 |
wp_localize_script( 'ecwid-store-editor-page-js', 'ecwid_i18n', array( 'edit_store_appearance' => __( 'Edit Appearance', 'ecwid-shopping-cart' ) ) );
|
68 |
+
add_editor_style( ECWID_PLUGIN_URL . 'css/page-editor.css' );
|
69 |
}
|
70 |
|
71 |
public function get_store_svg() {
|
includes/oembed.php
CHANGED
@@ -56,7 +56,7 @@ function ecwid_get_embed_content()
|
|
56 |
}
|
57 |
|
58 |
if (ecwid_is_paid_account()) {
|
59 |
-
$api = new Ecwid_Api_V3(
|
60 |
|
61 |
$category = $api->get_category($root_category_id);
|
62 |
|
56 |
}
|
57 |
|
58 |
if (ecwid_is_paid_account()) {
|
59 |
+
$api = new Ecwid_Api_V3();
|
60 |
|
61 |
$category = $api->get_category($root_category_id);
|
62 |
|
includes/themes.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
define( 'ECWID_THEMES_DIR', ECWID_PLUGIN_DIR . '
|
4 |
|
5 |
add_action('after_switch_theme', 'ecwid_after_switch_theme');
|
6 |
|
@@ -51,7 +51,8 @@ function ecwid_apply_theme($theme_name = null)
|
|
51 |
'attitude',
|
52 |
'responsiveboat',
|
53 |
'central',
|
54 |
-
'edin'
|
|
|
55 |
);
|
56 |
|
57 |
|
1 |
<?php
|
2 |
|
3 |
+
define( 'ECWID_THEMES_DIR', ECWID_PLUGIN_DIR . 'includes/themes' );
|
4 |
|
5 |
add_action('after_switch_theme', 'ecwid_after_switch_theme');
|
6 |
|
51 |
'attitude',
|
52 |
'responsiveboat',
|
53 |
'central',
|
54 |
+
'edin',
|
55 |
+
'accesspress-mag'
|
56 |
);
|
57 |
|
58 |
|
includes/themes/class-ecwid-theme-accesspress-mag.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once ECWID_THEMES_DIR . '/class-ecwid-theme-base.php';
|
4 |
+
|
5 |
+
class Ecwid_Theme_AccessPressMag extends Ecwid_Theme_Base
|
6 |
+
{
|
7 |
+
protected $name = 'AccessPress Mag';
|
8 |
+
|
9 |
+
public function __construct()
|
10 |
+
{
|
11 |
+
parent::__construct();
|
12 |
+
|
13 |
+
wp_enqueue_style( 'ecwid-theme-fixes' , ECWID_PLUGIN_URL . 'css/themes/accesspress-mag.css' , array('accesspress-mag-style'), get_option('ecwid_plugin_version'), 'all' );
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
$ecwid_current_theme = new Ecwid_Theme_AccessPressMag();
|
includes/themes/class-ecwid-theme-attitude.php
CHANGED
@@ -10,7 +10,7 @@ public function __construct()
|
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
-
wp_enqueue_style( 'ecwid-theme-fixes' ,
|
14 |
}
|
15 |
}
|
16 |
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
+
wp_enqueue_style( 'ecwid-theme-fixes' , ECWID_PLUGIN_URL . 'css/themes/attitude.css', array(), get_option('ecwid_plugin_version'), 'all' );
|
14 |
}
|
15 |
}
|
16 |
|
includes/themes/class-ecwid-theme-base.php
CHANGED
@@ -11,7 +11,7 @@ class Ecwid_Theme_Base {
|
|
11 |
if ( $this->adjust_pb_scroll ) {
|
12 |
wp_enqueue_script(
|
13 |
'ecwid-scroller',
|
14 |
-
|
15 |
array( 'jquery' ),
|
16 |
get_option('ecwid_plugin_version')
|
17 |
);
|
11 |
if ( $this->adjust_pb_scroll ) {
|
12 |
wp_enqueue_script(
|
13 |
'ecwid-scroller',
|
14 |
+
ECWID_PLUGIN_URL . 'js/create_scroller.js' ,
|
15 |
array( 'jquery' ),
|
16 |
get_option('ecwid_plugin_version')
|
17 |
);
|
includes/themes/class-ecwid-theme-customizr.php
CHANGED
@@ -12,8 +12,8 @@ class Ecwid_Theme_Customizr extends Ecwid_Theme_Base
|
|
12 |
{
|
13 |
parent::__construct();
|
14 |
|
15 |
-
wp_enqueue_script( 'ecwid-theme-js',
|
16 |
-
wp_enqueue_style( 'ecwid-theme-fixes' ,
|
17 |
}
|
18 |
}
|
19 |
|
12 |
{
|
13 |
parent::__construct();
|
14 |
|
15 |
+
wp_enqueue_script( 'ecwid-theme-js', ECWID_PLUGIN_URL . 'js/themes/customizr.js', array( 'jquery' ), get_option('ecwid_plugin_version'), true );
|
16 |
+
wp_enqueue_style( 'ecwid-theme-fixes' , ECWID_PLUGIN_URL . 'css/themes/customizr.css', array(), get_option('ecwid_plugin_version'), 'all' );
|
17 |
}
|
18 |
}
|
19 |
|
includes/themes/class-ecwid-theme-edin.php
CHANGED
@@ -11,7 +11,7 @@ class Ecwid_Theme_Edin extends Ecwid_Theme_Base
|
|
11 |
parent::__construct();
|
12 |
|
13 |
if (ecwid_page_has_productbrowser()) {
|
14 |
-
wp_enqueue_script( 'ecwid-theme',
|
15 |
}
|
16 |
}
|
17 |
}
|
11 |
parent::__construct();
|
12 |
|
13 |
if (ecwid_page_has_productbrowser()) {
|
14 |
+
wp_enqueue_script( 'ecwid-theme', ECWID_PLUGIN_URL . 'js/themes/edin.js', array( 'jquery' ), get_option('ecwid_plugin_version') );
|
15 |
}
|
16 |
}
|
17 |
}
|
includes/themes/class-ecwid-theme-evolve.php
CHANGED
@@ -10,7 +10,7 @@ class Ecwid_Theme_Evolve extends Ecwid_Theme_Base
|
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
-
wp_enqueue_style( 'ecwid-theme-fixes' ,
|
14 |
}
|
15 |
}
|
16 |
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
+
wp_enqueue_style( 'ecwid-theme-fixes' , ECWID_PLUGIN_URL . 'css/themes/evolve.css', array(), get_option('ecwid_plugin_version'), 'all' );
|
14 |
}
|
15 |
}
|
16 |
|
includes/themes/class-ecwid-theme-mantra.php
CHANGED
@@ -10,7 +10,7 @@ class Ecwid_Theme_Mantra extends Ecwid_Theme_Base
|
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
-
wp_enqueue_style( 'ecwid-theme-fixes' ,
|
14 |
}
|
15 |
}
|
16 |
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
+
wp_enqueue_style( 'ecwid-theme-fixes' , ECWID_PLUGIN_URL . 'css/themes/mantra.css', array(), get_option('ecwid_plugin_version'), 'all' );
|
14 |
}
|
15 |
}
|
16 |
|
includes/themes/class-ecwid-theme-pagelines.php
CHANGED
@@ -12,7 +12,7 @@ class Ecwid_Theme_Pagelines extends Ecwid_Theme_Base
|
|
12 |
{
|
13 |
parent::__construct();
|
14 |
|
15 |
-
wp_enqueue_script( 'ecwid-theme-js',
|
16 |
}
|
17 |
}
|
18 |
|
12 |
{
|
13 |
parent::__construct();
|
14 |
|
15 |
+
wp_enqueue_script( 'ecwid-theme-js', ECWID_PLUGIN_URL . 'js/themes/pagelines.js', array( 'jquery' ), get_option('ecwid_plugin_version'), true );
|
16 |
}
|
17 |
}
|
18 |
|
includes/themes/class-ecwid-theme-responsive.php
CHANGED
@@ -13,8 +13,8 @@ class Ecwid_Theme_Responsive extends Ecwid_Theme_Base
|
|
13 |
if (!is_admin()) {
|
14 |
|
15 |
if ( $this->need_advanced_layout() ) {
|
16 |
-
wp_enqueue_style( 'ecwid-theme-adjustments' ,
|
17 |
-
wp_enqueue_script( 'ecwid-theme',
|
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' ) );
|
@@ -22,7 +22,7 @@ class Ecwid_Theme_Responsive extends Ecwid_Theme_Base
|
|
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' ,
|
26 |
|
27 |
add_filter('body_class', array($this, 'body_class'));
|
28 |
|
13 |
if (!is_admin()) {
|
14 |
|
15 |
if ( $this->need_advanced_layout() ) {
|
16 |
+
wp_enqueue_style( 'ecwid-theme-adjustments' , ECWID_PLUGIN_URL . 'css/themes/responsive-adjustments.css', array(), get_option('ecwid_plugin_version'), 'all' );
|
17 |
+
wp_enqueue_script( 'ecwid-theme', ECWID_PLUGIN_URL . 'js/themes/responsive.js', array( 'jquery' ), get_option('ecwid_plugin_version'), 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' ) );
|
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' , ECWID_PLUGIN_URL . 'css/themes/responsive.css', array(), get_option('ecwid_plugin_version'), 'all' );
|
26 |
|
27 |
add_filter('body_class', array($this, 'body_class'));
|
28 |
|
includes/themes/class-ecwid-theme-responsiveboat.php
CHANGED
@@ -10,7 +10,7 @@ class Ecwid_Theme_ResonsiveBoat extends Ecwid_Theme_Base
|
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
-
wp_enqueue_style( 'ecwid-theme-fixes' ,
|
14 |
}
|
15 |
}
|
16 |
|
10 |
{
|
11 |
parent::__construct();
|
12 |
|
13 |
+
wp_enqueue_style( 'ecwid-theme-fixes' , ECWID_PLUGIN_URL . 'css/themes/responsiveboat.css', array(), get_option('ecwid_plugin_version'), 'all' );
|
14 |
}
|
15 |
}
|
16 |
|
includes/themes/class-ecwid-theme-twentyfifteen.php
CHANGED
@@ -11,7 +11,7 @@ class Ecwid_Theme_2015 extends Ecwid_Theme_Base
|
|
11 |
parent::__construct();
|
12 |
|
13 |
if (ecwid_page_has_productbrowser()) {
|
14 |
-
wp_enqueue_style( 'ecwid-theme',
|
15 |
}
|
16 |
|
17 |
add_action('ecwid_plugin_installed', array($this, 'on_ecwid_plugin_installed'));
|
11 |
parent::__construct();
|
12 |
|
13 |
if (ecwid_page_has_productbrowser()) {
|
14 |
+
wp_enqueue_style( 'ecwid-theme', ECWID_PLUGIN_URL . 'css/themes/2015.css', array('twentyfifteen-style'), get_option('ecwid_plugin_version') );
|
15 |
}
|
16 |
|
17 |
add_action('ecwid_plugin_installed', array($this, 'on_ecwid_plugin_installed'));
|
includes/themes/class-ecwid-theme-twentyfourteen.php
CHANGED
@@ -13,7 +13,7 @@ class Ecwid_Theme_2014 extends Ecwid_Theme_Base
|
|
13 |
parent::__construct();
|
14 |
|
15 |
if (ecwid_page_has_productbrowser()) {
|
16 |
-
wp_enqueue_style( 'ecwid-theme',
|
17 |
}
|
18 |
}
|
19 |
}
|
13 |
parent::__construct();
|
14 |
|
15 |
if (ecwid_page_has_productbrowser()) {
|
16 |
+
wp_enqueue_style( 'ecwid-theme', ECWID_PLUGIN_URL . 'css/themes/2014.css', array('twentyfourteen-style'), get_option('ecwid_plugin_version') );
|
17 |
}
|
18 |
}
|
19 |
}
|
includes/themes/class-ecwid-theme-twentysixteen.php
CHANGED
@@ -13,7 +13,7 @@ class Ecwid_Theme_2016 extends Ecwid_Theme_Base
|
|
13 |
parent::__construct();
|
14 |
|
15 |
if (ecwid_page_has_productbrowser()) {
|
16 |
-
wp_enqueue_style( 'ecwid-theme',
|
17 |
}
|
18 |
add_action('ecwid_plugin_installed', array($this, 'on_ecwid_plugin_installed'));
|
19 |
}
|
13 |
parent::__construct();
|
14 |
|
15 |
if (ecwid_page_has_productbrowser()) {
|
16 |
+
wp_enqueue_style( 'ecwid-theme', ECWID_PLUGIN_URL . 'css/themes/2016.css', array('twentysixteen-style'), get_option('ecwid_plugin_version') );
|
17 |
}
|
18 |
add_action('ecwid_plugin_installed', array($this, 'on_ecwid_plugin_installed'));
|
19 |
}
|
includes/themes/class-ecwid-theme-twentytwelve.php
CHANGED
@@ -13,7 +13,7 @@ class Ecwid_Theme_2012 extends Ecwid_Theme_Base
|
|
13 |
parent::__construct();
|
14 |
|
15 |
if (ecwid_page_has_productbrowser()) {
|
16 |
-
wp_enqueue_script( 'ecwid-theme',
|
17 |
}
|
18 |
}
|
19 |
}
|
13 |
parent::__construct();
|
14 |
|
15 |
if (ecwid_page_has_productbrowser()) {
|
16 |
+
wp_enqueue_script( 'ecwid-theme', ECWID_PLUGIN_URL . 'js/themes/2012.js', array( 'jquery' ), get_option('ecwid_plugin_version'), true );
|
17 |
}
|
18 |
}
|
19 |
}
|
includes/widgets.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
include_once "widgets/class-ecwid-widget-badge.php";
|
4 |
+
include_once "widgets/class-ecwid-widget-minicart.php";
|
5 |
+
include_once "widgets/class-ecwid-widget-minicart-miniview.php";
|
6 |
+
include_once "widgets/class-ecwid-widget-recently-viewed.php";
|
7 |
+
include_once "widgets/class-ecwid-widget-search.php";
|
8 |
+
include_once "widgets/class-ecwid-widget-store-link.php";
|
9 |
+
include_once "widgets/class-ecwid-widget-vcategories.php";
|
10 |
+
|
11 |
+
|
12 |
+
function ecwid_sidebar_widgets_init() {
|
13 |
+
register_widget('Ecwid_Widget_Badge');
|
14 |
+
register_widget('Ecwid_Widget_Search');
|
15 |
+
register_widget('Ecwid_Widget_VCategories');
|
16 |
+
register_widget('Ecwid_Widget_Minicart_Miniview');
|
17 |
+
register_widget('Ecwid_Widget_Minicart');
|
18 |
+
register_widget('Ecwid_Widget_Store_Link');
|
19 |
+
register_widget('Ecwid_Widget_Recently_Viewed');
|
20 |
+
}
|
21 |
+
|
22 |
+
add_action('widgets_init', 'ecwid_sidebar_widgets_init');
|
includes/widgets/class-ecwid-widget-badge.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Ecwid_Widget_Badge extends WP_Widget {
|
4 |
+
|
5 |
+
var $url_template = "https://dj925myfyz5v.cloudfront.net/badges/%s.png";
|
6 |
+
var $available_badges;
|
7 |
+
|
8 |
+
function __construct() {
|
9 |
+
$widget_ops = array('classname' => 'widget_ecwid_badge', 'description' => __("Do you like Ecwid and want to help it grow? You can add this fancy 'Powered by Ecwid' badge on your site to show your visitors that you're a proud user of Ecwid.", 'ecwid-shopping-cart') );
|
10 |
+
parent::__construct('ecwidbadge', __('Ecwid Badge', 'ecwid-shopping-cart'), $widget_ops);
|
11 |
+
|
12 |
+
$this->available_badges = array(
|
13 |
+
'ecwid-shopping-cart-widget-5' => array (
|
14 |
+
'name' => 'ecwid-shopping-cart-widget-5',
|
15 |
+
'width' => '73',
|
16 |
+
'height' => '20',
|
17 |
+
'alt' => __('Ecwid shopping cart widget', 'ecwid-shopping-cart')
|
18 |
+
),
|
19 |
+
'ecwid-shopping-cart-widget-6' => array (
|
20 |
+
'name' => 'ecwid-shopping-cart-widget-6',
|
21 |
+
'width' => '73',
|
22 |
+
'height' => '20',
|
23 |
+
'alt' => __('Ecwid shopping cart widget', 'ecwid-shopping-cart')
|
24 |
+
),
|
25 |
+
'ecwid-ecommerce-solution-2' => array (
|
26 |
+
'name' => 'ecwid-ecommerce-solution-2',
|
27 |
+
'width' => '165',
|
28 |
+
'height' => '58',
|
29 |
+
'alt' => __('Ecwid ecommerce solution', 'ecwid-shopping-cart')
|
30 |
+
),
|
31 |
+
'ecwid-free-shopping-cart-2' => array (
|
32 |
+
'name' => 'ecwid-free-shopping-cart-2',
|
33 |
+
'width' => '175',
|
34 |
+
'height' => '58',
|
35 |
+
'alt' => __('Ecwid free shopping cart', 'ecwid-shopping-cart')
|
36 |
+
),
|
37 |
+
'ecwid-shopping-cart-3' => array (
|
38 |
+
'name' => 'ecwid-shopping-cart-3',
|
39 |
+
'width' => '165',
|
40 |
+
'height' => '56',
|
41 |
+
'alt' => __('Ecwid shopping cart', 'ecwid-shopping-cart')
|
42 |
+
),
|
43 |
+
'ecwid-ecommerce-widgets-3' => array (
|
44 |
+
'name' => 'ecwid-ecommerce-widgets-3',
|
45 |
+
'width' => '165',
|
46 |
+
'height' => '58',
|
47 |
+
'alt' => __('Ecwid e-commerce widgets', 'ecwid-shopping-cart')
|
48 |
+
),
|
49 |
+
'ecwid-shopping-cart-3' => array (
|
50 |
+
'name' => 'ecwid-shopping-cart-3',
|
51 |
+
'width' => '165',
|
52 |
+
'height' => '56',
|
53 |
+
'alt' => __('Ecwid shopping cart', 'ecwid-shopping-cart')
|
54 |
+
),
|
55 |
+
'ecwid-ecommerce-widgets-3' => array (
|
56 |
+
'name' => 'ecwid-ecommerce-widgets-3',
|
57 |
+
'width' => '165',
|
58 |
+
'height' => '58',
|
59 |
+
'alt' => __('Ecwid e-commerce widgets', 'ecwid-shopping-cart')
|
60 |
+
),
|
61 |
+
'ecwid-ecommerce-solution-3' => array (
|
62 |
+
'name' => 'ecwid-ecommerce-solution-3',
|
63 |
+
'width' => '165',
|
64 |
+
'height' => '58',
|
65 |
+
'alt' => __('Ecwid ecommerce solution', 'ecwid-shopping-cart')
|
66 |
+
),
|
67 |
+
'ecwid-free-shopping-cart-3' => array (
|
68 |
+
'name' => 'ecwid-free-shopping-cart-3',
|
69 |
+
'width' => '175',
|
70 |
+
'height' => '58',
|
71 |
+
'alt' => __('Ecwid free shopping cart', 'ecwid-shopping-cart')
|
72 |
+
)
|
73 |
+
);
|
74 |
+
}
|
75 |
+
|
76 |
+
function widget($args, $instance)
|
77 |
+
{
|
78 |
+
extract($args);
|
79 |
+
|
80 |
+
if (!isset($instance['badge_id']) || !array_key_exists($instance['badge_id'], $this->available_badges)) {
|
81 |
+
return;
|
82 |
+
}
|
83 |
+
$badge = $this->available_badges[$instance['badge_id']];
|
84 |
+
$url = sprintf($this->url_template, $badge['name']);
|
85 |
+
|
86 |
+
echo $before_widget;
|
87 |
+
|
88 |
+
echo <<<HTML
|
89 |
+
<div>
|
90 |
+
<a target="_blank" rel="nofollow" href="http://www.ecwid.com?source=wporg-badge">
|
91 |
+
<img src="$url" width="$badge[width]" height="$badge[height]" alt="$badge[alt]" />
|
92 |
+
</a>
|
93 |
+
</div>
|
94 |
+
HTML;
|
95 |
+
|
96 |
+
echo $after_widget;
|
97 |
+
}
|
98 |
+
|
99 |
+
function update($new_instance, $old_instance){
|
100 |
+
$instance = $old_instance;
|
101 |
+
$instance['badge_id'] =
|
102 |
+
array_key_exists($new_instance['badge_id'], $this->available_badges)
|
103 |
+
? $new_instance['badge_id']
|
104 |
+
: '';
|
105 |
+
|
106 |
+
return $instance;
|
107 |
+
}
|
108 |
+
|
109 |
+
function form($instance) {
|
110 |
+
$instance = wp_parse_args( (array) $instance, array('badge_id' => 'ecwid-shopping-cart-widget-5') );
|
111 |
+
|
112 |
+
foreach ($this->available_badges as $id => $widget) {
|
113 |
+
$element_id = "badge-$id";
|
114 |
+
$name = $this->get_field_name('badge_id');
|
115 |
+
$checked = '';
|
116 |
+
if (isset($instance['badge_id']) && $instance['badge_id'] == $id) {
|
117 |
+
$checked = 'checked="checked"';
|
118 |
+
}
|
119 |
+
$url = sprintf($this->url_template, $id);
|
120 |
+
$content = <<<HTML
|
121 |
+
<label class="ecwid-badge">
|
122 |
+
<div class="checkbox">
|
123 |
+
<input name="$name" type="radio" value="$widget[name]"$checked/>
|
124 |
+
</div>
|
125 |
+
<div class="image">
|
126 |
+
<img src="$url" width="$widget[width]" height="$widget[height]" alt="$widget[alt]" />
|
127 |
+
</div>
|
128 |
+
</label>
|
129 |
+
HTML;
|
130 |
+
echo $content;
|
131 |
+
}
|
132 |
+
}
|
133 |
+
}
|
includes/widgets/class-ecwid-widget-minicart-miniview.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Ecwid_Widget_Minicart_Miniview extends WP_Widget {
|
3 |
+
|
4 |
+
function __construct() {
|
5 |
+
$widget_ops = array('classname' => 'widget_ecwid_minicart_miniview', 'description' => __("Adds a compact cart widget for customer to see the products they added to the cart.", 'ecwid-shopping-cart') );
|
6 |
+
parent::__construct('ecwidminicart_miniview', __('Shopping Cart (Mini)', 'ecwid-shopping-cart'), $widget_ops);
|
7 |
+
}
|
8 |
+
|
9 |
+
function widget($args, $instance) {
|
10 |
+
extract($args);
|
11 |
+
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
12 |
+
|
13 |
+
echo $before_widget;
|
14 |
+
|
15 |
+
if ( $title )
|
16 |
+
echo $before_title . $title . $after_title;
|
17 |
+
|
18 |
+
|
19 |
+
echo '<div>';
|
20 |
+
echo '<!-- noptimize -->';
|
21 |
+
|
22 |
+
echo ecwid_get_scriptjs_code();
|
23 |
+
echo ecwid_get_product_browser_url_script();
|
24 |
+
echo '<script data-cfasync="false" type="text/javascript"> xMinicart("style=left:10px","layout=Mini"); </script>';
|
25 |
+
|
26 |
+
echo '<!-- /noptimize -->';
|
27 |
+
echo '</div>';
|
28 |
+
|
29 |
+
echo $after_widget;
|
30 |
+
}
|
31 |
+
|
32 |
+
function update($new_instance, $old_instance){
|
33 |
+
$instance = $old_instance;
|
34 |
+
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
35 |
+
|
36 |
+
return $instance;
|
37 |
+
}
|
38 |
+
|
39 |
+
function form($instance){
|
40 |
+
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
41 |
+
|
42 |
+
$title = htmlspecialchars($instance['title']);
|
43 |
+
|
44 |
+
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
45 |
+
}
|
46 |
+
|
47 |
+
}
|
includes/widgets/class-ecwid-widget-minicart.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Ecwid_Widget_Minicart extends WP_Widget {
|
3 |
+
|
4 |
+
function __construct() {
|
5 |
+
$widget_ops = array('classname' => 'widget_ecwid_minicart', 'description' => __("Adds a cart widget for customer to see the products they added to the cart.", 'ecwid-shopping-cart') );
|
6 |
+
parent::__construct('ecwidminicart', __('Shopping Cart', 'ecwid-shopping-cart'), $widget_ops);
|
7 |
+
|
8 |
+
}
|
9 |
+
|
10 |
+
function widget($args, $instance) {
|
11 |
+
extract($args);
|
12 |
+
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
13 |
+
|
14 |
+
echo $before_widget;
|
15 |
+
|
16 |
+
if ( $title )
|
17 |
+
echo $before_title . $title . $after_title;
|
18 |
+
|
19 |
+
echo '<div>';
|
20 |
+
|
21 |
+
echo '<!-- noptimize -->';
|
22 |
+
echo ecwid_get_scriptjs_code();
|
23 |
+
echo ecwid_get_product_browser_url_script();
|
24 |
+
echo '<script data-cfasync="false" type="text/javascript"> xMinicart("style="); </script>';
|
25 |
+
|
26 |
+
echo '<!-- /noptimize -->';
|
27 |
+
echo '</div>';
|
28 |
+
|
29 |
+
echo $after_widget;
|
30 |
+
}
|
31 |
+
|
32 |
+
function update($new_instance, $old_instance){
|
33 |
+
$instance = $old_instance;
|
34 |
+
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
35 |
+
|
36 |
+
return $instance;
|
37 |
+
}
|
38 |
+
|
39 |
+
function form($instance){
|
40 |
+
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
41 |
+
|
42 |
+
$title = htmlspecialchars($instance['title']);
|
43 |
+
|
44 |
+
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
45 |
+
}
|
46 |
+
|
47 |
+
}
|
includes/widgets/class-ecwid-widget-recently-viewed.php
ADDED
@@ -0,0 +1,158 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Ecwid_Widget_Recently_Viewed extends WP_Widget {
|
3 |
+
|
4 |
+
var $max = 10;
|
5 |
+
var $min = 1;
|
6 |
+
var $default = 3;
|
7 |
+
|
8 |
+
function __construct() {
|
9 |
+
$widget_ops = array('classname' => 'widget_ecwid_recently_viewed', 'description' => __('Displays a list of products recently viewed by the customer to easily return to the products they saw in your shop.', 'ecwid-shopping-cart'));
|
10 |
+
parent::__construct('ecwidrecentlyviewed', __('Recently Viewed Products', 'ecwid-shopping-cart'), $widget_ops);
|
11 |
+
$recently_viewed = json_decode(stripslashes(@$_COOKIE['ecwid-shopping-cart-recently-viewed']));
|
12 |
+
|
13 |
+
if ($recently_viewed && $recently_viewed->store_id != get_ecwid_store_id() && !is_admin()) {
|
14 |
+
setcookie('ecwid-shopping-cart-recently-viewed', null, strtotime('-1 day'));
|
15 |
+
}
|
16 |
+
}
|
17 |
+
|
18 |
+
function widget($args, $instance) {
|
19 |
+
|
20 |
+
wp_enqueue_script('ecwid-recently-viewed-js', ECWID_PLUGIN_URL . 'js/recently-viewed.js', array('jquery', 'utils', 'ecwid-products-list-js'), get_option('ecwid_plugin_version'));
|
21 |
+
wp_enqueue_style('ecwid-products-list-css');
|
22 |
+
wp_enqueue_style('ecwid-recently-viewed-css', ECWID_PLUGIN_URL . 'css/recently-viewed.css', array(), get_option('ecwid_plugin_version'));
|
23 |
+
extract($args);
|
24 |
+
|
25 |
+
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
26 |
+
|
27 |
+
echo $before_widget;
|
28 |
+
|
29 |
+
if ( $title )
|
30 |
+
echo $before_title . $title . $after_title;
|
31 |
+
|
32 |
+
echo '<!-- noptimize -->' . ecwid_get_scriptjs_code() . '<!-- /noptimize -->';
|
33 |
+
|
34 |
+
$recently_viewed = false;
|
35 |
+
if (isset($_COOKIE['ecwid-shopping-cart-recently-viewed'])) {
|
36 |
+
$recently_viewed = json_decode($_COOKIE['ecwid-shopping-cart-recently-viewed']);
|
37 |
+
}
|
38 |
+
$recently_viewed = json_decode(stripslashes(@$_COOKIE['ecwid-shopping-cart-recently-viewed']));
|
39 |
+
|
40 |
+
if ($recently_viewed && $recently_viewed->store_id != get_ecwid_store_id()) {
|
41 |
+
$recently_viewed = null;
|
42 |
+
}
|
43 |
+
|
44 |
+
echo '<div class="ecwid-recently-viewed-products" data-ecwid-max="' . $instance['number_of_products'] . '">';
|
45 |
+
|
46 |
+
|
47 |
+
$api = false;
|
48 |
+
if (ecwid_is_api_enabled()) {
|
49 |
+
$api = ecwid_new_product_api();
|
50 |
+
}
|
51 |
+
|
52 |
+
$counter = 0;
|
53 |
+
$ids = array();
|
54 |
+
if ($recently_viewed && isset($recently_viewed->products)) {
|
55 |
+
|
56 |
+
for ($i = count($recently_viewed->products) - 1; $i >= 0; $i--) {
|
57 |
+
$product = $recently_viewed->products[$i];
|
58 |
+
|
59 |
+
$counter++;
|
60 |
+
if (isset($product->id) && isset($product->link)) {
|
61 |
+
$ids[] = $product->id;
|
62 |
+
$hide = $counter > $instance['number_of_products'] ? ' hidden' : '';
|
63 |
+
|
64 |
+
if ($api) {
|
65 |
+
$product_https = $api->get_product_https($product->id);
|
66 |
+
}
|
67 |
+
|
68 |
+
$name = isset($product_https) ? $product_https['name']: '';
|
69 |
+
|
70 |
+
echo <<<HTML
|
71 |
+
<a class="product$hide" href="$product->link" alt="$name" title="$name">
|
72 |
+
<div class="ecwid ecwid-SingleProduct ecwid-Product ecwid-Product-$product->id" data-single-product-link="$product->link" itemscope itemtype="http://schema.org/Product" data-single-product-id="$product->id">
|
73 |
+
<div itemprop="image" data-force-image="$product_https[imageUrl]"></div>
|
74 |
+
<div class="ecwid-title" itemprop="name"></div>
|
75 |
+
<div itemtype="http://schema.org/Offer" itemscope itemprop="offers"><div class="ecwid-productBrowser-price ecwid-price" itemprop="price"></div></div>
|
76 |
+
</div>
|
77 |
+
|
78 |
+
<!-- noptimize --><script type="text/javascript">xSingleProduct();</script><!-- /noptimize -->
|
79 |
+
</a>
|
80 |
+
HTML;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
} else {
|
84 |
+
echo <<<HTML
|
85 |
+
<script type="text/javascript">
|
86 |
+
jQuery(document).ready(function() {
|
87 |
+
wpCookies.remove('ecwid-shopping-cart-recently-viewed');
|
88 |
+
recently_viewed = {products: []};
|
89 |
+
});
|
90 |
+
</script>
|
91 |
+
HTML;
|
92 |
+
}
|
93 |
+
$ids_string = '';
|
94 |
+
if (!empty($ids)) {
|
95 |
+
$ids_string = implode(',', $ids);
|
96 |
+
}
|
97 |
+
|
98 |
+
echo <<<HTML
|
99 |
+
<script type="text/javascript">
|
100 |
+
<!--
|
101 |
+
jQuery(document).ready(function() {
|
102 |
+
jQuery('#$this->id .ecwid-recently-viewed-products').recentlyViewedProducts();
|
103 |
+
});
|
104 |
+
-->
|
105 |
+
</script>
|
106 |
+
HTML;
|
107 |
+
|
108 |
+
echo "</div>";
|
109 |
+
|
110 |
+
$store_link_message = empty($instance['store_link_title']) ? __('You have not viewed any product yet. Open store.', 'ecwid-shopping-cart') : $instance['store_link_title'];
|
111 |
+
|
112 |
+
$page_id = ecwid_get_current_store_page_id();
|
113 |
+
$post = get_post($page_id);
|
114 |
+
|
115 |
+
if (empty($recently_viewed->products)) {
|
116 |
+
echo '<a class="show-if-empty" href="' . ecwid_get_store_page_url() . '">' . $store_link_message . '</a>';
|
117 |
+
}
|
118 |
+
|
119 |
+
echo $after_widget;
|
120 |
+
}
|
121 |
+
|
122 |
+
function update($new_instance, $old_instance){
|
123 |
+
$instance = $old_instance;
|
124 |
+
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
125 |
+
$instance['store_link_title'] = strip_tags(stripslashes($new_instance['store_link_title']));
|
126 |
+
$num = intval($new_instance['number_of_products']);
|
127 |
+
if ($num > $this->max || $num < $this->min) {
|
128 |
+
$num = $this->default;
|
129 |
+
}
|
130 |
+
$instance['number_of_products'] = intval($new_instance['number_of_products']);
|
131 |
+
|
132 |
+
return $instance;
|
133 |
+
}
|
134 |
+
|
135 |
+
function form($instance){
|
136 |
+
|
137 |
+
$instance = wp_parse_args( (array) $instance,
|
138 |
+
array(
|
139 |
+
'title' => __('Recently Viewed Products', 'ecwid-shopping-cart'),
|
140 |
+
'store_link_title' => __('You have not viewed any product yet. Open store.', 'ecwid-shopping-cart'),
|
141 |
+
'number_of_products' => 3
|
142 |
+
)
|
143 |
+
);
|
144 |
+
|
145 |
+
$title = htmlspecialchars($instance['title']);
|
146 |
+
$store_link_title = htmlspecialchars($instance['store_link_title']);
|
147 |
+
$number_of_products = $instance['number_of_products'];
|
148 |
+
if ($number_of_products)
|
149 |
+
|
150 |
+
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title') . ': <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
151 |
+
echo '<p><label for="' . $this->get_field_name('store_link_title') . '">' . __('Store Link Title', 'ecwid-shopping-cart') . ': <input style="width:100%;" id="' . $this->get_field_id('store_link_title') . '" name="' . $this->get_field_name('store_link_title') . '" type="text" value="' . $store_link_title . '" /></label></p>';
|
152 |
+
echo '<p><label for="' . $this->get_field_name('number_of_products') . '">' . __( 'Number of products to show', 'ecwid-shopping-cart' ) . ': <input style="width:100%;" id="' . $this->get_field_id('number_of_products') . '" name="' . $this->get_field_name('number_of_products') . '" type="number" min="' . $this->min . '" max="' . $this->max . '" value="' . $number_of_products . '" /></label></p>';
|
153 |
+
}
|
154 |
+
|
155 |
+
function is_valid_number_of_products($num) {
|
156 |
+
return is_numeric($num) && $num <= $this->max && $num >= $this->min;
|
157 |
+
}
|
158 |
+
}
|
includes/widgets/class-ecwid-widget-search.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Ecwid_Widget_Search extends WP_Widget {
|
3 |
+
|
4 |
+
function __construct() {
|
5 |
+
$widget_ops = array('classname' => 'widget_ecwid_search', 'description' => __("Displays a simple search box for your customers to find a product in your storex", 'ecwid-shopping-cart'));
|
6 |
+
parent::__construct('ecwidsearch', __('Product Search', 'ecwid-shopping-cart'), $widget_ops);
|
7 |
+
}
|
8 |
+
|
9 |
+
function widget($args, $instance) {
|
10 |
+
extract($args);
|
11 |
+
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
12 |
+
|
13 |
+
echo $before_widget;
|
14 |
+
|
15 |
+
if ( $title )
|
16 |
+
echo $before_title . $title . $after_title;
|
17 |
+
|
18 |
+
echo '<div>';
|
19 |
+
echo '<!-- noptimize -->';
|
20 |
+
|
21 |
+
echo ecwid_get_scriptjs_code();
|
22 |
+
echo ecwid_get_product_browser_url_script();
|
23 |
+
echo '<script data-cfasync="false" type="text/javascript"> xSearchPanel("style="); </script>';
|
24 |
+
|
25 |
+
echo '<!-- /noptimize -->';
|
26 |
+
echo '</div>';
|
27 |
+
|
28 |
+
echo $after_widget;
|
29 |
+
}
|
30 |
+
|
31 |
+
function update($new_instance, $old_instance){
|
32 |
+
$instance = $old_instance;
|
33 |
+
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
34 |
+
|
35 |
+
return $instance;
|
36 |
+
}
|
37 |
+
|
38 |
+
function form($instance){
|
39 |
+
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
40 |
+
|
41 |
+
$title = htmlspecialchars($instance['title']);
|
42 |
+
|
43 |
+
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
44 |
+
}
|
45 |
+
|
46 |
+
}
|
includes/widgets/class-ecwid-widget-store-link.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Ecwid_Widget_Store_Link extends WP_Widget {
|
3 |
+
|
4 |
+
function __construct() {
|
5 |
+
$widget_ops = array('classname' => 'widget_ecwid_store_link', 'description' => __('Displays a link to the store page in sidebar for customer to quickly access your store from any page on the site.', 'ecwid-shopping-cart'));
|
6 |
+
parent::__construct('ecwidstorelink', __('Store Page Link', 'ecwid-shopping-cart'), $widget_ops);
|
7 |
+
}
|
8 |
+
|
9 |
+
function widget($args, $instance) {
|
10 |
+
extract($args);
|
11 |
+
echo $before_widget;
|
12 |
+
|
13 |
+
echo '<div>';
|
14 |
+
|
15 |
+
echo '<a href="' . ecwid_get_store_page_url() . '">' . $instance['label'] . '</a>';
|
16 |
+
echo '</div>';
|
17 |
+
|
18 |
+
echo $after_widget;
|
19 |
+
}
|
20 |
+
|
21 |
+
function update($new_instance, $old_instance){
|
22 |
+
$instance = $old_instance;
|
23 |
+
$instance['label'] = strip_tags(stripslashes($new_instance['label']));
|
24 |
+
|
25 |
+
return $instance;
|
26 |
+
}
|
27 |
+
|
28 |
+
function form($instance){
|
29 |
+
$instance = wp_parse_args( (array) $instance, array( 'label' => __('Shop', 'ecwid-shopping-cart') ) );
|
30 |
+
|
31 |
+
$label = htmlspecialchars($instance['label']);
|
32 |
+
|
33 |
+
echo '<p><label for="' . $this->get_field_name('label') . '">' . __('Text') . ': <input style="width:100%;" id="' . $this->get_field_id('label') . '" name="' . $this->get_field_name('label') . '" type="text" value="' . $label . '" /></label></p>';
|
34 |
+
}
|
35 |
+
|
36 |
+
}
|
includes/widgets/class-ecwid-widget-vcategories.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Ecwid_Widget_VCategories extends WP_Widget {
|
3 |
+
|
4 |
+
function __construct() {
|
5 |
+
$widget_ops = array('classname' => 'widget_ecwid_vcategories', 'description' => __('Adds vertical categories block to let the customer navigate your store.', 'ecwid-shopping-cart'));
|
6 |
+
parent::__construct('ecwidvcategories', __('Store Categories', 'ecwid-shopping-cart'), $widget_ops);
|
7 |
+
}
|
8 |
+
|
9 |
+
function widget($args, $instance) {
|
10 |
+
extract($args);
|
11 |
+
$title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title']);
|
12 |
+
|
13 |
+
echo $before_widget;
|
14 |
+
|
15 |
+
if ( $title )
|
16 |
+
echo $before_title . $title . $after_title;
|
17 |
+
|
18 |
+
echo '<div>';
|
19 |
+
echo '<!-- noptimize -->';
|
20 |
+
|
21 |
+
echo ecwid_get_scriptjs_code();
|
22 |
+
echo ecwid_get_product_browser_url_script();
|
23 |
+
echo '<script data-cfasync="false" type="text/javascript"> xVCategories("style="); </script>';
|
24 |
+
|
25 |
+
echo '<!-- /noptimize -->';
|
26 |
+
echo '</div>';
|
27 |
+
|
28 |
+
echo $after_widget;
|
29 |
+
}
|
30 |
+
|
31 |
+
function update($new_instance, $old_instance){
|
32 |
+
$instance = $old_instance;
|
33 |
+
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
34 |
+
|
35 |
+
return $instance;
|
36 |
+
}
|
37 |
+
|
38 |
+
function form($instance){
|
39 |
+
$instance = wp_parse_args( (array) $instance, array('title'=>'') );
|
40 |
+
|
41 |
+
$title = htmlspecialchars($instance['title']);
|
42 |
+
|
43 |
+
echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
|
44 |
+
}
|
45 |
+
|
46 |
+
}
|
js/admin.js
CHANGED
@@ -65,6 +65,7 @@
|
|
65 |
for (var i in this.widgets) {
|
66 |
if (widgetElement.find('.' + i).length > 0) {
|
67 |
ecwid_kissmetrics_record('sb-widget ' + this.widgets[i] + 'Added');
|
|
|
68 |
break;
|
69 |
}
|
70 |
}
|
@@ -115,7 +116,7 @@
|
|
115 |
|
116 |
if (jQuery('#ecwid-frame').length > 0) {
|
117 |
if (jQuery('div.update-nag').length > 0) {
|
118 |
-
jQuery('#
|
119 |
}
|
120 |
for (var i = 0; i < admin_pages.length; i++) {
|
121 |
jQuery('li.toplevel_page_ecwid .wp-submenu a[href="' + admin_pages[i].url + '"]')
|
@@ -136,4 +137,8 @@
|
|
136 |
});
|
137 |
}
|
138 |
}
|
|
|
|
|
|
|
|
|
139 |
});
|
65 |
for (var i in this.widgets) {
|
66 |
if (widgetElement.find('.' + i).length > 0) {
|
67 |
ecwid_kissmetrics_record('sb-widget ' + this.widgets[i] + 'Added');
|
68 |
+
ecwid_kissmetrics_record('sb-widget-added');
|
69 |
break;
|
70 |
}
|
71 |
}
|
116 |
|
117 |
if (jQuery('#ecwid-frame').length > 0) {
|
118 |
if (jQuery('div.update-nag').length > 0) {
|
119 |
+
jQuery('#ecwid-frame').addClass('has-wp-message');
|
120 |
}
|
121 |
for (var i = 0; i < admin_pages.length; i++) {
|
122 |
jQuery('li.toplevel_page_ecwid .wp-submenu a[href="' + admin_pages[i].url + '"]')
|
137 |
});
|
138 |
}
|
139 |
}
|
140 |
+
|
141 |
+
jQuery('#wp-admin-bar-ecwid-main-default a').click(function() {
|
142 |
+
ecwid_kissmetrics_record('Top Menu Clicked');
|
143 |
+
});
|
144 |
});
|
js/kissmetrics.js
CHANGED
@@ -2,15 +2,22 @@ if ( typeof ecwid_kissmetrics.store_id != 'undefined' ) {
|
|
2 |
_kmq.push([ 'identify', ecwid_kissmetrics.store_id ] );
|
3 |
}
|
4 |
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
function ecwid_kissmetrics_record(event) {
|
7 |
if (typeof this.fired == 'undefined') {
|
8 |
this.fired = [];
|
9 |
}
|
10 |
|
|
|
|
|
11 |
if (this.fired.indexOf(event) != -1) return;
|
12 |
|
13 |
-
ecwid_kissmetrics.
|
14 |
this.fired.push(event);
|
15 |
|
16 |
ecwid_kissmetrics_flush();
|
@@ -21,11 +28,16 @@ function ecwid_kissmetrics_flush() {
|
|
21 |
return;
|
22 |
}
|
23 |
|
24 |
-
for (var i = 0; i < ecwid_kissmetrics.
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
26 |
}
|
27 |
|
28 |
-
ecwid_kissmetrics.
|
29 |
}
|
30 |
|
31 |
jQuery(document).ready(function() {
|
2 |
_kmq.push([ 'identify', ecwid_kissmetrics.store_id ] );
|
3 |
}
|
4 |
|
5 |
+
function ecwid_kissmetrics_set(nameValue) {
|
6 |
+
ecwid_kissmetrics.items.push({'property' : nameValue });
|
7 |
+
|
8 |
+
ecwid_kissmetrics_flush();
|
9 |
+
}
|
10 |
|
11 |
function ecwid_kissmetrics_record(event) {
|
12 |
if (typeof this.fired == 'undefined') {
|
13 |
this.fired = [];
|
14 |
}
|
15 |
|
16 |
+
event = 'wp-plugin ' + event;
|
17 |
+
|
18 |
if (this.fired.indexOf(event) != -1) return;
|
19 |
|
20 |
+
ecwid_kissmetrics.items.push({event: event});
|
21 |
this.fired.push(event);
|
22 |
|
23 |
ecwid_kissmetrics_flush();
|
28 |
return;
|
29 |
}
|
30 |
|
31 |
+
for (var i = 0; i < ecwid_kissmetrics.items.length; i++) {
|
32 |
+
var item = ecwid_kissmetrics.items[i];
|
33 |
+
if (typeof item.event != 'undefined') {
|
34 |
+
_kmq.push(['record', ecwid_kissmetrics.items[i].event]);
|
35 |
+
} else if (typeof item.property != 'undefined') {
|
36 |
+
_kmq.push( [ 'set', ecwid_kissmetrics.items[i].property ] );
|
37 |
+
}
|
38 |
}
|
39 |
|
40 |
+
ecwid_kissmetrics.items = [];
|
41 |
}
|
42 |
|
43 |
jQuery(document).ready(function() {
|
js/landing.js
CHANGED
@@ -2,4 +2,49 @@ switch_to_connect = function() {
|
|
2 |
jQuery('.ecwid-landing').removeClass('register').addClass('connect');
|
3 |
jQuery('.ecwid-thank-step-one').addClass('active');
|
4 |
wpCookies.set('ecwid_create_store_clicked', 1);
|
5 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
jQuery('.ecwid-landing').removeClass('register').addClass('connect');
|
3 |
jQuery('.ecwid-thank-step-one').addClass('active');
|
4 |
wpCookies.set('ecwid_create_store_clicked', 1);
|
5 |
+
}
|
6 |
+
|
7 |
+
hide_on_loading = '.create-store-button, .create-store-have-account-question';
|
8 |
+
invisible_on_loading = '.create-store-have-account-link';
|
9 |
+
show_on_loading = '.create-store-loading, .create-store-loading-note';
|
10 |
+
|
11 |
+
hide_on_success = '.create-store-loading, .create-store-loading-note';
|
12 |
+
show_on_success = '.create-store-success, .create-store-success-note';
|
13 |
+
|
14 |
+
|
15 |
+
jQuery(document).ready(function(){
|
16 |
+
|
17 |
+
jQuery('.create-store-button').click(function() {
|
18 |
+
|
19 |
+
var $context = jQuery(this).closest('.ecwid-button');
|
20 |
+
jQuery(hide_on_loading + ', ' + invisible_on_loading, $context).fadeTo(150, .01).promise().done(function() {
|
21 |
+
jQuery(hide_on_loading, $context).hide();
|
22 |
+
jQuery(invisible_on_loading, $context).css('visibility', 'hidden');
|
23 |
+
|
24 |
+
jQuery(show_on_loading, $context).fadeIn(300);
|
25 |
+
})
|
26 |
+
|
27 |
+
jQuery.ajax(ajaxurl + '?action=ecwid_create_store',
|
28 |
+
{
|
29 |
+
success: function(result) {
|
30 |
+
var html = result;
|
31 |
+
jQuery(hide_on_success, $context).fadeTo(150, .01).promise().done(function() {
|
32 |
+
jQuery(hide_on_success, $context).hide();
|
33 |
+
|
34 |
+
jQuery(show_on_success, $context).fadeIn(300);
|
35 |
+
setTimeout(function() {
|
36 |
+
location.href="admin.php?page=ecwid&just-created";
|
37 |
+
}, 1000);
|
38 |
+
})
|
39 |
+
},
|
40 |
+
error: function() {
|
41 |
+
window.location.href = ecwidParams.registerLink;
|
42 |
+
}
|
43 |
+
}
|
44 |
+
);
|
45 |
+
});
|
46 |
+
|
47 |
+
});
|
48 |
+
switch_to_success = function() {
|
49 |
+
|
50 |
+
}
|
js/nav-menu.js
CHANGED
@@ -66,7 +66,7 @@ jQuery(document).ready(function() {
|
|
66 |
if (!findEcwidLink(element)) return;
|
67 |
|
68 |
ecwid_kissmetrics_record('menu-items ' + ecwidClasses[ecwidLink] + 'Added');
|
69 |
-
|
70 |
}
|
71 |
|
72 |
findEcwidLink = function(element) {
|
66 |
if (!findEcwidLink(element)) return;
|
67 |
|
68 |
ecwid_kissmetrics_record('menu-items ' + ecwidClasses[ecwidLink] + 'Added');
|
69 |
+
ecwid_kissmetrics_record('menu-items-added');
|
70 |
}
|
71 |
|
72 |
findEcwidLink = function(element) {
|
languages/ecwid-shopping-cart-ru_RU.mo
CHANGED
Binary file
|
languages/ecwid-shopping-cart-ru_RU.po
CHANGED
@@ -133,7 +133,7 @@ msgstr "Просмотренные товары"
|
|
133 |
msgid "Number of products to show"
|
134 |
msgstr "Количество товаров для отображения"
|
135 |
|
136 |
-
msgid "Greetings! Your Ecwid
|
137 |
msgstr "Добро пожаловать в Эквид!"
|
138 |
|
139 |
msgid "Take a few simple steps to complete store setup"
|
@@ -157,11 +157,11 @@ msgstr "Настроить внешний вид"
|
|
157 |
msgid "Your store is almost ready!"
|
158 |
msgstr "Магазин почти готов!"
|
159 |
|
160 |
-
msgid "
|
161 |
-
msgstr "
|
162 |
|
163 |
-
msgid "
|
164 |
-
msgstr "
|
165 |
|
166 |
msgid "To add extra functions to your store, drag and drop Ecwid store elements on your site. When you're done, you can get back to modifying your settings."
|
167 |
msgstr "Добавьте дополнительные элементы магазина, перетащив виджеты Эквида в нужное место сайта. После установки виджетов можете вернуться к настройкам магазина."
|
@@ -289,9 +289,6 @@ msgstr "Ошибка подключения: после нажатия на кн
|
|
289 |
msgid "Don't have Ecwid account? Create it here"
|
290 |
msgstr "Ещё нет аккаунта в Эквиде? Зарегистрируйтесь"
|
291 |
|
292 |
-
msgid "Questions? <a %s>Read FAQ</a> or contact support at <a %s>wordpress@ecwid.com</a>"
|
293 |
-
msgstr "Есть вопросы? Посетите <a %s>Центр поддержки Эквида (англ)</a> или напишите нам на <a %s>wordpress@ecwid.com</a>"
|
294 |
-
|
295 |
msgid "Store ID"
|
296 |
msgstr "ID Магазина"
|
297 |
|
@@ -419,7 +416,7 @@ msgid "More than 800,000 merchants in 175 countries"
|
|
419 |
msgstr "Эквид уже используют 800,000 продавцов из 175 стран"
|
420 |
|
421 |
msgid "Start selling <br>on your WordPress <nobr>site for free</nobr>"
|
422 |
-
msgstr "Начните продавать<br>на своём
|
423 |
|
424 |
msgid "Get Started, Create Ecwid Account"
|
425 |
msgstr "Зарегистрировать аккаунт"
|
@@ -512,7 +509,7 @@ msgid "Sales"
|
|
512 |
msgstr "Продажи"
|
513 |
|
514 |
msgid "If you want to connect another Ecwid store, you can re-connect on <a %s>this page</a>"
|
515 |
-
msgstr "Чтобы отвязать Эквид-аккаунт от сайта и подключить другой, воспользуйтесь <a %s>этой
|
516 |
|
517 |
msgid "Your store Control Panel. Right here in WordPress."
|
518 |
msgstr "Панель управления магазином, встроенная в Wordpress."
|
@@ -529,8 +526,47 @@ msgstr "Сообщить о проблеме"
|
|
529 |
msgid "https://help.ecwid.com"
|
530 |
msgstr "https://help.ecwid.com/customer/ru/portal/articles"
|
531 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
msgid "Download log file"
|
533 |
msgstr "Скачать лог-файл"
|
534 |
|
535 |
msgid "See more"
|
536 |
-
msgstr "Посмотреть все"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
msgid "Number of products to show"
|
134 |
msgstr "Количество товаров для отображения"
|
135 |
|
136 |
+
msgid "Greetings! Your Ecwid plugin is now active."
|
137 |
msgstr "Добро пожаловать в Эквид!"
|
138 |
|
139 |
msgid "Take a few simple steps to complete store setup"
|
157 |
msgid "Your store is almost ready!"
|
158 |
msgstr "Магазин почти готов!"
|
159 |
|
160 |
+
msgid "Complete setup and start selling"
|
161 |
+
msgstr "Завершите установку и начните продавать"
|
162 |
|
163 |
+
msgid "Complete Setup"
|
164 |
+
msgstr "Продолжить установку"
|
165 |
|
166 |
msgid "To add extra functions to your store, drag and drop Ecwid store elements on your site. When you're done, you can get back to modifying your settings."
|
167 |
msgstr "Добавьте дополнительные элементы магазина, перетащив виджеты Эквида в нужное место сайта. После установки виджетов можете вернуться к настройкам магазина."
|
289 |
msgid "Don't have Ecwid account? Create it here"
|
290 |
msgstr "Ещё нет аккаунта в Эквиде? Зарегистрируйтесь"
|
291 |
|
|
|
|
|
|
|
292 |
msgid "Store ID"
|
293 |
msgstr "ID Магазина"
|
294 |
|
416 |
msgstr "Эквид уже используют 800,000 продавцов из 175 стран"
|
417 |
|
418 |
msgid "Start selling <br>on your WordPress <nobr>site for free</nobr>"
|
419 |
+
msgstr "Начните продавать<br>на своём WordPress <nobr>сайте бесплатно</nobr>"
|
420 |
|
421 |
msgid "Get Started, Create Ecwid Account"
|
422 |
msgstr "Зарегистрировать аккаунт"
|
509 |
msgstr "Продажи"
|
510 |
|
511 |
msgid "If you want to connect another Ecwid store, you can re-connect on <a %s>this page</a>"
|
512 |
+
msgstr "Чтобы отвязать Эквид-аккаунт от сайта и подключить другой, воспользуйтесь <a %s>этой страницей</a>"
|
513 |
|
514 |
msgid "Your store Control Panel. Right here in WordPress."
|
515 |
msgstr "Панель управления магазином, встроенная в Wordpress."
|
526 |
msgid "https://help.ecwid.com"
|
527 |
msgstr "https://help.ecwid.com/customer/ru/portal/articles"
|
528 |
|
529 |
+
msgid "Welcome to Ecwid!"
|
530 |
+
msgstr "Добро пожаловать в Ecwid!"
|
531 |
+
|
532 |
+
msgid "Thank you for choosing Ecwid to build your online store. The first step to sell successfully online is to setup your store! Let’s get started and add a store to your website in a few simple steps."
|
533 |
+
msgstr "Спасибо, что выбрали Ecwid для создания вашего интернет-магазина. Первый шаг к успешной онлайн торговле — настройка магазина! Давайте добавим магазин на ваш сайт за несколько простых шагов."
|
534 |
+
|
535 |
+
msgid "Create Free Ecwid Store"
|
536 |
+
msgstr "Создать Эквид-магазин"
|
537 |
+
|
538 |
+
msgid "Preparing your store dashboard"
|
539 |
+
msgstr "Подготовка панели управления"
|
540 |
+
|
541 |
+
msgid "Store is created"
|
542 |
+
msgstr "Магазин создан"
|
543 |
+
|
544 |
msgid "Download log file"
|
545 |
msgstr "Скачать лог-файл"
|
546 |
|
547 |
msgid "See more"
|
548 |
+
msgstr "Посмотреть все"
|
549 |
+
|
550 |
+
msgid "Read FAQ"
|
551 |
+
msgstr "Посмотреть FAQ"
|
552 |
+
|
553 |
+
msgid "https://help.ecwid.com/customer/portal/articles/1085017-wordpress-downloadable"
|
554 |
+
msgstr "https://help.ecwid.com/customer/ru/portal/articles/1085017-wordpress-org"
|
555 |
+
|
556 |
+
msgid "Questions?"
|
557 |
+
msgstr "Есть вопросы?"
|
558 |
+
|
559 |
+
msgid "<a target=\"_blank\" href=\"https://help.ecwid.com/customer/portal/articles/1085017-wordpress-downloadable\">Read FAQ</a> or contact support at <a %s>wordpress@ecwid.com</a>"
|
560 |
+
msgstr "Посетите <a target=\"_blank\" href=\"https://help.ecwid.com/customer/ru/portal/articles/1085017-wordpress-org\">Центр поддержки Эквида</a> или напишите нам на <a %s>wordpress@ecwid.com</a>"
|
561 |
+
|
562 |
+
msgid "Want to connect another Ecwid store?"
|
563 |
+
msgstr "Хотите подключить другой Эквид-магазин?"
|
564 |
+
|
565 |
+
msgid "You can reconnect on <a %s>this page</a>"
|
566 |
+
msgstr "<a %s>Отвязать Эквид-аккаунт от сайта и подключить другой</a>"
|
567 |
+
|
568 |
+
msgid "Creating store"
|
569 |
+
msgstr "Создание магазина"
|
570 |
+
|
571 |
+
msgid "Manage Store on iPhone, iPad or Android"
|
572 |
+
msgstr "Управляйте магазином с iPhone, iPad, Android"
|
lib/ecwid_api_v3.php
CHANGED
@@ -11,9 +11,9 @@ class Ecwid_Api_V3
|
|
11 |
|
12 |
public $store_id = null;
|
13 |
|
14 |
-
public function __construct(
|
15 |
|
16 |
-
$this->store_id =
|
17 |
$this->_api_url = ' https://app.ecwid.com/api/v3/';
|
18 |
$this->_stores_api_url = $this->_api_url . 'stores';
|
19 |
|
@@ -163,13 +163,57 @@ class Ecwid_Api_V3
|
|
163 |
|
164 |
$url = $this->build_request_url($this->_stores_api_url, $params);
|
165 |
|
166 |
-
$result = EcwidPlatform::
|
167 |
|
168 |
return @$result['code'] == 200;
|
169 |
}
|
170 |
|
171 |
-
public function create_store(
|
172 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
$request_params = array(
|
174 |
'appClientId',
|
175 |
'appSecretKey',
|
@@ -177,10 +221,7 @@ class Ecwid_Api_V3
|
|
177 |
);
|
178 |
$url = $this->build_request_url($this->_stores_api_url, $request_params);
|
179 |
|
180 |
-
|
181 |
-
|
182 |
-
$result = EcwidPlatform::http_post_request($url, $params);
|
183 |
-
|
184 |
return $result;
|
185 |
}
|
186 |
|
11 |
|
12 |
public $store_id = null;
|
13 |
|
14 |
+
public function __construct() {
|
15 |
|
16 |
+
$this->store_id = EcwidPlatform::get_store_id();
|
17 |
$this->_api_url = ' https://app.ecwid.com/api/v3/';
|
18 |
$this->_stores_api_url = $this->_api_url . 'stores';
|
19 |
|
163 |
|
164 |
$url = $this->build_request_url($this->_stores_api_url, $params);
|
165 |
|
166 |
+
$result = EcwidPlatform::http_get_request($url);
|
167 |
|
168 |
return @$result['code'] == 200;
|
169 |
}
|
170 |
|
171 |
+
public function create_store()
|
172 |
{
|
173 |
+
global $current_user;
|
174 |
+
$admin_email = $current_user->user_email;
|
175 |
+
|
176 |
+
$admin_first = get_user_meta($current_user->ID, 'first_name', true);
|
177 |
+
if (!$admin_first) {
|
178 |
+
$admin_first = get_user_meta($current_user->ID, 'nickname', true);
|
179 |
+
}
|
180 |
+
$admin_last = get_user_meta($current_user->ID, 'last_name', true);
|
181 |
+
if (!$admin_last) {
|
182 |
+
$admin_last = get_user_meta($current_user->ID, 'nickname', true);
|
183 |
+
}
|
184 |
+
$admin_name = "$admin_first $admin_last";
|
185 |
+
$admin_nickname = $current_user->display_name;
|
186 |
+
$store_url = ecwid_get_store_page_url();
|
187 |
+
$site_name = get_bloginfo('name');
|
188 |
+
$site_email = get_option('admin_email');
|
189 |
+
$params = array(
|
190 |
+
'merchant' => array(
|
191 |
+
'email' => $admin_email,
|
192 |
+
'name' => $admin_name,
|
193 |
+
'password' => wp_generate_password(8),
|
194 |
+
'ip' => $_SERVER['REMOTE_ADDR']
|
195 |
+
),
|
196 |
+
'affiliatePartner' => array(
|
197 |
+
'source' => 'wporg'
|
198 |
+
),
|
199 |
+
'profile' => array(
|
200 |
+
'generalInfo' => array(
|
201 |
+
'storeUrl' => $store_url
|
202 |
+
),
|
203 |
+
'account' => array(
|
204 |
+
'accountName' => $admin_name,
|
205 |
+
'accountNickName' => $admin_nickname,
|
206 |
+
'accountEmail' => $admin_email
|
207 |
+
),
|
208 |
+
'settings' => array(
|
209 |
+
'storeName' => $site_name
|
210 |
+
),
|
211 |
+
'mailNotifications' => array(
|
212 |
+
'adminNotificationEmails' => array($site_email),
|
213 |
+
'customerNotificationFromEmail' => $site_email
|
214 |
+
)
|
215 |
+
),
|
216 |
+
);
|
217 |
$request_params = array(
|
218 |
'appClientId',
|
219 |
'appSecretKey',
|
221 |
);
|
222 |
$url = $this->build_request_url($this->_stores_api_url, $request_params);
|
223 |
|
224 |
+
$result = EcwidPlatform::http_post_request($url, json_encode($params));
|
|
|
|
|
|
|
225 |
return $result;
|
226 |
}
|
227 |
|
lib/ecwid_platform.php
CHANGED
@@ -6,6 +6,11 @@ class EcwidPlatform {
|
|
6 |
|
7 |
static protected $crypt = null;
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
static public function init_crypt($force = false)
|
10 |
{
|
11 |
if ( $force || is_null(self::$crypt) ) {
|
@@ -66,63 +71,77 @@ class EcwidPlatform {
|
|
66 |
|
67 |
static public function fetch_url($url)
|
68 |
{
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
}
|
77 |
-
|
|
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
|
|
|
|
120 |
}
|
121 |
|
122 |
static public function http_post_request($url, $data = array())
|
123 |
{
|
124 |
$result = null;
|
125 |
if (get_option('ecwid_http_use_stream', false) !== true) {
|
|
|
126 |
$result = wp_remote_post(
|
127 |
$url,
|
128 |
array( 'body' => $data )
|
6 |
|
7 |
static protected $crypt = null;
|
8 |
|
9 |
+
static public function get_store_id()
|
10 |
+
{
|
11 |
+
return get_ecwid_store_id();
|
12 |
+
}
|
13 |
+
|
14 |
static public function init_crypt($force = false)
|
15 |
{
|
16 |
if ( $force || is_null(self::$crypt) ) {
|
71 |
|
72 |
static public function fetch_url($url)
|
73 |
{
|
74 |
+
$use_file_get_contents = get_option('ecwid_fetch_url_use_file_get_contents', false);
|
75 |
+
|
76 |
+
if ($use_file_get_contents == 'Y') {
|
77 |
+
$result = @file_get_contents($url);
|
78 |
+
} else {
|
79 |
+
if (get_option('ecwid_http_use_stream', false)) {
|
80 |
+
self::$http_use_streams = true;
|
81 |
+
}
|
82 |
+
$result = wp_remote_get( $url, array( 'timeout' => get_option( 'ecwid_remote_get_timeout', 5 ) ) );
|
83 |
+
|
84 |
+
if (get_option('ecwid_http_use_stream', false)) {
|
85 |
+
self::$http_use_streams = false;
|
86 |
+
}
|
87 |
+
if (!is_array($result)) {
|
88 |
+
$result = @file_get_contents($url);
|
89 |
+
if (!empty($result)) {
|
90 |
+
update_option('ecwid_fetch_url_use_file_get_contents', true);
|
91 |
}
|
92 |
+
}
|
93 |
+
}
|
94 |
|
95 |
+
$return = array(
|
96 |
+
'code' => '',
|
97 |
+
'data' => '',
|
98 |
+
'message' => ''
|
99 |
+
);
|
100 |
+
|
101 |
+
if (is_string($result)) {
|
102 |
+
$return['code'] = 200;
|
103 |
+
$return['data'] = $result;
|
104 |
+
}
|
105 |
+
|
106 |
+
if (is_array($result)) {
|
107 |
+
$return = array(
|
108 |
+
'code' => $result['response']['code'],
|
109 |
+
'data' => $result['body']
|
110 |
+
);
|
111 |
+
} elseif (is_object($result)) {
|
112 |
+
|
113 |
+
$return = array(
|
114 |
+
'code' => $result->get_error_code(),
|
115 |
+
'data' => $result->get_error_data(),
|
116 |
+
'message' => $result->get_error_message()
|
117 |
+
);
|
118 |
+
|
119 |
+
$get_contents = file_get_contents($url);
|
120 |
+
if ($get_contents !== false) {
|
121 |
+
$return = array(
|
122 |
+
'code' => 200,
|
123 |
+
'data' => $get_contents,
|
124 |
+
'is_file_get_contents' => true
|
125 |
+
);
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
if ( empty($return['data']) || $return['code'] != 200 ) {
|
130 |
+
update_option('ecwid_remote_get_fails', 1);
|
131 |
+
}
|
132 |
+
|
133 |
+
return $return;
|
134 |
+
}
|
135 |
+
|
136 |
+
static public function http_get_request($url) {
|
137 |
+
return self::fetch_url($url);
|
138 |
}
|
139 |
|
140 |
static public function http_post_request($url, $data = array())
|
141 |
{
|
142 |
$result = null;
|
143 |
if (get_option('ecwid_http_use_stream', false) !== true) {
|
144 |
+
|
145 |
$result = wp_remote_post(
|
146 |
$url,
|
147 |
array( 'body' => $data )
|
readme.txt
CHANGED
@@ -1,61 +1,61 @@
|
|
1 |
=== Ecwid Shopping Cart ===
|
2 |
Contributors: ecwid
|
3 |
-
Tags: ecwid, shopping cart, ecommerce,
|
4 |
Requires at least: 3.5
|
5 |
Tested up to: 4.4
|
6 |
-
Stable tag: 4.
|
7 |
|
8 |
-
|
9 |
|
10 |
== Description ==
|
11 |
-
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
16 |
|
17 |
-
|
18 |
|
19 |
-
|
20 |
|
21 |
-
With Ecwid, your store data is fully hosted on our secure servers. So, regardless of the hosting you use, you get free of cost:
|
22 |
|
23 |
-
|
24 |
-
* seamless upgrades and security updates
|
25 |
-
* secure checkout via encrypted HTTPS connection
|
26 |
-
|
27 |
-
So, you don't need to worry about software updates, security patches and server maintenance - we do that for you. Your online store gets all the new features and bug fixes automatically.
|
28 |
|
|
|
29 |
|
30 |
-
=
|
31 |
|
32 |
-
Ecwid
|
33 |
|
|
|
|
|
|
|
34 |
|
35 |
-
|
36 |
|
37 |
-
|
38 |
|
|
|
39 |
|
40 |
= Sell Everywhere =
|
41 |
|
42 |
-
With Ecwid, you can
|
43 |
|
|
|
|
|
|
|
44 |
|
45 |
-
= Lightning Fast =
|
46 |
|
47 |
-
|
48 |
|
|
|
49 |
|
50 |
-
= Free =
|
51 |
-
Although Ecwid is packed with high-value features, Free plan is always available with no setup charges and no transaction fees. Get your online store up and running without paying anything. As your business grows, you can consider upgrading to one of our premium plans to get more ecommerce features. See also: [Ecwid plan and pricing](http://www.ecwid.com/pricing?source=wporg-plugin-site)
|
52 |
|
53 |
-
= See In Action =
|
54 |
|
55 |
* [Demo Store](http://www.ecwid.com/demo?source=wporg-plugin-site "Ecwid demo")
|
56 |
* [Ecwid Control panel](https://my.ecwid.com/?source=wporg-plugin-site "Ecwid Control Panel") (you will be able to create a free Ecwid account)
|
57 |
|
58 |
-
|
59 |
= Ecwid Site =
|
60 |
|
61 |
* [www.ecwid.com](http://www.ecwid.com/?source=wporg-plugin-site "Ecwid site")
|
@@ -104,8 +104,18 @@ http://codex.wordpress.org/Managing_Plugins#Installing_Plugins
|
|
104 |
* [Ecwid site](http://www.ecwid.com/?source=wporg-plugin-site "Ecwid Site")
|
105 |
|
106 |
== Changelog ==
|
107 |
-
= 4.1 =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
|
|
109 |
- **Product images are included in the sitemap generated by the Yoast SEO plugin.** Ecwid is integrated with popular SEO plugins: Yoast SEO and Google XML Sitemaps, which allows merchants to generate a sitemap containing the links to their products and categories. Now, the sitemaps generated by Yoast SEO will also automatically include links to the product images. This will make Google better index your products pictures and list them in the search results.
|
110 |
- **Ecwid plugin now supports oEmbed discovery.** As of version 4.4, WordPress supports oEmbed. In short, that's a tool which makes a link to a post or a page of your site looks nice when pasted on another site supporting this. Ecwid now supports it too, so if you paste a link to your store page on any other oEmbed-empowered site (e.g. another Wordpress site), it will automatically displays a nice widget with the page title and a list of your store categories.
|
111 |
- Fixes and improvements for the storefront widgets and for the plugins admin pages.
|
1 |
=== Ecwid Shopping Cart ===
|
2 |
Contributors: ecwid
|
3 |
+
Tags: ecwid, shopping cart, ecommerce, paypal, e-commerce, online store, store, shop, cart, digital goods, downloadable products, product catalog, facebook
|
4 |
Requires at least: 3.5
|
5 |
Tested up to: 4.4
|
6 |
+
Stable tag: 4.1.2
|
7 |
|
8 |
+
Powerful, easy to use shopping cart. PCI DSS Level 1: same as your bank. Sell on the go iPhone&Android app. Superb support. Free plan available
|
9 |
|
10 |
== Description ==
|
11 |
+
Ecwid is a powerful, secure and easy-to-use shopping cart solution that allows you to sell on your WordPress website. Join over *900,000* sellers in *175* countries and sell globally with over *40* international payment options, real-time shipping integrations and support of *45* languages.
|
12 |
|
13 |
+
= PCI DSS validated Level 1 Service Provider =
|
14 |
|
15 |
+
Ecwid is PCI DSS Level 1 certified, which is the gold standard for e-commerce solutions worldwide. This means that when selling online with Ecwid, you won’t have any problems with the bank you do business with. With 40+ payment options and secure HTTPS checkout your Ecwid store is PCI DSS compliant from the beginning.
|
16 |
|
17 |
+
= Free Support =
|
18 |
|
19 |
+
Friendly and knowledgeable support experts available 24/5 so you can get immediate help when you need it. Free email support and community forums. Unlimited chat and phone support available in premium plans.
|
20 |
|
|
|
21 |
|
22 |
+
= Merchant Mobile Apps =
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
Ecwid provides free mobile applications for iOS and Android to manage your store and sell on the go. Scan products, track inventory, manage sales and accept payments using your mobile device as a POS station. Everything is automatically synchronized with your Wordpress store.
|
25 |
|
26 |
+
= Unlimited Storage, Automatic Backups and Seamless Upgrades =
|
27 |
|
28 |
+
With Ecwid, your store data is fully hosted on our secure servers. Regardless of the hosting service you use, your Ecwid store includes:
|
29 |
|
30 |
+
* unlimited storage
|
31 |
+
* regular backups
|
32 |
+
* seamless upgrades and security updates
|
33 |
|
34 |
+
So, you don't need to worry about software updates, security patches and server maintenance - we do that for you. Your online store gets all the new features and bug fixes automatically.
|
35 |
|
36 |
+
= Facebook Storefront =
|
37 |
|
38 |
+
Add your online store to Facebook and sell to millions of Facebook users. No addons needed. Ecwid will automatically synchronize your products, customers, orders and inventory between your WordPress and Facebook storefronts. Ecwid is the **#1 e-commerce app on Facebook**. Join!
|
39 |
|
40 |
= Sell Everywhere =
|
41 |
|
42 |
+
With Ecwid, you can include your online shop on multiple websites, blogs, social sites and marketplaces like *Google Shopping* and *eBay* and sell simultaneously everywhere. Add your store to as many sites as you want, manage it from one place.
|
43 |
|
44 |
+
= Mobile Responsive Design =
|
45 |
+
|
46 |
+
Ecwid works great on any Wordpress site, especially those running on mobile-optimized themes. Your store looks perfect on smartphones and automatically adapts to your customer’s screen size: laptops, tablets, smart TVs or smart watches. Check out this [demo](http://www.ecwid.com/demo?source=wporg-plugin-site)
|
47 |
|
|
|
48 |
|
49 |
+
= Free Plan Available =
|
50 |
|
51 |
+
The Free plan is always available with no hidden setup charges or transaction fees. Get your online store up and running at zero cost. As your business grows, Ecwid will grow with you. When the time is right, consider upgrading to one of our premium plans to get more robust ecommerce features. See also: [Ecwid plan and pricing](http://www.ecwid.com/pricing?source=wporg-plugin-site)
|
52 |
|
|
|
|
|
53 |
|
54 |
+
= See Ecwid In Action =
|
55 |
|
56 |
* [Demo Store](http://www.ecwid.com/demo?source=wporg-plugin-site "Ecwid demo")
|
57 |
* [Ecwid Control panel](https://my.ecwid.com/?source=wporg-plugin-site "Ecwid Control Panel") (you will be able to create a free Ecwid account)
|
58 |
|
|
|
59 |
= Ecwid Site =
|
60 |
|
61 |
* [www.ecwid.com](http://www.ecwid.com/?source=wporg-plugin-site "Ecwid site")
|
104 |
* [Ecwid site](http://www.ecwid.com/?source=wporg-plugin-site "Ecwid Site")
|
105 |
|
106 |
== Changelog ==
|
107 |
+
= 4.1.2 =
|
108 |
+
- **Ecwid mobile apps badges of the dashboard page.** We made a facelift for the plugin dashboard page footer and included mobile apps badges there to make it easier for new users to find and install Ecwid mobile applications for iPhone, iPad and Android. Why bother to install it? It allows you to manage your store and sell on the go.
|
109 |
+
- **Fixes for the embedded store Control Panel.** There were issues in the store control panel when the Wordpress site was hosted on a server with incorrect system date set. We made the plugin tolerant of this kind of hosting issues – the embedded store Control Panel should now be displayed fine on every server.
|
110 |
+
- **A fix for the Advanced settings page in the plugin backend.** In some rare cases, the advanced settings page in the plugin didn't show the Chameleon option, which enables auto adjustment of the store layout. We fixed that and the Chameleon option is now available for every user. A good moment to try it, if you haven't yet.
|
111 |
+
- A few miscellaneous fixes and improvemens in the plugin core.
|
112 |
+
|
113 |
+
= 4.1.1 =
|
114 |
+
- **Layout improvements for the Accesspress-mag theme.** Accesspress-mag theme users might notice slight glitches in the store buttons. We fixed those.
|
115 |
+
- **Added the page default category dropdown for free users.** When you add a store on your site page, you can set the store category to be displayed on that page. This "default category" tool was previously just a text input where you were supposed to put the category ID, if you're on free Ecwid plan. Now it's a dropdown menu so you can easily select a store category for each page. It's very useful if you want to display different categories on different pages of your site.
|
116 |
+
- Minor bug fixes and improvements
|
117 |
|
118 |
+
= 4.1 =
|
119 |
- **Product images are included in the sitemap generated by the Yoast SEO plugin.** Ecwid is integrated with popular SEO plugins: Yoast SEO and Google XML Sitemaps, which allows merchants to generate a sitemap containing the links to their products and categories. Now, the sitemaps generated by Yoast SEO will also automatically include links to the product images. This will make Google better index your products pictures and list them in the search results.
|
120 |
- **Ecwid plugin now supports oEmbed discovery.** As of version 4.4, WordPress supports oEmbed. In short, that's a tool which makes a link to a post or a page of your site looks nice when pasted on another site supporting this. Ecwid now supports it too, so if you paste a link to your store page on any other oEmbed-empowered site (e.g. another Wordpress site), it will automatically displays a nice widget with the page title and a list of your store categories.
|
121 |
- Fixes and improvements for the storefront widgets and for the plugins admin pages.
|
templates/admin-footer.php
CHANGED
@@ -1,10 +1,26 @@
|
|
1 |
<div class="ecwid-admin-footer">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<?php if (@$show_reconnect): ?>
|
3 |
-
|
4 |
-
<
|
5 |
-
|
6 |
-
<?php
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
</div>
|
1 |
<div class="ecwid-admin-footer">
|
2 |
+
<div class="ecwid-admin-footer-block ecwid-app-badges-block">
|
3 |
+
<h4 class="ecwid-admin-footer-title"><?php _e('Manage Store on iPhone, iPad or Android', 'ecwid-shopping-cart'); ?></h4>
|
4 |
+
<div class="ecwid-app-badges">
|
5 |
+
<a href="https://itunes.apple.com/en/app/ecwid/id626731456?mt=8"target="_blank" rel="nofollow">
|
6 |
+
<?php ecwid_embed_svg('black-app-store'); ?>
|
7 |
+
</a>
|
8 |
+
<a href="https://play.google.com/store/apps/details?id=com.ecwid.android">
|
9 |
+
<?php ecwid_embed_svg('black-google'); ?>
|
10 |
+
</a>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
<div class="ecwid-admin-footer-block">
|
14 |
+
<h4 class="ecwid-admin-footer-title"><?php _e('Questions?', 'ecwid-shopping-cart'); ?></h4>
|
15 |
+
<div class="ecwid-admin-footer-text">
|
16 |
+
<?php echo sprintf(__('<a target="_blank" href="https://help.ecwid.com/customer/portal/articles/1085017-wordpress-downloadable">Read FAQ</a> or contact support at <a %s>wordpress@ecwid.com</a>', 'ecwid-shopping-cart'), 'href="mailto:wordpress@ecwid.com"'); ?>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
<?php if (@$show_reconnect): ?>
|
20 |
+
<div class="ecwid-admin-footer-block">
|
21 |
+
<h4 class="ecwid-admin-footer-title"><?php _e('Want to connect another Ecwid store?', 'ecwid-shopping-cart'); ?></h4>
|
22 |
+
<div class="ecwid-admin-footer-text">
|
23 |
+
<?php echo sprintf(__('You can reconnect on <a %s>this page</a>', 'ecwid-shopping-cart'), 'href="admin.php?page=ecwid&reconnect"'); ?>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
<?php endif; ?>
|
|
templates/advanced-settings.php
CHANGED
@@ -11,7 +11,6 @@
|
|
11 |
<?php if (get_option('ecwid_hide_appearance_menu') != 'Y'): ?>
|
12 |
<div class="pure-control-group bottom-border">
|
13 |
|
14 |
-
<?php if (ecwid_is_paid_account()): ?>
|
15 |
<label for="ecwid_default_category_id">
|
16 |
<?php _e('Category shown by default', 'ecwid-shopping-cart'); ?>
|
17 |
</label>
|
@@ -19,30 +18,16 @@
|
|
19 |
<select name="ecwid_default_category_id" id="ecwid_default_category_id">
|
20 |
<option value=""><?php _e('Store root category', 'ecwid-shopping-cart'); ?></option>
|
21 |
<?php foreach ($categories as $category): ?>
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
<?php endforeach; ?>
|
31 |
</select>
|
32 |
-
<?php else: ?>
|
33 |
-
|
34 |
-
<label for="ecwid_default_category_id">
|
35 |
-
<?php _e('Default category ID', 'ecwid-shopping-cart'); ?>
|
36 |
-
</label>
|
37 |
-
|
38 |
-
<input
|
39 |
-
id="ecwid_default_category_id"
|
40 |
-
name="ecwid_default_category_id"
|
41 |
-
type="text"
|
42 |
-
placeholder="<?php _e('Default category ID', 'ecwid-shopping-cart'); ?>"
|
43 |
-
value="<?php echo esc_attr(get_option('ecwid_default_category_id')) ?>"
|
44 |
-
/>
|
45 |
-
<?php endif; ?>
|
46 |
<div class="note">
|
47 |
<?php _e('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.', 'ecwid-shopping-cart'); ?>
|
48 |
</div>
|
11 |
<?php if (get_option('ecwid_hide_appearance_menu') != 'Y'): ?>
|
12 |
<div class="pure-control-group bottom-border">
|
13 |
|
|
|
14 |
<label for="ecwid_default_category_id">
|
15 |
<?php _e('Category shown by default', 'ecwid-shopping-cart'); ?>
|
16 |
</label>
|
18 |
<select name="ecwid_default_category_id" id="ecwid_default_category_id">
|
19 |
<option value=""><?php _e('Store root category', 'ecwid-shopping-cart'); ?></option>
|
20 |
<?php foreach ($categories as $category): ?>
|
21 |
+
<option
|
22 |
+
value="<?php echo esc_attr($category->id); ?>"
|
23 |
+
<?php if ($category->id == get_option('ecwid_default_category_id')): ?>
|
24 |
+
selected="selected"
|
25 |
+
<?php endif; ?>
|
26 |
+
>
|
27 |
+
<?php echo esc_html($category->path); ?>
|
28 |
+
</option>
|
29 |
<?php endforeach; ?>
|
30 |
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
<div class="note">
|
32 |
<?php _e('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.', 'ecwid-shopping-cart'); ?>
|
33 |
</div>
|
templates/ecwid-admin.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<script type='text/javascript'>//<![CDATA[
|
2 |
-
document.
|
3 |
-
|
4 |
-
jQuery(document).ready(function(){
|
5 |
$ = jQuery;
|
6 |
// Create IE + others compatible event handler
|
7 |
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
|
@@ -11,7 +10,6 @@
|
|
11 |
// Listen to message from child window
|
12 |
eventer(messageEvent,function(e) {
|
13 |
$('#ecwid-frame').css('height', e.data.height + 'px');
|
14 |
-
$('#superwrap').css('height', (e.data.height) + 'px');
|
15 |
},false);
|
16 |
|
17 |
$('#ecwid-frame').attr('src', '<?php echo $iframe_src; ?>');
|
@@ -20,11 +18,8 @@
|
|
20 |
|
21 |
</script>
|
22 |
|
23 |
-
|
24 |
-
<div id="wrap">
|
25 |
<iframe seamless id="ecwid-frame" frameborder="0" width="100%" height="700" scrolling="no"></iframe>
|
26 |
-
</div>
|
27 |
-
</div>
|
28 |
|
29 |
<?php require_once ECWID_PLUGIN_DIR . 'templates/admin-footer.php'; ?>
|
30 |
|
1 |
<script type='text/javascript'>//<![CDATA[
|
2 |
+
jQuery(document).ready(function() {
|
3 |
+
document.body.className += ' ecwid-no-padding';
|
|
|
4 |
$ = jQuery;
|
5 |
// Create IE + others compatible event handler
|
6 |
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
|
10 |
// Listen to message from child window
|
11 |
eventer(messageEvent,function(e) {
|
12 |
$('#ecwid-frame').css('height', e.data.height + 'px');
|
|
|
13 |
},false);
|
14 |
|
15 |
$('#ecwid-frame').attr('src', '<?php echo $iframe_src; ?>');
|
18 |
|
19 |
</script>
|
20 |
|
21 |
+
|
|
|
22 |
<iframe seamless id="ecwid-frame" frameborder="0" width="100%" height="700" scrolling="no"></iframe>
|
|
|
|
|
23 |
|
24 |
<?php require_once ECWID_PLUGIN_DIR . 'templates/admin-footer.php'; ?>
|
25 |
|
templates/landing.php
CHANGED
@@ -4,73 +4,54 @@
|
|
4 |
</script>
|
5 |
<div class="ecwid-landing <?php echo $register ? 'register' : 'connect'; echo $connection_error ? ' conn-error': ''; ?>">
|
6 |
<div class="ecwid-thank">
|
7 |
-
<h1
|
8 |
-
|
9 |
-
|
10 |
</h1>
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
<div class="
|
19 |
-
<
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
<h2>
|
27 |
-
<?php _e('Connect', 'ecwid-shopping-cart'); ?>
|
28 |
-
</h2>
|
29 |
-
<p class="on-register"><?php _e('Add your Ecwid store to your site <nobr>in two clicks</nobr>', 'ecwid-shopping-cart'); ?></p>
|
30 |
-
<p class="on-connect"><?php _e('Connect your Ecwid store to this site <nobr>in two clicks</nobr>', 'ecwid-shopping-cart'); ?></p>
|
31 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
</div>
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/dollar-active.svg" class="active">
|
37 |
-
</div>
|
38 |
-
<div class="ecwid-thank-step-description">
|
39 |
-
<h2><?php _e('Start selling', 'ecwid-shopping-cart'); ?></h2>
|
40 |
-
<p><?php _e('Your storefront is ready', 'ecwid-shopping-cart'); ?></p>
|
41 |
-
</div>
|
42 |
</div>
|
43 |
-
|
44 |
-
|
45 |
-
<a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>" class="button button--blue on-register" onclick="javascript:switch_to_connect();ecwid_kissmetrics_record('createAccountButtonClick');">
|
46 |
-
<?php _e('Create Ecwid store', 'ecwid-shopping-cart'); ?>
|
47 |
-
</a>
|
48 |
-
<a class="button button--green on-connect" href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');">
|
49 |
-
<?php _e('Connect your store', 'ecwid-shopping-cart'); ?>
|
50 |
-
</a>
|
51 |
-
<div class="button-description-mobile on-register">
|
52 |
<?php _e('Free registration, No credit card required', 'ecwid-shopping-cart'); ?>
|
53 |
</div>
|
54 |
<div class="button-description-mobile on-error ecwid-connection-error">
|
55 |
<?php _e( 'Connection error: please click the button again and give permissions for this plugin<br /> to show your Ecwid store on this site.', 'ecwid-shopping-cart' ); ?>
|
56 |
</div>
|
57 |
-
<div class="
|
58 |
-
|
59 |
-
|
60 |
-
<div class="ecwid-button-description on-register">
|
61 |
-
<?php _e('Already have Ecwid account?', 'ecwid-shopping-cart'); ?>
|
62 |
-
<a href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');"><?php _e('Connect your store to Wordpress site', 'ecwid-shopping-cart'); ?></a>
|
63 |
-
</div>
|
64 |
-
<div class="ecwid-button-description on-connect">
|
65 |
-
<?php _e('Don\'t have an Ecwid account?', 'ecwid-shopping-cart'); ?>
|
66 |
-
<a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>" onclick="javascript:switch_to_connect();"><?php _e('Register at Ecwid for free', 'ecwid-shopping-cart'); ?></a>
|
67 |
</div>
|
68 |
-
<div class="button-description-mobile
|
69 |
<?php _e('You will be asked to log in to your Ecwid Control Panel<br />and give permissions to show your store on this site', 'ecwid-shopping-cart'); ?>
|
70 |
</div>
|
71 |
-
<div class="button-description-mobile on-connect">
|
72 |
-
<?php _e('No credit card required', 'ecwid-shopping-cart'); ?>
|
73 |
-
</div>
|
74 |
<div class="button-description-mobile">
|
75 |
<h3><?php _e('Get ready to sell online', 'ecwid-shopping-cart'); ?></h3>
|
76 |
</div>
|
@@ -147,21 +128,38 @@
|
|
147 |
<h2><?php _e('Start selling <br>on your WordPress <nobr>site for free</nobr>', 'ecwid-shopping-cart'); ?>
|
148 |
</h2>
|
149 |
<div class="ecwid-button">
|
150 |
-
<
|
151 |
-
<?php _e('
|
152 |
-
</
|
153 |
-
<
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
</div>
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
</div>
|
164 |
|
|
|
|
|
|
|
|
|
165 |
</div>
|
166 |
</div>
|
167 |
</div>
|
4 |
</script>
|
5 |
<div class="ecwid-landing <?php echo $register ? 'register' : 'connect'; echo $connection_error ? ' conn-error': ''; ?>">
|
6 |
<div class="ecwid-thank">
|
7 |
+
<h1>
|
8 |
+
<?php _e('Welcome to Ecwid!', 'ecwid-shopping-cart'); ?>
|
9 |
+
<span><?php _e('Thank you for choosing Ecwid to build your online store. The first step to sell successfully online is to setup your store! Let’s get started and add a store to your website in a few simple steps.', 'ecwid-shopping-cart'); ?></span>
|
10 |
</h1>
|
11 |
+
|
12 |
+
<div class="ecwid-button">
|
13 |
+
|
14 |
+
<button class="create-store-button btn btn-primary btn-large">
|
15 |
+
<?php _e('Create Free Ecwid Store', 'ecwid-shopping-cart'); ?>
|
16 |
+
</button>
|
17 |
+
<button class="create-store-loading btn btn-primary btn-large btn-loading">
|
18 |
+
<div class="loader">
|
19 |
+
<div class="ecwid-spinner spin-right">
|
20 |
+
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
21 |
+
<path class="loader-outer" d="M30,60 C46.5685425,60 60,46.5685425 60,30 C60,13.4314575 46.5685425,0 30,0 C13.4314575,0 0,13.4314575 0,30 C0,46.5685425 13.4314575,60 30,60 L30,60 Z"></path>
|
22 |
+
<path class="loader-background" d="M30,56 C44.3594035,56 56,44.3594035 56,30 C56,15.6405965 44.3594035,4 30,4 C15.6405965,4 4,15.6405965 4,30 C4,44.3594035 15.6405965,56 30,56 L30,56 Z" fill="#FFFFFF"></path>
|
23 |
+
<path class="loader-inner" d="M12.0224719,32.0224719 C10.9078652,32.0224719 10,31.1146067 10,30 C10,18.9707865 18.9707865,10 30,10 C31.1146067,10 32.0224719,10.9078652 32.0224719,12.0224719 C32.0224719,13.1370787 31.1146067,14.0449438 30,14.0449438 C21.2,14.0449438 14.0449438,21.2 14.0449438,30 C14.0449438,31.1146067 13.1370787,32.0224719 12.0224719,32.0224719 L12.0224719,32.0224719 Z M30,50 C28.8853933,50 27.9775281,49.0921348 27.9775281,47.9775281 C27.9775281,46.8629213 28.8853933,45.9550562 30,45.9550562 C38.8,45.9550562 45.9550562,38.8 45.9550562,30 C45.9550562,28.8853933 46.8629213,27.9775281 47.9775281,27.9775281 C49.0921348,27.9775281 50,28.8853933 50,30 C50,41.0292135 41.0292135,50 30,50 L30,50 Z" fill="#231F20"></path>
|
24 |
+
</svg>
|
25 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
26 |
</div>
|
27 |
+
</button>
|
28 |
+
|
29 |
+
<button class="create-store-success btn btn-large btn-success btn-icon">
|
30 |
+
<i class="icon-check"></i>
|
31 |
+
<?php _e('Store is created', 'ecwid-shopping-cart'); ?>
|
32 |
+
</button>
|
33 |
+
|
34 |
+
<div class="create-store-loading-note ecwid-button-description">
|
35 |
+
<?php _e('Creating store', 'ecwid-shopping-cart'); ?>
|
36 |
</div>
|
37 |
+
|
38 |
+
<div class="create-store-success-note ecwid-button-description">
|
39 |
+
<?php _e('Preparing your store dashboard', 'ecwid-shopping-cart'); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
</div>
|
41 |
+
|
42 |
+
<div class="button-description-mobile">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
<?php _e('Free registration, No credit card required', 'ecwid-shopping-cart'); ?>
|
44 |
</div>
|
45 |
<div class="button-description-mobile on-error ecwid-connection-error">
|
46 |
<?php _e( 'Connection error: please click the button again and give permissions for this plugin<br /> to show your Ecwid store on this site.', 'ecwid-shopping-cart' ); ?>
|
47 |
</div>
|
48 |
+
<div class="create-store-have-account ecwid-button-description">
|
49 |
+
<span class="create-store-have-account-question"><?php _e('Already have Ecwid account?', 'ecwid-shopping-cart'); ?></span>
|
50 |
+
<a class="create-store-have-account-link" href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');"><?php _e('Connect your store to Wordpress site', 'ecwid-shopping-cart'); ?></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
</div>
|
52 |
+
<div class="button-description-mobile">
|
53 |
<?php _e('You will be asked to log in to your Ecwid Control Panel<br />and give permissions to show your store on this site', 'ecwid-shopping-cart'); ?>
|
54 |
</div>
|
|
|
|
|
|
|
55 |
<div class="button-description-mobile">
|
56 |
<h3><?php _e('Get ready to sell online', 'ecwid-shopping-cart'); ?></h3>
|
57 |
</div>
|
128 |
<h2><?php _e('Start selling <br>on your WordPress <nobr>site for free</nobr>', 'ecwid-shopping-cart'); ?>
|
129 |
</h2>
|
130 |
<div class="ecwid-button">
|
131 |
+
<button class="create-store-button btn btn-primary btn-large">
|
132 |
+
<?php _e('Create Free Ecwid Store', 'ecwid-shopping-cart'); ?>
|
133 |
+
</button>
|
134 |
+
<button class="create-store-loading btn btn-primary btn-large btn-loading">
|
135 |
+
<div class="loader">
|
136 |
+
<div class="ecwid-spinner spin-right">
|
137 |
+
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
138 |
+
<path class="loader-outer" d="M30,60 C46.5685425,60 60,46.5685425 60,30 C60,13.4314575 46.5685425,0 30,0 C13.4314575,0 0,13.4314575 0,30 C0,46.5685425 13.4314575,60 30,60 L30,60 Z"></path>
|
139 |
+
<path class="loader-background" d="M30,56 C44.3594035,56 56,44.3594035 56,30 C56,15.6405965 44.3594035,4 30,4 C15.6405965,4 4,15.6405965 4,30 C4,44.3594035 15.6405965,56 30,56 L30,56 Z" fill="#FFFFFF"></path>
|
140 |
+
<path class="loader-inner" d="M12.0224719,32.0224719 C10.9078652,32.0224719 10,31.1146067 10,30 C10,18.9707865 18.9707865,10 30,10 C31.1146067,10 32.0224719,10.9078652 32.0224719,12.0224719 C32.0224719,13.1370787 31.1146067,14.0449438 30,14.0449438 C21.2,14.0449438 14.0449438,21.2 14.0449438,30 C14.0449438,31.1146067 13.1370787,32.0224719 12.0224719,32.0224719 L12.0224719,32.0224719 Z M30,50 C28.8853933,50 27.9775281,49.0921348 27.9775281,47.9775281 C27.9775281,46.8629213 28.8853933,45.9550562 30,45.9550562 C38.8,45.9550562 45.9550562,38.8 45.9550562,30 C45.9550562,28.8853933 46.8629213,27.9775281 47.9775281,27.9775281 C49.0921348,27.9775281 50,28.8853933 50,30 C50,41.0292135 41.0292135,50 30,50 L30,50 Z" fill="#231F20"></path>
|
141 |
+
</svg>
|
142 |
+
</div>
|
143 |
+
</div>
|
144 |
+
</button>
|
145 |
+
|
146 |
+
<button class="create-store-success btn btn-large btn-success btn-icon">
|
147 |
+
<i class="icon-check"></i>
|
148 |
+
<?php _e('Store is created', 'ecwid-shopping-cart'); ?>
|
149 |
+
</button>
|
150 |
+
|
151 |
+
<div class="create-store-loading-note ecwid-button-description">
|
152 |
+
<?php _e('Creating store', 'ecwid-shopping-cart'); ?>
|
153 |
</div>
|
154 |
+
|
155 |
+
<div class="create-store-success-note ecwid-button-description">
|
156 |
+
<?php _e('Preparing your store dashboard', 'ecwid-shopping-cart'); ?>
|
157 |
</div>
|
158 |
|
159 |
+
<div class="ecwid-button-description">
|
160 |
+
<?php _e('Already have Ecwid account?', 'ecwid-shopping-cart'); ?>
|
161 |
+
<a href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');"><?php _e('Connect your store to this site', 'ecwid-shopping-cart'); ?></a>
|
162 |
+
</div>
|
163 |
</div>
|
164 |
</div>
|
165 |
</div>
|
templates/landing_old.php
ADDED
@@ -0,0 +1,171 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script type='text/javascript'>//<![CDATA[
|
2 |
+
document.body.className += ' ecwid-no-padding';
|
3 |
+
//]]>
|
4 |
+
</script>
|
5 |
+
<div class="ecwid-landing <?php echo $register ? 'register' : 'connect'; echo $connection_error ? ' conn-error': ''; ?>">
|
6 |
+
<div class="ecwid-thank">
|
7 |
+
<h1 class="on-register">
|
8 |
+
<span><?php _e('Plugin is installed successfully!', 'ecwid-shopping-cart'); ?></span>
|
9 |
+
<?php _e('There are just a few steps left to start selling<br /> on your WordPress site', 'ecwid-shopping-cart'); ?>
|
10 |
+
</h1>
|
11 |
+
<h1 class="on-connect">
|
12 |
+
<span><?php _e('Plugin is installed successfully!', 'ecwid-shopping-cart'); ?></span>
|
13 |
+
<?php _e('There are few little steps left to start selling<br /> on your WordPress site', 'ecwid-shopping-cart'); ?>
|
14 |
+
</h1>
|
15 |
+
<div class="ecwid-thank-steps">
|
16 |
+
<div class="ecwid-thank-step ecwid-thank-step-one<?php echo $register ?'' : ' active'; ?>">
|
17 |
+
<div class="ecwid-thank-step-image"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/ecwid.svg" class="none-active"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/ecwid-active.svg" class="active"></div>
|
18 |
+
<div class="ecwid-thank-step-description">
|
19 |
+
<h2><?php _e('Register', 'ecwid-shopping-cart'); ?></h2>
|
20 |
+
<p><?php _e('Create a free Ecwid account to manage your store and inventory.<br /> No credit card required', 'ecwid-shopping-cart'); ?></p>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
<div class="ecwid-thank-step ecwid-thank-step-two">
|
24 |
+
<div class="ecwid-thank-step-image"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/plug.svg" class="none-active"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/plug-active.svg" class="active"></div>
|
25 |
+
<div class="ecwid-thank-step-description">
|
26 |
+
<h2>
|
27 |
+
<?php _e('Connect', 'ecwid-shopping-cart'); ?>
|
28 |
+
</h2>
|
29 |
+
<p class="on-register"><?php _e('Add your Ecwid store to your site <nobr>in two clicks</nobr>', 'ecwid-shopping-cart'); ?></p>
|
30 |
+
<p class="on-connect"><?php _e('Connect your Ecwid store to this site <nobr>in two clicks</nobr>', 'ecwid-shopping-cart'); ?></p>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
<div class="ecwid-thank-step ecwid-thank-step-three">
|
34 |
+
<div class="ecwid-thank-step-image">
|
35 |
+
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/dollar.svg" class="none-active">
|
36 |
+
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/dollar-active.svg" class="active">
|
37 |
+
</div>
|
38 |
+
<div class="ecwid-thank-step-description">
|
39 |
+
<h2><?php _e('Start selling', 'ecwid-shopping-cart'); ?></h2>
|
40 |
+
<p><?php _e('Your storefront is ready', 'ecwid-shopping-cart'); ?></p>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
<div class="ecwid-button">
|
45 |
+
<a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>" class="button button--blue on-register" onclick="javascript:switch_to_connect();ecwid_kissmetrics_record('createAccountButtonClick');">
|
46 |
+
<?php _e('Create Ecwid store', 'ecwid-shopping-cart'); ?>
|
47 |
+
</a>
|
48 |
+
<a class="button button--green on-connect" href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');">
|
49 |
+
<?php _e('Connect your store', 'ecwid-shopping-cart'); ?>
|
50 |
+
</a>
|
51 |
+
<div class="button-description-mobile on-register">
|
52 |
+
<?php _e('Free registration, No credit card required', 'ecwid-shopping-cart'); ?>
|
53 |
+
</div>
|
54 |
+
<div class="button-description-mobile on-error ecwid-connection-error">
|
55 |
+
<?php _e( 'Connection error: please click the button again and give permissions for this plugin<br /> to show your Ecwid store on this site.', 'ecwid-shopping-cart' ); ?>
|
56 |
+
</div>
|
57 |
+
<div class="button-description-mobile on-connect on-no-error">
|
58 |
+
<?php _e('You will be asked to log in to your Ecwid Control Panel<br />and give permissions to show your store on this site', 'ecwid-shopping-cart'); ?>
|
59 |
+
</div>
|
60 |
+
<div class="ecwid-button-description on-register">
|
61 |
+
<?php _e('Already have Ecwid account?', 'ecwid-shopping-cart'); ?>
|
62 |
+
<a href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');"><?php _e('Connect your store to Wordpress site', 'ecwid-shopping-cart'); ?></a>
|
63 |
+
</div>
|
64 |
+
<div class="ecwid-button-description on-connect">
|
65 |
+
<?php _e('Don\'t have an Ecwid account?', 'ecwid-shopping-cart'); ?>
|
66 |
+
<a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>" onclick="javascript:switch_to_connect();ecwid_kissmetrics_record('createAccountButtonClick');"><?php _e('Register at Ecwid for free', 'ecwid-shopping-cart'); ?></a>
|
67 |
+
</div>
|
68 |
+
<div class="button-description-mobile on-register">
|
69 |
+
<?php _e('You will be asked to log in to your Ecwid Control Panel<br />and give permissions to show your store on this site', 'ecwid-shopping-cart'); ?>
|
70 |
+
</div>
|
71 |
+
<div class="button-description-mobile on-connect">
|
72 |
+
<?php _e('No credit card required', 'ecwid-shopping-cart'); ?>
|
73 |
+
</div>
|
74 |
+
<div class="button-description-mobile">
|
75 |
+
<h3><?php _e('Get ready to sell online', 'ecwid-shopping-cart'); ?></h3>
|
76 |
+
</div>
|
77 |
+
</div>
|
78 |
+
<div class="ecwid-thank-background">
|
79 |
+
<div class="ecwid-thank-background-tablet"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/tablet-iphone.png"></div>
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
<div class="ecwid-description">
|
83 |
+
<div class="ecwid-description-inner">
|
84 |
+
<div class="ecwid-description-image"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/ecwid-description-image.jpg"></div>
|
85 |
+
<div class="ecwid-description-text">
|
86 |
+
<h2><?php _e('Sell Everywhere<br>with your Ecwid store', 'ecwid-shopping-cart'); ?></h2>
|
87 |
+
<p><?php _e('Start selling on your WordPress site. Then mirror your shop on your Facebook page, blog and marketplaces like Google Shopping, Yahoo and Shopping.com.', 'ecwid-shopping-cart'); ?></p>
|
88 |
+
<p><?php _e('Use Ecwid\'s mobile-POS to swipe credit cards and sell on the go. Your orders and inventory are always synchronized with your online store.', 'ecwid-shopping-cart'); ?></p>
|
89 |
+
</div>
|
90 |
+
</div>
|
91 |
+
</div>
|
92 |
+
<div class="ecwid-features">
|
93 |
+
<div class="ecwid-features-inner">
|
94 |
+
<h2><?php _e('Features', 'ecwid-shopping-cart'); ?></h2>
|
95 |
+
<div class="ecwid-features-top">
|
96 |
+
<div class="ecwid-features-top-item">
|
97 |
+
<div class="ecwid-features-top-item-image">
|
98 |
+
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/wordpress.svg">
|
99 |
+
</div>
|
100 |
+
<div class="ecwid-features-top-item-text">
|
101 |
+
<h3><?php _e('Compatible with your theme', 'ecwid-shopping-cart'); ?></h3>
|
102 |
+
<p><?php echo sprintf(__('Ecwid is compatible with your<br>“%s” WordPress theme<br>out of the box.', 'ecwid-shopping-cart'), ecwid_get_theme_name()); ?></p>
|
103 |
+
</div>
|
104 |
+
</div>
|
105 |
+
<div class="ecwid-features-top-item">
|
106 |
+
<div class="ecwid-features-top-item-image">
|
107 |
+
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/gift.svg" class="gift">
|
108 |
+
</div>
|
109 |
+
<div class="ecwid-features-top-item-text">
|
110 |
+
<h3><?php _e('Free and always up to date', 'ecwid-shopping-cart'); ?></h3>
|
111 |
+
<p><?php _e('Free plan always available with tons of features<br>at no additional cost. Updates are seamless, automatic<br>and free of charge.', 'ecwid-shopping-cart'); ?></p>
|
112 |
+
</div>
|
113 |
+
</div>
|
114 |
+
</div>
|
115 |
+
<div class="ecwid-features-bottom">
|
116 |
+
<div class="ecwid-features-bottom-item">
|
117 |
+
<div class="ecwid-features-bottom-item-image">
|
118 |
+
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/responsive-grow.svg">
|
119 |
+
</div>
|
120 |
+
<div class="ecwid-features-bottom-item-text">
|
121 |
+
<h3><?php _e('Responsive design', 'ecwid-shopping-cart'); ?></h3>
|
122 |
+
<p><?php _e('Your store looks perfect<br />on all devices', 'ecwid-shopping-cart'); ?></p>
|
123 |
+
</div>
|
124 |
+
</div>
|
125 |
+
<div class="ecwid-features-bottom-item">
|
126 |
+
<div class="ecwid-features-bottom-item-image">
|
127 |
+
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/secure-pci.svg" class="secure">
|
128 |
+
</div>
|
129 |
+
<div class="ecwid-features-bottom-item-text">
|
130 |
+
<h3><?php _e('PCI DSS Certified', 'ecwid-shopping-cart'); ?></h3>
|
131 |
+
<p><?php _e('Secure checkout with over 40<br />payment options', 'ecwid-shopping-cart'); ?></p>
|
132 |
+
</div>
|
133 |
+
</div>
|
134 |
+
<div class="ecwid-features-bottom-item">
|
135 |
+
<div class="ecwid-features-bottom-item-image">
|
136 |
+
<img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/global.svg">
|
137 |
+
</div>
|
138 |
+
<div class="ecwid-features-bottom-item-text">
|
139 |
+
<h3><?php _e('Global Reach', 'ecwid-shopping-cart'); ?></h3>
|
140 |
+
<p><?php _e('More than 800,000 merchants in 175 countries', 'ecwid-shopping-cart'); ?></p>
|
141 |
+
</div>
|
142 |
+
</div>
|
143 |
+
</div>
|
144 |
+
</div>
|
145 |
+
</div>
|
146 |
+
<div class="ecwid-start">
|
147 |
+
<h2><?php _e('Start selling <br>on your WordPress <nobr>site for free</nobr>', 'ecwid-shopping-cart'); ?>
|
148 |
+
</h2>
|
149 |
+
<div class="ecwid-button">
|
150 |
+
<a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>" class="button button--blue on-register" onclick="javascript:switch_to_connect(); ecwid_kissmetrics_record('createAccountButtonClick');">
|
151 |
+
<?php _e('Get Started, Create Ecwid Account', 'ecwid-shopping-cart'); ?>
|
152 |
+
</a>
|
153 |
+
<a class="button button--green on-connect" href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');">
|
154 |
+
<?php _e('Connect your store', 'ecwid-shopping-cart'); ?>
|
155 |
+
</a>
|
156 |
+
<div class="ecwid-button-description on-register">
|
157 |
+
<?php _e('Already have Ecwid account?', 'ecwid-shopping-cart'); ?>
|
158 |
+
<a href="admin-post.php?action=ecwid_connect" onclick="javascript:ecwid_kissmetrics_record('connectStoreButtonClick');"><?php _e('Connect your store to this site', 'ecwid-shopping-cart'); ?></a>
|
159 |
+
</div>
|
160 |
+
<div class="ecwid-button-description on-connect">
|
161 |
+
<?php _e('Don\'t have an Ecwid account?', 'ecwid-shopping-cart'); ?>
|
162 |
+
<a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>" onclick="javascript:switch_to_connect();ecwid_kissmetrics_record('createAccountButtonClick');"><?php _e('Register at Ecwid for free', 'ecwid-shopping-cart'); ?></a>
|
163 |
+
</div>
|
164 |
+
|
165 |
+
</div>
|
166 |
+
</div>
|
167 |
+
</div>
|
168 |
+
|
169 |
+
<script type="text/javascript">
|
170 |
+
ecwid_kissmetrics_record('Welcome Page Viewed');
|
171 |
+
</script>
|
templates/store-popup.php
CHANGED
@@ -149,46 +149,30 @@
|
|
149 |
|
150 |
<div class="pure-control-group params-list default-category-id">
|
151 |
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
</div>
|
175 |
-
|
176 |
-
<?php endif; ?>
|
177 |
-
<?php else: ?>
|
178 |
-
|
179 |
-
<label for="ecwid_default_category_id">
|
180 |
-
<?php _e('Default category ID', 'ecwid-shopping-cart'); ?>
|
181 |
-
</label>
|
182 |
-
|
183 |
-
<input
|
184 |
-
id="ecwid_default_category_id"
|
185 |
-
name="ecwid_default_category_id"
|
186 |
-
type="text"
|
187 |
-
placeholder="<?php _e('Default category ID', 'ecwid-shopping-cart'); ?>"
|
188 |
-
value="<?php echo esc_attr(get_option('ecwid_default_category_id')) ?>"
|
189 |
-
/>
|
190 |
-
<?php endif; ?>
|
191 |
|
|
|
192 |
</div>
|
193 |
|
194 |
<div class="pure-control-group params-list">
|
149 |
|
150 |
<div class="pure-control-group params-list default-category-id">
|
151 |
|
152 |
+
<?php if ($categories): ?>
|
153 |
+
<label for="ecwid_default_category_id">
|
154 |
+
<?php _e('Category shown by default', 'ecwid-shopping-cart'); ?>
|
155 |
+
</label>
|
156 |
+
|
157 |
+
|
158 |
+
<div class="value">
|
159 |
+
|
160 |
+
<select name="default_category_id" id="ecwid_default_category_id">
|
161 |
+
<option value=""><?php _e('Store root category', 'ecwid-shopping-cart'); ?></option>
|
162 |
+
<?php foreach ($categories as $category): ?>
|
163 |
+
<option
|
164 |
+
value="<?php echo esc_attr($category->id); ?>"
|
165 |
+
<?php if ($category->id == get_option('ecwid_default_category_id')): ?>
|
166 |
+
selected="selected"
|
167 |
+
<?php endif; ?>
|
168 |
+
>
|
169 |
+
<?php echo esc_html($category->path); ?>
|
170 |
+
</option>
|
171 |
+
<?php endforeach; ?>
|
172 |
+
</select>
|
173 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
+
<?php endif; ?>
|
176 |
</div>
|
177 |
|
178 |
<div class="pure-control-group params-list">
|