Version Description
- 2022-05-12 =
- Fixed default value for Multi-checkbox field type
- Added support for WordPress 6.0
- Added support for WooCommerce 6.5
Download this release
Release Info
Developer | wpdesk |
Plugin | Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager |
Version | 3.2.3 |
Comparing to | |
See all releases |
Code changes from version 3.2.2 to 3.2.3
- assets/css/admin-notice.css +16 -2
- assets/css/admin-notice.min.css +1 -1
- assets/css/new-admin.css +1 -1
- assets/css/new-front.css +1 -1
- assets/img/flexible-wishlist.png +0 -0
- classes/plugin.php +8 -0
- flexible-checkout-fields.php +5 -5
- lang/flexible-checkout-fields.pot +28 -11
- readme.txt +22 -4
- src/Admin/NoticeReview.php +0 -143
- src/Notice/FlexibleWishlistReview.php +93 -0
- src/Notice/Notice.php +47 -0
- src/Notice/NoticeIntegration.php +116 -0
- src/Notice/ReviewNotice.php +76 -0
- src/Plugin.php +3 -2
- templates/notices/flexible-wishlist.php +47 -0
- templates/notices/review.php +2 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +6 -1
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +10 -5
- vendor_prefixed/monolog/monolog/composer.json +3 -1
- vendor_prefixed/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php +5 -3
- vendor_prefixed/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +20 -3
- vendor_prefixed/wpdesk/wp-codeception/composer.json +6 -0
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareCodeceptionDb.php +3 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php +3 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareWordpressForCodeception.php +3 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php +3 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php +3 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTestsWithCoverage.php +3 -1
- vendor_prefixed/wpdesk/wp-logs/composer.json +11 -8
- vendor_prefixed/wpdesk/wp-logs/src/Settings.php +14 -0
- vendor_prefixed/wpdesk/wp-logs/src/SimpleLoggerFactory.php +53 -0
assets/css/admin-notice.css
CHANGED
@@ -1,15 +1,26 @@
|
|
1 |
[data-notice="fcf-admin-notice"] {
|
2 |
padding: 20px;
|
3 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
[data-notice="fcf-admin-notice"] h2 {
|
|
|
5 |
margin: 0;
|
6 |
padding: 0;
|
7 |
-
font-size:
|
8 |
line-height: 1.625;
|
9 |
}
|
10 |
[data-notice="fcf-admin-notice"] p {
|
|
|
11 |
margin: 0;
|
12 |
-
padding:
|
13 |
font-size: 16px;
|
14 |
line-height: 1.625;
|
15 |
}
|
@@ -20,3 +31,6 @@
|
|
20 |
[data-notice="fcf-admin-notice"] .button {
|
21 |
margin: 10px 0;
|
22 |
}
|
|
|
|
|
|
1 |
[data-notice="fcf-admin-notice"] {
|
2 |
padding: 20px;
|
3 |
}
|
4 |
+
[data-notice="fcf-admin-notice"] ~ [data-notice="fcf-admin-notice"] {
|
5 |
+
display: none;
|
6 |
+
}
|
7 |
+
[data-notice="fcf-admin-notice"] img {
|
8 |
+
float: left;
|
9 |
+
width: 82px;
|
10 |
+
height: auto;
|
11 |
+
margin-right: 20px;
|
12 |
+
}
|
13 |
[data-notice="fcf-admin-notice"] h2 {
|
14 |
+
max-width: 800px;
|
15 |
margin: 0;
|
16 |
padding: 0;
|
17 |
+
font-size: 16px;
|
18 |
line-height: 1.625;
|
19 |
}
|
20 |
[data-notice="fcf-admin-notice"] p {
|
21 |
+
max-width: 800px;
|
22 |
margin: 0;
|
23 |
+
padding: 3px 0;
|
24 |
font-size: 16px;
|
25 |
line-height: 1.625;
|
26 |
}
|
31 |
[data-notice="fcf-admin-notice"] .button {
|
32 |
margin: 10px 0;
|
33 |
}
|
34 |
+
[data-notice="fcf-admin-notice"] > div {
|
35 |
+
clear: both;
|
36 |
+
}
|
assets/css/admin-notice.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
[data-notice="fcf-admin-notice"]{padding:20px}[data-notice="fcf-admin-notice"] h2{margin:0;padding:0;font-size:
|
1 |
+
[data-notice="fcf-admin-notice"]{padding:20px}[data-notice="fcf-admin-notice"]~[data-notice="fcf-admin-notice"]{display:none}[data-notice="fcf-admin-notice"] img{float:left;width:82px;height:auto;margin-right:20px}[data-notice="fcf-admin-notice"] h2{max-width:800px;margin:0;padding:0;font-size:16px;line-height:1.625}[data-notice="fcf-admin-notice"] p{max-width:800px;margin:0;padding:3px 0;font-size:16px;line-height:1.625}[data-notice="fcf-admin-notice"] p .dashicons{font-size:16px;line-height:1.625}[data-notice="fcf-admin-notice"] .button{margin:10px 0}[data-notice="fcf-admin-notice"]>div{clear:both}
|
assets/css/new-admin.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@font-face{font-family:fcf-icomoon;font-style:normal;font-weight:400;src:url(../fonts/icons/icomoon.eot?ver=19172170);src:url(../fonts/icons/icomoon.woff?ver=19172170) format("woff"),url(../fonts/icons/icomoon.eot?ver=19172170#iefix) format("embedded-opentype"),url(../fonts/icons/icomoon.ttf?ver=19172170) format("truetype"),url(../fonts/icons/icomoon.svg?ver=19172170#icomoon) format("svg")}.icon-align-left:before{content:"\e900"!important}.icon-align-left:before,.icon-at-email:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-at-email:before{content:"\e92b"!important}.icon-bookmark:before{content:"\e920"!important}.icon-bookmark:before,.icon-brush:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-brush:before{content:"\e901"!important}.icon-calendar-alt:before{content:"\e902"!important}.icon-calendar-alt:before,.icon-caret-down:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-caret-down:before{content:"\e903"!important}.icon-caret-left:before{content:"\e904"!important}.icon-caret-left:before,.icon-caret-right:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-caret-right:before{content:"\e905"!important}.icon-caret-up:before{content:"\e906"!important}.icon-caret-up:before,.icon-check:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-check:before{content:"\e907"!important}.icon-check-double:before{content:"\e92a"!important}.icon-check-double:before,.icon-check-square:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-check-square:before{content:"\e908"!important}.icon-check-square-multi:before{content:"\e92f"!important}.icon-check-square-multi:before,.icon-clock:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-clock:before{content:"\e909"!important}.icon-code:before{content:"\e90a"!important}.icon-code:before,.icon-cog:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-cog:before{content:"\e90b"!important}.icon-cogs:before{content:"\e90c"!important}.icon-cogs:before,.icon-digits:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-digits:before{content:"\e929"!important}.icon-dollar-sign:before{content:"\e90d"!important}.icon-dollar-sign:before,.icon-ellipsis-v:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-ellipsis-v:before{content:"\e90e"!important}.icon-exchange-alt:before{content:"\e90f"!important}.icon-exchange-alt:before,.icon-exclamation-triangle:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-exclamation-triangle:before{content:"\e926"!important}.icon-eye:before{content:"\e910"!important}.icon-eye:before,.icon-font:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-font:before{content:"\e911"!important}.icon-heading:before{content:"\e912"!important}.icon-heading:before,.icon-heart:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-heart:before{content:"\e921"!important}.icon-image:before{content:"\e927"!important}.icon-image:before,.icon-images:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-images:before{content:"\e928"!important}.icon-link:before{content:"\e92d"!important}.icon-link:before,.icon-list-ul:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-list-ul:before{content:"\e913"!important}.icon-long-arrow-alt-down:before{content:"\e914"!important}.icon-long-arrow-alt-down:before,.icon-long-arrow-alt-left:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-long-arrow-alt-left:before{content:"\e915"!important}.icon-long-arrow-alt-right:before{content:"\e916"!important}.icon-long-arrow-alt-right:before,.icon-long-arrow-alt-up:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-long-arrow-alt-up:before{content:"\e917"!important}.icon-magic:before{content:"\e918"!important}.icon-magic:before,.icon-paint-brush:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-paint-brush:before{content:"\e92e"!important}.icon-palette:before{content:"\e919"!important}.icon-palette:before,.icon-paragraph:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-paragraph:before{content:"\e92c"!important}.icon-phone:before{content:"\e930"!important}.icon-phone:before,.icon-plugin-symbol:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-plugin-symbol:before{content:"\e923"!important}.icon-plus:before{content:"\e91a"!important}.icon-plus:before,.icon-question-circle:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-question-circle:before{content:"\e91b"!important}.icon-spinner:before{content:"\e925"!important}.icon-spinner:before,.icon-star:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-star:before{content:"\e922"!important}.icon-tasks:before{content:"\e91d"!important}.icon-tasks-alt:before,.icon-tasks:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-tasks-alt:before{content:"\e91c"!important}.icon-times:before{content:"\e91e"!important}.icon-times:before,.icon-trash-alt:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-trash-alt:before{content:"\e924"!important}.icon-upload:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e91f"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSettings{overflow-x:hidden;width:100%}.fcfSettings,.fcfSettings *,.fcfSettings :after,.fcfSettings :before{box-shadow:none;box-sizing:border-box;text-decoration:none}.fcfSettings *,.fcfSettings :after,.fcfSettings :before{margin:0;padding:0}.fcfSettings a,.fcfSettings a:focus{box-shadow:none;outline:0}.fcfSettings__headline{color:#1e1e1e;font-size:24px;font-weight:400;line-height:1.375;padding:2px 0 2px 50px;position:relative}.fcfSettings__headline:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2271b1;content:"\e923"!important;font-family:fcf-icomoon!important;font-size:30px;font-style:normal;font-variant:normal;font-weight:400;left:0;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfSettings__footer{font-size:14px;line-height:1.8571428571;padding:2px 0;text-align:center}.fcfSettings__footer a{color:inherit;font-weight:500}.fcfSettings__footerIcon{display:inline-block;padding:0 3px}.fcfSettings__footerIcon+.fcfSettings__footerIcon{margin-left:-6px}.fcfSettings__footerIcon--heart:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e921"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSettings__footerIcon--star:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#ffb900;content:"\e922"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSettings__columns{display:flex;flex-wrap:wrap;margin:0 -10px;width:calc(100% + 20px)}.fcfSettings__columns--reverse{flex-direction:row-reverse}.fcfSettings__columns--margin{margin-top:20px}.fcfSettings__column{padding:10px;width:40%}.fcfSettings__column--wide,.fcfSettings__column:first-child:last-child{flex:1}.fcf-admin-fields .form-row label,.fcf-admin-fields .form-row legend{display:block;margin-bottom:.5em}#your-profile .fcf-admin-fields label,#your-profile .fcf-admin-fields legend{font-size:13px}.fcf-admin-fields .form-row{float:none;width:100%}.fcfButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;color:#1e1e1e;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;line-height:1.8571428571;outline:none;overflow:hidden;padding:7px 20px;position:relative;text-align:center;transition:color .3s;z-index:1}.fcfButton[disabled]{pointer-events:none}.fcfButton:after{content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.fcfButton--bg:after{opacity:1}.fcfButton--bg:hover:after{opacity:0}.fcfButton--border:hover:after{opacity:1}.fcfButton--wide{width:100%}.fcfButton--small{padding:2px 20px}.fcfButton--bg{color:#fff}.fcfButton--border:hover{color:#fff!important}.fcfButton--green{border-color:#46b450}.fcfButton--green:after{background-color:#46b450}.fcfButton--green.fcfButton--bg:hover,.fcfButton--green.fcfButton--border{color:#46b450}.fcfButton--blue{border-color:#2271b1}.fcfButton--blue:after{background-color:#2271b1}.fcfButton--blue.fcfButton--bg:hover,.fcfButton--blue.fcfButton--border{color:#2271b1}.fcfButton--red{border-color:#dc3232}.fcfButton--red:after{background-color:#dc3232}.fcfButton--red.fcfButton--bg:hover,.fcfButton--red.fcfButton--border{color:#dc3232}.fcfFields__items{padding:10px}.fcfFields__item{margin:0;outline:none;padding:10px;pointer-events:none}.fcfFields__itemInner{background-color:#fff;border:1px solid #e2e4e7;pointer-events:auto}.fcfFields__itemHeader{position:relative}.fcfFields__itemHeader:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgba(30,30,30,.25);content:"\e90f"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;left:20px;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfFields__itemHeaderOuter{align-items:center;display:flex;justify-content:space-between;padding:0 20px 0 56px}.fcfFields__itemHeaderInner{align-items:center;display:flex;flex:1;min-width:0}.fcfFields__itemHeaderTitle{color:#1e1e1e;flex:1;font-size:14px;font-weight:500;line-height:1.8571428571;overflow:hidden;padding:12px 20px 12px 0;text-overflow:ellipsis;white-space:nowrap}.fcfFields__item--disabled .fcfFields__itemHeaderTitle{color:rgba(30,30,30,.25);font-style:italic}.fcfFields__itemHeaderDesc{color:rgba(30,30,30,.5);font-size:12px;line-height:1.8571428571;padding:12px 0}.fcfFields__itemHeaderDesc--flag{padding-left:30px;position:relative}.fcfFields__itemHeaderDesc--flag:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2271b1;content:"\e923"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;left:0;line-height:1;margin-top:1px;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfFields__itemHeaderButtons{display:flex;padding-left:20px}.fcfFields__itemHeaderButton{position:relative}.fcfFields__itemHeaderButtonInner{background:none;border:0;cursor:pointer;height:36px;line-height:0;outline:0;padding:10px;position:relative;text-align:center;width:36px;z-index:1}.fcfFields__itemHeaderButtonInner:before{color:#1e1e1e;content:"";font-size:16px;line-height:1}.fcfFields__itemHeaderButtonInner:after{background-color:#f0f0f0;border-radius:50%;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.fcfFields__item--disabled .fcfFields__itemHeaderButtonInner:after{background-color:#fff}.fcfFields__itemHeaderButtonInner--open:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e903"!important;font-family:fcf-icomoon!important;font-size:6px;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfFields__itemHeaderButtonInner--close:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e906"!important;font-family:fcf-icomoon!important;font-size:6px;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfFields__itemHeaderButtonInner--remove:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e924"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfFields__itemHeaderButtonInner:hover:after{opacity:1}.fcfFields__itemContent{border-top:1px solid #f0f0f0}.fcfFields__itemTabs{background-color:rgba(0,0,0,.025);border-bottom:1px solid #f0f0f0}.fcfOptions__rows{padding:5px 20px}.fcfOptions__column .fcfOptions__rows{padding:0}.fcfOptions__row{padding:5px 0}.fcfOptions__column .fcfOptions__row{padding:0}.fcfOptions__row--padding{padding:15px 0}.fcfOptions__row--sub{padding-left:30px}.fcfOptions__columns{display:flex;flex-wrap:wrap;position:relative}.fcfOptions__columns--button{padding-right:30px}.fcfOptions__columns--button+.fcfOptions__columns--button:before{background-color:#e2e4e7;content:"";height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:calc(100% - 20px)}.fcfOptions__column{flex:1;max-width:100%;padding:0 10px;position:relative}.fcfOptions__column--small{min-width:auto!important;padding:0!important;position:absolute;right:0;top:50%;transform:translateY(-50%)}.fcfOptions__column--center{padding:5px 0 10px;text-align:center}.fcfOptions__columnButton{background:none;border:0;cursor:pointer;font-size:0;margin-top:20px;outline:0;padding:10px;position:relative;z-index:1}.fcfOptions__columnButton:after{background-color:#f0f0f0;border-radius:50%;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.fcfOptions__columnButton:hover:after{opacity:1}.fcfOptions__columnButton--remove:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e91e"!important;font-family:fcf-icomoon!important;font-size:10px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.fcfOptions__error,.fcfOptions__label,.fcfOptions__labelInner,.fcfOptions__rowLabel{color:#1e1e1e;display:block;font-size:14px;line-height:1.8571428571;padding:2px 0}.fcfOptions__label{display:inline-block;font-weight:500;position:relative;z-index:1}.fcfOptions__label--line{display:block;font-size:0;overflow:hidden}.fcfOptions__labelInner{background-color:#fff;color:#1e1e1e;display:inline-block;margin-left:20px;max-width:calc(100% - 30px);overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}.fcfOptions__labelInner:before{background-color:hsla(216,9%,90%,.75);content:"";height:1px;left:0;position:absolute;top:50%;width:100%;z-index:-1}.fcfOptions__error{background-color:#dc3232;color:#fff;font-weight:500;margin-bottom:10px;padding-left:36px;padding-right:10px;position:relative}.fcfOptions__checkbox~.fcfOptions__error{margin-top:5px}.fcfOptions__error:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e926"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;left:10px;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfOptions__labelHelp,.fcfOptions__labelHelpIcon{display:inline-block;position:relative}.fcfOptions__labelHelpIcon{padding:0 10px;z-index:1}.fcfOptions__labelHelpIcon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2271b1;content:"\e91b"!important;display:block;font-family:fcf-icomoon!important;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;line-height:1.8571428571;text-transform:none;transition:transform .3s}.fcfOptions__labelHelpIcon:hover:before{transform:scale(1.5)}.fcfOptions__input,.fcfOptions__select,.fcfOptions__textarea{margin-bottom:10px}.fcfSettings .fcfOptions__input,.fcfSettings .fcfOptions__textarea{border:1px solid #e2e4e7;border-radius:0;color:#1e1e1e;display:block;font-size:14px;line-height:1.8571428571;max-width:none;padding:7px 10px;width:100%}.fcfSettings .fcfOptions__input:focus,.fcfSettings .fcfOptions__textarea:focus{border-color:#e2e4e7;box-shadow:none;color:#1e1e1e;outline:0}.fcfSettings .fcfOptions__input[disabled],.fcfSettings .fcfOptions__textarea[disabled]{background-color:hsla(216,9%,90%,.5);border-color:#e2e4e7;color:#1e1e1e;text-shadow:none}.fcfSettings .fcfOptions__checkbox,.fcfSettings .fcfOptions__radio{display:none}.fcfOptions__checkbox+.fcfOptions__label,.fcfOptions__radio+.fcfOptions__label{padding-left:30px;transition:color .3s}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__checkbox+.fcfOptions__label:before,.fcfOptions__radio+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:before{content:"";height:20px;left:0;position:absolute;top:calc(50% - 10px);width:20px}.fcfOptions__checkbox+.fcfOptions__label:before,.fcfOptions__radio+.fcfOptions__label:before{border:1px solid #e2e4e7}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:after{color:#46b450;font-size:10px;line-height:2;text-align:center;transform:scale(0);transition:transform .3s}.fcfOptions__checkbox:hover+.fcfOptions__label,.fcfOptions__radio:hover+.fcfOptions__label{color:rgba(30,30,30,.5)}.fcfOptions__checkbox[disabled]+.fcfOptions__label:before,.fcfOptions__radio[disabled]+.fcfOptions__label:before{background-color:hsla(216,9%,90%,.5);border-color:#e2e4e7}.fcfOptions__checkbox+.fcfOptions__label:after{content:"\e907"!important}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfOptions__radio+.fcfOptions__label:after{content:"\e91e"!important}.fcfOptions__checkbox[checked]+.fcfOptions__label:after,.fcfOptions__radio[checked]+.fcfOptions__label:after{transform:scale(1)}.fcfOptions__color,.fcfOptions__media{align-items:center;display:flex;margin-bottom:10px;min-height:42px}.fcfOptions__colorInner,.fcfOptions__mediaInner{width:100%}.fcfOptions__mediaImage{border:1px solid #e2e4e7;display:block;margin:0 auto 10px;max-height:100px;max-width:100px}.fcfOptions__colorPreview{display:block;height:100px;margin:0 auto 10px;width:100px}.fcfOptions__colorButton,.fcfOptions__mediaButton{width:100%}.fcfOptions__boxes{padding-bottom:10px}.fcfOptions__boxesTitle{background-color:#e2e4e7;font-size:14px;line-height:1.4285714286;margin:10px 0;padding:5px 10px;text-align:center}.fcfOptions__boxesTitle:first-child{margin-top:0}.fcfOptions__boxesItems{display:flex;flex-wrap:wrap;margin:-5px}.fcfOptions__boxesItem{padding:5px;width:50%}.fcfSettings .fcfOptions__boxesItemInput{display:none}.fcfOptions__boxesItemLabel{align-items:center;border:1px solid #e2e4e7;color:#1e1e1e;display:flex;font-size:14px;justify-content:center;line-height:1.4285714286;min-height:100%;padding:10px 10px 10px 42px;position:relative;text-align:center;transition:color .3s}.fcfOptions__boxesItemLabel:hover{color:rgba(30,30,30,.5)}.fcfOptions__boxesItemLabel:before{color:rgba(30,30,30,.75)!important;font-size:22px;left:10px;line-height:1;position:absolute;top:calc(50% - 11px)}.fcfOptions__boxesItemLabel:after{border:2px solid #2271b1;content:"";height:calc(100% + 2px);left:-1px;opacity:0;position:absolute;top:-1px;transition:opacity .3s;width:calc(100% + 2px)}.fcfOptions__boxesItemInput:checked+.fcfOptions__boxesItemLabel{color:#1e1e1e}.fcfOptions__boxesItemInput:checked+.fcfOptions__boxesItemLabel:after{opacity:1}.fcfOptions__info{margin:0 -20px;padding:10px 0}.fcfOptions__row:first-child .fcfOptions__info{margin-top:-20px}.fcfOptions__row:last-child .fcfOptions__info{margin-bottom:-20px}.fcfOptions__infoInner{background-color:#2271b1;color:#fff;font-size:14px;line-height:1.8571428571;padding:12px 20px}.fcfOptions__info--green .fcfOptions__infoInner{background-color:#46b450}.fcfOptions__info--yellow .fcfOptions__infoInner{background-color:#dba617}.fcfOptions__infoInner a{color:inherit;display:inline-block;font-weight:500;position:relative;transition:opacity .3s;white-space:nowrap}.fcfOptions__infoInner a:hover{opacity:.5}.fcfOptions__infoInner a:after{background-color:#fff;bottom:0;content:"";height:1px;left:0;position:absolute;width:100%}.fcfOptions__infoInner a.fcfArrowLink{letter-spacing:1px;opacity:1;padding-right:18px;text-transform:uppercase}.fcfOptions__infoInner a.fcfArrowLink:after{transition:width .3s;width:0}.fcfOptions__infoInner a.fcfArrowLink:hover:after{width:100%}.fcfOptions__infoInner a.fcfArrowLink:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e916"!important;font-family:fcf-icomoon!important;font-size:6px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;position:absolute;right:0;text-transform:none;top:50%;transform:translateY(-50%)}.fcfOptions__infoInner p{font-size:14px;line-height:1.8571428571}.fcfOptions__infoInner p strong{font-size:20px;font-weight:400;line-height:1.75}.fcfOptions__infoInner ul{padding-left:10px}.fcfOptions__infoInner ul li{padding-left:20px;position:relative}.fcfOptions__infoInner ul li:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e907"!important;font-family:fcf-icomoon!important;font-size:10px;font-style:normal;font-variant:normal;font-weight:400;left:0;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfOptions__infoInner p,.fcfOptions__infoInner ul{margin-top:10px}.fcfOptions__infoInner p:first-child,.fcfOptions__infoInner ul:first-child{margin-top:0}.fcfSelect__control{background:none!important;border:1px solid #e2e4e7!important;border-radius:0!important;box-shadow:none!important;min-height:42px!important}.fcfSelect__indicators{border-left:1px solid #e2e4e7!important;position:relative;width:42px}.fcfSelect__indicators:after{color:#1e1e1e;content:"\e903"!important;font-size:6px;left:50%;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.fcfSelect__control--menu-is-open .fcfSelect__indicators:after,.fcfSelect__indicators:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSelect__control--menu-is-open .fcfSelect__indicators:after{content:"\e906"!important}.fcfSelect__indicators *{display:none!important}.fcfSelect__value-container{padding:4px 10px!important}.fcfSelect__input input{box-shadow:none!important;color:#1e1e1e!important;font-size:14px!important;line-height:1.5714285714!important;margin:0 2px!important;min-height:auto!important}.fcfSelect__single-value{max-width:calc(100% - 20px)!important}.fcfSelect__multi-value{background-color:#e2e4e7!important;border-radius:0!important}.fcfSelect__multi-value__label{color:#1e1e1e!important;font-size:12px!important;line-height:2!important;padding:2px 0 2px 10px!important}.fcfSelect__multi-value__remove{background:none!important;cursor:pointer;position:relative;width:30px}.fcfSelect__multi-value__remove:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e1e1e;content:"\e91e"!important;font-family:fcf-icomoon!important;font-size:10px;font-style:normal;font-variant:normal;font-weight:400;left:50%;line-height:1;position:absolute;text-transform:none;top:50%;transform:translate(-50%,-50%);transition:color .3s}.fcfSelect__multi-value__remove:hover:after{color:#dc3232}.fcfSelect__multi-value__remove *{display:none!important}.fcfSelect__menu{border-radius:0!important;box-shadow:none!important;margin:0!important;z-index:10!important}.fcfSelect__menu-notice{background-color:#1e1e1e!important;color:#fff!important;font-size:14px!important;line-height:1.8571428571!important;padding:7px 10px!important}.fcfSelect__menu-list{padding:0!important}.fcfSelect__option{background-color:#1e1e1e!important;border:1px solid #1e1e1e;color:#fff!important;cursor:pointer!important;font-size:14px!important;line-height:1.8571428571!important;padding:7px 10px!important;position:relative;transition:background-color .3s}.fcfSelect__option+.fcfSelect__option{border-top:1px solid hsla(0,0%,100%,.25);margin-top:-1px}.fcfSelect__option--is-focused{background-color:#2271b1!important}.fcfSelect__option--is-selected{background-color:#1e1e1e!important;cursor:auto!important;padding-right:42px!important}.fcfSelect__option--is-selected:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#46b450;content:"\e907"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;position:absolute;right:0;text-align:center;text-transform:none;top:50%;transform:translateY(-50%);width:42px}.fcfTabs__items{display:flex;flex-wrap:wrap;margin:0;padding:0}.fcfTabs--lines .fcfTabs__items{margin-bottom:-10px;margin-top:10px}.fcfTabs__item{border-bottom:1px solid #f0f0f0;margin:0 0 -1px;padding:0;position:relative}.fcfTabs--lines .fcfTabs__item{padding-right:3px}.fcfTabs--lines .fcfTabs__item:after{background-color:#2271b1;border-radius:50%;content:"";height:6px;position:absolute;right:0;top:calc(50% - 3px);width:6px}.fcfTabs__item:last-child:after{display:none}.fcfTabs__itemLink{color:#1e1e1e;display:block;font-size:16px;font-weight:500;line-height:1.75;padding:12px 20px;position:relative;text-align:center;transition:color .3s}.fcfTabs--small .fcfTabs__itemLink{font-size:14px}.fcfTabs--lines .fcfTabs__itemLink{font-weight:400;padding:2px 20px}.fcfTabs__itemLink:after{background-color:#2271b1;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s;width:0}.fcfTabs--lines .fcfTabs__itemLink:after{display:none}.fcfTabs__itemLink[class*=icon-]{padding:12px 15px 12px 41px}.fcfTabs__itemLink[class*=icon-]:before{color:rgba(30,30,30,.5);font-size:16px;left:15px;line-height:1;position:absolute;top:calc(50% - 8px);transition:color .3s}.fcfTabs__itemLink:hover,.fcfTabs__itemLink:hover:before{color:#2271b1}.fcfTabs__itemLink--active{pointer-events:none}.fcfTabs__itemLink--active:after{width:100%}.fcfTabs--lines .fcfTabs__itemLink--active{color:#2271b1;font-weight:500}.fcfTooltip{cursor:default;opacity:0;transition:opacity .3s}.fcfTooltip--open{opacity:1}.fcfTooltip__outer{bottom:calc(100% + 10px);z-index:10000}.fcfTooltip__outer,.fcfTooltip__outer:before{left:50%;position:absolute;transform:translateX(-50%)}.fcfTooltip__outer:before{border-color:#1e1e1e transparent transparent;border-style:solid;border-width:5px 5px 0;content:"";height:0;top:100%;width:0}.fcfTooltip__inner{background-color:#1e1e1e;max-width:calc(100vw - 40px);width:400px}.fcfTooltip__text{color:#fff;font-size:14px;font-weight:400;line-height:1.4285714286;padding:5px 10px;text-align:center}.fcfTooltip__buttons{display:flex;justify-content:center;padding:5px}.fcfTooltip__button{padding:5px}.fcfWidget+.fcfWidget{margin-top:30px}.fcfWidget__inner{background-color:#fff;border:1px solid #e2e4e7;border-radius:3px}.fcfWidget__header{align-items:center;border-bottom:1px solid #e2e4e7;display:flex;flex-wrap:wrap;justify-content:space-between}.fcfWidget__headerTitle{color:#1e1e1e;font-size:20px;font-weight:400;line-height:1.75;padding:12px 20px}.fcfWidget__headerButtons{padding:0 10px}.fcfWidget__contentPlaceholder{color:#1e1e1e;font-size:14px;font-weight:500;line-height:1.8571428571;padding:12px 20px;text-align:center}.fcfWidget__footer{border-top:1px solid #f0f0f0;padding:10px}.fcfWidget__buttons{display:flex;flex-wrap:wrap;justify-content:space-between}.fcfWidget__button{min-width:250px;padding:10px;position:relative}.fcfWidget__buttonIcon{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.fcfWidget__buttonIcon:first-child{right:calc(100% + 10px)}.fcfWidget__buttonIcon:last-child{left:calc(100% + 10px)}.fcfWidget__buttonIconInner:before{display:block;font-size:20px;line-height:1}.fcfWidget__buttonIcon--loading .fcfWidget__buttonIconInner:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;animation:rotate 1s ease-out infinite;color:#1e1e1e;content:"\e925"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfWidget__buttonIcon--success .fcfWidget__buttonIconInner:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#46b450;content:"\e907"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfWidget__buttonIcon--error .fcfWidget__buttonIconInner:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e926"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.picker_wrapper.popup{background-color:#fff!important;border:1px solid #e2e4e7!important;bottom:auto!important;box-shadow:none!important;left:0!important;margin:0!important;right:auto!important;top:0!important}.picker_wrapper.popup .picker_arrow,.picker_wrapper.popup .picker_done{display:none!important}.fpf-image img{height:auto;max-width:100%}@media (max-width:1366px){.fcfSettings__column{width:100%}.fcfSettings__column+.fcfSettings__column{margin-top:10px}.fcfFields__items{padding:0}}@media (max-width:768px){.fcfOptions__columns{display:block}}@media (max-width:600px){.fcfFields__itemHeaderInner{display:block}.fcfFields__itemHeaderDesc{margin-top:-20px}.fcfOptions__boxesItem{width:100%}.fcfWidget__header{display:block}.fcfWidget__button{padding:10px 40px;width:100%}.fcfWidget__buttonIcon:first-child{right:0}.fcfWidget__buttonIcon:last-child{left:0}}@media (max-width:1024px),(min-width:1367px) and (max-width:1600px){.fcfOptions__row--sub{padding-left:0}.fcfOptions__columns--button{padding-right:35px}.fcfOptions__column{min-width:50%}}
|
1 |
+
@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@font-face{font-family:fcf-icomoon;font-style:normal;font-weight:400;src:url(../fonts/icons/icomoon.eot?ver=14359972);src:url(../fonts/icons/icomoon.woff?ver=14359972) format("woff"),url(../fonts/icons/icomoon.eot?ver=14359972#iefix) format("embedded-opentype"),url(../fonts/icons/icomoon.ttf?ver=14359972) format("truetype"),url(../fonts/icons/icomoon.svg?ver=14359972#icomoon) format("svg")}.icon-align-left:before{content:"\e900"!important}.icon-align-left:before,.icon-at-email:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-at-email:before{content:"\e92b"!important}.icon-bookmark:before{content:"\e920"!important}.icon-bookmark:before,.icon-brush:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-brush:before{content:"\e901"!important}.icon-calendar-alt:before{content:"\e902"!important}.icon-calendar-alt:before,.icon-caret-down:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-caret-down:before{content:"\e903"!important}.icon-caret-left:before{content:"\e904"!important}.icon-caret-left:before,.icon-caret-right:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-caret-right:before{content:"\e905"!important}.icon-caret-up:before{content:"\e906"!important}.icon-caret-up:before,.icon-check:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-check:before{content:"\e907"!important}.icon-check-double:before{content:"\e92a"!important}.icon-check-double:before,.icon-check-square:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-check-square:before{content:"\e908"!important}.icon-check-square-multi:before{content:"\e92f"!important}.icon-check-square-multi:before,.icon-clock:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-clock:before{content:"\e909"!important}.icon-code:before{content:"\e90a"!important}.icon-code:before,.icon-cog:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-cog:before{content:"\e90b"!important}.icon-cogs:before{content:"\e90c"!important}.icon-cogs:before,.icon-digits:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-digits:before{content:"\e929"!important}.icon-dollar-sign:before{content:"\e90d"!important}.icon-dollar-sign:before,.icon-ellipsis-v:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-ellipsis-v:before{content:"\e90e"!important}.icon-exchange-alt:before{content:"\e90f"!important}.icon-exchange-alt:before,.icon-exclamation-triangle:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-exclamation-triangle:before{content:"\e926"!important}.icon-eye:before{content:"\e910"!important}.icon-eye:before,.icon-font:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-font:before{content:"\e911"!important}.icon-heading:before{content:"\e912"!important}.icon-heading:before,.icon-heart:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-heart:before{content:"\e921"!important}.icon-image:before{content:"\e927"!important}.icon-image:before,.icon-images:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-images:before{content:"\e928"!important}.icon-link:before{content:"\e92d"!important}.icon-link:before,.icon-list-ul:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-list-ul:before{content:"\e913"!important}.icon-long-arrow-alt-down:before{content:"\e914"!important}.icon-long-arrow-alt-down:before,.icon-long-arrow-alt-left:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-long-arrow-alt-left:before{content:"\e915"!important}.icon-long-arrow-alt-right:before{content:"\e916"!important}.icon-long-arrow-alt-right:before,.icon-long-arrow-alt-up:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-long-arrow-alt-up:before{content:"\e917"!important}.icon-magic:before{content:"\e918"!important}.icon-magic:before,.icon-paint-brush:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-paint-brush:before{content:"\e92e"!important}.icon-palette:before{content:"\e919"!important}.icon-palette:before,.icon-paragraph:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-paragraph:before{content:"\e92c"!important}.icon-phone:before{content:"\e930"!important}.icon-phone:before,.icon-plugin-symbol:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-plugin-symbol:before{content:"\e923"!important}.icon-plus:before{content:"\e91a"!important}.icon-plus:before,.icon-question-circle:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-question-circle:before{content:"\e91b"!important}.icon-spinner:before{content:"\e925"!important}.icon-spinner:before,.icon-star:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-star:before{content:"\e922"!important}.icon-tasks:before{content:"\e91d"!important}.icon-tasks-alt:before,.icon-tasks:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-tasks-alt:before{content:"\e91c"!important}.icon-times:before{content:"\e91e"!important}.icon-times:before,.icon-trash-alt:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-trash-alt:before{content:"\e924"!important}.icon-upload:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e91f"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSettings{overflow-x:hidden;width:100%}.fcfSettings,.fcfSettings *,.fcfSettings :after,.fcfSettings :before{box-shadow:none;box-sizing:border-box;text-decoration:none}.fcfSettings *,.fcfSettings :after,.fcfSettings :before{margin:0;padding:0}.fcfSettings a,.fcfSettings a:focus{box-shadow:none;outline:0}.fcfSettings__headline{color:#1e1e1e;font-size:24px;font-weight:400;line-height:1.375;padding:2px 0 2px 50px;position:relative}.fcfSettings__headline:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2271b1;content:"\e923"!important;font-family:fcf-icomoon!important;font-size:30px;font-style:normal;font-variant:normal;font-weight:400;left:0;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfSettings__footer{font-size:14px;line-height:1.8571428571;padding:2px 0;text-align:center}.fcfSettings__footer a{color:inherit;font-weight:500}.fcfSettings__footerIcon{display:inline-block;padding:0 3px}.fcfSettings__footerIcon+.fcfSettings__footerIcon{margin-left:-6px}.fcfSettings__footerIcon--heart:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e921"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSettings__footerIcon--star:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#ffb900;content:"\e922"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSettings__columns{display:flex;flex-wrap:wrap;margin:0 -10px;width:calc(100% + 20px)}.fcfSettings__columns--reverse{flex-direction:row-reverse}.fcfSettings__columns--margin{margin-top:20px}.fcfSettings__column{padding:10px;width:40%}.fcfSettings__column--wide,.fcfSettings__column:first-child:last-child{flex:1}.fcf-admin-fields .form-row label,.fcf-admin-fields .form-row legend{display:block;margin-bottom:.5em}#your-profile .fcf-admin-fields label,#your-profile .fcf-admin-fields legend{font-size:13px}.fcf-admin-fields .form-row{float:none;width:100%}.fcfButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;color:#1e1e1e;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;line-height:1.8571428571;outline:none;overflow:hidden;padding:7px 20px;position:relative;text-align:center;transition:color .3s;z-index:1}.fcfButton[disabled]{pointer-events:none}.fcfButton:after{content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.fcfButton--bg:after{opacity:1}.fcfButton--bg:hover:after{opacity:0}.fcfButton--border:hover:after{opacity:1}.fcfButton--wide{width:100%}.fcfButton--small{padding:2px 20px}.fcfButton--bg{color:#fff}.fcfButton--border:hover{color:#fff!important}.fcfButton--green{border-color:#46b450}.fcfButton--green:after{background-color:#46b450}.fcfButton--green.fcfButton--bg:hover,.fcfButton--green.fcfButton--border{color:#46b450}.fcfButton--blue{border-color:#2271b1}.fcfButton--blue:after{background-color:#2271b1}.fcfButton--blue.fcfButton--bg:hover,.fcfButton--blue.fcfButton--border{color:#2271b1}.fcfButton--red{border-color:#dc3232}.fcfButton--red:after{background-color:#dc3232}.fcfButton--red.fcfButton--bg:hover,.fcfButton--red.fcfButton--border{color:#dc3232}.fcfFields__items{padding:10px}.fcfFields__item{margin:0;outline:none;padding:10px;pointer-events:none}.fcfFields__itemInner{background-color:#fff;border:1px solid #e2e4e7;pointer-events:auto}.fcfFields__itemHeader{position:relative}.fcfFields__itemHeader:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgba(30,30,30,.25);content:"\e90f"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;left:20px;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfFields__itemHeaderOuter{align-items:center;display:flex;justify-content:space-between;padding:0 20px 0 56px}.fcfFields__itemHeaderInner{align-items:center;display:flex;flex:1;min-width:0}.fcfFields__itemHeaderTitle{color:#1e1e1e;flex:1;font-size:14px;font-weight:500;line-height:1.8571428571;overflow:hidden;padding:12px 20px 12px 0;text-overflow:ellipsis;white-space:nowrap}.fcfFields__item--disabled .fcfFields__itemHeaderTitle{color:rgba(30,30,30,.25);font-style:italic}.fcfFields__itemHeaderDesc{color:rgba(30,30,30,.5);font-size:12px;line-height:1.8571428571;padding:12px 0}.fcfFields__itemHeaderDesc--flag{padding-left:30px;position:relative}.fcfFields__itemHeaderDesc--flag:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2271b1;content:"\e923"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;left:0;line-height:1;margin-top:1px;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfFields__itemHeaderButtons{display:flex;padding-left:20px}.fcfFields__itemHeaderButton{position:relative}.fcfFields__itemHeaderButtonInner{background:none;border:0;cursor:pointer;height:36px;line-height:0;outline:0;padding:10px;position:relative;text-align:center;width:36px;z-index:1}.fcfFields__itemHeaderButtonInner:before{color:#1e1e1e;content:"";font-size:16px;line-height:1}.fcfFields__itemHeaderButtonInner:after{background-color:#f0f0f0;border-radius:50%;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.fcfFields__item--disabled .fcfFields__itemHeaderButtonInner:after{background-color:#fff}.fcfFields__itemHeaderButtonInner--open:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e903"!important;font-family:fcf-icomoon!important;font-size:6px;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfFields__itemHeaderButtonInner--close:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e906"!important;font-family:fcf-icomoon!important;font-size:6px;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfFields__itemHeaderButtonInner--remove:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e924"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfFields__itemHeaderButtonInner:hover:after{opacity:1}.fcfFields__itemContent{border-top:1px solid #f0f0f0}.fcfFields__itemTabs{background-color:rgba(0,0,0,.025);border-bottom:1px solid #f0f0f0}.fcfOptions__rows{padding:5px 20px}.fcfOptions__column .fcfOptions__rows{padding:0}.fcfOptions__row{padding:5px 0}.fcfOptions__column .fcfOptions__row{padding:0}.fcfOptions__row--padding{padding:15px 0}.fcfOptions__row--sub{padding-left:30px}.fcfOptions__columns{display:flex;flex-wrap:wrap;position:relative}.fcfOptions__columns--button{padding-right:30px}.fcfOptions__columns--button+.fcfOptions__columns--button:before{background-color:#e2e4e7;content:"";height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:calc(100% - 20px)}.fcfOptions__column{flex:1;max-width:100%;padding:0 10px;position:relative}.fcfOptions__column--small{min-width:auto!important;padding:0!important;position:absolute;right:0;top:50%;transform:translateY(-50%)}.fcfOptions__column--center{padding:5px 0 10px;text-align:center}.fcfOptions__columnButton{background:none;border:0;cursor:pointer;font-size:0;margin-top:20px;outline:0;padding:10px;position:relative;z-index:1}.fcfOptions__columnButton:after{background-color:#f0f0f0;border-radius:50%;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.fcfOptions__columnButton:hover:after{opacity:1}.fcfOptions__columnButton--remove:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e91e"!important;font-family:fcf-icomoon!important;font-size:10px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.fcfOptions__error,.fcfOptions__label,.fcfOptions__labelInner,.fcfOptions__rowLabel{color:#1e1e1e;display:block;font-size:14px;line-height:1.8571428571;padding:2px 0}.fcfOptions__label{display:inline-block;font-weight:500;position:relative;z-index:1}.fcfOptions__label--line{display:block;font-size:0;overflow:hidden}.fcfOptions__labelInner{background-color:#fff;color:#1e1e1e;display:inline-block;margin-left:20px;max-width:calc(100% - 30px);overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}.fcfOptions__labelInner:before{background-color:hsla(216,9%,90%,.75);content:"";height:1px;left:0;position:absolute;top:50%;width:100%;z-index:-1}.fcfOptions__error{background-color:#dc3232;color:#fff;font-weight:500;margin-bottom:10px;padding-left:36px;padding-right:10px;position:relative}.fcfOptions__checkbox~.fcfOptions__error{margin-top:5px}.fcfOptions__error:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e926"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;left:10px;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfOptions__labelHelp,.fcfOptions__labelHelpIcon{display:inline-block;position:relative}.fcfOptions__labelHelpIcon{padding:0 10px;z-index:1}.fcfOptions__labelHelpIcon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2271b1;content:"\e91b"!important;display:block;font-family:fcf-icomoon!important;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;line-height:1.8571428571;text-transform:none;transition:transform .3s}.fcfOptions__labelHelpIcon:hover:before{transform:scale(1.5)}.fcfOptions__input,.fcfOptions__select,.fcfOptions__textarea{margin-bottom:10px}.fcfSettings .fcfOptions__input,.fcfSettings .fcfOptions__textarea{border:1px solid #e2e4e7;border-radius:0;color:#1e1e1e;display:block;font-size:14px;line-height:1.8571428571;max-width:none;padding:7px 10px;width:100%}.fcfSettings .fcfOptions__input:focus,.fcfSettings .fcfOptions__textarea:focus{border-color:#e2e4e7;box-shadow:none;color:#1e1e1e;outline:0}.fcfSettings .fcfOptions__input[disabled],.fcfSettings .fcfOptions__textarea[disabled]{background-color:hsla(216,9%,90%,.5);border-color:#e2e4e7;color:#1e1e1e;text-shadow:none}.fcfSettings .fcfOptions__checkbox,.fcfSettings .fcfOptions__radio{display:none}.fcfOptions__checkbox+.fcfOptions__label,.fcfOptions__radio+.fcfOptions__label{padding-left:30px;transition:color .3s}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__checkbox+.fcfOptions__label:before,.fcfOptions__radio+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:before{content:"";height:20px;left:0;position:absolute;top:calc(50% - 10px);width:20px}.fcfOptions__checkbox+.fcfOptions__label:before,.fcfOptions__radio+.fcfOptions__label:before{border:1px solid #e2e4e7}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:after{color:#46b450;font-size:10px;line-height:2;text-align:center;transform:scale(0);transition:transform .3s}.fcfOptions__checkbox:hover+.fcfOptions__label,.fcfOptions__radio:hover+.fcfOptions__label{color:rgba(30,30,30,.5)}.fcfOptions__checkbox[disabled]+.fcfOptions__label:before,.fcfOptions__radio[disabled]+.fcfOptions__label:before{background-color:hsla(216,9%,90%,.5);border-color:#e2e4e7}.fcfOptions__checkbox+.fcfOptions__label:after{content:"\e907"!important}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfOptions__radio+.fcfOptions__label:after{content:"\e91e"!important}.fcfOptions__checkbox[checked]+.fcfOptions__label:after,.fcfOptions__radio[checked]+.fcfOptions__label:after{transform:scale(1)}.fcfOptions__color,.fcfOptions__media{align-items:center;display:flex;margin-bottom:10px;min-height:42px}.fcfOptions__colorInner,.fcfOptions__mediaInner{width:100%}.fcfOptions__mediaImage{border:1px solid #e2e4e7;display:block;margin:0 auto 10px;max-height:100px;max-width:100px}.fcfOptions__colorPreview{display:block;height:100px;margin:0 auto 10px;width:100px}.fcfOptions__colorButton,.fcfOptions__mediaButton{width:100%}.fcfOptions__boxes{padding-bottom:10px}.fcfOptions__boxesTitle{background-color:#e2e4e7;font-size:14px;line-height:1.4285714286;margin:10px 0;padding:5px 10px;text-align:center}.fcfOptions__boxesTitle:first-child{margin-top:0}.fcfOptions__boxesItems{display:flex;flex-wrap:wrap;margin:-5px}.fcfOptions__boxesItem{padding:5px;width:50%}.fcfSettings .fcfOptions__boxesItemInput{display:none}.fcfOptions__boxesItemLabel{align-items:center;border:1px solid #e2e4e7;color:#1e1e1e;display:flex;font-size:14px;justify-content:center;line-height:1.4285714286;min-height:100%;padding:10px 10px 10px 42px;position:relative;text-align:center;transition:color .3s}.fcfOptions__boxesItemLabel:hover{color:rgba(30,30,30,.5)}.fcfOptions__boxesItemLabel:before{color:rgba(30,30,30,.75)!important;font-size:22px;left:10px;line-height:1;position:absolute;top:calc(50% - 11px)}.fcfOptions__boxesItemLabel:after{border:2px solid #2271b1;content:"";height:calc(100% + 2px);left:-1px;opacity:0;position:absolute;top:-1px;transition:opacity .3s;width:calc(100% + 2px)}.fcfOptions__boxesItemInput:checked+.fcfOptions__boxesItemLabel{color:#1e1e1e}.fcfOptions__boxesItemInput:checked+.fcfOptions__boxesItemLabel:after{opacity:1}.fcfOptions__info{margin:0 -20px;padding:10px 0}.fcfOptions__row:first-child .fcfOptions__info{margin-top:-20px}.fcfOptions__row:last-child .fcfOptions__info{margin-bottom:-20px}.fcfOptions__infoInner{background-color:#2271b1;color:#fff;font-size:14px;line-height:1.8571428571;padding:12px 20px}.fcfOptions__info--green .fcfOptions__infoInner{background-color:#46b450}.fcfOptions__info--yellow .fcfOptions__infoInner{background-color:#dba617}.fcfOptions__infoInner a{color:inherit;display:inline-block;font-weight:500;position:relative;transition:opacity .3s;white-space:nowrap}.fcfOptions__infoInner a:hover{opacity:.5}.fcfOptions__infoInner a:after{background-color:#fff;bottom:0;content:"";height:1px;left:0;position:absolute;width:100%}.fcfOptions__infoInner a.fcfArrowLink{letter-spacing:1px;opacity:1;padding-right:18px;text-transform:uppercase}.fcfOptions__infoInner a.fcfArrowLink:after{transition:width .3s;width:0}.fcfOptions__infoInner a.fcfArrowLink:hover:after{width:100%}.fcfOptions__infoInner a.fcfArrowLink:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e916"!important;font-family:fcf-icomoon!important;font-size:6px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;position:absolute;right:0;text-transform:none;top:50%;transform:translateY(-50%)}.fcfOptions__infoInner p{font-size:14px;line-height:1.8571428571}.fcfOptions__infoInner p strong{font-size:20px;font-weight:400;line-height:1.75}.fcfOptions__infoInner ul{padding-left:10px}.fcfOptions__infoInner ul li{padding-left:20px;position:relative}.fcfOptions__infoInner ul li:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e907"!important;font-family:fcf-icomoon!important;font-size:10px;font-style:normal;font-variant:normal;font-weight:400;left:0;line-height:1;position:absolute;text-transform:none;top:50%;transform:translateY(-50%)}.fcfOptions__infoInner p,.fcfOptions__infoInner ul{margin-top:10px}.fcfOptions__infoInner p:first-child,.fcfOptions__infoInner ul:first-child{margin-top:0}.fcfSelect__control{background:none!important;border:1px solid #e2e4e7!important;border-radius:0!important;box-shadow:none!important;min-height:42px!important}.fcfSelect__indicators{border-left:1px solid #e2e4e7!important;position:relative;width:42px}.fcfSelect__indicators:after{color:#1e1e1e;content:"\e903"!important;font-size:6px;left:50%;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.fcfSelect__control--menu-is-open .fcfSelect__indicators:after,.fcfSelect__indicators:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfSelect__control--menu-is-open .fcfSelect__indicators:after{content:"\e906"!important}.fcfSelect__indicators *{display:none!important}.fcfSelect__value-container{padding:4px 10px!important}.fcfSelect__input input{box-shadow:none!important;color:#1e1e1e!important;font-size:14px!important;line-height:1.5714285714!important;margin:0 2px!important;min-height:auto!important}.fcfSelect__single-value{max-width:calc(100% - 20px)!important}.fcfSelect__multi-value{background-color:#e2e4e7!important;border-radius:0!important}.fcfSelect__multi-value__label{color:#1e1e1e!important;font-size:12px!important;line-height:2!important;padding:2px 0 2px 10px!important}.fcfSelect__multi-value__remove{background:none!important;cursor:pointer;position:relative;width:30px}.fcfSelect__multi-value__remove:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e1e1e;content:"\e91e"!important;font-family:fcf-icomoon!important;font-size:10px;font-style:normal;font-variant:normal;font-weight:400;left:50%;line-height:1;position:absolute;text-transform:none;top:50%;transform:translate(-50%,-50%);transition:color .3s}.fcfSelect__multi-value__remove:hover:after{color:#dc3232}.fcfSelect__multi-value__remove *{display:none!important}.fcfSelect__menu{border-radius:0!important;box-shadow:none!important;margin:0!important;z-index:10!important}.fcfSelect__menu-notice{background-color:#1e1e1e!important;color:#fff!important;font-size:14px!important;line-height:1.8571428571!important;padding:7px 10px!important}.fcfSelect__menu-list{padding:0!important}.fcfSelect__option{background-color:#1e1e1e!important;border:1px solid #1e1e1e;color:#fff!important;cursor:pointer!important;font-size:14px!important;line-height:1.8571428571!important;padding:7px 10px!important;position:relative;transition:background-color .3s}.fcfSelect__option+.fcfSelect__option{border-top:1px solid hsla(0,0%,100%,.25);margin-top:-1px}.fcfSelect__option--is-focused{background-color:#2271b1!important}.fcfSelect__option--is-selected{background-color:#1e1e1e!important;cursor:auto!important;padding-right:42px!important}.fcfSelect__option--is-selected:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#46b450;content:"\e907"!important;font-family:fcf-icomoon!important;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;position:absolute;right:0;text-align:center;text-transform:none;top:50%;transform:translateY(-50%);width:42px}.fcfTabs__items{display:flex;flex-wrap:wrap;margin:0;padding:0}.fcfTabs--lines .fcfTabs__items{margin-bottom:-10px;margin-top:10px}.fcfTabs__item{border-bottom:1px solid #f0f0f0;margin:0 0 -1px;padding:0;position:relative}.fcfTabs--lines .fcfTabs__item{padding-right:3px}.fcfTabs--lines .fcfTabs__item:after{background-color:#2271b1;border-radius:50%;content:"";height:6px;position:absolute;right:0;top:calc(50% - 3px);width:6px}.fcfTabs__item:last-child:after{display:none}.fcfTabs__itemLink{color:#1e1e1e;display:block;font-size:16px;font-weight:500;line-height:1.75;padding:12px 20px;position:relative;text-align:center;transition:color .3s}.fcfTabs--small .fcfTabs__itemLink{font-size:14px}.fcfTabs--lines .fcfTabs__itemLink{font-weight:400;padding:2px 20px}.fcfTabs__itemLink:after{background-color:#2271b1;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s;width:0}.fcfTabs--lines .fcfTabs__itemLink:after{display:none}.fcfTabs__itemLink[class*=icon-]{padding:12px 15px 12px 41px}.fcfTabs__itemLink[class*=icon-]:before{color:rgba(30,30,30,.5);font-size:16px;left:15px;line-height:1;position:absolute;top:calc(50% - 8px);transition:color .3s}.fcfTabs__itemLink:hover,.fcfTabs__itemLink:hover:before{color:#2271b1}.fcfTabs__itemLink--active{pointer-events:none}.fcfTabs__itemLink--active:after{width:100%}.fcfTabs--lines .fcfTabs__itemLink--active{color:#2271b1;font-weight:500}.fcfTooltip{cursor:default;opacity:0;transition:opacity .3s}.fcfTooltip--open{opacity:1}.fcfTooltip__outer{bottom:calc(100% + 10px);z-index:10000}.fcfTooltip__outer,.fcfTooltip__outer:before{left:50%;position:absolute;transform:translateX(-50%)}.fcfTooltip__outer:before{border-color:#1e1e1e transparent transparent;border-style:solid;border-width:5px 5px 0;content:"";height:0;top:100%;width:0}.fcfTooltip__inner{background-color:#1e1e1e;max-width:calc(100vw - 40px);width:400px}.fcfTooltip__text{color:#fff;font-size:14px;font-weight:400;line-height:1.4285714286;padding:5px 10px;text-align:center}.fcfTooltip__buttons{display:flex;justify-content:center;padding:5px}.fcfTooltip__button{padding:5px}.fcfWidget+.fcfWidget{margin-top:30px}.fcfWidget__inner{background-color:#fff;border:1px solid #e2e4e7;border-radius:3px}.fcfWidget__header{align-items:center;border-bottom:1px solid #e2e4e7;display:flex;flex-wrap:wrap;justify-content:space-between}.fcfWidget__headerTitle{color:#1e1e1e;font-size:20px;font-weight:400;line-height:1.75;padding:12px 20px}.fcfWidget__headerButtons{padding:0 10px}.fcfWidget__contentPlaceholder{color:#1e1e1e;font-size:14px;font-weight:500;line-height:1.8571428571;padding:12px 20px;text-align:center}.fcfWidget__footer{border-top:1px solid #f0f0f0;padding:10px}.fcfWidget__buttons{display:flex;flex-wrap:wrap;justify-content:space-between}.fcfWidget__button{min-width:250px;padding:10px;position:relative}.fcfWidget__buttonIcon{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.fcfWidget__buttonIcon:first-child{right:calc(100% + 10px)}.fcfWidget__buttonIcon:last-child{left:calc(100% + 10px)}.fcfWidget__buttonIconInner:before{display:block;font-size:20px;line-height:1}.fcfWidget__buttonIcon--loading .fcfWidget__buttonIconInner:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;animation:rotate 1s ease-out infinite;color:#1e1e1e;content:"\e925"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfWidget__buttonIcon--success .fcfWidget__buttonIconInner:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#46b450;content:"\e907"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.fcfWidget__buttonIcon--error .fcfWidget__buttonIconInner:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#dc3232;content:"\e926"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.picker_wrapper.popup{background-color:#fff!important;border:1px solid #e2e4e7!important;bottom:auto!important;box-shadow:none!important;left:0!important;margin:0!important;right:auto!important;top:0!important}.picker_wrapper.popup .picker_arrow,.picker_wrapper.popup .picker_done{display:none!important}.fpf-image img{height:auto;max-width:100%}@media (max-width:1366px){.fcfSettings__column{width:100%}.fcfSettings__column+.fcfSettings__column{margin-top:10px}.fcfFields__items{padding:0}}@media (max-width:768px){.fcfOptions__columns{display:block}}@media (max-width:600px){.fcfFields__itemHeaderInner{display:block}.fcfFields__itemHeaderDesc{margin-top:-20px}.fcfOptions__boxesItem{width:100%}.fcfWidget__header{display:block}.fcfWidget__button{padding:10px 40px;width:100%}.fcfWidget__buttonIcon:first-child{right:0}.fcfWidget__buttonIcon:last-child{left:0}}@media (max-width:1024px),(min-width:1367px) and (max-width:1600px){.fcfOptions__row--sub{padding-left:0}.fcfOptions__columns--button{padding-right:35px}.fcfOptions__column{min-width:50%}}
|
assets/css/new-front.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@font-face{font-family:fcf-icomoon;font-style:normal;font-weight:400;src:url(../fonts/icons/icomoon.eot?ver=
|
1 |
+
@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@font-face{font-family:fcf-icomoon;font-style:normal;font-weight:400;src:url(../fonts/icons/icomoon.eot?ver=14279934);src:url(../fonts/icons/icomoon.woff?ver=14279934) format("woff"),url(../fonts/icons/icomoon.eot?ver=14279934#iefix) format("embedded-opentype"),url(../fonts/icons/icomoon.ttf?ver=14279934) format("truetype"),url(../fonts/icons/icomoon.svg?ver=14279934#icomoon) format("svg")}.icon-align-left:before{content:"\e900"!important}.icon-align-left:before,.icon-at-email:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-at-email:before{content:"\e92b"!important}.icon-bookmark:before{content:"\e920"!important}.icon-bookmark:before,.icon-brush:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-brush:before{content:"\e901"!important}.icon-calendar-alt:before{content:"\e902"!important}.icon-calendar-alt:before,.icon-caret-down:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-caret-down:before{content:"\e903"!important}.icon-caret-left:before{content:"\e904"!important}.icon-caret-left:before,.icon-caret-right:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-caret-right:before{content:"\e905"!important}.icon-caret-up:before{content:"\e906"!important}.icon-caret-up:before,.icon-check:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-check:before{content:"\e907"!important}.icon-check-double:before{content:"\e92a"!important}.icon-check-double:before,.icon-check-square:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-check-square:before{content:"\e908"!important}.icon-check-square-multi:before{content:"\e92f"!important}.icon-check-square-multi:before,.icon-clock:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-clock:before{content:"\e909"!important}.icon-code:before{content:"\e90a"!important}.icon-code:before,.icon-cog:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-cog:before{content:"\e90b"!important}.icon-cogs:before{content:"\e90c"!important}.icon-cogs:before,.icon-digits:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-digits:before{content:"\e929"!important}.icon-dollar-sign:before{content:"\e90d"!important}.icon-dollar-sign:before,.icon-ellipsis-v:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-ellipsis-v:before{content:"\e90e"!important}.icon-exchange-alt:before{content:"\e90f"!important}.icon-exchange-alt:before,.icon-exclamation-triangle:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-exclamation-triangle:before{content:"\e926"!important}.icon-eye:before{content:"\e910"!important}.icon-eye:before,.icon-font:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-font:before{content:"\e911"!important}.icon-heading:before{content:"\e912"!important}.icon-heading:before,.icon-heart:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-heart:before{content:"\e921"!important}.icon-image:before{content:"\e927"!important}.icon-image:before,.icon-images:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-images:before{content:"\e928"!important}.icon-link:before{content:"\e92d"!important}.icon-link:before,.icon-list-ul:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-list-ul:before{content:"\e913"!important}.icon-long-arrow-alt-down:before{content:"\e914"!important}.icon-long-arrow-alt-down:before,.icon-long-arrow-alt-left:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-long-arrow-alt-left:before{content:"\e915"!important}.icon-long-arrow-alt-right:before{content:"\e916"!important}.icon-long-arrow-alt-right:before,.icon-long-arrow-alt-up:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-long-arrow-alt-up:before{content:"\e917"!important}.icon-magic:before{content:"\e918"!important}.icon-magic:before,.icon-paint-brush:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-paint-brush:before{content:"\e92e"!important}.icon-palette:before{content:"\e919"!important}.icon-palette:before,.icon-paragraph:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-paragraph:before{content:"\e92c"!important}.icon-phone:before{content:"\e930"!important}.icon-phone:before,.icon-plugin-symbol:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-plugin-symbol:before{content:"\e923"!important}.icon-plus:before{content:"\e91a"!important}.icon-plus:before,.icon-question-circle:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-question-circle:before{content:"\e91b"!important}.icon-spinner:before{content:"\e925"!important}.icon-spinner:before,.icon-star:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-star:before{content:"\e922"!important}.icon-tasks:before{content:"\e91d"!important}.icon-tasks-alt:before,.icon-tasks:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-tasks-alt:before{content:"\e91c"!important}.icon-times:before{content:"\e91e"!important}.icon-times:before,.icon-trash-alt:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.icon-trash-alt:before{content:"\e924"!important}.icon-upload:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e91f"!important;font-family:fcf-icomoon!important;font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.picker_wrapper.popup{background-color:#fff!important;border:1px solid #e2e4e7!important;bottom:auto!important;box-shadow:none!important;left:0!important;margin:0!important;right:auto!important;top:0!important}.picker_wrapper.popup .picker_arrow,.picker_wrapper.popup .picker_done{display:none!important}.fpf-image img{height:auto;max-width:100%}.fcf-admin-fields .form-row label,.fcf-admin-fields .form-row legend{display:block;margin-bottom:.5em}#your-profile .fcf-admin-fields label,#your-profile .fcf-admin-fields legend{font-size:13px}.fcf-admin-fields .form-row{float:none;width:100%}
|
assets/img/flexible-wishlist.png
ADDED
Binary file
|
classes/plugin.php
CHANGED
@@ -533,6 +533,14 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
|
|
533 |
|
534 |
if ( '' !== $fcf_field->get_default() ) {
|
535 |
$new[ $key ][ $field['name'] ]['default'] = wpdesk__( $fcf_field->get_default(), 'flexible-checkout-fields' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
}
|
537 |
}
|
538 |
}
|
533 |
|
534 |
if ( '' !== $fcf_field->get_default() ) {
|
535 |
$new[ $key ][ $field['name'] ]['default'] = wpdesk__( $fcf_field->get_default(), 'flexible-checkout-fields' );
|
536 |
+
} elseif ( $field['options'] ?? [] ) {
|
537 |
+
$default = [];
|
538 |
+
foreach ( $field['options'] as $option ) {
|
539 |
+
if ( $option['default_checked'] ?? false ) {
|
540 |
+
$default[] = $option['key'];
|
541 |
+
}
|
542 |
+
}
|
543 |
+
$new[ $key ][ $field['name'] ]['default'] = $default;
|
544 |
}
|
545 |
}
|
546 |
}
|
flexible-checkout-fields.php
CHANGED
@@ -3,15 +3,15 @@
|
|
3 |
* Plugin Name: Flexible Checkout Fields
|
4 |
* Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
|
5 |
* Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
|
6 |
-
* Version: 3.2.
|
7 |
* Author: WP Desk
|
8 |
* Author URI: https://www.wpdesk.net/
|
9 |
* Text Domain: flexible-checkout-fields
|
10 |
* Domain Path: /lang/
|
11 |
* Requires at least: 5.2
|
12 |
-
* Tested up to:
|
13 |
-
* WC requires at least: 6.
|
14 |
-
* WC tested up to: 6.
|
15 |
* Requires PHP: 7.0
|
16 |
*
|
17 |
* Copyright 2017 WP Desk Ltd.
|
@@ -38,7 +38,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
38 |
} // Exit if accessed directly
|
39 |
|
40 |
/* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
|
41 |
-
$plugin_version = '3.2.
|
42 |
|
43 |
/*
|
44 |
* Update when conditions are met:
|
3 |
* Plugin Name: Flexible Checkout Fields
|
4 |
* Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
|
5 |
* Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
|
6 |
+
* Version: 3.2.3
|
7 |
* Author: WP Desk
|
8 |
* Author URI: https://www.wpdesk.net/
|
9 |
* Text Domain: flexible-checkout-fields
|
10 |
* Domain Path: /lang/
|
11 |
* Requires at least: 5.2
|
12 |
+
* Tested up to: 6.0
|
13 |
+
* WC requires at least: 6.2
|
14 |
+
* WC tested up to: 6.5
|
15 |
* Requires PHP: 7.0
|
16 |
*
|
17 |
* Copyright 2017 WP Desk Ltd.
|
38 |
} // Exit if accessed directly
|
39 |
|
40 |
/* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
|
41 |
+
$plugin_version = '3.2.3';
|
42 |
|
43 |
/*
|
44 |
* Update when conditions are met:
|
lang/flexible-checkout-fields.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the same license as the Flexible Checkout Fields plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Flexible Checkout Fields 3.2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/flexible-checkout-fields\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2022-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: flexible-checkout-fields\n"
|
@@ -88,24 +88,24 @@ msgstr ""
|
|
88 |
msgid "Order"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: classes/plugin.php:
|
92 |
msgid "Uploading file..."
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: classes/plugin.php:
|
96 |
#: src/Settings/Menu.php:33
|
97 |
msgid "Settings"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: classes/plugin.php:
|
101 |
msgid "Docs"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: classes/plugin.php:
|
105 |
msgid "Support"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: classes/plugin.php:
|
109 |
msgid "Upgrade"
|
110 |
msgstr ""
|
111 |
|
@@ -658,20 +658,37 @@ msgstr ""
|
|
658 |
msgid "Required Field"
|
659 |
msgstr ""
|
660 |
|
661 |
-
#: templates/notices/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
662 |
msgid "Thanks for using the free version of Flexible Checkout Fields!"
|
663 |
msgstr ""
|
664 |
|
665 |
#. translators: %1$s: dashicon, %2$s: break-line tag
|
666 |
-
#: templates/notices/review.php:
|
667 |
msgid "We are glad that (with our little help %1$s) the shop is now better suited to the needs. We will be grateful for the rating and feedback. %2$sIt will take less than reading this and it will help us a lot!"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: templates/notices/review.php:
|
671 |
msgid "Add review"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: templates/notices/review.php:
|
675 |
msgid "I added review, do not show again"
|
676 |
msgstr ""
|
677 |
|
2 |
# This file is distributed under the same license as the Flexible Checkout Fields plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Flexible Checkout Fields 3.2.3\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/flexible-checkout-fields\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2022-05-12T15:14:35+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: flexible-checkout-fields\n"
|
88 |
msgid "Order"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: classes/plugin.php:871
|
92 |
msgid "Uploading file..."
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: classes/plugin.php:944
|
96 |
#: src/Settings/Menu.php:33
|
97 |
msgid "Settings"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: classes/plugin.php:945
|
101 |
msgid "Docs"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: classes/plugin.php:946
|
105 |
msgid "Support"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: classes/plugin.php:950
|
109 |
msgid "Upgrade"
|
110 |
msgstr ""
|
111 |
|
658 |
msgid "Required Field"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: templates/notices/flexible-wishlist.php:20
|
662 |
+
msgid "New free plugin by WP Desk: Flexible Wishlist for WooCommerce"
|
663 |
+
msgstr ""
|
664 |
+
|
665 |
+
#. translators: %1$s: open strong tag, %2$s: open strong tag, %3$s: heart icon, %4$s: open anchor tag, %5$s: open anchor tag
|
666 |
+
#: templates/notices/flexible-wishlist.php:27
|
667 |
+
msgid "Introducing our new %1$sWooCommerce Wishlist plugin%2$s %3$s It's lightweight. It's free. Fits any theme. 100%% customizable and flexible. %4$sRead more%5$s and try it now. Uninstall any time with just one click."
|
668 |
+
msgstr ""
|
669 |
+
|
670 |
+
#: templates/notices/flexible-wishlist.php:40
|
671 |
+
msgid "Try for free"
|
672 |
+
msgstr ""
|
673 |
+
|
674 |
+
#: templates/notices/flexible-wishlist.php:44
|
675 |
+
msgid "Do not show again"
|
676 |
+
msgstr ""
|
677 |
+
|
678 |
+
#: templates/notices/review.php:17
|
679 |
msgid "Thanks for using the free version of Flexible Checkout Fields!"
|
680 |
msgstr ""
|
681 |
|
682 |
#. translators: %1$s: dashicon, %2$s: break-line tag
|
683 |
+
#: templates/notices/review.php:24
|
684 |
msgid "We are glad that (with our little help %1$s) the shop is now better suited to the needs. We will be grateful for the rating and feedback. %2$sIt will take less than reading this and it will help us a lot!"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: templates/notices/review.php:35
|
688 |
msgid "Add review"
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: templates/notices/review.php:39
|
692 |
msgid "I added review, do not show again"
|
693 |
msgstr ""
|
694 |
|
readme.txt
CHANGED
@@ -1,11 +1,10 @@
|
|
1 |
=== Flexible Checkout Fields for WooCommerce ===
|
2 |
-
|
3 |
Contributors: wpdesk,dyszczo,grola,piotrpo,marcinkolanko,mateuszgbiorczyk,sebastianpisula,bartj
|
4 |
Donate link: https://www.wpdesk.net/flexible-checkout-fields-woocommerce/
|
5 |
Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager
|
6 |
Requires at least: 4.9
|
7 |
-
Tested up to:
|
8 |
-
Stable tag:
|
9 |
Requires PHP: 7.0
|
10 |
License: GPLv3 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -16,7 +15,7 @@ The best looking Checkout Fields plugin. Add, edit, remove WooCommerce checkout
|
|
16 |
|
17 |
We think WooCommerce is the best e-commerce plugin for WordPress. But it lacks some very basic features like customizing checkout fields in an easy to use interface. You can do it by hooks and filters but why bother if you can do it by Flexible Checkout Fields for WooCommerce. With this plugin you can edit the default fields (change labels, hide, delete) or add your own. You can set your own fields order. There are many free field types, such as Text, Checkbox, and Color picker. Read on to see how easy it is to edit WooCommerce checkout fields with this plugin and how powerful it is.
|
18 |
|
19 |
-
[youtube https://www.youtube.com/watch?v=
|
20 |
|
21 |
= The WordPress Look&Feel =
|
22 |
|
@@ -183,6 +182,20 @@ The docs are located here: [Flexible Checkout Fields Docs](https://www.wpdesk.ne
|
|
183 |
|
184 |
Yes, but you will have to purchase [Flexible Checkout Fields PRO](https://www.wpdesk.net/products/woocommerce-checkout-fields/).
|
185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
== Screenshots ==
|
187 |
|
188 |
1. Add new field section
|
@@ -205,6 +218,11 @@ If you are upgrading from the old WooCommerce Checkout Fields version (1.1, wooc
|
|
205 |
|
206 |
== Changelog ==
|
207 |
|
|
|
|
|
|
|
|
|
|
|
208 |
= 3.2.2 - 2022-03-09 =
|
209 |
* Fixed ability to edit fields from custom sections in user profile
|
210 |
* Fixed loading of Select field in Order section
|
1 |
=== Flexible Checkout Fields for WooCommerce ===
|
|
|
2 |
Contributors: wpdesk,dyszczo,grola,piotrpo,marcinkolanko,mateuszgbiorczyk,sebastianpisula,bartj
|
3 |
Donate link: https://www.wpdesk.net/flexible-checkout-fields-woocommerce/
|
4 |
Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager
|
5 |
Requires at least: 4.9
|
6 |
+
Tested up to: 6.0
|
7 |
+
Stable tag: 3.2.3
|
8 |
Requires PHP: 7.0
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
15 |
|
16 |
We think WooCommerce is the best e-commerce plugin for WordPress. But it lacks some very basic features like customizing checkout fields in an easy to use interface. You can do it by hooks and filters but why bother if you can do it by Flexible Checkout Fields for WooCommerce. With this plugin you can edit the default fields (change labels, hide, delete) or add your own. You can set your own fields order. There are many free field types, such as Text, Checkbox, and Color picker. Read on to see how easy it is to edit WooCommerce checkout fields with this plugin and how powerful it is.
|
17 |
|
18 |
+
[youtube https://www.youtube.com/watch?v=VTRnSU0OLV4]
|
19 |
|
20 |
= The WordPress Look&Feel =
|
21 |
|
182 |
|
183 |
Yes, but you will have to purchase [Flexible Checkout Fields PRO](https://www.wpdesk.net/products/woocommerce-checkout-fields/).
|
184 |
|
185 |
+
= I have installed the plugin but I do not know where the plugin settings are =
|
186 |
+
|
187 |
+
The plugin is available in the WordPress menu in the WooCommerce > Checkout Fields tab.
|
188 |
+
|
189 |
+
The plugin menu is in the upper left corner and contains two items. The first is Settings where it is possible to turn on additional sections. The second item is Checkout Sections and clicking on it will show all sections enabled in the Settings tab.
|
190 |
+
|
191 |
+
= I am using this plugin to insert fields in another form but it does not work as it should =
|
192 |
+
|
193 |
+
Our plugin supports fields on the Checkout page (hence its name). So the plugin will work if the form is on the page set in WooCommerce as Checkout.
|
194 |
+
|
195 |
+
WooCommerce > Settings > Advanced > Checkout page
|
196 |
+
|
197 |
+
Our plugin uses the Checkout subpage environment and WooCommerce purchasing mechanisms. These two conditions must be met. The plugin will not work if e.g. there is a quotation plugin that skips this purchasing process.
|
198 |
+
|
199 |
== Screenshots ==
|
200 |
|
201 |
1. Add new field section
|
218 |
|
219 |
== Changelog ==
|
220 |
|
221 |
+
= 3.2.3 - 2022-05-12 =
|
222 |
+
* Fixed default value for Multi-checkbox field type
|
223 |
+
* Added support for WordPress 6.0
|
224 |
+
* Added support for WooCommerce 6.5
|
225 |
+
|
226 |
= 3.2.2 - 2022-03-09 =
|
227 |
* Fixed ability to edit fields from custom sections in user profile
|
228 |
* Fixed loading of Select field in Order section
|
src/Admin/NoticeReview.php
DELETED
@@ -1,143 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPDesk\FCF\Free\Admin;
|
4 |
-
|
5 |
-
use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
6 |
-
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookablePluginDependant;
|
7 |
-
use FcfVendor\WPDesk\PluginBuilder\Plugin\PluginAccess;
|
8 |
-
use FcfVendor\WPDesk\View\Renderer\SimplePhpRenderer;
|
9 |
-
use FcfVendor\WPDesk\View\Resolver\DirResolver;
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Creates admin notice about review.
|
13 |
-
*/
|
14 |
-
class NoticeReview implements Hookable, HookablePluginDependant {
|
15 |
-
|
16 |
-
use PluginAccess;
|
17 |
-
|
18 |
-
const ACTIVATION_OPTION_NAME = 'plugin_activation_%s';
|
19 |
-
const NOTICE_OPTION_NAME = 'notice_review_%s';
|
20 |
-
const NOTICE_AJAX_ACTION = 'fcf_close_notice_review';
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Class object for template rendering.
|
24 |
-
*
|
25 |
-
* @var SimplePhpRenderer
|
26 |
-
*/
|
27 |
-
private $renderer;
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Class constructor.
|
31 |
-
*/
|
32 |
-
public function __construct() {
|
33 |
-
$this->set_renderer();
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Init class for template rendering.
|
38 |
-
*/
|
39 |
-
private function set_renderer() {
|
40 |
-
$this->renderer = new SimplePhpRenderer( new DirResolver( dirname( dirname( __DIR__ ) ) . '/templates' ) );
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* {@inheritdoc}
|
45 |
-
*/
|
46 |
-
public function hooks() {
|
47 |
-
add_filter( 'admin_init', [ $this, 'init_review_notice' ] );
|
48 |
-
add_action( 'wp_ajax_' . self::NOTICE_AJAX_ACTION, [ $this, 'hide_review_notice' ] );
|
49 |
-
}
|
50 |
-
|
51 |
-
/**
|
52 |
-
* Generates admin notice about plugin review.
|
53 |
-
*
|
54 |
-
* @internal
|
55 |
-
*/
|
56 |
-
public function init_review_notice() {
|
57 |
-
$option_notice = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
58 |
-
$notice_date = strtotime( get_option( $option_notice, false ) );
|
59 |
-
$min_date = strtotime( current_time( 'mysql' ) );
|
60 |
-
|
61 |
-
if ( ( basename( $_SERVER['PHP_SELF'] ) !== 'index.php' ) // phpcs:ignore
|
62 |
-
|| ( ( $notice_date !== false ) && ( $notice_date > $min_date ) ) ) {
|
63 |
-
return;
|
64 |
-
}
|
65 |
-
|
66 |
-
$option_activation = sprintf( self::ACTIVATION_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
67 |
-
$activation_date = strtotime( get_option( $option_activation, current_time( 'mysql' ) ) );
|
68 |
-
$min_date = strtotime( current_time( 'mysql' ) . ' -2 weeks' );
|
69 |
-
|
70 |
-
if ( $activation_date > $min_date ) {
|
71 |
-
return;
|
72 |
-
}
|
73 |
-
|
74 |
-
add_filter( 'admin_notices', [ $this, 'show_review_notice' ] );
|
75 |
-
add_action( 'admin_enqueue_scripts', [ $this, 'load_styles_for_notice' ] );
|
76 |
-
add_action( 'admin_enqueue_scripts', [ $this, 'load_scripts_for_notice' ] );
|
77 |
-
}
|
78 |
-
|
79 |
-
/**
|
80 |
-
* Disables visible notice.
|
81 |
-
*
|
82 |
-
* @internal
|
83 |
-
*/
|
84 |
-
public function hide_review_notice() {
|
85 |
-
$option_name = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
86 |
-
$is_permanent = ( isset( $_POST['is_permanently'] ) && $_POST['is_permanently'] ); // phpcs:ignore
|
87 |
-
$notice_time = strtotime( current_time( 'mysql' ) . ( ( $is_permanent ) ? ' +10 years' : ' +1 month' ) );
|
88 |
-
$notice_date = gmdate( 'Y-m-d H:i:s', $notice_time );
|
89 |
-
|
90 |
-
update_option( $option_name, $notice_date, true );
|
91 |
-
}
|
92 |
-
|
93 |
-
/**
|
94 |
-
* Displays admin notice about plugin review.
|
95 |
-
*
|
96 |
-
* @internal
|
97 |
-
*/
|
98 |
-
public function show_review_notice() {
|
99 |
-
echo $this->renderer->render( // phpcs:ignore
|
100 |
-
'notices/review',
|
101 |
-
[
|
102 |
-
'ajax_url' => esc_attr( admin_url( 'admin-ajax.php' ) ),
|
103 |
-
'ajax_action' => esc_attr( self::NOTICE_AJAX_ACTION ),
|
104 |
-
]
|
105 |
-
);
|
106 |
-
}
|
107 |
-
|
108 |
-
/**
|
109 |
-
* Enqueues styles in WordPress Admin Dashboard.
|
110 |
-
*
|
111 |
-
* @internal
|
112 |
-
*/
|
113 |
-
public function load_styles_for_notice() {
|
114 |
-
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.css' : '.min.css';
|
115 |
-
|
116 |
-
wp_register_style(
|
117 |
-
'fcf-notice',
|
118 |
-
trailingslashit( $this->plugin->get_plugin_assets_url() ) . 'css/admin-notice' . $suffix,
|
119 |
-
[],
|
120 |
-
$this->plugin->get_script_version()
|
121 |
-
);
|
122 |
-
wp_enqueue_style( 'fcf-notice' );
|
123 |
-
}
|
124 |
-
|
125 |
-
/**
|
126 |
-
* Enqueues scripts in WordPress Admin Dashboard.
|
127 |
-
*
|
128 |
-
* @internal
|
129 |
-
*/
|
130 |
-
public function load_scripts_for_notice() {
|
131 |
-
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.js' : '.min.js';
|
132 |
-
|
133 |
-
wp_register_script(
|
134 |
-
'fcf-notice',
|
135 |
-
trailingslashit( $this->plugin->get_plugin_assets_url() ) . 'js/admin-notice' . $suffix,
|
136 |
-
[],
|
137 |
-
$this->plugin->get_script_version(),
|
138 |
-
true
|
139 |
-
);
|
140 |
-
wp_enqueue_script( 'fcf-notice' );
|
141 |
-
}
|
142 |
-
|
143 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/Notice/FlexibleWishlistReview.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WPDesk\FCF\Free\Notice;
|
4 |
+
|
5 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\AbstractPlugin;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Notice about new plugin - Flexible Wishlist.
|
9 |
+
*/
|
10 |
+
class FlexibleWishlistReview implements Notice {
|
11 |
+
|
12 |
+
const ACTIVATION_OPTION_NAME = 'plugin_activation_%s';
|
13 |
+
const NOTICE_OPTION_NAME = 'notice_flexible_wishlist_%s';
|
14 |
+
const NOTICE_NAME = 'notice_flexible_wishlist';
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var AbstractPlugin
|
18 |
+
*/
|
19 |
+
private $plugin;
|
20 |
+
|
21 |
+
public function __construct( AbstractPlugin $plugin ) {
|
22 |
+
$this->plugin = $plugin;
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* {@inheritdoc}
|
27 |
+
*/
|
28 |
+
public function get_notice_name(): string {
|
29 |
+
return self::NOTICE_NAME;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* {@inheritdoc}
|
34 |
+
*/
|
35 |
+
public function is_active(): bool {
|
36 |
+
$option_notice = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
37 |
+
$notice_date = strtotime( get_option( $option_notice, false ) );
|
38 |
+
$min_date = strtotime( current_time( 'mysql' ) );
|
39 |
+
|
40 |
+
if ( ( basename( $_SERVER['PHP_SELF'] ) !== 'index.php' ) // phpcs:ignore
|
41 |
+
|| ( ( $notice_date !== false ) && ( $notice_date > $min_date ) ) ) {
|
42 |
+
return false;
|
43 |
+
}
|
44 |
+
|
45 |
+
$option_activation = sprintf( self::ACTIVATION_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
46 |
+
$activation_date = strtotime( get_option( $option_activation, current_time( 'mysql' ) ) );
|
47 |
+
$min_date = strtotime( current_time( 'mysql' ) . ' -1 day' );
|
48 |
+
|
49 |
+
if ( $activation_date > $min_date ) {
|
50 |
+
return false;
|
51 |
+
}
|
52 |
+
|
53 |
+
$installed_plugins = get_plugins();
|
54 |
+
return ! isset( $installed_plugins['flexible-wishlist/flexible-wishlist.php'] );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* {@inheritdoc}
|
59 |
+
*/
|
60 |
+
public function get_template_path(): string {
|
61 |
+
return 'notices/flexible-wishlist';
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* {@inheritdoc}
|
66 |
+
*/
|
67 |
+
public function get_vars_for_view(): array {
|
68 |
+
return [
|
69 |
+
'image_url' => untrailingslashit( $this->plugin->get_plugin_assets_url() ) . '/img/flexible-wishlist.png',
|
70 |
+
'install_url' => wp_nonce_url(
|
71 |
+
add_query_arg(
|
72 |
+
[
|
73 |
+
'action' => 'install-plugin',
|
74 |
+
'plugin' => 'flexible-wishlist',
|
75 |
+
],
|
76 |
+
admin_url( 'update.php' )
|
77 |
+
),
|
78 |
+
'install-plugin_flexible-wishlist'
|
79 |
+
),
|
80 |
+
];
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* {@inheritdoc}
|
85 |
+
*/
|
86 |
+
public function set_notice_as_hidden( bool $is_permanently ) {
|
87 |
+
$option_name = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
88 |
+
$notice_time = strtotime( current_time( 'mysql' ) . ( ( $is_permanently ) ? ' +10 years' : ' +1 month' ) );
|
89 |
+
$notice_date = gmdate( 'Y-m-d H:i:s', $notice_time );
|
90 |
+
|
91 |
+
update_option( $option_name, $notice_date, true );
|
92 |
+
}
|
93 |
+
}
|
src/Notice/Notice.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WPDesk\FCF\Free\Notice;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Interface for class that supports notice displayed in admin panel.
|
7 |
+
*/
|
8 |
+
interface Notice {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Returns unique key of notice.
|
12 |
+
*
|
13 |
+
* @return string
|
14 |
+
*/
|
15 |
+
public function get_notice_name(): string;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Returns status if notice is active.
|
19 |
+
*
|
20 |
+
* @return bool Do show notice?
|
21 |
+
*/
|
22 |
+
public function is_active(): bool;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Returns server path for view template.
|
26 |
+
*
|
27 |
+
* @return string Server path relative to plugin /templates directory.
|
28 |
+
*/
|
29 |
+
public function get_template_path(): string;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Returns variables with values using in view template.
|
33 |
+
*
|
34 |
+
* @return string[] Args extract in view template.
|
35 |
+
*/
|
36 |
+
public function get_vars_for_view(): array;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Disables visible notice.
|
40 |
+
*
|
41 |
+
* @param bool $is_permanently .
|
42 |
+
*
|
43 |
+
* @return void
|
44 |
+
* @internal
|
45 |
+
*/
|
46 |
+
public function set_notice_as_hidden( bool $is_permanently );
|
47 |
+
}
|
src/Notice/NoticeIntegration.php
ADDED
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WPDesk\FCF\Free\Notice;
|
4 |
+
|
5 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
6 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookablePluginDependant;
|
7 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\PluginAccess;
|
8 |
+
use FcfVendor\WPDesk\View\Renderer\SimplePhpRenderer;
|
9 |
+
use FcfVendor\WPDesk\View\Resolver\DirResolver;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Supports ability to display notice and its management.
|
13 |
+
*/
|
14 |
+
class NoticeIntegration implements Hookable, HookablePluginDependant {
|
15 |
+
|
16 |
+
use PluginAccess;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @var Notice
|
20 |
+
*/
|
21 |
+
private $notice;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @var SimplePhpRenderer
|
25 |
+
*/
|
26 |
+
private $renderer;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Class constructor.
|
30 |
+
*/
|
31 |
+
public function __construct( Notice $notice ) {
|
32 |
+
$this->notice = $notice;
|
33 |
+
$this->renderer = new SimplePhpRenderer( new DirResolver( dirname( dirname( __DIR__ ) ) . '/templates' ) );
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* {@inheritdoc}
|
38 |
+
*/
|
39 |
+
public function hooks() {
|
40 |
+
add_filter( 'admin_init', [ $this, 'init_admin_notice' ] );
|
41 |
+
add_action( 'wp_ajax_fcf_close_' . $this->notice->get_notice_name(), [ $this, 'hide_admin_notice' ] );
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @return void
|
46 |
+
* @internal
|
47 |
+
*/
|
48 |
+
public function init_admin_notice() {
|
49 |
+
if ( ! $this->notice->is_active() ) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
+
add_filter( 'admin_notices', [ $this, 'load_admin_notice_template' ] );
|
54 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'load_styles_for_notice' ] );
|
55 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'load_scripts_for_notice' ] );
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @return void
|
60 |
+
* @internal
|
61 |
+
*/
|
62 |
+
public function load_admin_notice_template() {
|
63 |
+
echo $this->renderer->render( // phpcs:ignore
|
64 |
+
$this->notice->get_template_path(),
|
65 |
+
array_merge( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
66 |
+
[
|
67 |
+
'ajax_url' => esc_attr( admin_url( 'admin-ajax.php' ) ),
|
68 |
+
'ajax_action' => esc_attr( 'fcf_close_' . $this->notice->get_notice_name() ),
|
69 |
+
],
|
70 |
+
$this->notice->get_vars_for_view()
|
71 |
+
)
|
72 |
+
);
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @return void
|
77 |
+
* @internal
|
78 |
+
*/
|
79 |
+
public function load_styles_for_notice() {
|
80 |
+
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.css' : '.min.css';
|
81 |
+
|
82 |
+
wp_register_style(
|
83 |
+
'fcf-notice',
|
84 |
+
trailingslashit( $this->plugin->get_plugin_assets_url() ) . 'css/admin-notice' . $suffix,
|
85 |
+
[],
|
86 |
+
( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? time() : $this->plugin->get_script_version()
|
87 |
+
);
|
88 |
+
wp_enqueue_style( 'fcf-notice' );
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* @return void
|
93 |
+
* @internal
|
94 |
+
*/
|
95 |
+
public function load_scripts_for_notice() {
|
96 |
+
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.js' : '.min.js';
|
97 |
+
|
98 |
+
wp_register_script(
|
99 |
+
'fcf-notice',
|
100 |
+
trailingslashit( $this->plugin->get_plugin_assets_url() ) . 'js/admin-notice' . $suffix,
|
101 |
+
[],
|
102 |
+
( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? time() : $this->plugin->get_script_version(),
|
103 |
+
true
|
104 |
+
);
|
105 |
+
wp_enqueue_script( 'fcf-notice' );
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* @return void
|
110 |
+
* @internal
|
111 |
+
*/
|
112 |
+
public function hide_admin_notice() {
|
113 |
+
$is_permanently = ( isset( $_POST['is_permanently'] ) && $_POST['is_permanently'] ); // phpcs:ignore
|
114 |
+
$this->notice->set_notice_as_hidden( $is_permanently );
|
115 |
+
}
|
116 |
+
}
|
src/Notice/ReviewNotice.php
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WPDesk\FCF\Free\Notice;
|
4 |
+
|
5 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\AbstractPlugin;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Notice about review.
|
9 |
+
*/
|
10 |
+
class ReviewNotice implements Notice {
|
11 |
+
|
12 |
+
const ACTIVATION_OPTION_NAME = 'plugin_activation_%s';
|
13 |
+
const NOTICE_OPTION_NAME = 'notice_review_%s';
|
14 |
+
const NOTICE_NAME = 'notice_review';
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var AbstractPlugin
|
18 |
+
*/
|
19 |
+
private $plugin;
|
20 |
+
|
21 |
+
public function __construct( AbstractPlugin $plugin ) {
|
22 |
+
$this->plugin = $plugin;
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* {@inheritdoc}
|
27 |
+
*/
|
28 |
+
public function get_notice_name(): string {
|
29 |
+
return self::NOTICE_NAME;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* {@inheritdoc}
|
34 |
+
*/
|
35 |
+
public function is_active(): bool {
|
36 |
+
$option_notice = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
37 |
+
$notice_date = strtotime( get_option( $option_notice, false ) );
|
38 |
+
$min_date = strtotime( current_time( 'mysql' ) );
|
39 |
+
|
40 |
+
if ( ( basename( $_SERVER['PHP_SELF'] ) !== 'index.php' ) // phpcs:ignore
|
41 |
+
|| ( ( $notice_date !== false ) && ( $notice_date > $min_date ) ) ) {
|
42 |
+
return false;
|
43 |
+
}
|
44 |
+
|
45 |
+
$option_activation = sprintf( self::ACTIVATION_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
46 |
+
$activation_date = strtotime( get_option( $option_activation, current_time( 'mysql' ) ) );
|
47 |
+
$min_date = strtotime( current_time( 'mysql' ) . ' -7 days' );
|
48 |
+
|
49 |
+
return ( $activation_date <= $min_date );
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* {@inheritdoc}
|
54 |
+
*/
|
55 |
+
public function get_template_path(): string {
|
56 |
+
return 'notices/review';
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* {@inheritdoc}
|
61 |
+
*/
|
62 |
+
public function get_vars_for_view(): array {
|
63 |
+
return [];
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* {@inheritdoc}
|
68 |
+
*/
|
69 |
+
public function set_notice_as_hidden( bool $is_permanently ) {
|
70 |
+
$option_name = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
|
71 |
+
$notice_time = strtotime( current_time( 'mysql' ) . ( ( $is_permanently ) ? ' +10 years' : ' +1 month' ) );
|
72 |
+
$notice_date = gmdate( 'Y-m-d H:i:s', $notice_time );
|
73 |
+
|
74 |
+
update_option( $option_name, $notice_date, true );
|
75 |
+
}
|
76 |
+
}
|
src/Plugin.php
CHANGED
@@ -6,7 +6,7 @@ use FcfVendor\WPDesk\PluginBuilder\Plugin\AbstractPlugin;
|
|
6 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableCollection;
|
7 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableParent;
|
8 |
use FcfVendor\WPDesk_Plugin_Info;
|
9 |
-
use WPDesk\FCF\Free\
|
10 |
use WPDesk\FCF\Free\Field;
|
11 |
use WPDesk\FCF\Free\Integration;
|
12 |
use WPDesk\FCF\Free\Service;
|
@@ -66,7 +66,8 @@ class Plugin extends AbstractPlugin implements HookableCollection {
|
|
66 |
public function init() {
|
67 |
$this->add_hookable( new Service\ShortLinksGenerator() );
|
68 |
|
69 |
-
$this->add_hookable( new
|
|
|
70 |
$this->add_hookable( new Settings\Page() );
|
71 |
$this->add_hookable( new Form\Assets( $this->plugin_info ) );
|
72 |
$this->add_hookable( new Field\FieldTranslator() );
|
6 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableCollection;
|
7 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableParent;
|
8 |
use FcfVendor\WPDesk_Plugin_Info;
|
9 |
+
use WPDesk\FCF\Free\Notice;
|
10 |
use WPDesk\FCF\Free\Field;
|
11 |
use WPDesk\FCF\Free\Integration;
|
12 |
use WPDesk\FCF\Free\Service;
|
66 |
public function init() {
|
67 |
$this->add_hookable( new Service\ShortLinksGenerator() );
|
68 |
|
69 |
+
$this->add_hookable( new Notice\NoticeIntegration( new Notice\ReviewNotice( $this ) ) );
|
70 |
+
$this->add_hookable( new Notice\NoticeIntegration( new Notice\FlexibleWishlistReview( $this ) ) );
|
71 |
$this->add_hookable( new Settings\Page() );
|
72 |
$this->add_hookable( new Form\Assets( $this->plugin_info ) );
|
73 |
$this->add_hookable( new Field\FieldTranslator() );
|
templates/notices/flexible-wishlist.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Notice about new plugin - Flexible Wishlist.
|
4 |
+
*
|
5 |
+
* @var string $ajax_url URL for Admin Ajax.
|
6 |
+
* @var string $ajax_action Action for Admin Ajax.
|
7 |
+
* @var string $image_url .
|
8 |
+
* @var string $install_url .
|
9 |
+
* @package Flexible Checkout Fields
|
10 |
+
*/
|
11 |
+
|
12 |
+
?>
|
13 |
+
<div class="notice notice-success is-dismissible"
|
14 |
+
data-notice="fcf-admin-notice"
|
15 |
+
data-notice-url="<?php echo esc_attr( $ajax_url ); ?>"
|
16 |
+
data-notice-action="<?php echo esc_attr( $ajax_action ); ?>"
|
17 |
+
>
|
18 |
+
<img src="<?php echo esc_attr( $image_url ); ?>" alt="">
|
19 |
+
<h2>
|
20 |
+
<?php echo esc_html( __( 'New free plugin by WP Desk: Flexible Wishlist for WooCommerce', 'flexible-checkout-fields' ) ); ?>
|
21 |
+
</h2>
|
22 |
+
<p>
|
23 |
+
<?php
|
24 |
+
echo wp_kses_post(
|
25 |
+
sprintf(
|
26 |
+
/* translators: %1$s: open strong tag, %2$s: open strong tag, %3$s: heart icon, %4$s: open anchor tag, %5$s: open anchor tag */
|
27 |
+
__( 'Introducing our new %1$sWooCommerce Wishlist plugin%2$s %3$s It\'s lightweight. It\'s free. Fits any theme. 100%% customizable and flexible. %4$sRead more%5$s and try it now. Uninstall any time with just one click.', 'flexible-checkout-fields' ),
|
28 |
+
'<strong>',
|
29 |
+
'</strong>',
|
30 |
+
'<span class="dashicons dashicons-heart"></span>',
|
31 |
+
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-notice-fw-read-more' ) ) . '" target="_blank">',
|
32 |
+
'</a>'
|
33 |
+
)
|
34 |
+
);
|
35 |
+
?>
|
36 |
+
</p>
|
37 |
+
<div>
|
38 |
+
<a href="<?php echo esc_url( $install_url ); ?>"
|
39 |
+
class="button button-hero button-primary">
|
40 |
+
<?php echo esc_html( __( 'Try for free', 'flexible-checkout-fields' ) ); ?>
|
41 |
+
</a>
|
42 |
+
<button type="button"
|
43 |
+
class="button button-hero" data-notice-button>
|
44 |
+
<?php echo esc_html( __( 'Do not show again', 'flexible-checkout-fields' ) ); ?>
|
45 |
+
</button>
|
46 |
+
</div>
|
47 |
+
</div>
|
templates/notices/review.php
CHANGED
@@ -11,7 +11,8 @@
|
|
11 |
<div class="notice notice-success is-dismissible"
|
12 |
data-notice="fcf-admin-notice"
|
13 |
data-notice-url="<?php echo esc_attr( $ajax_url ); ?>"
|
14 |
-
data-notice-action="<?php echo esc_attr( $ajax_action ); ?>"
|
|
|
15 |
<h2>
|
16 |
<?php echo esc_html( __( 'Thanks for using the free version of Flexible Checkout Fields!', 'flexible-checkout-fields' ) ); ?>
|
17 |
</h2>
|
11 |
<div class="notice notice-success is-dismissible"
|
12 |
data-notice="fcf-admin-notice"
|
13 |
data-notice-url="<?php echo esc_attr( $ajax_url ); ?>"
|
14 |
+
data-notice-action="<?php echo esc_attr( $ajax_action ); ?>"
|
15 |
+
>
|
16 |
<h2>
|
17 |
<?php echo esc_html( __( 'Thanks for using the free version of Flexible Checkout Fields!', 'flexible-checkout-fields' ) ); ?>
|
18 |
</h2>
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit47b2fec7fefc82fd9d86966cba893a9f::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -171,6 +171,8 @@ return array(
|
|
171 |
'FcfVendor\\WPDesk\\Logger\\BasicLoggerFactory' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/BasicLoggerFactory.php',
|
172 |
'FcfVendor\\WPDesk\\Logger\\LoggerFacade' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFacade.php',
|
173 |
'FcfVendor\\WPDesk\\Logger\\LoggerFactory' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFactory.php',
|
|
|
|
|
174 |
'FcfVendor\\WPDesk\\Logger\\WC\\Exception\\WCLoggerAlreadyCaptured' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/WC/Exception/WCLoggerAlreadyCaptured.php',
|
175 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceCapture' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceCapture.php',
|
176 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceHandler' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceHandler.php',
|
@@ -296,7 +298,6 @@ return array(
|
|
296 |
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
|
297 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
298 |
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
299 |
-
'WPDesk\\FCF\\Free\\Admin\\NoticeReview' => $baseDir . '/src/Admin/NoticeReview.php',
|
300 |
'WPDesk\\FCF\\Free\\Exception\\TemplateLoadingFailed' => $baseDir . '/src/Exception/TemplateLoadingFailed.php',
|
301 |
'WPDesk\\FCF\\Free\\Field\\FieldData' => $baseDir . '/src/Field/FieldData.php',
|
302 |
'WPDesk\\FCF\\Free\\Field\\FieldTemplateLoader' => $baseDir . '/src/Field/FieldTemplateLoader.php',
|
@@ -350,6 +351,10 @@ return array(
|
|
350 |
'WPDesk\\FCF\\Free\\Integration\\SectionsInterface' => $baseDir . '/src/Integration/SectionsInterface.php',
|
351 |
'WPDesk\\FCF\\Free\\Integration\\Value' => $baseDir . '/src/Integration/Value.php',
|
352 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => $baseDir . '/src/Integration/ValueInterface.php',
|
|
|
|
|
|
|
|
|
353 |
'WPDesk\\FCF\\Free\\Plugin' => $baseDir . '/src/Plugin.php',
|
354 |
'WPDesk\\FCF\\Free\\Service\\ShortLinksGenerator' => $baseDir . '/src/Service/ShortLinksGenerator.php',
|
355 |
'WPDesk\\FCF\\Free\\Service\\TemplateLoader' => $baseDir . '/src/Service/TemplateLoader.php',
|
171 |
'FcfVendor\\WPDesk\\Logger\\BasicLoggerFactory' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/BasicLoggerFactory.php',
|
172 |
'FcfVendor\\WPDesk\\Logger\\LoggerFacade' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFacade.php',
|
173 |
'FcfVendor\\WPDesk\\Logger\\LoggerFactory' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFactory.php',
|
174 |
+
'FcfVendor\\WPDesk\\Logger\\Settings' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/Settings.php',
|
175 |
+
'FcfVendor\\WPDesk\\Logger\\SimpleLoggerFactory' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/SimpleLoggerFactory.php',
|
176 |
'FcfVendor\\WPDesk\\Logger\\WC\\Exception\\WCLoggerAlreadyCaptured' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/WC/Exception/WCLoggerAlreadyCaptured.php',
|
177 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceCapture' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceCapture.php',
|
178 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceHandler' => $baseDir . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceHandler.php',
|
298 |
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
|
299 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
300 |
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
|
|
301 |
'WPDesk\\FCF\\Free\\Exception\\TemplateLoadingFailed' => $baseDir . '/src/Exception/TemplateLoadingFailed.php',
|
302 |
'WPDesk\\FCF\\Free\\Field\\FieldData' => $baseDir . '/src/Field/FieldData.php',
|
303 |
'WPDesk\\FCF\\Free\\Field\\FieldTemplateLoader' => $baseDir . '/src/Field/FieldTemplateLoader.php',
|
351 |
'WPDesk\\FCF\\Free\\Integration\\SectionsInterface' => $baseDir . '/src/Integration/SectionsInterface.php',
|
352 |
'WPDesk\\FCF\\Free\\Integration\\Value' => $baseDir . '/src/Integration/Value.php',
|
353 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => $baseDir . '/src/Integration/ValueInterface.php',
|
354 |
+
'WPDesk\\FCF\\Free\\Notice\\FlexibleWishlistReview' => $baseDir . '/src/Notice/FlexibleWishlistReview.php',
|
355 |
+
'WPDesk\\FCF\\Free\\Notice\\Notice' => $baseDir . '/src/Notice/Notice.php',
|
356 |
+
'WPDesk\\FCF\\Free\\Notice\\NoticeIntegration' => $baseDir . '/src/Notice/NoticeIntegration.php',
|
357 |
+
'WPDesk\\FCF\\Free\\Notice\\ReviewNotice' => $baseDir . '/src/Notice/ReviewNotice.php',
|
358 |
'WPDesk\\FCF\\Free\\Plugin' => $baseDir . '/src/Plugin.php',
|
359 |
'WPDesk\\FCF\\Free\\Service\\ShortLinksGenerator' => $baseDir . '/src/Service/ShortLinksGenerator.php',
|
360 |
'WPDesk\\FCF\\Free\\Service\\TemplateLoader' => $baseDir . '/src/Service/TemplateLoader.php',
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit76fc4dcc526abf840c0a8f46b514d9d6
|
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
-
spl_autoload_register(array('
|
26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
-
spl_autoload_unregister(array('
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
-
call_user_func(\Composer\Autoload\
|
34 |
} else {
|
35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit47b2fec7fefc82fd9d86966cba893a9f
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
+
spl_autoload_register(array('ComposerAutoloaderInit47b2fec7fefc82fd9d86966cba893a9f', 'loadClassLoader'), true, true);
|
26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit47b2fec7fefc82fd9d86966cba893a9f', 'loadClassLoader'));
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit47b2fec7fefc82fd9d86966cba893a9f::getInitializer($loader));
|
34 |
} else {
|
35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
@@ -194,6 +194,8 @@ class ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6
|
|
194 |
'FcfVendor\\WPDesk\\Logger\\BasicLoggerFactory' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/BasicLoggerFactory.php',
|
195 |
'FcfVendor\\WPDesk\\Logger\\LoggerFacade' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFacade.php',
|
196 |
'FcfVendor\\WPDesk\\Logger\\LoggerFactory' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFactory.php',
|
|
|
|
|
197 |
'FcfVendor\\WPDesk\\Logger\\WC\\Exception\\WCLoggerAlreadyCaptured' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/WC/Exception/WCLoggerAlreadyCaptured.php',
|
198 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceCapture' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceCapture.php',
|
199 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceHandler' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceHandler.php',
|
@@ -319,7 +321,6 @@ class ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6
|
|
319 |
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
|
320 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
321 |
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
322 |
-
'WPDesk\\FCF\\Free\\Admin\\NoticeReview' => __DIR__ . '/../..' . '/src/Admin/NoticeReview.php',
|
323 |
'WPDesk\\FCF\\Free\\Exception\\TemplateLoadingFailed' => __DIR__ . '/../..' . '/src/Exception/TemplateLoadingFailed.php',
|
324 |
'WPDesk\\FCF\\Free\\Field\\FieldData' => __DIR__ . '/../..' . '/src/Field/FieldData.php',
|
325 |
'WPDesk\\FCF\\Free\\Field\\FieldTemplateLoader' => __DIR__ . '/../..' . '/src/Field/FieldTemplateLoader.php',
|
@@ -373,6 +374,10 @@ class ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6
|
|
373 |
'WPDesk\\FCF\\Free\\Integration\\SectionsInterface' => __DIR__ . '/../..' . '/src/Integration/SectionsInterface.php',
|
374 |
'WPDesk\\FCF\\Free\\Integration\\Value' => __DIR__ . '/../..' . '/src/Integration/Value.php',
|
375 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => __DIR__ . '/../..' . '/src/Integration/ValueInterface.php',
|
|
|
|
|
|
|
|
|
376 |
'WPDesk\\FCF\\Free\\Plugin' => __DIR__ . '/../..' . '/src/Plugin.php',
|
377 |
'WPDesk\\FCF\\Free\\Service\\ShortLinksGenerator' => __DIR__ . '/../..' . '/src/Service/ShortLinksGenerator.php',
|
378 |
'WPDesk\\FCF\\Free\\Service\\TemplateLoader' => __DIR__ . '/../..' . '/src/Service/TemplateLoader.php',
|
@@ -485,9 +490,9 @@ class ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6
|
|
485 |
public static function getInitializer(ClassLoader $loader)
|
486 |
{
|
487 |
return \Closure::bind(function () use ($loader) {
|
488 |
-
$loader->prefixLengthsPsr4 =
|
489 |
-
$loader->prefixDirsPsr4 =
|
490 |
-
$loader->classMap =
|
491 |
|
492 |
}, null, ClassLoader::class);
|
493 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit47b2fec7fefc82fd9d86966cba893a9f
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
194 |
'FcfVendor\\WPDesk\\Logger\\BasicLoggerFactory' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/BasicLoggerFactory.php',
|
195 |
'FcfVendor\\WPDesk\\Logger\\LoggerFacade' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFacade.php',
|
196 |
'FcfVendor\\WPDesk\\Logger\\LoggerFactory' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/LoggerFactory.php',
|
197 |
+
'FcfVendor\\WPDesk\\Logger\\Settings' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/Settings.php',
|
198 |
+
'FcfVendor\\WPDesk\\Logger\\SimpleLoggerFactory' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/SimpleLoggerFactory.php',
|
199 |
'FcfVendor\\WPDesk\\Logger\\WC\\Exception\\WCLoggerAlreadyCaptured' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/WC/Exception/WCLoggerAlreadyCaptured.php',
|
200 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceCapture' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceCapture.php',
|
201 |
'FcfVendor\\WPDesk\\Logger\\WC\\WooCommerceHandler' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceHandler.php',
|
321 |
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
|
322 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
323 |
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
|
|
324 |
'WPDesk\\FCF\\Free\\Exception\\TemplateLoadingFailed' => __DIR__ . '/../..' . '/src/Exception/TemplateLoadingFailed.php',
|
325 |
'WPDesk\\FCF\\Free\\Field\\FieldData' => __DIR__ . '/../..' . '/src/Field/FieldData.php',
|
326 |
'WPDesk\\FCF\\Free\\Field\\FieldTemplateLoader' => __DIR__ . '/../..' . '/src/Field/FieldTemplateLoader.php',
|
374 |
'WPDesk\\FCF\\Free\\Integration\\SectionsInterface' => __DIR__ . '/../..' . '/src/Integration/SectionsInterface.php',
|
375 |
'WPDesk\\FCF\\Free\\Integration\\Value' => __DIR__ . '/../..' . '/src/Integration/Value.php',
|
376 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => __DIR__ . '/../..' . '/src/Integration/ValueInterface.php',
|
377 |
+
'WPDesk\\FCF\\Free\\Notice\\FlexibleWishlistReview' => __DIR__ . '/../..' . '/src/Notice/FlexibleWishlistReview.php',
|
378 |
+
'WPDesk\\FCF\\Free\\Notice\\Notice' => __DIR__ . '/../..' . '/src/Notice/Notice.php',
|
379 |
+
'WPDesk\\FCF\\Free\\Notice\\NoticeIntegration' => __DIR__ . '/../..' . '/src/Notice/NoticeIntegration.php',
|
380 |
+
'WPDesk\\FCF\\Free\\Notice\\ReviewNotice' => __DIR__ . '/../..' . '/src/Notice/ReviewNotice.php',
|
381 |
'WPDesk\\FCF\\Free\\Plugin' => __DIR__ . '/../..' . '/src/Plugin.php',
|
382 |
'WPDesk\\FCF\\Free\\Service\\ShortLinksGenerator' => __DIR__ . '/../..' . '/src/Service/ShortLinksGenerator.php',
|
383 |
'WPDesk\\FCF\\Free\\Service\\TemplateLoader' => __DIR__ . '/../..' . '/src/Service/TemplateLoader.php',
|
490 |
public static function getInitializer(ClassLoader $loader)
|
491 |
{
|
492 |
return \Closure::bind(function () use ($loader) {
|
493 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit47b2fec7fefc82fd9d86966cba893a9f::$prefixLengthsPsr4;
|
494 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit47b2fec7fefc82fd9d86966cba893a9f::$prefixDirsPsr4;
|
495 |
+
$loader->classMap = ComposerStaticInit47b2fec7fefc82fd9d86966cba893a9f::$classMap;
|
496 |
|
497 |
}, null, ClassLoader::class);
|
498 |
}
|
vendor_prefixed/monolog/monolog/composer.json
CHANGED
@@ -62,5 +62,7 @@
|
|
62 |
"test": "vendor\/bin\/phpunit",
|
63 |
"phpstan": "vendor\/bin\/phpstan analyse"
|
64 |
},
|
65 |
-
"
|
|
|
|
|
66 |
}
|
62 |
"test": "vendor\/bin\/phpunit",
|
63 |
"phpstan": "vendor\/bin\/phpstan analyse"
|
64 |
},
|
65 |
+
"config": {
|
66 |
+
"lock": false
|
67 |
+
}
|
68 |
}
|
vendor_prefixed/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php
CHANGED
@@ -33,9 +33,11 @@ class JsonFormatter extends \FcfVendor\Monolog\Formatter\NormalizerFormatter
|
|
33 |
/**
|
34 |
* @param int $batchMode
|
35 |
* @param bool $appendNewline
|
|
|
36 |
*/
|
37 |
-
public function __construct($batchMode = self::BATCH_MODE_JSON, $appendNewline = \true)
|
38 |
{
|
|
|
39 |
$this->batchMode = $batchMode;
|
40 |
$this->appendNewline = $appendNewline;
|
41 |
}
|
@@ -125,8 +127,8 @@ class JsonFormatter extends \FcfVendor\Monolog\Formatter\NormalizerFormatter
|
|
125 |
*/
|
126 |
protected function normalize($data, $depth = 0)
|
127 |
{
|
128 |
-
if ($depth >
|
129 |
-
return 'Over
|
130 |
}
|
131 |
if (\is_array($data)) {
|
132 |
$normalized = array();
|
33 |
/**
|
34 |
* @param int $batchMode
|
35 |
* @param bool $appendNewline
|
36 |
+
* @param int $maxDepth
|
37 |
*/
|
38 |
+
public function __construct($batchMode = self::BATCH_MODE_JSON, $appendNewline = \true, $maxDepth = 9)
|
39 |
{
|
40 |
+
parent::__construct(null, $maxDepth);
|
41 |
$this->batchMode = $batchMode;
|
42 |
$this->appendNewline = $appendNewline;
|
43 |
}
|
127 |
*/
|
128 |
protected function normalize($data, $depth = 0)
|
129 |
{
|
130 |
+
if ($depth > $this->maxDepth) {
|
131 |
+
return 'Over ' . $this->maxDepth . ' levels deep, aborting normalization';
|
132 |
}
|
133 |
if (\is_array($data)) {
|
134 |
$normalized = array();
|
vendor_prefixed/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
CHANGED
@@ -21,12 +21,15 @@ class NormalizerFormatter implements \FcfVendor\Monolog\Formatter\FormatterInter
|
|
21 |
{
|
22 |
const SIMPLE_DATE = "Y-m-d H:i:s";
|
23 |
protected $dateFormat;
|
|
|
24 |
/**
|
25 |
* @param string $dateFormat The format of the timestamp: one supported by DateTime::format
|
|
|
26 |
*/
|
27 |
-
public function __construct($dateFormat = null)
|
28 |
{
|
29 |
$this->dateFormat = $dateFormat ?: static::SIMPLE_DATE;
|
|
|
30 |
if (!\function_exists('json_encode')) {
|
31 |
throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s NormalizerFormatter');
|
32 |
}
|
@@ -48,10 +51,24 @@ class NormalizerFormatter implements \FcfVendor\Monolog\Formatter\FormatterInter
|
|
48 |
}
|
49 |
return $records;
|
50 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
protected function normalize($data, $depth = 0)
|
52 |
{
|
53 |
-
if ($depth >
|
54 |
-
return 'Over
|
55 |
}
|
56 |
if (null === $data || \is_scalar($data)) {
|
57 |
if (\is_float($data)) {
|
21 |
{
|
22 |
const SIMPLE_DATE = "Y-m-d H:i:s";
|
23 |
protected $dateFormat;
|
24 |
+
protected $maxDepth;
|
25 |
/**
|
26 |
* @param string $dateFormat The format of the timestamp: one supported by DateTime::format
|
27 |
+
* @param int $maxDepth
|
28 |
*/
|
29 |
+
public function __construct($dateFormat = null, $maxDepth = 9)
|
30 |
{
|
31 |
$this->dateFormat = $dateFormat ?: static::SIMPLE_DATE;
|
32 |
+
$this->maxDepth = $maxDepth;
|
33 |
if (!\function_exists('json_encode')) {
|
34 |
throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s NormalizerFormatter');
|
35 |
}
|
51 |
}
|
52 |
return $records;
|
53 |
}
|
54 |
+
/**
|
55 |
+
* @return int
|
56 |
+
*/
|
57 |
+
public function getMaxDepth()
|
58 |
+
{
|
59 |
+
return $this->maxDepth;
|
60 |
+
}
|
61 |
+
/**
|
62 |
+
* @param int $maxDepth
|
63 |
+
*/
|
64 |
+
public function setMaxDepth($maxDepth)
|
65 |
+
{
|
66 |
+
$this->maxDepth = $maxDepth;
|
67 |
+
}
|
68 |
protected function normalize($data, $depth = 0)
|
69 |
{
|
70 |
+
if ($depth > $this->maxDepth) {
|
71 |
+
return 'Over ' . $this->maxDepth . ' levels deep, aborting normalization';
|
72 |
}
|
73 |
if (null === $data || \is_scalar($data)) {
|
74 |
if (\is_float($data)) {
|
vendor_prefixed/wpdesk/wp-codeception/composer.json
CHANGED
@@ -20,6 +20,9 @@
|
|
20 |
"sort-packages": true,
|
21 |
"platform": {
|
22 |
"php": "7.0.8"
|
|
|
|
|
|
|
23 |
}
|
24 |
},
|
25 |
"require": {
|
@@ -44,6 +47,9 @@
|
|
44 |
"wp-cli\/admin-command": "^2.0",
|
45 |
"wp-cli\/wp-cli-bundle": "^2.4"
|
46 |
},
|
|
|
|
|
|
|
47 |
"autoload": {
|
48 |
"psr-4": {
|
49 |
"FcfVendor\\WPDesk\\Codeception\\": "src\/WPDesk\/Codeception",
|
20 |
"sort-packages": true,
|
21 |
"platform": {
|
22 |
"php": "7.0.8"
|
23 |
+
},
|
24 |
+
"allow-plugins": {
|
25 |
+
"kylekatarnls\/update-helper": true
|
26 |
}
|
27 |
},
|
28 |
"require": {
|
47 |
"wp-cli\/admin-command": "^2.0",
|
48 |
"wp-cli\/wp-cli-bundle": "^2.4"
|
49 |
},
|
50 |
+
"require-dev": {
|
51 |
+
"10up\/wp_mock": "*"
|
52 |
+
},
|
53 |
"autoload": {
|
54 |
"psr-4": {
|
55 |
"FcfVendor\\WPDesk\\Codeception\\": "src\/WPDesk\/Codeception",
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareCodeceptionDb.php
CHANGED
@@ -28,7 +28,8 @@ class PrepareCodeceptionDb extends \FcfVendor\WPDesk\Composer\Codeception\Comman
|
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
-
*
|
|
|
32 |
*/
|
33 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
34 |
{
|
@@ -39,5 +40,6 @@ class PrepareCodeceptionDb extends \FcfVendor\WPDesk\Composer\Codeception\Comman
|
|
39 |
$this->executeWpCliAndOutput('plugin activate ' . $configuration->getPluginSlug(), $output, $configuration->getApacheDocumentRoot());
|
40 |
$this->activatePlugins($output, $configuration);
|
41 |
$this->executeWpCliAndOutput('db export ' . \getcwd() . '/tests/codeception/tests/_data/db.sql', $output, $configuration->getApacheDocumentRoot());
|
|
|
42 |
}
|
43 |
}
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
+
*
|
32 |
+
* @return int 0 if everything went fine, or an error code
|
33 |
*/
|
34 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
35 |
{
|
40 |
$this->executeWpCliAndOutput('plugin activate ' . $configuration->getPluginSlug(), $output, $configuration->getApacheDocumentRoot());
|
41 |
$this->activatePlugins($output, $configuration);
|
42 |
$this->executeWpCliAndOutput('db export ' . \getcwd() . '/tests/codeception/tests/_data/db.sql', $output, $configuration->getApacheDocumentRoot());
|
43 |
+
return 0;
|
44 |
}
|
45 |
}
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php
CHANGED
@@ -29,11 +29,13 @@ class PrepareLocalCodeceptionTests extends \FcfVendor\WPDesk\Composer\Codeceptio
|
|
29 |
*
|
30 |
* @param InputInterface $input
|
31 |
* @param OutputInterface $output
|
32 |
-
*
|
|
|
33 |
*/
|
34 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
35 |
{
|
36 |
$this->prepareLocalCodeceptionTests($input, $output, \false);
|
|
|
37 |
}
|
38 |
/**
|
39 |
* @param array $theme_files
|
29 |
*
|
30 |
* @param InputInterface $input
|
31 |
* @param OutputInterface $output
|
32 |
+
*
|
33 |
+
* @return int 0 if everything went fine, or an error code
|
34 |
*/
|
35 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
36 |
{
|
37 |
$this->prepareLocalCodeceptionTests($input, $output, \false);
|
38 |
+
return 0;
|
39 |
}
|
40 |
/**
|
41 |
* @param array $theme_files
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareWordpressForCodeception.php
CHANGED
@@ -28,12 +28,14 @@ class PrepareWordpressForCodeception extends \FcfVendor\WPDesk\Composer\Codecept
|
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
-
*
|
|
|
32 |
*/
|
33 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
34 |
{
|
35 |
$configuration = $this->getWpDeskConfiguration();
|
36 |
$this->installWP($output, $configuration);
|
|
|
37 |
}
|
38 |
/**
|
39 |
* @param OutputInterface $output
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
+
*
|
32 |
+
* @return int 0 if everything went fine, or an error code
|
33 |
*/
|
34 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
35 |
{
|
36 |
$configuration = $this->getWpDeskConfiguration();
|
37 |
$this->installWP($output, $configuration);
|
38 |
+
return 0;
|
39 |
}
|
40 |
/**
|
41 |
* @param OutputInterface $output
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php
CHANGED
@@ -28,7 +28,8 @@ class RunCodeceptionTests extends \FcfVendor\WPDesk\Composer\Codeception\Command
|
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
-
*
|
|
|
32 |
*/
|
33 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
34 |
{
|
@@ -55,5 +56,6 @@ class RunCodeceptionTests extends \FcfVendor\WPDesk\Composer\Codeception\Command
|
|
55 |
if (empty($fastTest) || self::FAST !== $fastTest) {
|
56 |
$this->execAndOutput('docker-compose -f ' . $dockerComposeYaml . ' down -v', $output);
|
57 |
}
|
|
|
58 |
}
|
59 |
}
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
+
*
|
32 |
+
* @return int 0 if everything went fine, or an error code
|
33 |
*/
|
34 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
35 |
{
|
56 |
if (empty($fastTest) || self::FAST !== $fastTest) {
|
57 |
$this->execAndOutput('docker-compose -f ' . $dockerComposeYaml . ' down -v', $output);
|
58 |
}
|
59 |
+
return 0;
|
60 |
}
|
61 |
}
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php
CHANGED
@@ -28,7 +28,8 @@ class RunLocalCodeceptionTests extends \FcfVendor\WPDesk\Composer\Codeception\Co
|
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
-
*
|
|
|
32 |
*/
|
33 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
34 |
{
|
@@ -41,5 +42,6 @@ class RunLocalCodeceptionTests extends \FcfVendor\WPDesk\Composer\Codeception\Co
|
|
41 |
$this->execAndOutput($cleanOutput, $output);
|
42 |
$runLocalTests = $codecept . ' run -f --steps --html --verbose acceptance ' . $singleTest;
|
43 |
$this->execAndOutput($runLocalTests, $output);
|
|
|
44 |
}
|
45 |
}
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
+
*
|
32 |
+
* @return int 0 if everything went fine, or an error code
|
33 |
*/
|
34 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
35 |
{
|
42 |
$this->execAndOutput($cleanOutput, $output);
|
43 |
$runLocalTests = $codecept . ' run -f --steps --html --verbose acceptance ' . $singleTest;
|
44 |
$this->execAndOutput($runLocalTests, $output);
|
45 |
+
return 0;
|
46 |
}
|
47 |
}
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTestsWithCoverage.php
CHANGED
@@ -28,7 +28,8 @@ class RunLocalCodeceptionTestsWithCoverage extends \FcfVendor\WPDesk\Composer\Co
|
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
-
*
|
|
|
32 |
*/
|
33 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
34 |
{
|
@@ -41,5 +42,6 @@ class RunLocalCodeceptionTestsWithCoverage extends \FcfVendor\WPDesk\Composer\Co
|
|
41 |
$this->execAndOutput($cleanOutput, $output);
|
42 |
$runLocalTests = $codecept . ' run -f --steps --html --coverage --coverage-xml --coverage-html --verbose acceptance ' . $singleTest;
|
43 |
$this->execAndOutput($runLocalTests, $output);
|
|
|
44 |
}
|
45 |
}
|
28 |
*
|
29 |
* @param InputInterface $input
|
30 |
* @param OutputInterface $output
|
31 |
+
*
|
32 |
+
* @return int 0 if everything went fine, or an error code
|
33 |
*/
|
34 |
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
35 |
{
|
42 |
$this->execAndOutput($cleanOutput, $output);
|
43 |
$runLocalTests = $codecept . ' run -f --steps --html --coverage --coverage-xml --coverage-html --verbose acceptance ' . $singleTest;
|
44 |
$this->execAndOutput($runLocalTests, $output);
|
45 |
+
return 0;
|
46 |
}
|
47 |
}
|
vendor_prefixed/wpdesk/wp-logs/composer.json
CHANGED
@@ -6,27 +6,30 @@
|
|
6 |
"email": "krzysiek@wpdesk.pl"
|
7 |
}
|
8 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
"require": {
|
10 |
-
"php": ">=
|
11 |
-
"psr\/log": "^1
|
12 |
"monolog\/monolog": "^1.23",
|
13 |
"wpdesk\/wp-notice": "^3.0"
|
14 |
},
|
15 |
"require-dev": {
|
16 |
"phpunit\/phpunit": "^5",
|
17 |
-
"wp-coding-standards\/wpcs": "^0.14.1",
|
18 |
"squizlabs\/php_codesniffer": "^3.0.2",
|
19 |
-
"
|
20 |
},
|
21 |
"autoload": {
|
22 |
-
"classmap": [
|
23 |
-
"src\/deprecated"
|
24 |
-
],
|
25 |
"psr-4": {
|
26 |
"FcfVendor\\WPDesk\\Logger\\": "src\/"
|
27 |
}
|
28 |
},
|
29 |
-
"autoload-dev": {},
|
30 |
"scripts": {
|
31 |
"phpunit-unit": "phpunit --configuration phpunit-unit.xml --coverage-text --colors=never",
|
32 |
"phpunit-unit-fast": "phpunit --configuration phpunit-unit.xml --no-coverage",
|
6 |
"email": "krzysiek@wpdesk.pl"
|
7 |
}
|
8 |
],
|
9 |
+
"config": {
|
10 |
+
"platform": {
|
11 |
+
"php": "7.0.19"
|
12 |
+
},
|
13 |
+
"allow-plugins": {
|
14 |
+
"dealerdirect\/phpcodesniffer-composer-installer": true
|
15 |
+
}
|
16 |
+
},
|
17 |
"require": {
|
18 |
+
"php": ">=7.0|^8",
|
19 |
+
"psr\/log": "^1",
|
20 |
"monolog\/monolog": "^1.23",
|
21 |
"wpdesk\/wp-notice": "^3.0"
|
22 |
},
|
23 |
"require-dev": {
|
24 |
"phpunit\/phpunit": "^5",
|
|
|
25 |
"squizlabs\/php_codesniffer": "^3.0.2",
|
26 |
+
"wpdesk\/wp-code-sniffer": "^1.2.3"
|
27 |
},
|
28 |
"autoload": {
|
|
|
|
|
|
|
29 |
"psr-4": {
|
30 |
"FcfVendor\\WPDesk\\Logger\\": "src\/"
|
31 |
}
|
32 |
},
|
|
|
33 |
"scripts": {
|
34 |
"phpunit-unit": "phpunit --configuration phpunit-unit.xml --coverage-text --colors=never",
|
35 |
"phpunit-unit-fast": "phpunit --configuration phpunit-unit.xml --no-coverage",
|
vendor_prefixed/wpdesk/wp-logs/src/Settings.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace FcfVendor\WPDesk\Logger;
|
4 |
+
|
5 |
+
use Psr\Log\LogLevel;
|
6 |
+
final class Settings
|
7 |
+
{
|
8 |
+
/** @var string */
|
9 |
+
public $level = \Psr\Log\LogLevel::DEBUG;
|
10 |
+
/** @var bool */
|
11 |
+
public $use_wc_log = \true;
|
12 |
+
/** @var bool */
|
13 |
+
public $use_wp_log = \true;
|
14 |
+
}
|
vendor_prefixed/wpdesk/wp-logs/src/SimpleLoggerFactory.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare (strict_types=1);
|
4 |
+
namespace FcfVendor\WPDesk\Logger;
|
5 |
+
|
6 |
+
use FcfVendor\Monolog\Handler\HandlerInterface;
|
7 |
+
use FcfVendor\Monolog\Handler\NullHandler;
|
8 |
+
use FcfVendor\Monolog\Logger;
|
9 |
+
use FcfVendor\Monolog\Handler\ErrorLogHandler;
|
10 |
+
use FcfVendor\WPDesk\Logger\WC\WooCommerceHandler;
|
11 |
+
final class SimpleLoggerFactory implements \FcfVendor\WPDesk\Logger\LoggerFactory
|
12 |
+
{
|
13 |
+
/** @var Settings */
|
14 |
+
private $options;
|
15 |
+
/** @var string */
|
16 |
+
private $channel;
|
17 |
+
/** @var Logger */
|
18 |
+
private $logger;
|
19 |
+
public function __construct(string $channel, \FcfVendor\WPDesk\Logger\Settings $options = null)
|
20 |
+
{
|
21 |
+
$this->channel = $channel;
|
22 |
+
$this->options = $options ?? new \FcfVendor\WPDesk\Logger\Settings();
|
23 |
+
}
|
24 |
+
public function getLogger($name = null) : \FcfVendor\Monolog\Logger
|
25 |
+
{
|
26 |
+
if ($this->logger) {
|
27 |
+
return $this->logger;
|
28 |
+
}
|
29 |
+
$logger = new \FcfVendor\Monolog\Logger($this->channel);
|
30 |
+
$wc_handler = $this->get_wc_handler();
|
31 |
+
if ($this->options->use_wc_log) {
|
32 |
+
$logger->pushHandler($wc_handler);
|
33 |
+
}
|
34 |
+
if ($this->options->use_wp_log || $wc_handler instanceof \FcfVendor\Monolog\Handler\NullHandler) {
|
35 |
+
$logger->pushHandler($this->get_wp_handler());
|
36 |
+
}
|
37 |
+
return $this->logger = $logger;
|
38 |
+
}
|
39 |
+
private function get_wc_handler() : \FcfVendor\Monolog\Handler\HandlerInterface
|
40 |
+
{
|
41 |
+
if (\function_exists('wc_get_logger')) {
|
42 |
+
return new \FcfVendor\WPDesk\Logger\WC\WooCommerceHandler(\wc_get_logger(), $this->options->level);
|
43 |
+
}
|
44 |
+
return new \FcfVendor\Monolog\Handler\NullHandler();
|
45 |
+
}
|
46 |
+
private function get_wp_handler() : \FcfVendor\Monolog\Handler\HandlerInterface
|
47 |
+
{
|
48 |
+
if (\defined('FcfVendor\\WP_DEBUG_LOG') && WP_DEBUG_LOG) {
|
49 |
+
return new \FcfVendor\Monolog\Handler\ErrorLogHandler(\FcfVendor\Monolog\Handler\ErrorLogHandler::OPERATING_SYSTEM, $this->options->level);
|
50 |
+
}
|
51 |
+
return new \FcfVendor\Monolog\Handler\NullHandler();
|
52 |
+
}
|
53 |
+
}
|