Yasr – Yet Another Stars Rating - Version 2.1.2

Version Description

  • NEW FEATURE: is now possible to import rating from Multi Rating
  • TWEAKED: updated freemius sdk to version 2.3.2
  • FIXED: MultiSet fix for users that enabled it on version prior of 2.1.0 and had setid=0
Download this release

Release Info

Developer Dudo
Plugin Icon 128x128 Yasr – Yet Another Stars Rating
Version 2.1.2
Comparing to
See all releases

Code changes from version 2.1.1 to 2.1.2

Files changed (41) hide show
  1. changelog.txt +32 -0
  2. css/yasr-admin.css +7 -0
  3. freemius/assets/css/admin/account.css +1 -1
  4. freemius/assets/css/admin/common.css +2 -2
  5. freemius/assets/css/admin/connect.css +1 -1
  6. freemius/assets/css/admin/debug.css +1 -1
  7. freemius/assets/css/admin/dialog-boxes.css +1 -1
  8. freemius/includes/class-freemius.php +618 -63
  9. freemius/includes/class-fs-plugin-updater.php +6 -0
  10. freemius/includes/class-fs-storage.php +11 -10
  11. freemius/includes/fs-essential-functions.php +5 -1
  12. freemius/languages/freemius-cs_CZ.mo +0 -0
  13. freemius/languages/freemius-cs_CZ.po +243 -457
  14. freemius/languages/freemius-da_DK.mo +0 -0
  15. freemius/languages/freemius-da_DK.po +468 -430
  16. freemius/languages/freemius-es_ES.mo +0 -0
  17. freemius/languages/freemius-es_ES.po +30 -30
  18. freemius/languages/freemius-it_IT.mo +0 -0
  19. freemius/languages/freemius-it_IT.po +62 -61
  20. freemius/languages/freemius-ja.mo +0 -0
  21. freemius/languages/freemius-ja.po +2762 -0
  22. freemius/languages/freemius.pot +434 -361
  23. freemius/start.php +1 -1
  24. freemius/templates/account.php +38 -5
  25. freemius/templates/connect.php +76 -22
  26. freemius/templates/debug.php +13 -13
  27. freemius/templates/forms/deactivation/form.php +1 -1
  28. freemius/templates/forms/license-activation.php +865 -698
  29. freemius/templates/forms/optout.php +329 -269
  30. freemius/templates/forms/user-change.php +296 -0
  31. js/yasr-admin.js +22 -1
  32. lib/admin/settings/yasr-settings-functions-misc.php +2 -2
  33. lib/admin/settings/yasr-settings-functions-multiset.php +50 -27
  34. lib/admin/settings/yasr-settings-migration-functions.php +229 -96
  35. lib/admin/settings/yasr-settings-migration-page.php +67 -24
  36. lib/admin/yasr-update-functions.php +64 -10
  37. lib/yasr-db-functions.php +3 -3
  38. lib/yasr-shortcode-functions.php +5 -1
  39. readme.txt +7 -30
  40. yasr-settings-page.php +1 -1
  41. yet-another-stars-rating.php +2 -2
changelog.txt CHANGED
@@ -1,3 +1,35 @@
1
= 1.9.4 =
2
* NEW: In the settings, is now possible to customize the "you must sign in" text; two html tags are supported: < strong > and < p >
3
* FIXED: Update transient to show the new average when a rating get deleted from the panel
1
+ = 2.0.0 =
2
+ * NEW FEATURE: is now possible to import date from:
3
+ - Wp Post Ratings
4
+ - KK Star Ratings
5
+ - Rate My Post
6
+ * FIXED: in editor screen, multi set didn't shows up if more than 1 was used
7
+ * TWEAKED: minor changes
8
+
9
+ = 1.9.9 =
10
+ * FIXED: added a further check every time get_the_title function is called
11
+
12
+ = 1.9.8 =
13
+ * FIXED: overall rating didn't get saved if default editor isnt't Gutenberg or Classic Editor
14
+
15
+ = 1.9.7 =
16
+ * FIXED: Impossibile to create a new post if used classic editor
17
+
18
+ = 1.9.6 =
19
+ * NEW FEATURE: 3 Brand new Gutenberg Blocks!! Yasr: Top 10 By Visitor Votes, Yasr: Most Active Visitos and Yasr Most Active Authors!
20
+ * NEW FEATURE: Gutenberg Panel!
21
+ * TWEAKED: In Gutenberg, Overall Rating value is now saved when post is saved/updated, instead of with an ajax call.
22
+ * TWEAKED: updated freemius sdk to version 2.3.0
23
+
24
+ = 1.9.5 =
25
+ * TWEAKED: settings redesigned
26
+ * TWEAKED: code cleanup
27
+ [//]: # fs_premium_only_begin
28
+ FIXED: if gutenberg is active, comment_review_enablad value always reset to 0
29
+ FIXED: error on yasr_pro_visitor_votes_chart shortcode
30
+ TWEAKED: code cleanup
31
+ [//]: # fs_premium_only_end
32
+
33
= 1.9.4 =
34
* NEW: In the settings, is now possible to customize the "you must sign in" text; two html tags are supported: < strong > and < p >
35
* FIXED: Update transient to show the new average when a rating get deleted from the panel
css/yasr-admin.css CHANGED
@@ -598,6 +598,13 @@
598
color: #2ca02c;
599
}
600
601
.yasr-alert-box {
602
margin-top: 15px;
603
margin-bottom: 15px;
598
color: #2ca02c;
599
}
600
601
+ .title-noplugin-found{
602
+ font-size: 18px;
603
+ font-weight: bold;
604
+ color: #ff4141;
605
+ display: block;
606
+ }
607
+
608
.yasr-alert-box {
609
margin-top: 15px;
610
margin-bottom: 15px;
freemius/assets/css/admin/account.css CHANGED
@@ -1 +1 @@
1
- label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account h3 .dashicons{width:26px;height:26px;font-size:1.3em}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:0.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type="text"]{color:#0073AA;font-size:16px;background:none}.fs-key-value-table input[type="text"]{width:100%;font-weight:bold}.fs-field-beta_program label{margin-left:7px}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{max-height:200px;overflow:auto;border:1px solid #e5e5e5}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none !important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{text-align:right;color:grey;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{width:1px;white-space:nowrap}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:bold}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:bold}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:bold}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
1
+ label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account h3 .dashicons{width:26px;height:26px;font-size:1.3em}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:0.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type="text"]{color:#0073AA;font-size:16px;background:none}.fs-key-value-table input[type="text"]{width:100%;font-weight:bold}.fs-field-beta_program label{margin-left:7px}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{max-height:200px;overflow:auto;border:1px solid #e5e5e5}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none !important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{text-align:right;color:grey;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{width:1px;white-space:nowrap}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:bold}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:bold}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:bold}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
freemius/assets/css/admin/common.css CHANGED
@@ -1,2 +1,2 @@
1
- .fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:white;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3)}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{position:relative;top:0;margin-top:10px;text-align:center}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
2
- .fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}
1
+ .fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:white;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3)}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{position:relative;top:0;margin-top:10px;text-align:center}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{position:relative;display:inline-block;color:#ccc;text-shadow:0 1px 1px rgba(255,255,255,0.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);background:#ececec;box-shadow:0 0 4px rgba(0,0,0,0.1),inset 0 1px 3px 0 rgba(0,0,0,0.1);cursor:pointer}.fs-switch span{display:inline-block;width:35px;text-transform:uppercase}.fs-switch .fs-toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.3);border-radius:4px;background:#fff;background-color:#fff;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ececec), color-stop(1, #fff));background-image:-webkit-linear-gradient(top, #ececec, #fff);background-image:-moz-linear-gradient(top, #ececec, #fff);background-image:-ms-linear-gradient(top, #ececec, #fff);background-image:-o-linear-gradient(top, #ececec, #fff);background-image:linear-gradient(top, bottom, #ececec, #fff);box-shadow:inset 0 1px 0 0 rgba(255,255,255,0.5);z-index:999;-moz-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-o-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-ms-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-webkit-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1)}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{top:8px;padding:4px 25px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round .fs-toggle{top:0;width:24px;height:24px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{top:0;width:18px;height:18px;-moz-border-radius:18px;-webkit-border-radius:18px;border-radius:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}.fs-switch-feedback{margin-left:10px}.fs-switch-feedback.success{color:#71ae00}.rtl .fs-switch-feedback{margin-left:0;margin-right:10px}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
2
+ .fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain;margin-bottom:-2px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}
freemius/assets/css/admin/connect.css CHANGED
@@ -1 +1 @@
1
- #fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li div{margin-left:55px}#fs_connect .fs-permissions ul li div span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li div p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li div{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}
1
+ #fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li .fs-switch{float:right}#fs_connect .fs-permissions ul li .fs-permission-description{margin-left:55px}#fs_connect .fs-permissions ul li .fs-permission-description span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li .fs-permission-description p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li .fs-permission-description{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li .fs-switch{float:left}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}
freemius/assets/css/admin/debug.css CHANGED
@@ -1 +1 @@
1
- .switch{position:relative;display:inline-block;font-size:1.6em;font-weight:bold;color:#ccc;text-shadow:0px 1px 1px rgba(255,255,255,0.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:4px;background:#ececec;box-shadow:0px 0px 4px rgba(0,0,0,0.1),inset 0px 1px 3px 0px rgba(0,0,0,0.1);cursor:pointer}.switch span{display:inline-block;width:35px;text-transform:uppercase}.switch span.on{color:#6bc406}.switch .toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.3);border-radius:4px;background:#fff;background:-moz-linear-gradient(top, #ececec 0%, #fff 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ececec), color-stop(100%, #fff));background:-webkit-linear-gradient(top, #ececec 0%, #fff 100%);background:-o-linear-gradient(top, #ececec 0%, #fff 100%);background:-ms-linear-gradient(top, #ececec 0%, #fff 100%);background:linear-gradient(top, #ececec 0%, #fff 100%);box-shadow:inset 0px 1px 0px 0px rgba(255,255,255,0.5);z-index:999;-moz-transition:all 0.15s ease-in-out;-o-transition:all 0.15s ease-in-out;-ms-transition:all 0.15s ease-in-out;-webkit-transition:all 0.15s ease-in-out;transition:all 0.15s ease-in-out}.switch.on .toggle{left:2%}.switch.off .toggle{left:54%}.switch.round{padding:0px 20px;border-radius:40px}.switch.round .toggle{border-radius:40px;width:14px;height:14px}.switch.round.on .toggle{left:3%;background:#6bc406}.switch.round.off .toggle{left:58%}.switch-label{font-size:20px;line-height:31px;margin:0 5px}#fs_log_book table{font-family:Consolas,Monaco,monospace;font-size:12px}#fs_log_book table th{color:#ccc}#fs_log_book table tr{background:#232525}#fs_log_book table tr.alternate{background:#2b2b2b}#fs_log_book table tr td.fs-col--logger{color:#5a7435}#fs_log_book table tr td.fs-col--type{color:#ffc861}#fs_log_book table tr td.fs-col--function{color:#a7b7b1;font-weight:bold}#fs_log_book table tr td.fs-col--message,#fs_log_book table tr td.fs-col--message a{color:#9a73ac !important}#fs_log_book table tr td.fs-col--file{color:#d07922}#fs_log_book table tr td.fs-col--timestamp{color:#6596be}
1
+ .fs-switch-label{font-size:20px;line-height:31px;margin:0 5px}#fs_log_book table{font-family:Consolas,Monaco,monospace;font-size:12px}#fs_log_book table th{color:#ccc}#fs_log_book table tr{background:#232525}#fs_log_book table tr.alternate{background:#2b2b2b}#fs_log_book table tr td.fs-col--logger{color:#5a7435}#fs_log_book table tr td.fs-col--type{color:#ffc861}#fs_log_book table tr td.fs-col--function{color:#a7b7b1;font-weight:bold}#fs_log_book table tr td.fs-col--message,#fs_log_book table tr td.fs-col--message a{color:#9a73ac !important}#fs_log_book table tr td.fs-col--file{color:#d07922}#fs_log_book table tr td.fs-col--timestamp{color:#6596be}
freemius/assets/css/admin/dialog-boxes.css CHANGED
@@ -1,2 +1,2 @@
1
- .fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:bold;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table,.fs-license-options-container table select,.fs-license-options-container table .fs-available-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{position:relative;top:6px;float:left;margin-right:5px}.fs-license-options-container table .fs-other-license-key-container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-modal.fs-modal-developer-license-debug-mode .fs-modal-body input.fs-license-or-user-key{width:100%}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
2
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}.button-primary.warn{box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c;background:#f56a48;border-color:#ec6544 #d2593c #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{color:#f5b3a1 !important;background:#e76444 !important;border-color:#d85e40 !important;text-shadow:0 -1px 0 rgba(0,0,0,0.1) !important}
1
+ .fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .dashicons{vertical-align:middle}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:bold;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table,.fs-license-options-container table select,.fs-license-options-container table .fs-available-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{position:relative;top:6px;float:left;margin-right:5px}.fs-license-options-container table .fs-other-license-key-container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-modal.fs-modal-user-change .fs-modal-body input#fs_other_email_address{width:100%}.fs-user-change-options-container table{width:100%;border-collapse:collapse}.fs-user-change-options-container table tr{display:block;margin-bottom:2px}.fs-user-change-options-container table .fs-email-address-container td{display:inline-block}.fs-user-change-options-container table .fs-email-address-container input[type="radio"]{margin-bottom:0;margin-top:0}.fs-user-change-options-container table .fs-other-email-address-container{width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div{display:table;width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div label,.fs-user-change-options-container table .fs-other-email-address-container>div>div{display:table-cell}.fs-user-change-options-container table .fs-other-email-address-container>div label{width:1%;padding-left:3px;padding-right:3px}.fs-user-change-options-container table .fs-other-email-address-container>div>div{width:auto}.fs-user-change-options-container table .fs-other-email-address-container>div>div input{width:100%}.fs-modal.fs-modal-developer-license-debug-mode .fs-modal-body input.fs-license-or-user-key{width:100%}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
2
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}.button-primary.warn{box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c;background:#f56a48;border-color:#ec6544 #d2593c #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{color:#f5b3a1 !important;background:#e76444 !important;border-color:#d85e40 !important;text-shadow:0 -1px 0 rgba(0,0,0,0.1) !important}
freemius/includes/class-freemius.php CHANGED
@@ -1639,6 +1639,7 @@
1639
add_action( 'admin_init', array( &$this, '_add_license_activation' ) );
1640
add_action( 'admin_init', array( &$this, '_add_premium_version_upgrade_selection' ) );
1641
add_action( 'admin_init', array( &$this, '_add_beta_mode_update_handler' ) );
1642
1643
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
1644
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
@@ -5407,6 +5408,62 @@
5407
}
5408
}
5409
5410
/**
5411
* Parse plugin's settings (as defined by the plugin dev).
5412
*
@@ -5915,12 +5972,16 @@
5915
* @return Freemius[]
5916
*/
5917
function get_installed_addons() {
5918
$installed_addons = array();
5919
foreach ( self::$_instances as $instance ) {
5920
- if ( $instance->is_addon() && is_object( $instance->_parent_plugin ) ) {
5921
- if ( $this->_plugin->id == $instance->_parent_plugin->id ) {
5922
- $installed_addons[] = $instance;
5923
- }
5924
}
5925
}
5926
@@ -5970,7 +6031,25 @@
5970
* @return bool
5971
*/
5972
function is_addon() {
5973
- return isset( $this->_plugin->parent_plugin_id ) && is_numeric( $this->_plugin->parent_plugin_id );
5974
}
5975
5976
/**
@@ -6727,6 +6806,8 @@
6727
} else {
6728
$this->sync_install();
6729
}
6730
}
6731
}
6732
}
@@ -6939,6 +7020,8 @@
6939
} else {
6940
$this->sync_install( array(), true );
6941
}
6942
}
6943
}
6944
@@ -8006,6 +8089,10 @@
8006
foreach ( $sites as $site ) {
8007
$blog_id = self::get_site_blog_id( $site );
8008
8009
$install_id = $this->_delete_site( true, $blog_id );
8010
8011
// Clear all storage data.
@@ -8783,26 +8870,28 @@
8783
$include_themes = true,
8784
$include_blog_data = true
8785
) {
8786
- if ( ! defined( 'WP_FS__TRACK_PLUGINS' ) || false !== WP_FS__TRACK_PLUGINS ) {
8787
- /**
8788
- * @since 1.1.8 Also send plugin updates.
8789
- */
8790
- if ( $include_plugins && ! isset( $override['plugins'] ) ) {
8791
- $plugins = $this->get_plugins_data_for_api();
8792
- if ( ! empty( $plugins ) ) {
8793
- $override['plugins'] = $plugins;
8794
}
8795
}
8796
- }
8797
8798
- if ( ! defined( 'WP_FS__TRACK_THEMES' ) || false !== WP_FS__TRACK_THEMES ) {
8799
- /**
8800
- * @since 1.1.8 Also send themes updates.
8801
- */
8802
- if ( $include_themes && ! isset( $override['themes'] ) ) {
8803
- $themes = $this->get_themes_data_for_api();
8804
- if ( ! empty( $themes ) ) {
8805
- $override['themes'] = $themes;
8806
}
8807
}
8808
}
@@ -9158,6 +9247,21 @@
9158
}
9159
}
9160
9161
/**
9162
* Update install only if changed.
9163
*
@@ -9441,6 +9545,8 @@
9441
$fs = self::get_instance_by_file( $plugin_file );
9442
9443
if ( is_object( $fs ) ) {
9444
self::require_plugin_essentials();
9445
9446
if ( is_plugin_active( $fs->_free_plugin_basename ) ||
@@ -11322,7 +11428,22 @@
11322
11323
// Update current license.
11324
if ( is_object( $this->_license ) ) {
11325
- $this->set_license( $this->_get_license_by_id( $this->_license->id ) );
11326
}
11327
11328
return $this->_licenses;
@@ -11771,6 +11892,14 @@
11771
function _update_site_license( $new_license ) {
11772
$this->_logger->entrance();
11773
11774
$this->set_license( $new_license );
11775
11776
if ( ! is_object( $new_license ) ) {
@@ -12219,7 +12348,7 @@
12219
}
12220
12221
$current_plan_order = - 1;
12222
- $required_plan_order = - 1;
12223
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
12224
if ( $plan === $this->_plans[ $i ]->name ) {
12225
$required_plan_order = $i;
@@ -12376,6 +12505,65 @@
12376
fs_require_template( 'forms/resend-key.php', $vars );
12377
}
12378
12379
/**
12380
* @author Leo Fajardo (@leorw)
12381
* @since 2.3.1
@@ -12497,7 +12685,17 @@
12497
return;
12498
}
12499
12500
- if ( $this->has_premium_version() && ! $this->is_premium() ) {
12501
// Only add license activation logic to the premium version, or in case of a serviceware plugin, also in the free version.
12502
return;
12503
}
@@ -12524,6 +12722,55 @@
12524
$this->add_ajax_action( 'resend_license_key', array( &$this, '_resend_license_key_ajax_action' ) );
12525
}
12526
12527
/**
12528
* @author Leo Fajardo (@leorw)
12529
* @since 2.0.2
@@ -12629,7 +12876,9 @@
12629
array(),
12630
fs_request_get_bool( 'is_marketing_allowed', null ),
12631
fs_request_get( 'blog_id', null ),
12632
- fs_request_get( 'module_id', null, 'post' )
12633
);
12634
12635
echo json_encode( $result );
@@ -12637,6 +12886,86 @@
12637
exit;
12638
}
12639
12640
/**
12641
* A helper method to activate migrated licenses. If the product is network activated and integrated, the method will network activate the license.
12642
*
@@ -12689,6 +13018,7 @@
12689
* @param null|bool $is_marketing_allowed
12690
* @param null|int $blog_id
12691
* @param null|number $plugin_id
12692
*
12693
* @return array {
12694
* @var bool $success
@@ -12701,7 +13031,9 @@
12701
$sites = array(),
12702
$is_marketing_allowed = null,
12703
$blog_id = null,
12704
- $plugin_id = null
12705
) {
12706
$this->_logger->entrance();
12707
@@ -12716,6 +13048,8 @@
12716
$this :
12717
$this->get_addon_instance( $plugin_id );
12718
12719
$error = false;
12720
$next_page = false;
12721
@@ -12789,6 +13123,22 @@
12789
'license_key' => $fs->apply_filters( 'license_key', $license_key )
12790
);
12791
12792
$api = $fs->get_api_site_scope();
12793
12794
$install = $api->call( $fs->add_show_pending( '/' ), 'put', $params );
@@ -12799,6 +13149,14 @@
12799
var_export( $install->error, true );
12800
} else {
12801
$fs->reconnect_locally( $has_valid_blog_id );
12802
}
12803
} else /* ( $fs->is_addon() && $fs->get_parent_instance()->is_registered() ) */ {
12804
$result = $fs->activate_license_on_site( $user, $license_key );
@@ -12816,6 +13174,8 @@
12816
12817
$fs->_sync_license( true, $has_valid_blog_id );
12818
12819
$next_page = $fs->is_addon() ?
12820
$fs->get_parent_instance()->get_account_url() :
12821
$fs->get_account_url();
@@ -12922,6 +13282,64 @@
12922
return $result;
12923
}
12924
12925
/**
12926
* @author Leo Fajardo (@leorw)
12927
* @since 1.2.3.1
@@ -15360,7 +15778,7 @@
15360
/**
15361
* This is a special fault tolerance mechanism to handle a scenario that the user data is missing.
15362
*/
15363
- $user = $this->fetch_user_by_install();
15364
}
15365
15366
$this->_user = ( $user instanceof FS_User ) ?
@@ -15400,13 +15818,19 @@
15400
* @author Vova Feldman (@svovaf)
15401
* @since 2.0.0
15402
*
15403
* @return \FS_User|mixed
15404
*/
15405
- private function fetch_user_by_install() {
15406
$api = $this->get_api_site_scope();
15407
15408
$uid = $this->get_anonymous_id();
15409
- $request_path = "/users/{$this->_site->user_id}.json?uid={$uid}";
15410
15411
$result = $api->get( $request_path, false, WP_FS__TIME_10_MIN_IN_SEC );
15412
@@ -15836,6 +16260,9 @@
15836
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
15837
$decoded->is_marketing_allowed :
15838
null ),
15839
$decoded->install_id,
15840
$decoded->install_public_key,
15841
$decoded->install_secret_key,
@@ -15849,6 +16276,9 @@
15849
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
15850
$decoded->is_marketing_allowed :
15851
null ),
15852
$decoded->installs,
15853
false
15854
);
@@ -16075,6 +16505,7 @@
16075
fs_request_get( 'user_public_key' ),
16076
fs_request_get( 'user_secret_key' ),
16077
fs_request_get_bool( 'is_marketing_allowed', null ),
16078
$pending_sites_info['blog_ids'],
16079
$pending_sites_info['license_key'],
16080
$pending_sites_info['trial_plan_id']
@@ -16085,6 +16516,7 @@
16085
fs_request_get( 'user_public_key' ),
16086
fs_request_get( 'user_secret_key' ),
16087
fs_request_get_bool( 'is_marketing_allowed', null ),
16088
fs_request_get( 'install_id' ),
16089
fs_request_get( 'install_public_key' ),
16090
fs_request_get( 'install_secret_key' ),
@@ -16140,13 +16572,12 @@
16140
* @param string $user_public_key
16141
* @param string $user_secret_key
16142
* @param bool|null $is_marketing_allowed
16143
* @param number $install_id
16144
* @param string $install_public_key
16145
* @param string $install_secret_key
16146
* @param bool $redirect
16147
- * @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will
16148
- * redirect (or return a URL) to the account page with a special parameter to
16149
- * trigger the auto installation processes.
16150
*
16151
* @return string If redirect is `false`, returns the next page the user should be redirected to.
16152
*/
@@ -16155,6 +16586,7 @@
16155
$user_public_key,
16156
$user_secret_key,
16157
$is_marketing_allowed,
16158
$install_id,
16159
$install_public_key,
16160
$install_secret_key,
@@ -16196,6 +16628,10 @@
16196
$this->disable_opt_in_notice_and_lock_user();
16197
}
16198
16199
return $this->setup_account(
16200
$this->_user,
16201
$this->_site,
@@ -16214,6 +16650,7 @@
16214
* @param string $user_public_key
16215
* @param string $user_secret_key
16216
* @param bool|null $is_marketing_allowed
16217
* @param array $site_ids
16218
* @param bool $license_key
16219
* @param bool $trial_plan_id
@@ -16226,6 +16663,7 @@
16226
$user_public_key,
16227
$user_secret_key,
16228
$is_marketing_allowed,
16229
$site_ids,
16230
$license_key = false,
16231
$trial_plan_id = false,
@@ -16237,6 +16675,10 @@
16237
$this->disable_opt_in_notice_and_lock_user();
16238
}
16239
16240
$sites = array();
16241
foreach ( $site_ids as $site_id ) {
16242
$sites[] = $this->get_site_info( array( 'blog_id' => $site_id ) );
@@ -16255,11 +16697,10 @@
16255
* @param string $user_public_key
16256
* @param string $user_secret_key
16257
* @param bool|null $is_marketing_allowed
16258
* @param object[] $installs
16259
* @param bool $redirect
16260
- * @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will
16261
- * redirect (or return a URL) to the account page with a special parameter to
16262
- * trigger the auto installation processes.
16263
*
16264
* @return string If redirect is `false`, returns the next page the user should be redirected to.
16265
*/
@@ -16268,6 +16709,7 @@
16268
$user_public_key,
16269
$user_secret_key,
16270
$is_marketing_allowed,
16271
array $installs,
16272
$redirect = true,
16273
$auto_install = false
@@ -16278,6 +16720,10 @@
16278
$this->disable_opt_in_notice_and_lock_user();
16279
}
16280
16281
$install_ids = array();
16282
16283
foreach ( $installs as $install ) {
@@ -16387,6 +16833,8 @@
16387
*/
16388
$license_key = fs_request_get( 'license_secret_key' );
16389
16390
$this->install_with_current_user( $license_key );
16391
}
16392
}
@@ -18100,23 +18548,27 @@
18100
18101
$sites = self::get_all_sites( $this->_module_type, $network_level_or_blog_id );
18102
18103
- $prev_stored_user_id = $this->_storage->get( 'prev_user_id', false, $network_level_or_blog_id );
18104
18105
- if ( empty( $prev_stored_user_id ) &&
18106
- is_object($this->_user) && $this->_user->id != $site->user_id
18107
- ) {
18108
- /**
18109
- * Store the current user ID as the previous user ID so that the previous user can be used
18110
- * as the install's owner while the new owner's details are not yet available.
18111
- *
18112
- * This will be executed only in the `replica` site. For example, there are 2 sites, namely `original`
18113
- * and `replica`, then an ownership change was initiated and completed in the `original`, the `replica`
18114
- * will be using the previous user until it is updated again (e.g.: until the next clone of `original`
18115
- * into `replica`.
18116
- *
18117
- * @author Leo Fajardo (@leorw)
18118
- */
18119
- $this->_storage->store( 'prev_user_id', $sites[ $this->_slug ]->user_id, $network_level_or_blog_id );
18120
}
18121
18122
$sites[ $this->_slug ] = $site_clone;
@@ -19948,7 +20400,11 @@
19948
19949
if ( $show_notice ) {
19950
$this->_admin_notices->add(
19951
- sprintf( $this->get_text_inline( 'Your license was successfully deactivated, you are back to the %s plan.', 'license-deactivation-message' ), $this->get_plan_title() ),
19952
$this->get_text_inline( 'O.K', 'ok' )
19953
);
19954
}
@@ -20755,6 +21211,39 @@
20755
return true;
20756
}
20757
20758
/**
20759
* Handle user name update.
20760
*
@@ -20923,8 +21412,9 @@
20923
// Alias.
20924
$oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
20925
20926
- $is_network_action = $this->is_network_level_action();
20927
- $blog_id = $this->is_network_level_site_specific_action();
20928
20929
if ( is_numeric( $blog_id ) ) {
20930
$this->switch_to_blog( $blog_id );
@@ -20936,7 +21426,7 @@
20936
case 'opt_in':
20937
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
20938
20939
- if ( $plugin_id == $this->get_id() ) {
20940
if ( $is_network_action && ! empty( $blog_id ) ) {
20941
if ( ! $this->is_registered() ) {
20942
$this->install_with_user(
@@ -20959,7 +21449,7 @@
20959
case 'toggle_tracking':
20960
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
20961
20962
- if ( $plugin_id == $this->get_id() ) {
20963
if ( $is_network_action && ! empty( $blog_id ) ) {
20964
if ( $this->is_registered() ) {
20965
if ( $this->is_tracking_prohibited() ) {
@@ -20994,8 +21484,20 @@
20994
case 'delete_account':
20995
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
20996
20997
- if ( $plugin_id == $this->get_id() ) {
20998
- if ( $is_network_action && empty( $blog_id ) ) {
20999
$this->delete_network_account_event();
21000
} else {
21001
$this->delete_account_event();
@@ -21011,7 +21513,12 @@
21011
} else {
21012
if ( $this->is_addon_activated( $plugin_id ) ) {
21013
$fs_addon = self::get_instance_by_id( $plugin_id );
21014
- $fs_addon->delete_account_event();
21015
21016
fs_redirect( $this->_get_admin_page_url( 'account' ) );
21017
}
@@ -22154,9 +22661,18 @@
22154
22155
$this->_logger->entrance();
22156
22157
- if ( $this->is_premium() ) {
22158
// Don't add opt-in/out for premium code base.
22159
return;
22160
}
22161
22162
if ( fs_is_network_admin() ) {
@@ -22209,6 +22725,10 @@
22209
return;
22210
}
22211
22212
$link_text_id = '';
22213
$url = '#';
22214
@@ -23863,10 +24383,45 @@
23863
*
23864
* @author Vova Feldman (@svovaf)
23865
*/
23866
- self::shoot_ajax_success( array( 'is_marketing_allowed' => null ) );
23867
}
23868
23869
- self::shoot_ajax_success( array( 'is_marketing_allowed' => $user_plugins[0]->is_marketing_allowed ) );
23870
}
23871
23872
/**
1639
add_action( 'admin_init', array( &$this, '_add_license_activation' ) );
1640
add_action( 'admin_init', array( &$this, '_add_premium_version_upgrade_selection' ) );
1641
add_action( 'admin_init', array( &$this, '_add_beta_mode_update_handler' ) );
1642
+ add_action( 'admin_init', array( &$this, '_add_user_change_option' ) );
1643
1644
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
1645
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
5408
}
5409
}
5410
5411
+ /**
5412
+ * @author Vova Feldman (@svovaf)
5413
+ * @since 2.3.2
5414
+ *
5415
+ * @return bool
5416
+ */
5417
+ function is_extensions_tracking_allowed() {
5418
+ return (true === $this->_storage->get( 'is_extensions_tracking_allowed', true ) );
5419
+ }
5420
+
5421
+ /**
5422
+ * @author Vova Feldman (@svovaf)
5423
+ * @since 2.3.2
5424
+ */
5425
+ function _update_tracking_permission_callback() {
5426
+ $this->_logger->entrance();
5427
+
5428
+ $this->check_ajax_referer( 'update_tracking_permission' );
5429
+
5430
+ $is_enabled = fs_request_get_bool( 'is_enabled', null );
5431
+
5432
+ if ( ! is_bool( $is_enabled ) ) {
5433
+ self::shoot_ajax_failure();
5434
+ }
5435
+
5436
+ $permission = fs_request_get( 'permission' );
5437
+
5438
+ switch ( $permission ) {
5439
+ case 'extensions':
5440
+ $this->update_extensions_tracking_flag( $is_enabled );
5441
+ break;
5442
+ default:
5443
+ $permission = 'no_match';
5444
+ }
5445
+
5446
+ if ( 'no_match' === $permission ) {
5447
+ self::shoot_ajax_failure();
5448
+ }
5449
+
5450
+ self::shoot_ajax_success( array(
5451
+ 'permissions' => array(
5452
+ $permission => $is_enabled,
5453
+ )
5454
+ ) );
5455
+ }
5456
+
5457
+ /**
5458
+ * @author Leo Fajardo (@leorw)
5459
+ * @since 2.3.2
5460
+ *
5461
+ * @param bool $is_enabled
5462
+ */
5463
+ private function update_extensions_tracking_flag( $is_enabled ) {
5464
+ $this->_storage->store( 'is_extensions_tracking_allowed', $is_enabled );
5465
+ }
5466
+
5467
/**
5468
* Parse plugin's settings (as defined by the plugin dev).
5469
*
5972
* @return Freemius[]
5973
*/
5974
function get_installed_addons() {
5975
+ if ( $this->is_addon() ) {
5976
+ // Add-on cannot have add-ons.
5977
+ return array();
5978
+ }
5979
+
5980
$installed_addons = array();
5981
+
5982
foreach ( self::$_instances as $instance ) {
5983
+ if ( $instance->is_addon_of( $this->_plugin->id ) ) {
5984
+ $installed_addons[] = $instance;
5985
}
5986
}
5987
6031
* @return bool
6032
*/
6033
function is_addon() {
6034
+ return (
6035
+ isset( $this->_plugin->parent_plugin_id ) &&
6036
+ is_numeric( $this->_plugin->parent_plugin_id )
6037
+ );
6038
+ }
6039
+
6040
+ /**
6041
+ * @author Vova Feldman (@svovaf)
6042
+ * @since 2.3.2
6043
+ *
6044
+ * @param number $parent_product_id
6045
+ *
6046
+ * @return bool
6047
+ */
6048
+ function is_addon_of( $parent_product_id ) {
6049
+ return (
6050
+ $this->is_addon() &&
6051
+ $parent_product_id == $this->_plugin->parent_plugin_id
6052
+ );
6053
}
6054
6055
/**
6806
} else {
6807
$this->sync_install();
6808
}
6809
+
6810
+ $this->maybe_sync_install_user();
6811
}
6812
}
6813
}
7020
} else {
7021
$this->sync_install( array(), true );
7022
}
7023
+
7024
+ $this->maybe_sync_install_user();
7025
}
7026
}
7027
8089
foreach ( $sites as $site ) {
8090
$blog_id = self::get_site_blog_id( $site );
8091
8092
+ if ( $this->is_site_delegated_connection( $blog_id ) ) {
8093
+ continue;
8094
+ }
8095
+
8096
$install_id = $this->_delete_site( true, $blog_id );
8097
8098
// Clear all storage data.
8870
$include_themes = true,
8871
$include_blog_data = true
8872
) {
8873
+ if ( $this->is_extensions_tracking_allowed() ) {
8874
+ if ( ! defined( 'WP_FS__TRACK_PLUGINS' ) || false !== WP_FS__TRACK_PLUGINS ) {
8875
+ /**
8876
+ * @since 1.1.8 Also send plugin updates.
8877
+ */
8878
+ if ( $include_plugins && ! isset( $override['plugins'] ) ) {
8879
+ $plugins = $this->get_plugins_data_for_api();
8880
+ if ( ! empty( $plugins ) ) {
8881
+ $override['plugins'] = $plugins;
8882
+ }
8883
}
8884
}
8885
8886
+ if ( ! defined( 'WP_FS__TRACK_THEMES' ) || false !== WP_FS__TRACK_THEMES ) {
8887
+ /**
8888
+ * @since 1.1.8 Also send themes updates.
8889
+ */
8890
+ if ( $include_themes && ! isset( $override['themes'] ) ) {
8891
+ $themes = $this->get_themes_data_for_api();
8892
+ if ( ! empty( $themes ) ) {
8893
+ $override['themes'] = $themes;
8894
+ }
8895
}
8896
}
8897
}
9247
}
9248
}
9249
9250
+ /**
9251
+ * Syncs the install owner's data if needed (i.e., if the install owner is different from the loaded user).
9252
+ *
9253
+ * @author Leo Fajardo (@leorw)
9254
+ * @since 2.3.2
9255
+ */
9256
+ private function maybe_sync_install_user() {
9257
+ if ( $this->_user->id == $this->_site->user_id ) {
9258
+ return;
9259
+ }
9260
+
9261
+ // Fetch user data and store if found.
9262
+ $this->sync_user_by_current_install();
9263
+ }
9264
+
9265
/**
9266
* Update install only if changed.
9267
*
9545
$fs = self::get_instance_by_file( $plugin_file );
9546
9547
if ( is_object( $fs ) ) {
9548
+ $fs->remove_sdk_reference();
9549
+
9550
self::require_plugin_essentials();
9551
9552
if ( is_plugin_active( $fs->_free_plugin_basename ) ||
11428
11429
// Update current license.
11430
if ( is_object( $this->_license ) ) {
11431
+ $license = $this->_get_license_by_id( $this->_license->id );
11432
+
11433
+ if ( is_object( $license ) ) {
11434
+ /**
11435
+ * `$license` can be `false` in case a user change action has just been completed and this method
11436
+ * has synced the `$this->_licenses` collection for the new user. In this case, the
11437
+ * `$this->_licenses` collection may have only the newly activated license that is associated with
11438
+ * the new user. `set_license` will eventually be called in the same request by the logic that
11439
+ * follows outside this method which will detect that the install's license has been updated, and
11440
+ * then `_update_site_license` will be called which in turn will call `set_license`.
11441
+ *
11442
+ * @author Leo Fajardo (@leorw)
11443
+ * @since 2.3.2
11444
+ */
11445
+ $this->set_license( $license );
11446
+ }
11447
}
11448
11449
return $this->_licenses;
11892
function _update_site_license( $new_license ) {
11893
$this->_logger->entrance();
11894
11895
+ /**
11896
+ * In case this call will be removed in the future, the `_sync_licenses()` method needs to be updated
11897
+ * accordingly so that it will also handle the case when an ownership change is done via license
11898
+ * activation.
11899
+ *
11900
+ * @author Leo Fajardo (@leorw)
11901
+ * @since 2.3.2
11902
+ */
11903
$this->set_license( $new_license );
11904
11905
if ( ! is_object( $new_license ) ) {
12348
}
12349
12350
$current_plan_order = - 1;
12351
+ $required_plan_order = PHP_INT_MAX;
12352
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
12353
if ( $plan === $this->_plans[ $i ]->name ) {
12354
$required_plan_order = $i;
12505
fs_require_template( 'forms/resend-key.php', $vars );
12506
}
12507
12508
+ /**
12509
+ * Returns a collection of IDs of installs that are associated with the context product and its add-ons, and activated with foreign licenses.
12510
+ *
12511
+ * @author Leo Fajardo (@leorw)
12512
+ * @since 2.3.2
12513
+ *
12514
+ * @return number[]
12515
+ */
12516
+ function get_installs_ids_with_foreign_licenses() {
12517
+ $installs = array();
12518
+
12519
+ if (
12520
+ is_object( $this->_license ) &&
12521
+ $this->_site->user_id != $this->_license->user_id
12522
+ ) {
12523
+ $installs[] = $this->_site->id;
12524
+ }
12525
+
12526
+ /**
12527
+ * Also try to get foreign licenses for the context product's add-ons.
12528
+ */
12529
+ $installs_by_slug_map = $this->get_parent_and_addons_installs_info();
12530
+
12531
+ foreach ( $installs_by_slug_map as $slug => $install_info ) {
12532
+ if ( $slug == $this->get_slug() ) {
12533
+ continue;
12534
+ }
12535
+
12536
+ $install = $install_info['install'];
12537
+ $license = $install_info['license'];
12538
+
12539
+ if (
12540
+ is_object( $license ) &&
12541
+ $install->user_id != $license->user_id
12542
+ ) {
12543
+ $installs[] = $install->id;
12544
+ }
12545
+ }
12546
+
12547
+ return $installs;
12548
+ }
12549
+
12550
+ /**
12551
+ * Displays the "Change User" dialog box when the user clicks on the "Change User" button on the "Account" page.
12552
+ *
12553
+ * @author Leo Fajardo (@leorw)
12554
+ * @since 2.3.2
12555
+ *
12556
+ * @param number[] $install_ids
12557
+ */
12558
+ function _add_user_change_dialog_box( $install_ids ) {
12559
+ $vars = array(
12560
+ 'id' => $this->_module_id,
12561
+ 'license_owners' => $this->fetch_installs_licenses_owners_data( $install_ids )
12562
+ );
12563
+
12564
+ fs_require_template( 'forms/user-change.php', $vars );
12565
+ }
12566
+
12567
/**
12568
* @author Leo Fajardo (@leorw)
12569
* @since 2.3.1
12685
return;
12686
}
12687
12688
+ if (
12689
+ $this->has_premium_version() &&
12690
+ ! $this->is_premium() &&
12691
+ /**
12692
+ * Also handle the case when an upgrade was made using the free version.
12693
+ *
12694
+ * @author Leo Fajardo (@leorw)
12695
+ * @since 2.3.2
12696
+ */
12697
+ ! is_object( $this->_get_license() )
12698
+ ) {
12699
// Only add license activation logic to the premium version, or in case of a serviceware plugin, also in the free version.
12700
return;
12701
}
12722
$this->add_ajax_action( 'resend_license_key', array( &$this, '_resend_license_key_ajax_action' ) );
12723
}
12724
12725
+ /**
12726
+ * Prepares page to include all required UI and logic for the "Change User" dialog.
12727
+ *
12728
+ * @author Leo Fajardo (@leorw)
12729
+ * @since 2.3.2
12730
+ */
12731
+ function _add_user_change_option() {
12732
+ if ( ! $this->should_handle_user_change() ) {
12733
+ return;
12734
+ }
12735
+
12736
+ if ( empty( $this->get_installs_ids_with_foreign_licenses() ) ) {
12737
+ // Handle user change only when the parent product or one of its add-ons is activated with a foreign license.
12738
+ return;
12739
+ }
12740
+
12741
+ // Add user change AJAX handler.
12742
+ $this->add_ajax_action( 'change_user', array( &$this, '_user_change_ajax_action' ) );
12743
+ }
12744
+
12745
+ /**
12746
+ * @author Leo Fajardo (@leorw)
12747
+ * @since 2.3.2
12748
+ */
12749
+ function should_handle_user_change() {
12750
+ if ( ! $this->is_user_admin() ) {
12751
+ // Only admins can change user.
12752
+ return false;
12753
+ }
12754
+
12755
+ if ( $this->is_addon() ) {
12756
+ return false;
12757
+ }
12758
+
12759
+ if ( ! $this->is_registered() ) {
12760
+ return false;
12761
+ }
12762
+
12763
+ if (
12764
+ $this->is_network_active() &&
12765
+ ( fs_is_network_admin() || ! $this->is_site_delegated_connection() )
12766
+ ) {
12767
+ // Handle only on site-level "Account" section for now.
12768
+ return false;
12769
+ }
12770
+
12771
+ return true;
12772
+ }
12773
+
12774
/**
12775
* @author Leo Fajardo (@leorw)
12776
* @since 2.0.2
12876
array(),
12877
fs_request_get_bool( 'is_marketing_allowed', null ),
12878
fs_request_get( 'blog_id', null ),
12879
+ fs_request_get( 'module_id', null, 'post' ),
12880
+ fs_request_get( 'user_id', null ),
12881
+ fs_request_get_bool( 'is_extensions_tracking_allowed', true )
12882
);
12883
12884
echo json_encode( $result );
12886
exit;
12887
}
12888
12889
+ /**
12890
+ * User change WP AJAX handler.
12891
+ *
12892
+ * @author Leo Fajardo (@leorw)
12893
+ * @since 2.3.2
12894
+ */
12895
+ function _user_change_ajax_action() {
12896
+ $this->_logger->entrance();
12897
+
12898
+ $this->check_ajax_referer( 'change_user' );
12899
+
12900
+ $new_email_address = trim( fs_request_get( 'email_address', '' ) );
12901
+ $new_user_id = fs_request_get( 'user_id' );
12902
+
12903
+ if ( empty( $new_email_address ) && ! FS_User::is_valid_id( $new_user_id ) ) {
12904
+ self::shoot_ajax_failure( fs_text_inline( 'Invalid new user ID or email address.', 'invalid-new-user-id-or-email', $this->get_slug() ) );
12905
+ }
12906
+
12907
+ $params = array();
12908
+
12909
+ if ( ! empty( $new_email_address ) ) {
12910
+ $params['user_email'] = $new_email_address;
12911
+ } else {
12912
+ $params['user_id'] = $new_user_id;
12913
+ }
12914
+
12915
+ $installs_info_by_slug_map = $this->get_parent_and_addons_installs_info();
12916
+ $install_ids = array();
12917
+
12918
+ foreach ( $installs_info_by_slug_map as $slug => $install_info ) {
12919
+ $install_ids[ $slug ] = $install_info['install']->id;
12920
+ }
12921
+
12922
+ $params['install_ids'] = implode( ',', array_values( $install_ids ) );
12923
+
12924
+ $install = $this->get_api_site_scope()->call( $this->add_show_pending( '/' ), 'put', $params );
12925
+
12926
+ if ( FS_Api::is_api_error( $install ) ) {
12927
+ $error = '';
12928
+
12929
+ if ( is_object( $install ) ) {
12930
+ switch ( $install->error->code ) {
12931
+ case 'user_exist':
12932
+ $error = (
12933
+ $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...' .
12934
+ $this->get_text_inline( 'Sorry, we could not complete the email update. Another user with the same email is already registered.', 'user-exist-message' ) . ' ' .
12935
+ sprintf( $this->get_text_inline( 'If you would like to give up the ownership of the %s\'s account to %s click the Change Ownership button.', 'user-exist-message_ownership' ), $this->_module_type, '<b>' . $new_email_address . '</b>' ) .
12936
+ sprintf(
12937
+ '<a style="line-height: 40px;" href="%s"><button class="button button-primary">%s &nbsp;&#10140;</button></a>',
12938
+ $this->get_account_url( 'change_owner', array(
12939
+ 'state' => 'init',
12940
+ 'candidate_email' => $new_email_address
12941
+ ) ),
12942
+ $this->get_text_inline( 'Change Ownership', 'change-ownership' )
12943
+ )
12944
+ );
12945
+ break;
12946
+ }
12947
+ }
12948
+
12949
+ if ( empty( $error ) ) {
12950
+ $error = FS_Api::is_api_error_object( $install ) ?
12951
+ $install->error->message :
12952
+ var_export( $install->error, true );
12953
+ }
12954
+
12955
+ self::shoot_ajax_failure( $error );
12956
+ } else {
12957
+ if (
12958
+ // If successful ownership change.
12959
+ $this->get_user()->id != $install->user_id ||
12960
+ ! empty( $new_email_address )
12961
+ ) {
12962
+ $this->complete_ownership_change_by_license( $install->user_id, $install_ids );
12963
+ }
12964
+ }
12965
+
12966
+ self::shoot_ajax_success();
12967
+ }
12968
+
12969
/**
12970
* A helper method to activate migrated licenses. If the product is network activated and integrated, the method will network activate the license.
12971
*
13018
* @param null|bool $is_marketing_allowed
13019
* @param null|int $blog_id
13020
* @param null|number $plugin_id
13021
+ * @param null|number $license_owner_id
13022
*
13023
* @return array {
13024
* @var bool $success
13031
$sites = array(),
13032
$is_marketing_allowed = null,
13033
$blog_id = null,
13034
+ $plugin_id = null,
13035
+ $license_owner_id = null,
13036
+ $is_extensions_tracking_allowed = true
13037
) {
13038
$this->_logger->entrance();
13039
13048
$this :
13049
$this->get_addon_instance( $plugin_id );
13050
13051
+ $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
13052
+
13053
$error = false;
13054
$next_page = false;
13055
13123
'license_key' => $fs->apply_filters( 'license_key', $license_key )
13124
);
13125
13126
+ $install_ids = array();
13127
+
13128
+ $change_owner = FS_User::is_valid_id( $license_owner_id );
13129
+
13130
+ if ( $change_owner ) {
13131
+ $params['user_id'] = $license_owner_id;
13132
+
13133
+ $installs_info_by_slug_map = $fs->get_parent_and_addons_installs_info();
13134
+
13135
+ foreach ( $installs_info_by_slug_map as $slug => $install_info ) {
13136
+ $install_ids[ $slug ] = $install_info['install']->id;
13137
+ }
13138
+
13139
+ $params['install_ids'] = implode( ',', array_values( $install_ids ) );
13140
+ }
13141
+
13142
$api = $fs->get_api_site_scope();
13143
13144
$install = $api->call( $fs->add_show_pending( '/' ), 'put', $params );
13149
var_export( $install->error, true );
13150
} else {
13151
$fs->reconnect_locally( $has_valid_blog_id );
13152
+
13153
+ if (
13154
+ $change_owner &&
13155
+ // If successful ownership change.
13156
+ $fs->get_user()->id != $install->user_id
13157
+ ) {
13158
+ $fs->complete_ownership_change_by_license( $install->user_id, $install_ids );
13159
+ }
13160
}
13161
} else /* ( $fs->is_addon() && $fs->get_parent_instance()->is_registered() ) */ {
13162
$result = $fs->activate_license_on_site( $user, $license_key );
13174
13175
$fs->_sync_license( true, $has_valid_blog_id );
13176
13177
+ $this->maybe_sync_install_user();
13178
+
13179
$next_page = $fs->is_addon() ?
13180
$fs->get_parent_instance()->get_account_url() :
13181
$fs->get_account_url();
13282
return $result;
13283
}
13284
13285
+ /**
13286
+ * @author Leo Fajardo (@leorw)
13287
+ * @since 2.3.2
13288
+ *
13289
+ * @return array {
13290
+ * @key string Product slug.
13291
+ * @value array {
13292
+ * @property FS_Site $site
13293
+ * @property FS_Plugin_License $license
13294
+ * }
13295
+ * }
13296
+ */
13297
+ private function get_parent_and_addons_installs_info() {
13298
+ $fs = $this->is_addon() ?
13299
+ $this->get_parent_instance() :
13300
+ $this;
13301
+
13302
+ $installed_addons_ids = array();
13303
+
13304
+ $installed_addons_instances = $fs->get_installed_addons();
13305
+ foreach ( $installed_addons_instances as $instance ) {
13306
+ $installed_addons_ids[] = $instance->get_id();
13307
+ }
13308
+
13309
+ $addons_ids = array_unique( array_merge(
13310
+ $installed_addons_ids,
13311
+ $fs->get_updated_account_addons()
13312
+ ) );
13313
+
13314
+ // Add parent product info.
13315
+ $installs_info_by_slug_map = array(
13316
+ $fs->get_slug() => array(
13317
+ 'install' => $fs->get_site(),
13318
+ 'license' => $fs->_get_license()
13319
+ )
13320
+ );
13321
+
13322
+ foreach ( $addons_ids as $addon_id ) {
13323
+ $is_installed = isset( $installed_addons_ids_map[ $addon_id ] );
13324
+
13325
+ $addon_info = $fs->_get_addon_info( $addon_id, $is_installed );
13326
+
13327
+ if ( ! $addon_info['is_connected'] ) {
13328
+ // Add-on is not associated with an install entity.
13329
+ continue;
13330
+ }
13331
+
13332
+ $installs_info_by_slug_map[ $addon_info['slug'] ] = array(
13333
+ 'install' => $addon_info['site'],
13334
+ 'license' => isset( $addon_info['license'] ) ?
13335
+ $addon_info['license'] :
13336
+ null
13337
+ );
13338
+ }
13339
+
13340
+ return $installs_info_by_slug_map;
13341
+ }
13342
+
13343
/**
13344
* @author Leo Fajardo (@leorw)
13345
* @since 1.2.3.1
15778
/**
15779
* This is a special fault tolerance mechanism to handle a scenario that the user data is missing.
15780
*/
15781
+ $user = $this->sync_user_by_current_install();
15782
}
15783
15784
$this->_user = ( $user instanceof FS_User ) ?
15818
* @author Vova Feldman (@svovaf)
15819
* @since 2.0.0
15820
*
15821
+ * @param number|null $site_user_id
15822
+ *
15823
* @return \FS_User|mixed
15824
*/
15825
+ private function sync_user_by_current_install( $site_user_id = null ) {
15826
+ $site_user_id = FS_Site::is_valid_id( $site_user_id ) ?
15827
+ $site_user_id :
15828
+ $this->_site->user_id;
15829
+
15830
$api = $this->get_api_site_scope();
15831
15832
$uid = $this->get_anonymous_id();
15833
+ $request_path = "/users/{$site_user_id}.json?uid={$uid}";
15834
15835
$result = $api->get( $request_path, false, WP_FS__TIME_10_MIN_IN_SEC );
15836
16260
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
16261
$decoded->is_marketing_allowed :
16262
null ),
16263
+ ( isset( $decoded->is_extensions_tracking_allowed ) && ! is_null( $decoded->is_extensions_tracking_allowed ) ?
16264
+ $decoded->is_extensions_tracking_allowed :
16265
+ null ),
16266
$decoded->install_id,
16267
$decoded->install_public_key,
16268
$decoded->install_secret_key,
16276
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
16277
$decoded->is_marketing_allowed :
16278
null ),
16279
+ ( isset( $decoded->is_extensions_tracking_allowed ) && ! is_null( $decoded->is_extensions_tracking_allowed ) ?
16280
+ $decoded->is_extensions_tracking_allowed :
16281
+ null ),
16282
$decoded->installs,
16283
false
16284
);
16505
fs_request_get( 'user_public_key' ),
16506
fs_request_get( 'user_secret_key' ),
16507
fs_request_get_bool( 'is_marketing_allowed', null ),
16508
+ fs_request_get_bool( 'is_extensions_tracking_allowed', null ),
16509
$pending_sites_info['blog_ids'],
16510
$pending_sites_info['license_key'],
16511
$pending_sites_info['trial_plan_id']
16516
fs_request_get( 'user_public_key' ),
16517
fs_request_get( 'user_secret_key' ),
16518
fs_request_get_bool( 'is_marketing_allowed', null ),
16519
+ fs_request_get_bool( 'is_extensions_tracking_allowed', null ),
16520
fs_request_get( 'install_id' ),
16521
fs_request_get( 'install_public_key' ),
16522
fs_request_get( 'install_secret_key' ),
16572
* @param string $user_public_key
16573
* @param string $user_secret_key
16574
* @param bool|null $is_marketing_allowed
16575
+ * @param bool|null $is_extensions_tracking_allowed Since 2.3.2
16576
* @param number $install_id
16577
* @param string $install_public_key
16578
* @param string $install_secret_key
16579
* @param bool $redirect
16580
+ * @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will redirect (or return a URL) to the account page with a special parameter to trigger the auto installation processes.
16581
*
16582
* @return string If redirect is `false`, returns the next page the user should be redirected to.
16583
*/
16586
$user_public_key,
16587
$user_secret_key,
16588
$is_marketing_allowed,
16589
+ $is_extensions_tracking_allowed,
16590
$install_id,
16591
$install_public_key,
16592
$install_secret_key,
16628
$this->disable_opt_in_notice_and_lock_user();
16629
}
16630
16631
+ if ( ! is_null( $is_extensions_tracking_allowed ) ) {
16632
+ $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
16633
+ }
16634
+
16635
return $this->setup_account(
16636
$this->_user,
16637
$this->_site,
16650
* @param string $user_public_key
16651
* @param string $user_secret_key
16652
* @param bool|null $is_marketing_allowed
16653
+ * @param bool|null $is_extensions_tracking_allowed Since 2.3.2
16654
* @param array $site_ids
16655
* @param bool $license_key
16656
* @param bool $trial_plan_id
16663
$user_public_key,
16664
$user_secret_key,
16665
$is_marketing_allowed,
16666
+ $is_extensions_tracking_allowed,
16667
$site_ids,
16668
$license_key = false,
16669
$trial_plan_id = false,
16675
$this->disable_opt_in_notice_and_lock_user();
16676
}
16677
16678
+ if ( ! is_null( $is_extensions_tracking_allowed ) ) {
16679
+ $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
16680
+ }
16681
+
16682
$sites = array();
16683
foreach ( $site_ids as $site_id ) {
16684
$sites[] = $this->get_site_info( array( 'blog_id' => $site_id ) );
16697
* @param string $user_public_key
16698
* @param string $user_secret_key
16699
* @param bool|null $is_marketing_allowed
16700
+ * @param bool|null $is_extensions_tracking_allowed Since 2.3.2
16701
* @param object[] $installs
16702
* @param bool $redirect
16703
+ * @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will redirect (or return a URL) to the account page with a special parameter to trigger the auto installation processes.
16704
*
16705
* @return string If redirect is `false`, returns the next page the user should be redirected to.
16706
*/
16709
$user_public_key,
16710
$user_secret_key,
16711
$is_marketing_allowed,
16712
+ $is_extensions_tracking_allowed,
16713
array $installs,
16714
$redirect = true,
16715
$auto_install = false
16720
$this->disable_opt_in_notice_and_lock_user();
16721
}
16722
16723
+ if ( ! is_null( $is_extensions_tracking_allowed ) ) {
16724
+ $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
16725
+ }
16726
+
16727
$install_ids = array();
16728
16729
foreach ( $installs as $install ) {
16833
*/
16834
$license_key = fs_request_get( 'license_secret_key' );
16835
16836
+ $this->update_extensions_tracking_flag( fs_request_get_bool( 'is_extensions_tracking_allowed', true ) );
16837
+
16838
$this->install_with_current_user( $license_key );
16839
}
16840
}
18548
18549
$sites = self::get_all_sites( $this->_module_type, $network_level_or_blog_id );
18550
18551
+ if ( is_object( $this->_user ) && $this->_user->id != $site->user_id ) {
18552
+ $this->sync_user_by_current_install( $site->user_id );
18553
18554
+ $prev_stored_user_id = $this->_storage->get( 'prev_user_id', false, $network_level_or_blog_id );
18555
+
18556
+ if ( empty( $prev_stored_user_id ) &&
18557
+ is_object($this->_user) && $this->_user->id != $site->user_id
18558
+ ) {
18559
+ /**
18560
+ * Store the current user ID as the previous user ID so that the previous user can be used
18561
+ * as the install's owner while the new owner's details are not yet available.
18562
+ *
18563
+ * This will be executed only in the `replica` site. For example, there are 2 sites, namely `original`
18564
+ * and `replica`, then an ownership change was initiated and completed in the `original`, the `replica`
18565
+ * will be using the previous user until it is updated again (e.g.: until the next clone of `original`
18566
+ * into `replica`.
18567
+ *
18568
+ * @author Leo Fajardo (@leorw)
18569
+ */
18570
+ $this->_storage->store( 'prev_user_id', $sites[ $this->_slug ]->user_id, $network_level_or_blog_id );
18571
+ }
18572
}
18573
18574
$sites[ $this->_slug ] = $site_clone;
20400
20401
if ( $show_notice ) {
20402
$this->_admin_notices->add(
20403
+ sprintf( $this->is_only_premium() ?
20404
+ $this->get_text_inline( 'Your %s license was successfully deactivated.', 'license-deactivation-message_premium-only' ) :
20405
+ $this->get_text_inline( 'Your license was successfully deactivated, you are back to the %s plan.', 'license-deactivation-message' ),
20406
+ $this->get_plan_title()
20407
+ ),
20408
$this->get_text_inline( 'O.K', 'ok' )
20409
);
20410
}
21211
return true;
21212
}
21213
21214
+ /**
21215
+ * Completes ownership change by license.
21216
+ *
21217
+ * @author Leo Fajardo (@leorw)
21218
+ * @since 2.3.2
21219
+ *
21220
+ * @param number $user_id
21221
+ * @param array[string]number $install_ids_by_slug_map
21222
+ *
21223
+ */
21224
+ private function complete_ownership_change_by_license( $user_id, $install_ids_by_slug_map ) {
21225
+ $this->_logger->entrance();
21226
+
21227
+ $this->sync_user_by_current_install( $user_id );
21228
+
21229
+ $result = $this->get_api_user_scope( true )->get(
21230
+ "/installs.json?install_ids=" . implode( ',', $install_ids_by_slug_map )
21231
+ );
21232
+
21233
+ if ( $this->is_api_result_object( $result, 'installs' ) ) {
21234
+ $sites = self::get_all_sites( $this->get_module_type() );
21235
+ $install_ids_by_slug_map = array_flip( $install_ids_by_slug_map );
21236
+
21237
+ foreach ( $result->installs as $install ) {
21238
+ $site = new FS_Site( $install );
21239
+
21240
+ $sites[ $install_ids_by_slug_map[ $site->id ] ] = clone $site;
21241
+ }
21242
+
21243
+ $this->set_account_option( 'sites', $sites, true );
21244
+ }
21245
+ }
21246
+
21247
/**
21248
* Handle user name update.
21249
*
21412
// Alias.
21413
$oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
21414
21415
+ $is_network_action = $this->is_network_level_action();
21416
+ $blog_id = $this->is_network_level_site_specific_action();
21417
+ $is_parent_plugin_action = ( $plugin_id == $this->get_id() );
21418
21419
if ( is_numeric( $blog_id ) ) {
21420
$this->switch_to_blog( $blog_id );
21426
case 'opt_in':
21427
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
21428
21429
+ if ( $is_parent_plugin_action ) {
21430
if ( $is_network_action && ! empty( $blog_id ) ) {
21431
if ( ! $this->is_registered() ) {
21432
$this->install_with_user(
21449
case 'toggle_tracking':
21450
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
21451
21452
+ if ( $is_parent_plugin_action ) {
21453
if ( $is_network_action && ! empty( $blog_id ) ) {
21454
if ( $this->is_registered() ) {
21455
if ( $this->is_tracking_prohibited() ) {
21484
case 'delete_account':
21485
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
21486
21487
+ $is_network_deletion = $is_network_action && empty( $blog_id );
21488
+
21489
+ if ( $is_parent_plugin_action ) {
21490
+ // Delete add-on installs if have any.
21491
+ $installed_addons = $this->get_installed_addons();
21492
+ foreach ( $installed_addons as $fs_addon ) {
21493
+ if ( $is_network_deletion ) {
21494
+ $fs_addon->delete_network_account_event();
21495
+ } else {
21496
+ $fs_addon->delete_account_event();
21497
+ }
21498
+ }
21499
+
21500
+ if ( $is_network_deletion ) {
21501
$this->delete_network_account_event();
21502
} else {
21503
$this->delete_account_event();
21513
} else {
21514
if ( $this->is_addon_activated( $plugin_id ) ) {
21515
$fs_addon = self::get_instance_by_id( $plugin_id );
21516
+
21517
+ if ( $is_network_deletion ) {
21518
+ $fs_addon->delete_network_account_event();
21519
+ } else {
21520
+ $fs_addon->delete_account_event();
21521
+ }
21522
21523
fs_redirect( $this->_get_admin_page_url( 'account' ) );
21524
}
22661
22662
$this->_logger->entrance();
22663
22664
+ /**
22665
+ * @author Vova Feldman (@svovaf)
22666
+ * @since 2.3.2 Allow opting out from usage-tracking for paid products too by giving the appropriate warning letting the user know the automatic updates mechanism cannot function without an ongoing connection to the licensing and updates engine.
22667
+ */
22668
+ /*if ( $this->is_premium() ) {
22669
// Don't add opt-in/out for premium code base.
22670
return;
22671
+ }*/
22672
+
22673
+ if ( $this->is_only_premium() && $this->is_free_plan() ) {
22674
+ // Don't add tracking links for premium-only products that were opted-in by relation (add-on or a parent product) before activating any license.
22675
+ return;
22676
}
22677
22678
if ( fs_is_network_admin() ) {
22725
return;
22726
}
22727
22728
+ if ( $this->add_ajax_action( 'update_tracking_permission', array( &$this, '_update_tracking_permission_callback' ) ) ) {
22729
+ return;
22730
+ }
22731
+
22732
$link_text_id = '';
22733
$url = '#';
22734
24383
*
24384
* @author Vova Feldman (@svovaf)
24385
*/
24386
+ self::shoot_ajax_success( array(
24387
+ 'is_marketing_allowed' => null,
24388
+ 'license_owner_id' => null
24389
+ ) );
24390
+ }
24391
+
24392
+ self::shoot_ajax_success( array(
24393
+ 'is_marketing_allowed' => $user_plugins[0]->is_marketing_allowed,
24394
+ 'license_owner_id' => ( isset( $user_plugins[0]->license_owner_id ) ? $user_plugins[0]->license_owner_id : null )
24395
+ ) );
24396
+ }
24397
+
24398
+ /**
24399
+ * @author Leo Fajardo (@leorw)
24400
+ * @since 2.3.2
24401
+ *
24402
+ * @param number[] $install_ids
24403
+ *
24404
+ * @return array {
24405
+ * An array of objects containing the installs' licenses owners data.
24406
+ *
24407
+ * @property number $id User ID.
24408
+ * @property string $email User email (can be masked email).
24409
+ * }
24410
+ */
24411
+ private function fetch_installs_licenses_owners_data( $install_ids ) {
24412
+ $this->_logger->entrance();
24413
+
24414
+ $response = $this->get_api_user_scope()->get(
24415
+ '/licenses_owners.json?install_ids=' . implode( ',', $install_ids )
24416
+ );
24417
+
24418
+ $license_owners = null;
24419
+
24420
+ if ( $this->is_api_result_object( $response, 'owners' ) ) {
24421
+ $license_owners = $response->owners;
24422
}
24423
24424
+ return $license_owners;
24425
}
24426
24427
/**
freemius/includes/class-fs-plugin-updater.php CHANGED
@@ -240,6 +240,12 @@
240
* @since 2.0.0
241
*/
242
private function add_transient_filters() {
243
add_filter( 'pre_set_site_transient_update_plugins', array(
244
&$this,
245
'pre_set_site_transient_update_plugins_filter'
240
* @since 2.0.0
241
*/
242
private function add_transient_filters() {
243
+ if ( $this->_fs->is_premium() && ! $this->_fs->is_tracking_allowed() ) {
244
+ $this->_logger->log( 'Opted out sites cannot receive automatic software updates.' );
245
+
246
+ return;
247
+ }
248
+
249
add_filter( 'pre_set_site_transient_update_plugins', array(
250
&$this,
251
'pre_set_site_transient_update_plugins_filter'
freemius/includes/class-fs-storage.php CHANGED
@@ -378,16 +378,17 @@
378
'require_license_activation' => 1,
379
380
// If not network activated OR delegated, then site level.
381
- 'activation_timestamp' => 2,
382
- 'expired_license_notice_shown' => 2,
383
- 'is_whitelabeled' => 2,
384
- 'last_license_key' => 2,
385
- 'last_license_user_id' => 2,
386
- 'prev_user_id' => 2,
387
- 'sticky_optin_added' => 2,
388
- 'uninstall_reason' => 2,
389
- 'is_pending_activation' => 2,
390
- 'pending_license_key' => 2,
391
392
// Site level options.
393
'is_anonymous' => 3,
378
'require_license_activation' => 1,
379
380
// If not network activated OR delegated, then site level.
381
+ 'activation_timestamp' => 2,
382
+ 'expired_license_notice_shown' => 2,
383
+ 'is_whitelabeled' => 2,
384
+ 'last_license_key' => 2,
385
+ 'last_license_user_id' => 2,
386
+ 'prev_user_id' => 2,
387
+ 'sticky_optin_added' => 2,
388
+ 'uninstall_reason' => 2,
389
+ 'is_pending_activation' => 2,
390
+ 'pending_license_key' => 2,
391
+ 'is_extensions_tracking_allowed' => 2,
392
393
// Site level options.
394
'is_anonymous' => 3,
freemius/includes/fs-essential-functions.php CHANGED
@@ -344,7 +344,11 @@
344
}
345
346
if ( ! isset( $newest_sdk->type ) || 'theme' !== $newest_sdk->type ) {
347
- $in_activation = ( ! is_plugin_active( $plugin_file ) );
348
} else {
349
$theme = wp_get_theme();
350
$in_activation = ( $newest_sdk->plugin_path == $theme->stylesheet );
344
}
345
346
if ( ! isset( $newest_sdk->type ) || 'theme' !== $newest_sdk->type ) {
347
+ if ( ! function_exists( 'is_plugin_active' ) ) {
348
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
349
+ }
350
+
351
+ $in_activation = ( ! is_plugin_active( $plugin_file ) );
352
} else {
353
$theme = wp_get_theme();
354
$in_activation = ( $newest_sdk->plugin_path == $theme->stylesheet );
freemius/languages/freemius-cs_CZ.mo CHANGED
Binary file
freemius/languages/freemius-cs_CZ.po CHANGED
@@ -9,12 +9,12 @@ msgstr ""
9
"POT-Creation-Date: \n"
10
"PO-Revision-Date: 2019-10-07 15:33+0000\n"
11
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
12
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/freemius/wordpress-sdk/language/cs_CZ/)\n"
13
- "MIME-Version: 1.0\n"
14
"Content-Type: text/plain; charset=UTF-8\n"
15
"Content-Transfer-Encoding: 8bit\n"
16
- "Language: cs_CZ\n"
17
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
18
"X-Poedit-Basepath: ..\n"
19
"X-Poedit-KeywordsList: get_text_inline;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;get_text_x_inline:1,2c;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n"
20
"X-Poedit-SearchPath-0: .\n"
@@ -22,10 +22,7 @@ msgstr ""
22
"X-Poedit-SourceCharset: UTF-8\n"
23
24
#: includes/class-freemius.php1880, templates/account.php:840
25
- msgid ""
26
- "An update to a Beta version will replace your installed version of %s with "
27
- "the latest Beta release - use with caution, and not on production sites. You"
28
- " have been warned."
29
msgstr "Aktualizováním na Beta verzi nahradíte nainstalovanou verzi %s nejnovějším vydáním Beta verze - používejte s opatrností a ne na produkčních webech. Varovali jsme vás."
30
31
#: includes/class-freemius.php:1887
@@ -33,9 +30,7 @@ msgid "Would you like to proceed with the update?"
33
msgstr "Chcete pokračovat v aktualizaci?"
34
35
#: includes/class-freemius.php:2095
36
- msgid ""
37
- "Freemius SDK couldn't find the plugin's main file. Please contact "
38
- "sdk@freemius.com with the current error."
39
msgstr "Freemius SDK nemohlo najít hlavní soubor pluginu. S aktuální chybou se obraťte se na sdk@freemius.com."
40
41
#: includes/class-freemius.php:2097
@@ -143,18 +138,11 @@ msgid "I don't know what is cURL or how to install it, help me!"
143
msgstr "Nevím, co je cURL nebo jak jej nainstalovat, pomozte mi!"
144
145
#: includes/class-freemius.php:4225
146
- msgid ""
147
- "We'll make sure to contact your hosting company and resolve the issue. You "
148
- "will get a follow-up email to %s once we have an update."
149
msgstr "Zkontaktujeme vaší hostingovou společnost a zkusíme vyřešit tento problém. Na %s dostanete upozornění, jakmile budeme vědět něco nového."
150
151
#: includes/class-freemius.php:4232
152
- msgid ""
153
- "Great, please install cURL and enable it in your php.ini file. In addition, "
154
- "search for the 'disable_functions' directive in your php.ini file and remove"
155
- " any disabled methods starting with 'curl_'. To make sure it was "
156
- "successfully activated, use 'phpinfo()'. Once activated, deactivate the %s "
157
- "and reactivate it back again."
158
msgstr "Výborně, nainstalujte prosím cURL a povolte ji v souboru php.ini. Dále vyhledejte v souboru php.ini direktivu 'disable_functions ' a odeberte všechny zakázané metody začínající na \"curl_\". Chcete-li se ujistit, že byla úspěšně aktivována, použijte 'phpinfo() '. Jakmile je aktivován, deaktivujte %s a znovu jej aktivujte."
159
160
#: includes/class-freemius.php:4337
@@ -178,11 +166,8 @@ msgid "Oops"
178
msgstr "Jejda"
179
180
#: includes/class-freemius.php:4456
181
- msgid ""
182
- "Thank for giving us the chance to fix it! A message was just sent to our "
183
- "technical staff. We will get back to you as soon as we have an update to %s."
184
- " Appreciate your patience."
185
- msgstr ""
186
187
#: includes/class-freemius.php:4878
188
msgctxt "addonX cannot run without pluginY"
@@ -196,21 +181,17 @@ msgstr "%s nelze spustit bez tohoto pluginu."
196
197
#: includes/class-freemius.php5052, includes/class-freemius.php5077,
198
#: includes/class-freemius.php:20122
199
- msgid ""
200
- "Unexpected API error. Please contact the %s's author with the following "
201
- "error."
202
- msgstr ""
203
204
#: includes/class-freemius.php:5720
205
msgid "Premium %s version was successfully activated."
206
- msgstr ""
207
208
#: includes/class-freemius.php5732, includes/class-freemius.php:7599
209
msgctxt ""
210
- "Used to express elation, enthusiasm, or triumph (especially in electronic "
211
- "communication)."
212
msgid "W00t"
213
- msgstr ""
214
215
#: includes/class-freemius.php:5747
216
msgid "You have a %s license."
@@ -222,19 +203,14 @@ msgstr "Máte licenci „%s“."
222
#: includes/class-freemius.php:19876
223
msgctxt "interjection expressing joy or exuberance"
224
msgid "Yee-haw"
225
- msgstr ""
226
227
#: includes/class-freemius.php:6015
228
- msgid ""
229
- "%s free trial was successfully cancelled. Since the add-on is premium only "
230
- "it was automatically deactivated. If you like to use it in the future, "
231
- "you'll have to purchase a license."
232
msgstr "%s bezplatná zkušební verze byla úspěšně zrušena. Jelikož toto rozšíření nenabízí bezplatnou verzi, bylo automaticky deaktivováno. Chcete-li jej v budoucnu používat, budete si muset zakoupit licenci."
233
234
#: includes/class-freemius.php:6019
235
- msgid ""
236
- "%s is a premium only add-on. You have to purchase a license first before "
237
- "activating the plugin."
238
msgstr "%s je pouze prémiové rozšíření. Před aktivací pluginu si musíte nejprve zakoupit licenci."
239
240
#: includes/class-freemius.php6028, templates/add-ons.php186,
@@ -247,9 +223,7 @@ msgid "Purchase License"
247
msgstr "Koupit licenci"
248
249
#: includes/class-freemius.php6964, templates/connect.php:163
250
- msgid ""
251
- "You should receive an activation email for %s to your mailbox at %s. Please "
252
- "make sure you click the activation button in that email to %s."
253
msgstr "Aktivační email od %s by měl dorazit do vašeho mailboxu (%s). Ujistěte se, že v emailu kliknete na tlačítko aktivovat, abyste %s."
254
255
#: includes/class-freemius.php:6968
@@ -300,25 +274,20 @@ msgid "Theme"
300
msgstr "Šablona"
301
302
#: includes/class-freemius.php:12596
303
- msgid ""
304
- "An unknown error has occurred while trying to set the user's beta mode."
305
msgstr "Během nastavování uživatelského beta módu došlo k neočekávané chybě."
306
307
#: includes/class-freemius.php:13020
308
msgid "Invalid site details collection."
309
- msgstr ""
310
311
#: includes/class-freemius.php:13140
312
- msgid ""
313
- "We couldn't find your email address in the system, are you sure it's the "
314
- "right address?"
315
msgstr "Nemohli jsme najít vaši e-mailovou adresu v systému, jste si jisti, že je to správná adresa?"
316
317
#: includes/class-freemius.php:13142
318
- msgid ""
319
- "We can't see any active licenses associated with that email address, are you"
320
- " sure it's the right address?"
321
- msgstr ""
322
323
#: includes/class-freemius.php:13416
324
msgid "Account is pending activation."
@@ -378,7 +347,7 @@ msgstr "Ceník"
378
379
#: includes/class-freemius.php17256, includes/class-freemius.php:17258
380
msgid "Affiliation"
381
- msgstr ""
382
383
#: includes/class-freemius.php17286, includes/class-freemius.php17288,
384
#: templates/account.php183, templates/debug.php:326
@@ -418,26 +387,24 @@ msgstr "Fórum podpory"
418
419
#: includes/class-freemius.php:18536
420
msgid "Your email has been successfully verified - you are AWESOME!"
421
- msgstr ""
422
423
#: includes/class-freemius.php:18537
424
msgctxt "a positive response"
425
msgid "Right on"
426
- msgstr ""
427
428
#: includes/class-freemius.php:19041
429
msgid "seems like the key you entered doesn't match our records."
430
- msgstr ""
431
432
#: includes/class-freemius.php:19065
433
- msgid ""
434
- "Debug mode was successfully enabled and will be automatically disabled in 60"
435
- " min. You can also disable it earlier by clicking the \"Stop Debug\" link."
436
- msgstr ""
437
438
#: includes/class-freemius.php:19283
439
msgid "Your %s Add-on plan was successfully upgraded."
440
- msgstr ""
441
442
#: includes/class-freemius.php:19285
443
msgid "%s Add-on was successfully purchased."
@@ -448,9 +415,7 @@ msgid "Download the latest version"
448
msgstr "Stáhnout nejnovější verzi"
449
450
#: includes/class-freemius.php:19374
451
- msgid ""
452
- "Your server is blocking the access to Freemius' API, which is crucial for "
453
- "%1$s synchronization. Please contact your host to whitelist %2$s"
454
msgstr "Váš server blokuje přístup k Freemium API, což je zásadní pro synchronizaci %1s. Obraťte se na svého poskytovatele , aby přidal do svého whitelistu %2s"
455
456
#: includes/class-freemius.php19380, includes/class-freemius.php19390,
@@ -459,24 +424,18 @@ msgid "Error received from the server:"
459
msgstr "Chyba přijatá ze serveru:"
460
461
#: includes/class-freemius.php:19390
462
- msgid ""
463
- "It seems like one of the authentication parameters is wrong. Update your "
464
- "Public Key, Secret Key & User ID, and try again."
465
- msgstr ""
466
467
#: includes/class-freemius.php19604, includes/class-freemius.php19840,
468
#: includes/class-freemius.php19895, includes/class-freemius.php:19998
469
msgctxt ""
470
- "something somebody says when they are thinking about what you have just "
471
- "said."
472
msgid "Hmm"
473
msgstr "Hmm"
474
475
#: includes/class-freemius.php:19617
476
- msgid ""
477
- "It looks like you are still on the %s plan. If you did upgrade or change "
478
- "your plan, it's probably an issue on our side - sorry."
479
- msgstr ""
480
481
#: includes/class-freemius.php19618, templates/account.php113,
482
#: templates/add-ons.php250, templates/account/partials/addon.php:46
@@ -485,10 +444,8 @@ msgid "Trial"
485
msgstr "Trial"
486
487
#: includes/class-freemius.php:19623
488
- msgid ""
489
- "I have upgraded my account but when I try to Sync the License, the plan "
490
- "remains %s."
491
- msgstr ""
492
493
#: includes/class-freemius.php19627, includes/class-freemius.php:19686
494
msgid "Please contact us here"
@@ -507,40 +464,28 @@ msgid "Your plan was successfully changed to %s."
507
msgstr "Váše předplatné bylo úspěšně změněn na %s."
508
509
#: includes/class-freemius.php:19672
510
- msgid ""
511
- "Your license has expired. You can still continue using the free %s forever."
512
msgstr "Vaše licence vypršela. Stále však můžete free verzi %s bez omezení."
513
514
#: includes/class-freemius.php:19674
515
- msgid ""
516
- "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s "
517
- "without interruptions."
518
msgstr "Vaše licence vypršela. %1$sObnovte předplatné%2$s, abyste mohli mohli %3$s používat bez omezení."
519
520
#: includes/class-freemius.php:19682
521
- msgid ""
522
- "Your license has been cancelled. If you think it's a mistake, please contact"
523
- " support."
524
msgstr "Vaše licence byla zrušena. Pokud si myslíte, že je to chyba, obraťte se na naší podporu."
525
526
#: includes/class-freemius.php:19695
527
- msgid ""
528
- "Your license has expired. You can still continue using all the %s features, "
529
- "but you'll need to renew your license to continue getting updates and "
530
- "support."
531
msgstr "Vaše licence vypršela. Stále však můžete používat všechny funkce verze %s, ale pro získání technické podpory a nejnovějších aktualizací budete muset obnovit svou licenci."
532
533
#: includes/class-freemius.php:19721
534
- msgid ""
535
- "Your free trial has expired. You can still continue using all our free "
536
- "features."
537
- msgstr ""
538
539
#: includes/class-freemius.php:19723
540
- msgid ""
541
- "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s "
542
- "without interruptions."
543
- msgstr ""
544
545
#: includes/class-freemius.php:19831
546
msgid "It looks like the license could not be activated."
@@ -552,15 +497,14 @@ msgstr "Vaše licence byla úspěšně aktivována."
552
553
#: includes/class-freemius.php:19899
554
msgid "It looks like your site currently doesn't have an active license."
555
- msgstr ""
556
557
#: includes/class-freemius.php:19923
558
msgid "It looks like the license deactivation failed."
559
msgstr "Deaktivace licence pravděpodobně selhala."
560
561
#: includes/class-freemius.php:19951
562
- msgid ""
563
- "Your license was successfully deactivated, you are back to the %s plan."
564
msgstr "Vaše licence byla úspěšně deaktivována, jste zpět na plánu %s."
565
566
#: includes/class-freemius.php:19952
@@ -568,20 +512,16 @@ msgid "O.K"
568
msgstr "OK"
569
570
#: includes/class-freemius.php:20005
571
- msgid ""
572
- "Seems like we are having some temporary issue with your subscription "
573
- "cancellation. Please try again in few minutes."
574
- msgstr ""
575
576
#: includes/class-freemius.php:20014
577
- msgid ""
578
- "Your subscription was successfully cancelled. Your %s plan license will "
579
- "expire in %s."
580
msgstr "Vaše předplatné bylo úspěšně zrušeno. Platnost licence %s vyprší za %s."
581
582
#: includes/class-freemius.php:20056
583
msgid "You are already running the %s in a trial mode."
584
- msgstr ""
585
586
#: includes/class-freemius.php:20067
587
msgid "You already utilized a trial before."
@@ -597,23 +537,19 @@ msgstr "Plán %s nepodporuje zkušební období."
597
598
#: includes/class-freemius.php:20103
599
msgid "None of the %s's plans supports a trial period."
600
- msgstr ""
601
602
#: includes/class-freemius.php:20153
603
- msgid ""
604
- "It looks like you are not in trial mode anymore so there's nothing to cancel"
605
- " :)"
606
msgstr "Zkuušební režim už vám skončil, takže už není co rušit :)"
607
608
#: includes/class-freemius.php:20189
609
- msgid ""
610
- "Seems like we are having some temporary issue with your trial cancellation. "
611
- "Please try again in few minutes."
612
msgstr "Omlouváme se, ale měli jsme nějaký dočasný problém se zrušením vaší zkušební licence. Zkuste to znovu za několik minut."
613
614
#: includes/class-freemius.php:20208
615
msgid "Your %s free trial was successfully cancelled."
616
- msgstr ""
617
618
#: includes/class-freemius.php:20524
619
msgid "Version %s was released."
@@ -637,26 +573,22 @@ msgstr "Pravděpodobně máte nejnovější verzi."
637
638
#: includes/class-freemius.php:20542
639
msgid "You are all good!"
640
- msgstr ""
641
642
#: includes/class-freemius.php:20812
643
- msgid ""
644
- "Verification mail was just sent to %s. If you can't find it after 5 min, "
645
- "please check your spam box."
646
msgstr "Ověřovací zpráva byla právě odeslána na email %s. Pokud ji nenajdete do 5 min, zkontrolujte prosím složku pro spam."
647
648
#: includes/class-freemius.php:20951
649
msgid "Site successfully opted in."
650
- msgstr ""
651
652
#: includes/class-freemius.php20952, includes/class-freemius.php:21792
653
msgid "Awesome"
654
msgstr "Úžasný"
655
656
#: includes/class-freemius.php20968, templates/forms/optout.php:32
657
- msgid ""
658
- "We appreciate your help in making the %s better by letting us track some "
659
- "usage data."
660
msgstr "Vážíme si vaší pomoci při zlepšování %s tím, že nám umožníte sledovat některá data o jeho používání."
661
662
#: includes/class-freemius.php:20969
@@ -668,17 +600,11 @@ msgid "We will no longer be sending any usage data of %s on %s to %s."
668
msgstr "Nebudeme již posílat žádná data o používání %s na %s do %s."
669
670
#: includes/class-freemius.php:21105
671
- msgid ""
672
- "Please check your mailbox, you should receive an email via %s to confirm the"
673
- " ownership change. From security reasons, you must confirm the change within"
674
- " the next 15 min. If you cannot find the email, please check your spam "
675
- "folder."
676
msgstr "Zkontrolujte si prosím emailovou schránku, měli byste obdržet zprávu od %s pro potvrzení změny vlastnictví. Z bezpečnostních důvodů je nutné potvrdit tuto změnu během následujících 15 minut. Pokud email nemůžete najít, zkontrolujte složku se spamem."
677
678
#: includes/class-freemius.php:21111
679
- msgid ""
680
- "Thanks for confirming the ownership change. An email was just sent to %s for"
681
- " final approval."
682
msgstr "Děkujeme za potvrzení změny vlastnictví. Email byl právě odeslán na adresu %s, ke konečnému schválení."
683
684
#: includes/class-freemius.php:21116
@@ -691,26 +617,20 @@ msgid "Congrats"
691
msgstr "Gratulujeme"
692
693
#: includes/class-freemius.php:21138
694
- msgid ""
695
- "Sorry, we could not complete the email update. Another user with the same "
696
- "email is already registered."
697
msgstr "Omlouváme se, ale aktualizaci emailu jsem nemohli dokončit. Uživatel s vámi zadaným emailem už je registrován."
698
699
#: includes/class-freemius.php:21139
700
- msgid ""
701
- "If you would like to give up the ownership of the %s's account to %s click "
702
- "the Change Ownership button."
703
- msgstr ""
704
705
#: includes/class-freemius.php:21146
706
msgid "Change Ownership"
707
msgstr "Změnit vlastnictví"
708
709
#: includes/class-freemius.php:21154
710
- msgid ""
711
- "Your email was successfully updated. You should receive an email with "
712
- "confirmation instructions in few moments."
713
- msgstr ""
714
715
#: includes/class-freemius.php:21166
716
msgid "Please provide your full name."
@@ -725,15 +645,13 @@ msgid "You have successfully updated your %s."
725
msgstr "Úspěšně jste aktualizovali %s."
726
727
#: includes/class-freemius.php:21372
728
- msgid ""
729
- "Just letting you know that the add-ons information of %s is being pulled "
730
- "from an external server."
731
- msgstr ""
732
733
#: includes/class-freemius.php:21373
734
msgctxt "advance notice of something that will need attention."
735
msgid "Heads up"
736
- msgstr ""
737
738
#: includes/class-freemius.php:21832
739
msgctxt "exclamation"
@@ -741,14 +659,12 @@ msgid "Hey"
741
msgstr "Dobrý den"
742
743
#: includes/class-freemius.php:21832
744
- msgid ""
745
- "How do you like %s so far? Test all our %s premium features with a %d-day "
746
- "free trial."
747
msgstr "Jak se vám líbí %s? Otestujte všechny naše %s nadstandardní funkce s %d-denní zkušební verze zdarma."
748
749
#: includes/class-freemius.php:21840
750
msgid "No commitment for %s days - cancel anytime!"
751
- msgstr ""
752
753
#: includes/class-freemius.php:21841
754
msgid "No credit card required"
@@ -757,13 +673,11 @@ msgstr "Kreditní karta není vyžadována"
757
#: includes/class-freemius.php21848, templates/forms/trial-start.php:53
758
msgctxt "call to action"
759
msgid "Start free trial"
760
- msgstr ""
761
762
#: includes/class-freemius.php:21925
763
- msgid ""
764
- "Hey there, did you know that %s has an affiliate program? If you like the %s"
765
- " you can become our ambassador and earn some cash!"
766
- msgstr ""
767
768
#: includes/class-freemius.php:21934
769
msgid "Learn more"
@@ -793,9 +707,7 @@ msgid "Opt In"
793
msgstr "Zúčastnit se"
794
795
#: includes/class-freemius.php:22453
796
- msgid ""
797
- " The paid version of %1$s is already installed. Please activate it to start "
798
- "benefiting the %2$s features. %3$s"
799
msgstr " Placená verze %1s je již nainstalována. Aktivujte jí, abyste mohli těžit z %2s funkcí. %3s"
800
801
#: includes/class-freemius.php:22461
@@ -819,20 +731,18 @@ msgid "How to upload and activate?"
819
msgstr "Jak nahrát a aktivovat?"
820
821
#: includes/class-freemius.php:22618
822
- msgid ""
823
- "%sClick here%s to choose the sites where you'd like to activate the license "
824
- "on."
825
- msgstr ""
826
827
#: includes/class-freemius.php:22779
828
msgid "Auto installation only works for opted-in users."
829
- msgstr ""
830
831
#: includes/class-freemius.php22789, includes/class-freemius.php22822,
832
#: includes/class-fs-plugin-updater.php1212,
833
#: includes/class-fs-plugin-updater.php:1226
834
msgid "Invalid module ID."
835
- msgstr ""
836
837
#: includes/class-freemius.php22798, includes/class-fs-plugin-updater.php:1248
838
msgid "Premium version already active."
@@ -840,17 +750,15 @@ msgstr "Prémiová verze je již aktivní."
840
841
#: includes/class-freemius.php:22805
842
msgid "You do not have a valid license to access the premium version."
843
- msgstr ""
844
845
#: includes/class-freemius.php:22812
846
- msgid ""
847
- "Plugin is a \"Serviceware\" which means it does not have a premium code "
848
- "version."
849
- msgstr ""
850
851
#: includes/class-freemius.php22830, includes/class-fs-plugin-updater.php:1247
852
msgid "Premium add-on version already installed."
853
- msgstr ""
854
855
#: includes/class-freemius.php:23180
856
msgid "View paid features"
@@ -858,27 +766,23 @@ msgstr "Zobrazit placené funkce"
858
859
#: includes/class-freemius.php:23502
860
msgid "Thank you so much for using %s and its add-ons!"
861
- msgstr ""
862
863
#: includes/class-freemius.php:23503
864
msgid "Thank you so much for using %s!"
865
- msgstr ""
866
867
#: includes/class-freemius.php:23509
868
- msgid ""
869
- "You've already opted-in to our usage-tracking, which helps us keep improving"
870
- " the %s."
871
- msgstr ""
872
873
#: includes/class-freemius.php:23513
874
msgid "Thank you so much for using our products!"
875
- msgstr ""
876
877
#: includes/class-freemius.php:23514
878
- msgid ""
879
- "You've already opted-in to our usage-tracking, which helps us keep improving"
880
- " them."
881
- msgstr ""
882
883
#: includes/class-freemius.php:23533
884
msgid "%s and its add-ons"
@@ -894,30 +798,23 @@ msgstr "Ano"
894
895
#: includes/class-freemius.php23550, templates/connect.php:273
896
msgid "send me security & feature updates, educational content and offers."
897
- msgstr ""
898
899
#: includes/class-freemius.php23551, templates/connect.php:278
900
msgid "No"
901
msgstr "Ne"
902
903
#: includes/class-freemius.php23553, templates/connect.php:280
904
- msgid ""
905
- "do %sNOT%s send me security & feature updates, educational content and "
906
- "offers."
907
- msgstr ""
908
909
#: includes/class-freemius.php:23563
910
- msgid ""
911
- "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance "
912
- "requirements it is required that you provide your explicit consent, again, "
913
- "confirming that you are onboard :-)"
914
- msgstr ""
915
916
#: includes/class-freemius.php23565, templates/connect.php:287
917
- msgid ""
918
- "Please let us know if you'd like us to contact you for security & feature "
919
- "updates, educational content, and occasional offers:"
920
- msgstr ""
921
922
#: includes/class-freemius.php:23847
923
msgid "License key is empty."
@@ -936,7 +833,7 @@ msgstr "Koupit licenci"
936
#: includes/class-fs-plugin-updater.php321,
937
#: includes/class-fs-plugin-updater.php:354
938
msgid "There is a %s of %s available."
939
- msgstr ""
940
941
#: includes/class-fs-plugin-updater.php323,
942
#: includes/class-fs-plugin-updater.php:359
@@ -950,7 +847,7 @@ msgstr "nová verze"
950
951
#: includes/class-fs-plugin-updater.php:383
952
msgid "Important Upgrade Notice:"
953
- msgstr ""
954
955
#: includes/class-fs-plugin-updater.php:1277
956
msgid "Installing plugin: %s"
@@ -961,9 +858,7 @@ msgid "Unable to connect to the filesystem. Please confirm your credentials."
961
msgstr "Nelze se připojit k systémovému souboru. Potvrďte prosím svá pověření."
962
963
#: includes/class-fs-plugin-updater.php:1500
964
- msgid ""
965
- "The remote plugin package does not contain a folder with the desired slug "
966
- "and renaming did not work."
967
msgstr "Balíček remote pluginů neobsahuje složku s žádoucím \"slug\" a přejmenování nefunguje."
968
969
#: includes/fs-plugin-info-dialog.php:535
@@ -982,7 +877,7 @@ msgstr "Začít můj bezplatný %s"
982
983
#: includes/fs-plugin-info-dialog.php:738
984
msgid "Install Free Version Update Now"
985
- msgstr ""
986
987
#: includes/fs-plugin-info-dialog.php739, templates/account.php:560
988
msgid "Install Update Now"
@@ -1058,7 +953,7 @@ msgstr "Vaše hodnocení"
1058
#: includes/fs-plugin-info-dialog.php:1000
1059
msgctxt "Plugin installer section title"
1060
msgid "Other Notes"
1061
- msgstr ""
1062
1063
#: includes/fs-plugin-info-dialog.php:1015
1064
msgctxt "Plugin installer section title"
@@ -1113,11 +1008,11 @@ msgstr "Jedenkrát"
1113
1114
#: includes/fs-plugin-info-dialog.php:1159
1115
msgid "Single Site License"
1116
- msgstr ""
1117
1118
#: includes/fs-plugin-info-dialog.php:1161
1119
msgid "Unlimited Licenses"
1120
- msgstr ""
1121
1122
#: includes/fs-plugin-info-dialog.php:1163
1123
msgid "Up to %s Sites"
@@ -1146,7 +1041,7 @@ msgstr "Uložit %s"
1146
1147
#: includes/fs-plugin-info-dialog.php:1292
1148
msgid "No commitment for %s - cancel anytime"
1149
- msgstr ""
1150
1151
#: includes/fs-plugin-info-dialog.php:1295
1152
msgid "After your free %s, pay as little as %s"
@@ -1240,7 +1135,7 @@ msgstr "%s hvězd"
1240
1241
#: includes/fs-plugin-info-dialog.php:1434
1242
msgid "Click to see reviews that provided a rating of %s"
1243
- msgstr ""
1244
1245
#: includes/fs-plugin-info-dialog.php:1447
1246
msgid "Contributors"
@@ -1252,15 +1147,12 @@ msgid "Warning"
1252
msgstr "Varování"
1253
1254
#: includes/fs-plugin-info-dialog.php:1476
1255
- msgid ""
1256
- "This plugin has not been tested with your current version of WordPress."
1257
- msgstr ""
1258
1259
#: includes/fs-plugin-info-dialog.php:1478
1260
- msgid ""
1261
- "This plugin has not been marked as compatible with your version of "
1262
- "WordPress."
1263
- msgstr ""
1264
1265
#: includes/fs-plugin-info-dialog.php:1497
1266
msgid "Paid add-on must be deployed to Freemius."
@@ -1302,43 +1194,31 @@ msgstr "Ruším předplatné"
1302
#. subscription'
1303
#: templates/account.php95, templates/forms/subscription-cancellation.php99,
1304
#: templates/account/partials/site.php:314
1305
- msgid ""
1306
- "%1$s will immediately stop all future recurring payments and your %2$s plan "
1307
- "license will expire in %3$s."
1308
msgstr "%1s okamžitě zastaví všechny budoucí opakující se platby a licence k plánu %s vyprší za %s."
1309
1310
#: templates/account.php96, templates/forms/subscription-cancellation.php100,
1311
#: templates/account/partials/addon.php30,
1312
#: templates/account/partials/site.php:315
1313
- msgid ""
1314
- "Please note that we will not be able to grandfather outdated pricing for "
1315
- "renewals/new subscriptions after a cancellation. If you choose to renew the "
1316
- "subscription manually in the future, after a price increase, which typically"
1317
- " occurs once a year, you will be charged the updated price."
1318
- msgstr ""
1319
1320
#: templates/account.php97, templates/forms/subscription-cancellation.php106,
1321
#: templates/account/partials/addon.php:31
1322
- msgid ""
1323
- "Cancelling the trial will immediately block access to all premium features. "
1324
- "Are you sure?"
1325
msgstr "Zrušení zkušební verze okamžitě zablokuje přístup ke všem prémiovým funkcím. Opravdu chcete pokračovat?"
1326
1327
#: templates/account.php98, templates/forms/subscription-cancellation.php101,
1328
#: templates/account/partials/addon.php32,
1329
#: templates/account/partials/site.php:316
1330
- msgid ""
1331
- "You can still enjoy all %s features but you will not have access to %s "
1332
- "security & feature updates, nor support."
1333
- msgstr ""
1334
1335
#: templates/account.php99, templates/forms/subscription-cancellation.php102,
1336
#: templates/account/partials/addon.php33,
1337
#: templates/account/partials/site.php:317
1338
- msgid ""
1339
- "Once your license expires you can still use the Free version but you will "
1340
- "NOT have access to the %s features."
1341
- msgstr ""
1342
1343
#. translators: %s: Plan title (e.g. "Professional")
1344
#: templates/account.php101,
@@ -1399,7 +1279,7 @@ msgstr "Druh členství"
1399
1400
#: templates/account.php:117
1401
msgid "Bundle Plan"
1402
- msgstr ""
1403
1404
#: templates/account.php:191
1405
msgid "Free Trial"
@@ -1411,29 +1291,23 @@ msgstr "Detaily účtu"
1411
1412
#: templates/account.php209, templates/forms/data-debug-mode.php:33
1413
msgid "Start Debug"
1414
- msgstr ""
1415
1416
#: templates/account.php:211
1417
msgid "Stop Debug"
1418
- msgstr ""
1419
1420
#: templates/account.php:218
1421
msgid "Billing & Invoices"
1422
- msgstr ""
1423
1424
#: templates/account.php:229
1425
- msgid ""
1426
- "Deleting the account will automatically deactivate your %s plan license so "
1427
- "you can use it on other sites. If you want to terminate the recurring "
1428
- "payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
1429
- "account. Are you sure you would like to continue with the deletion?"
1430
- msgstr ""
1431
1432
#: templates/account.php:231
1433
- msgid ""
1434
- "Deletion is not temporary. Only delete if you no longer want to use this %s "
1435
- "anymore. Are you sure you would like to continue with the deletion?"
1436
- msgstr ""
1437
1438
#: templates/account.php:234
1439
msgid "Delete Account"
@@ -1513,7 +1387,7 @@ msgstr "Licenční klíč"
1513
1514
#: templates/account.php:453
1515
msgid "Join the Beta program"
1516
- msgstr ""
1517
1518
#: templates/account.php:459
1519
msgid "not verified"
@@ -1587,11 +1461,11 @@ msgstr "Skrýt"
1587
1588
#: templates/account.php836, templates/forms/data-debug-mode.php:31
1589
msgid "Processing"
1590
- msgstr ""
1591
1592
#: templates/account.php:839
1593
msgid "Get updates for bleeding edge Beta versions of %s."
1594
- msgstr ""
1595
1596
#: templates/account.php:897
1597
msgid "Cancelling %s"
@@ -1613,10 +1487,8 @@ msgid "subscription"
1613
msgstr "předplatné"
1614
1615
#: templates/account.php:929
1616
- msgid ""
1617
- "Deactivating your license will block all premium features, but will enable "
1618
- "activating the license on another site. Are you sure you want to proceed?"
1619
- msgstr ""
1620
1621
#: templates/add-ons.php:38
1622
msgid "View details"
@@ -1627,20 +1499,18 @@ msgid "Add Ons for %s"
1627
msgstr "Rozšíření pro %s"
1628
1629
#: templates/add-ons.php:58
1630
- msgid ""
1631
- "We couldn't load the add-ons list. It's probably an issue on our side, "
1632
- "please try to come back in few minutes."
1633
- msgstr ""
1634
1635
#: templates/add-ons.php:229
1636
msgctxt "active add-on"
1637
msgid "Active"
1638
- msgstr ""
1639
1640
#: templates/add-ons.php:230
1641
msgctxt "installed add-on"
1642
msgid "Installed"
1643
- msgstr ""
1644
1645
#: templates/admin-notice.php13, templates/forms/license-activation.php207,
1646
#: templates/forms/resend-key.php:77
@@ -1654,24 +1524,19 @@ msgstr "%s s"
1654
1655
#: templates/auto-installation.php:83
1656
msgid "Automatic Installation"
1657
- msgstr ""
1658
1659
#: templates/auto-installation.php:93
1660
- msgid ""
1661
- "An automated download and installation of %s (paid version) from %s will "
1662
- "start in %s. If you would like to do it manually - click the cancellation "
1663
- "button now."
1664
- msgstr ""
1665
1666
#: templates/auto-installation.php:104
1667
- msgid ""
1668
- "The installation process has started and may take a few minutes to complete."
1669
- " Please wait until it is done - do not refresh this page."
1670
msgstr "Proces instalace byl zahájen a může trvat několik minut. Počkejte prosím na dokončení - neobnovujte tuto stránku."
1671
1672
#: templates/auto-installation.php:109
1673
msgid "Cancel Installation"
1674
- msgstr ""
1675
1676
#: templates/checkout.php:180
1677
msgid "Checkout"
@@ -1704,36 +1569,23 @@ msgid "Agree & Activate License"
1704
msgstr "Aktivovat licenci"
1705
1706
#: templates/connect.php:181
1707
- msgid ""
1708
- "Thanks for purchasing %s! To get started, please enter your license key:"
1709
msgstr "Děkujeme za nákup %s! Pro aktivaci zadejte prosím svůj licenční klíč:"
1710
1711
#: templates/connect.php:188
1712
- msgid ""
1713
- "Never miss an important update - opt in to our security & feature updates "
1714
- "notifications, educational content, offers, and non-sensitive diagnostic "
1715
- "tracking with %4$s."
1716
msgstr "Nezmeškejte žádnou důležitou aktualizaci - dovolte nám sbírat anonymní a obecná diagnostická data s %4$s a nechte se upozornit na nové funkce, výukové materiály, nabídky a bezpečnostní aktualizace."
1717
1718
#: templates/connect.php:189
1719
- msgid ""
1720
- "Never miss an important update - opt in to our security and feature updates "
1721
- "notifications, and non-sensitive diagnostic tracking with %4$s."
1722
msgstr "Nezmeškejte žádnou důležitou aktualizaci - dovolte nám sbírat anonymní a obecná diagnostická data s %4$s a nechte se upozornit na nové funkce a bezpečnostní aktualizace."
1723
1724
#: templates/connect.php:195
1725
- msgid ""
1726
- "Never miss an important update - opt in to our security & feature updates "
1727
- "notifications, educational content, offers, and non-sensitive diagnostic "
1728
- "tracking with %4$s. If you skip this, that's okay! %1$s will still work just"
1729
- " fine."
1730
msgstr "Nezmeškejte žádnou důležitou aktualizaci - dovolte nám sbírat anonymní a obecná diagnostická data s %4$s a nechte se upozornit na nové funkce, výukové materiály, nabídky a bezpečnostní aktualizace. Pokud tohle přeskočíte tak se nic neděje. %1$s bude bez problémů dál fungovat."
1731
1732
#: templates/connect.php:196
1733
- msgid ""
1734
- "Never miss an important update - opt in to our security & feature updates "
1735
- "notifications, and non-sensitive diagnostic tracking with %4$s. If you skip "
1736
- "this, that's okay! %1$s will still work just fine."
1737
msgstr "Nezmeškejte žádnou důležitou aktualizaci - dovolte nám sbírat anonymní a obecná diagnostická data s %4$s a nechte se upozornit na nové funkce a bezpečnostní aktualizace. Pokud tohle přeskočíte tak se nic neděje. %1$s bude bez problémů dál fungovat."
1738
1739
#: templates/connect.php:230
@@ -1741,32 +1593,24 @@ msgid "We're excited to introduce the Freemius network-level integration."
1741
msgstr "Jsme rádi, že vám můžeme ukázat integraci Freemiusu i v rámci sítě webů."
1742
1743
#: templates/connect.php:233
1744
- msgid ""
1745
- "During the update process we detected %d site(s) that are still pending "
1746
- "license activation."
1747
- msgstr ""
1748
1749
#: templates/connect.php:235
1750
- msgid ""
1751
- "If you'd like to use the %s on those sites, please enter your license key "
1752
- "below and click the activation button."
1753
- msgstr ""
1754
1755
#: templates/connect.php:237
1756
msgid "%s's paid features"
1757
- msgstr ""
1758
1759
#: templates/connect.php:242
1760
- msgid ""
1761
- "Alternatively, you can skip it for now and activate the license later, in "
1762
- "your %s's network-level Account page."
1763
- msgstr ""
1764
1765
#: templates/connect.php:244
1766
- msgid ""
1767
- "During the update process we detected %s site(s) in the network that are "