Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager - Version 3.2.3

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 Icon wp 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

Files changed (34) hide show
  1. assets/css/admin-notice.css +16 -2
  2. assets/css/admin-notice.min.css +1 -1
  3. assets/css/new-admin.css +1 -1
  4. assets/css/new-front.css +1 -1
  5. assets/img/flexible-wishlist.png +0 -0
  6. classes/plugin.php +8 -0
  7. flexible-checkout-fields.php +5 -5
  8. lang/flexible-checkout-fields.pot +28 -11
  9. readme.txt +22 -4
  10. src/Admin/NoticeReview.php +0 -143
  11. src/Notice/FlexibleWishlistReview.php +93 -0
  12. src/Notice/Notice.php +47 -0
  13. src/Notice/NoticeIntegration.php +116 -0
  14. src/Notice/ReviewNotice.php +76 -0
  15. src/Plugin.php +3 -2
  16. templates/notices/flexible-wishlist.php +47 -0
  17. templates/notices/review.php +2 -1
  18. vendor/autoload.php +1 -1
  19. vendor/composer/autoload_classmap.php +6 -1
  20. vendor/composer/autoload_real.php +4 -4
  21. vendor/composer/autoload_static.php +10 -5
  22. vendor_prefixed/monolog/monolog/composer.json +3 -1
  23. vendor_prefixed/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php +5 -3
  24. vendor_prefixed/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +20 -3
  25. vendor_prefixed/wpdesk/wp-codeception/composer.json +6 -0
  26. vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareCodeceptionDb.php +3 -1
  27. vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php +3 -1
  28. vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareWordpressForCodeception.php +3 -1
  29. vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php +3 -1
  30. vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php +3 -1
  31. vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTestsWithCoverage.php +3 -1
  32. vendor_prefixed/wpdesk/wp-logs/composer.json +11 -8
  33. vendor_prefixed/wpdesk/wp-logs/src/Settings.php +14 -0
  34. 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: 24px;
8
  line-height: 1.625;
9
  }
10
  [data-notice="fcf-admin-notice"] p {
 
11
  margin: 0;
12
- padding: 13px 0;
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:24px;line-height:1.625}[data-notice="fcf-admin-notice"] p{margin:0;padding:13px 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}
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=18570734);src:url(../fonts/icons/icomoon.woff?ver=18570734) format("woff"),url(../fonts/icons/icomoon.eot?ver=18570734#iefix) format("embedded-opentype"),url(../fonts/icons/icomoon.ttf?ver=18570734) format("truetype"),url(../fonts/icons/icomoon.svg?ver=18570734#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%}
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.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: 5.9
13
- * WC requires at least: 6.0
14
- * WC tested up to: 6.3
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.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.2\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-03-09T16:09:06+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,24 +88,24 @@ msgstr ""
88
  msgid "Order"
89
  msgstr ""
90
 
91
- #: classes/plugin.php:863
92
  msgid "Uploading file..."
93
  msgstr ""
94
 
95
- #: classes/plugin.php:936
96
  #: src/Settings/Menu.php:33
97
  msgid "Settings"
98
  msgstr ""
99
 
100
- #: classes/plugin.php:937
101
  msgid "Docs"
102
  msgstr ""
103
 
104
- #: classes/plugin.php:938
105
  msgid "Support"
106
  msgstr ""
107
 
108
- #: classes/plugin.php:942
109
  msgid "Upgrade"
110
  msgstr ""
111
 
@@ -658,20 +658,37 @@ msgstr ""
658
  msgid "Required Field"
659
  msgstr ""
660
 
661
- #: templates/notices/review.php:16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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:23
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:34
671
  msgid "Add review"
672
  msgstr ""
673
 
674
- #: templates/notices/review.php:38
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: 5.9
8
- Stable tag: trunk
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=Gm7npD3Dnik]
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\Admin;
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 Admin\NoticeReview() );
 
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 ComposerAutoloaderInit76fc4dcc526abf840c0a8f46b514d9d6::getLoader();
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 ComposerAutoloaderInit76fc4dcc526abf840c0a8f46b514d9d6
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit76fc4dcc526abf840c0a8f46b514d9d6
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit76fc4dcc526abf840c0a8f46b514d9d6', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit76fc4dcc526abf840c0a8f46b514d9d6', '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\ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6::getInitializer($loader));
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 ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6
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 = ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6::$prefixLengthsPsr4;
489
- $loader->prefixDirsPsr4 = ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6::$prefixDirsPsr4;
490
- $loader->classMap = ComposerStaticInit76fc4dcc526abf840c0a8f46b514d9d6::$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
- "lock": false
 
 
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 > 9) {
129
- return 'Over 9 levels deep, aborting normalization';
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 > 9) {
54
- return 'Over 9 levels deep, aborting normalization';
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
- * @return void
 
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
- * @return void
 
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
- * @return void
 
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
- * @return void
 
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
- * @return void
 
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
- * @return void
 
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": ">=5.6",
11
- "psr\/log": "^1.0.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
- "wimg\/php-compatibility": "^8"
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
+ }