Version Description
- 25th May 2018 =
- New: As part of my plans for implementing GDPR compliancy within BNFW, you can now exclude users and/or roles from your notifications in the new 'Except For' box.
- New: You can now include the post/page author in addition to the list of users and user roles in your notifications (not either/or).
- New: You can now enable the output of shortcodes again when using the
[post_content]
shortcode in your notifications via a new checkbox in the Settings screen. - New: A list of available actions and filters in BNFW is now available in the website documentation.
- Updated: The user tracking SDK I use (Freemius) has been updated to allow Multisite network admins to opt-in an entire multisite or delegate opt-in to site-level admins.
- Fixed: Media inserted via the WYSIWYG editor wasn't showing. This should now be fixed.
- Fixed: An issue where the
[post_term taxonomy="X"]
shortcode could only be used once in a notification. - Fixed: All date shortcodes are now translatable.
Download this release
Release Info
Developer | voltronik |
Plugin | Better Notifications for WordPress |
Version | 1.6.14 |
Comparing to | |
See all releases |
Code changes from version 1.6.13 to 1.6.14
- README.txt +13 -15
- assets/js/bnfw.js +10 -10
- bnfw.php +1 -1
- freemius/.codeclimate.yml +19 -0
- freemius/.github/ISSUE_TEMPLATE.md +29 -0
- freemius/.gitignore +11 -0
- freemius/.travis.yml +11 -0
- freemius/README.md +0 -0
- freemius/assets/css/admin/account.css +1 -1
- freemius/assets/css/admin/add-ons.css +0 -0
- freemius/assets/css/admin/affiliation.css +1 -1
- freemius/assets/css/admin/checkout.css +0 -0
- freemius/assets/css/admin/common.css +0 -0
- freemius/assets/css/admin/connect.css +1 -1
- freemius/assets/css/admin/deactivation-feedback.css +0 -0
- freemius/assets/css/admin/debug.css +0 -0
- freemius/assets/css/admin/dialog-boxes.css +1 -1
- freemius/assets/css/admin/index.php +0 -0
- freemius/assets/css/admin/license-activation.css +0 -0
- freemius/assets/css/customizer.css +0 -0
- freemius/assets/css/index.php +0 -0
- freemius/assets/img/index.php +0 -0
- freemius/assets/img/plugin-icon.png +0 -0
- freemius/assets/img/theme-icon.png +0 -0
- freemius/assets/index.php +0 -0
- freemius/assets/js/index.php +0 -0
- freemius/assets/scss/_colors.scss +3 -0
- freemius/assets/scss/_functions.scss +0 -0
- freemius/assets/scss/_load.scss +0 -0
- freemius/assets/scss/_mixins.scss +0 -0
- freemius/assets/scss/_start.scss +0 -0
- freemius/assets/scss/_vars.scss +0 -0
- freemius/assets/scss/admin/_ajax-loader.scss +0 -0
- freemius/assets/scss/admin/_auto-install.scss +0 -0
- freemius/assets/scss/admin/_deactivation-feedback.scss +0 -0
- freemius/assets/scss/admin/_license-activation.scss +40 -0
- freemius/assets/scss/admin/_license-key-resend.scss +0 -0
- freemius/assets/scss/admin/_modal-common.scss +8 -0
- freemius/assets/scss/admin/_multisite-options.scss +40 -0
- freemius/assets/scss/admin/_themes.scss +0 -0
- freemius/assets/scss/admin/_tooltip.scss +66 -0
- freemius/assets/scss/admin/account.scss +51 -5
- freemius/assets/scss/admin/affiliation.scss +0 -0
- freemius/assets/scss/admin/checkout.scss +0 -0
- freemius/assets/scss/admin/connect.scss +27 -0
- freemius/assets/scss/admin/debug.scss +0 -0
- freemius/assets/scss/admin/dialog-boxes.scss +1 -0
- freemius/assets/scss/admin/index.php +0 -0
- freemius/assets/scss/customizer.scss +0 -0
- freemius/assets/scss/index.php +0 -0
- freemius/composer.json +1 -1
- freemius/config.php +372 -325
- freemius/includes/class-freemius.php +16150 -10482
README.txt
CHANGED
@@ -3,9 +3,9 @@ Contributors: voltronik
|
|
3 |
Â
Donate link: https://betternotificationsforwp.com/donate/
|
4 |
Â
Tags: notification, email, push, sms, alert, HTML, customize, bulk, trigger, CC, BCC
|
5 |
Â
Requires at least: 4.0
|
6 |
-
Tested up to: 4.9.
|
7 |
Â
Requires PHP: 5.6
|
8 |
-
Stable tag: 1.6.
|
9 |
Â
License: GPLv2 or later
|
10 |
Â
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
Â
|
@@ -163,10 +163,6 @@ Yes! There is an option for suppressing comments marked as SPAM in the plugin se
|
|
163 |
Â
|
164 |
Â
Yes! Full support for WordPress Multisite was added in 1.6.13, alongside the release of the [Multisite Add-on](https://betternotificationsforwp.com/downloads/multisite/).
|
165 |
Â
|
166 |
-
= What isn't this plugin? =
|
167 |
-
|
168 |
-
It's not designed to send out newsletters. There is no send-this-out-on-this-date style functionality included. There are many other great plugins available that you could use for that instead. Additionally, users cannot currently unsubscribe automatically from notifications so you'll have to work out how you manage unsubscribers manually.
|
169 |
-
|
170 |
Â
= Notifications aren't coming through! =
|
171 |
Â
|
172 |
Â
First of all, follow [this article](https://betternotificationsforwp.com/how-can-i-receive-the-best-support/) about how to find out what might be causing the problem. Additionally, please take a look at [this help document](https://betternotificationsforwp.com/documentation/getting-started/how-to-improve-email-delivery/) to see how you might improve email delivery when using Better Notifications for WordPress.
|
@@ -179,10 +175,6 @@ If you're still having problems, please drop me a line in the [Free Support Foru
|
|
179 |
Â
|
180 |
Â
It's possible you're inserting a shortcode into a notification that cannot use it. For example: the 'New Category' email notification cannot use any of the author or time shortcodes as WordPress only stores the category name, category slug and category description in the database by default. It's also worth checking the spelling and underscores in any shortcodes as well as if they are wrapped in square brackets `[]`.
|
181 |
Â
|
182 |
-
= I press the 'Send Me a Test Email' button but nothing happens! =
|
183 |
-
|
184 |
-
Check that you've saved your notification first, then try again. It may take a second for the email to come through. Please also check your email SPAM filter.
|
185 |
-
|
186 |
Â
= Other emails from WordPress / other plugins are being messed up! =
|
187 |
Â
|
188 |
Â
WordPress, by default, sends all emails in Plain Text. If you'd like to include code or use the WYSIWYG editor as part of Better Notifications for WordPress in your emails, you can change this to HTML using the global setting in Better Notification for WordPress. This can be found under the 'Notifications > Settings' screen. Changing this global email format setting will affect how all emails are sent out from WordPress however, so you may experience formatting issues with emails sent out from other plugins if you change the email format setting in this way. If you do, change this setting to Plain Text. You can also set the email format on a per-notification basis when setting-up a new Notification. The caveat is that WordPress will only either allow setting the email format globally (for all emails) or individually for anything that's non-transactional.
|
@@ -195,10 +187,6 @@ This is most likely because it's `public` setting is set to `false`. Try changin
|
|
195 |
Â
|
196 |
Â
Yes, of course! The plugin is completely translation-friendly and if you send me your .po file, I'll make sure to include it in the plugin and credit you in the changelog.
|
197 |
Â
|
198 |
-
= Will this plugin work with versions of WordPress less than 3.5? =
|
199 |
-
|
200 |
-
An older version might work but this is untested. A lot of the newer features require WordPress 4.0 and above.
|
201 |
-
|
202 |
Â
|
203 |
Â
|
204 |
Â
== Screenshots ==
|
@@ -211,6 +199,16 @@ An older version might work but this is untested. A lot of the newer features re
|
|
211 |
Â
|
212 |
Â
== Changelog ==
|
213 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
214 |
Â
= 1.6.13 - 5th April 2018 =
|
215 |
Â
* Added: Full support for the new [Multisite](https://betternotificationsforwp.com/downloads/multisite/) add-on.
|
216 |
Â
* Fixed: Multisite-only - the user_id was being used instead of the username in the login URL in the Lost Password - For User notification.
|
@@ -559,4 +557,4 @@ Fixed: When a 'Lost Password – For User' notification had been set-up but disa
|
|
559 |
Â
= Migrating from 0.2.1 to 1.0 =
|
560 |
Â
|
561 |
Â
Version 1 features an auto-importer which should migrate all of your notifications from any previous versions of the plugin to 1.0.
|
562 |
-
Please ensure that you check, double check and test your notifications before and after upgrading.
|
3 |
Â
Donate link: https://betternotificationsforwp.com/donate/
|
4 |
Â
Tags: notification, email, push, sms, alert, HTML, customize, bulk, trigger, CC, BCC
|
5 |
Â
Requires at least: 4.0
|
6 |
+
Tested up to: 4.9.6
|
7 |
Â
Requires PHP: 5.6
|
8 |
+
Stable tag: 1.6.14
|
9 |
Â
License: GPLv2 or later
|
10 |
Â
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
Â
|
163 |
Â
|
164 |
Â
Yes! Full support for WordPress Multisite was added in 1.6.13, alongside the release of the [Multisite Add-on](https://betternotificationsforwp.com/downloads/multisite/).
|
165 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
166 |
Â
= Notifications aren't coming through! =
|
167 |
Â
|
168 |
Â
First of all, follow [this article](https://betternotificationsforwp.com/how-can-i-receive-the-best-support/) about how to find out what might be causing the problem. Additionally, please take a look at [this help document](https://betternotificationsforwp.com/documentation/getting-started/how-to-improve-email-delivery/) to see how you might improve email delivery when using Better Notifications for WordPress.
|
175 |
Â
|
176 |
Â
It's possible you're inserting a shortcode into a notification that cannot use it. For example: the 'New Category' email notification cannot use any of the author or time shortcodes as WordPress only stores the category name, category slug and category description in the database by default. It's also worth checking the spelling and underscores in any shortcodes as well as if they are wrapped in square brackets `[]`.
|
177 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
178 |
Â
= Other emails from WordPress / other plugins are being messed up! =
|
179 |
Â
|
180 |
Â
WordPress, by default, sends all emails in Plain Text. If you'd like to include code or use the WYSIWYG editor as part of Better Notifications for WordPress in your emails, you can change this to HTML using the global setting in Better Notification for WordPress. This can be found under the 'Notifications > Settings' screen. Changing this global email format setting will affect how all emails are sent out from WordPress however, so you may experience formatting issues with emails sent out from other plugins if you change the email format setting in this way. If you do, change this setting to Plain Text. You can also set the email format on a per-notification basis when setting-up a new Notification. The caveat is that WordPress will only either allow setting the email format globally (for all emails) or individually for anything that's non-transactional.
|
187 |
Â
|
188 |
Â
Yes, of course! The plugin is completely translation-friendly and if you send me your .po file, I'll make sure to include it in the plugin and credit you in the changelog.
|
189 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
190 |
Â
|
191 |
Â
|
192 |
Â
== Screenshots ==
|
199 |
Â
|
200 |
Â
== Changelog ==
|
201 |
Â
|
202 |
+
= 1.6.14 - 25th May 2018 =
|
203 |
+
* New: As part of my plans for implementing GDPR compliancy within BNFW, you can now exclude users and/or roles from your notifications in the new 'Except For' box.
|
204 |
+
* New: You can now include the post/page author in addition to the list of users and user roles in your notifications (not either/or).
|
205 |
+
* New: You can now enable the output of shortcodes again when using the `[post_content]` shortcode in your notifications via a new checkbox in the Settings screen.
|
206 |
+
* New: A list of available actions and filters in BNFW is now available in the [website documentation](https://betternotificationsforwp.com/documentation/actions-and-filters/).
|
207 |
+
* Updated: The user tracking SDK I use (Freemius) has been updated to allow Multisite network admins to opt-in an entire multisite or delegate opt-in to site-level admins.
|
208 |
+
* Fixed: Media inserted via the WYSIWYG editor wasn't showing. This should now be fixed.
|
209 |
+
* Fixed: An issue where the `[post_term taxonomy="X"]` shortcode could only be used once in a notification.
|
210 |
+
* Fixed: All date shortcodes are now translatable.
|
211 |
+
|
212 |
Â
= 1.6.13 - 5th April 2018 =
|
213 |
Â
* Added: Full support for the new [Multisite](https://betternotificationsforwp.com/downloads/multisite/) add-on.
|
214 |
Â
* Fixed: Multisite-only - the user_id was being used instead of the username in the login URL in the Lost Password - For User notification.
|
557 |
Â
= Migrating from 0.2.1 to 1.0 =
|
558 |
Â
|
559 |
Â
Version 1 features an auto-importer which should migrate all of your notifications from any previous versions of the plugin to 1.0.
|
560 |
+
Please ensure that you check, double check and test your notifications before and after upgrading.
|
assets/js/bnfw.js
CHANGED
@@ -13,9 +13,9 @@ jQuery(document).ready(function($) {
|
|
13 |
Â
|
14 |
Â
function toggle_users() {
|
15 |
Â
if ( $( '#only-post-author' ).is( ':checked' ) ) {
|
16 |
-
$( '#
|
17 |
Â
} else {
|
18 |
-
$( '#
|
19 |
Â
}
|
20 |
Â
|
21 |
Â
if ( 'new-comment' === $( '#notification' ).val() ) {
|
@@ -66,7 +66,7 @@ jQuery(document).ready(function($) {
|
|
66 |
Â
'multisite-site-admin-email-change-attempted' === notification || 'multisite-site-admin-email-changed' === notification ||
|
67 |
Â
'multisite-network-admin-email-change-attempted' === notification || 'multisite-network-admin-email-changed' === notification) {
|
68 |
Â
|
69 |
-
$('#toggle-fields, #email, #cc, #bcc, #reply, #users, #current-user, #post-author').hide();
|
70 |
Â
$('#user-password-msg, #disable-autop, #email-formatting').show();
|
71 |
Â
|
72 |
Â
$( '#subject-wrapper' ).show();
|
@@ -78,17 +78,17 @@ jQuery(document).ready(function($) {
|
|
78 |
Â
} else if ( 'new-comment' === notification || 'new-trackback' === notification || 'new-pingback' === notification ||
|
79 |
Â
'admin-password' === notification || 'admin-user' === notification || 'admin-role' === notification ) {
|
80 |
Â
|
81 |
-
$( '#toggle-fields, #users, #email-formatting, #disable-autop, #current-user, #post-author' ).show();
|
82 |
Â
toggle_fields();
|
83 |
Â
toggle_users();
|
84 |
Â
$( '#user-password-msg' ).hide();
|
85 |
Â
} else if ( 'admin-password-changed' === notification || 'core-updated' === notification ) {
|
86 |
-
$( '#toggle-fields, #users, #email-formatting, #disable-autop' ).show();
|
87 |
Â
toggle_fields();
|
88 |
Â
toggle_users();
|
89 |
Â
$( '#user-password-msg, #current-user, #post-author' ).hide();
|
90 |
Â
} else {
|
91 |
-
$('#toggle-fields, #users, #email-formatting, #disable-autop, #current-user, #post-author').show();
|
92 |
Â
toggle_fields();
|
93 |
Â
toggle_users();
|
94 |
Â
$('#user-password-msg').hide();
|
@@ -124,7 +124,7 @@ jQuery(document).ready(function($) {
|
|
124 |
Â
'multisite-site-admin-email-change-attempted' === notification || 'multisite-site-admin-email-changed' === notification ||
|
125 |
Â
'multisite-network-admin-email-change-attempted' === notification || 'multisite-network-admin-email-changed' === notification) {
|
126 |
Â
|
127 |
-
$('#toggle-fields, #email, #cc, #bcc, #reply, #users, #current-user, #post-author').hide();
|
128 |
Â
$('#user-password-msg, #disable-autop, #email-formatting').show();
|
129 |
Â
|
130 |
Â
$( '#subject-wrapper' ).show();
|
@@ -135,17 +135,17 @@ jQuery(document).ready(function($) {
|
|
135 |
Â
}
|
136 |
Â
} else if ( 'admin-password' === notification || 'admin-user' === notification || 'admin-role' === notification ) {
|
137 |
Â
$('#post-author').hide();
|
138 |
-
$('#toggle-fields, #users, #email-formatting, #disable-autop, #current-user').show();
|
139 |
Â
$('#user-password-msg').hide();
|
140 |
Â
toggle_fields();
|
141 |
Â
toggle_users();
|
142 |
Â
} else if ( 'admin-password-changed' === notification || 'core-updated' === notification ) {
|
143 |
-
$( '#toggle-fields, #users, #email-formatting, #disable-autop' ).show();
|
144 |
Â
toggle_fields();
|
145 |
Â
toggle_users();
|
146 |
Â
$( '#user-password-msg, #current-user, #post-author' ).hide();
|
147 |
Â
} else {
|
148 |
-
$('#toggle-fields, #users, #email-formatting, #disable-autop, #current-user, #post-author').show();
|
149 |
Â
$('#user-password-msg').hide();
|
150 |
Â
toggle_fields();
|
151 |
Â
toggle_users();
|
13 |
Â
|
14 |
Â
function toggle_users() {
|
15 |
Â
if ( $( '#only-post-author' ).is( ':checked' ) ) {
|
16 |
+
$( '#current-user' ).hide();
|
17 |
Â
} else {
|
18 |
+
$( '#current-user' ).show();
|
19 |
Â
}
|
20 |
Â
|
21 |
Â
if ( 'new-comment' === $( '#notification' ).val() ) {
|
66 |
Â
'multisite-site-admin-email-change-attempted' === notification || 'multisite-site-admin-email-changed' === notification ||
|
67 |
Â
'multisite-network-admin-email-change-attempted' === notification || 'multisite-network-admin-email-changed' === notification) {
|
68 |
Â
|
69 |
+
$('#toggle-fields, #email, #cc, #bcc, #reply, #users, #exclude-users, #current-user, #post-author').hide();
|
70 |
Â
$('#user-password-msg, #disable-autop, #email-formatting').show();
|
71 |
Â
|
72 |
Â
$( '#subject-wrapper' ).show();
|
78 |
Â
} else if ( 'new-comment' === notification || 'new-trackback' === notification || 'new-pingback' === notification ||
|
79 |
Â
'admin-password' === notification || 'admin-user' === notification || 'admin-role' === notification ) {
|
80 |
Â
|
81 |
+
$( '#toggle-fields, #users, #exclude-users, #email-formatting, #disable-autop, #current-user, #post-author' ).show();
|
82 |
Â
toggle_fields();
|
83 |
Â
toggle_users();
|
84 |
Â
$( '#user-password-msg' ).hide();
|
85 |
Â
} else if ( 'admin-password-changed' === notification || 'core-updated' === notification ) {
|
86 |
+
$( '#toggle-fields, #users, #exclude-users, #email-formatting, #disable-autop' ).show();
|
87 |
Â
toggle_fields();
|
88 |
Â
toggle_users();
|
89 |
Â
$( '#user-password-msg, #current-user, #post-author' ).hide();
|
90 |
Â
} else {
|
91 |
+
$('#toggle-fields, #users, #exclude-users, #email-formatting, #disable-autop, #current-user, #post-author').show();
|
92 |
Â
toggle_fields();
|
93 |
Â
toggle_users();
|
94 |
Â
$('#user-password-msg').hide();
|
124 |
Â
'multisite-site-admin-email-change-attempted' === notification || 'multisite-site-admin-email-changed' === notification ||
|
125 |
Â
'multisite-network-admin-email-change-attempted' === notification || 'multisite-network-admin-email-changed' === notification) {
|
126 |
Â
|
127 |
+
$('#toggle-fields, #email, #cc, #bcc, #reply, #users, #exclude-users, #current-user, #post-author').hide();
|
128 |
Â
$('#user-password-msg, #disable-autop, #email-formatting').show();
|
129 |
Â
|
130 |
Â
$( '#subject-wrapper' ).show();
|
135 |
Â
}
|
136 |
Â
} else if ( 'admin-password' === notification || 'admin-user' === notification || 'admin-role' === notification ) {
|
137 |
Â
$('#post-author').hide();
|
138 |
+
$('#toggle-fields, #users, #exclude-users, #email-formatting, #disable-autop, #current-user').show();
|
139 |
Â
$('#user-password-msg').hide();
|
140 |
Â
toggle_fields();
|
141 |
Â
toggle_users();
|
142 |
Â
} else if ( 'admin-password-changed' === notification || 'core-updated' === notification ) {
|
143 |
+
$( '#toggle-fields, #users, #exclude-users, #email-formatting, #disable-autop' ).show();
|
144 |
Â
toggle_fields();
|
145 |
Â
toggle_users();
|
146 |
Â
$( '#user-password-msg, #current-user, #post-author' ).hide();
|
147 |
Â
} else {
|
148 |
+
$('#toggle-fields, #users, #exclude-users, #email-formatting, #disable-autop, #current-user, #post-author').show();
|
149 |
Â
$('#user-password-msg').hide();
|
150 |
Â
toggle_fields();
|
151 |
Â
toggle_users();
|
bnfw.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Â
* Plugin Name: Better Notifications for WordPress
|
4 |
Â
* Plugin URI: https://wordpress.org/plugins/bnfw/
|
5 |
Â
* Description: Supercharge your WordPress notifications using a WYSIWYG editor and shortcodes. Default and new notifications available. Add more power with Add-ons.
|
6 |
-
* Version: 1.6.
|
7 |
Â
* Author: Made with Fuel
|
8 |
Â
* Author URI: https://betternotificationsforwp.com/
|
9 |
Â
* Author Email: hello@betternotificationsforwp.com
|
3 |
Â
* Plugin Name: Better Notifications for WordPress
|
4 |
Â
* Plugin URI: https://wordpress.org/plugins/bnfw/
|
5 |
Â
* Description: Supercharge your WordPress notifications using a WYSIWYG editor and shortcodes. Default and new notifications available. Add more power with Add-ons.
|
6 |
+
* Version: 1.6.14
|
7 |
Â
* Author: Made with Fuel
|
8 |
Â
* Author URI: https://betternotificationsforwp.com/
|
9 |
Â
* Author Email: hello@betternotificationsforwp.com
|
freemius/.codeclimate.yml
ADDED
@@ -0,0 +1,19 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
engines:
|
2 |
+
phpcodesniffer:
|
3 |
+
enabled: true
|
4 |
+
config:
|
5 |
+
standard: "WordPress"
|
6 |
+
checks:
|
7 |
+
Squiz Commenting InlineComment InvalidEndChar:
|
8 |
+
enabled: false
|
9 |
+
Squiz Commenting InlineComment SpacingBefore:
|
10 |
+
enabled: false
|
11 |
+
Squiz Commenting InlineComment WrongStyle:
|
12 |
+
enabled: false
|
13 |
+
Generic Commenting DocComment MissingShort:
|
14 |
+
enabled: false
|
15 |
+
Generic WhiteSpace ScopeIndent IncorrectExact:
|
16 |
+
enabled: false
|
17 |
+
ratings:
|
18 |
+
paths:
|
19 |
+
- "**.php"
|
freemius/.github/ISSUE_TEMPLATE.md
ADDED
@@ -0,0 +1,29 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
**Actual Behavior**:
|
2 |
+
- `What is the issue? (*)`
|
3 |
+
- `What is the expected behavior?`
|
4 |
+
|
5 |
+
**Versions**: (*)
|
6 |
+
- `Freemius SDK Version:`
|
7 |
+
- `WordPress Version:`
|
8 |
+
- `PHP Version:`
|
9 |
+
|
10 |
+
**Plugin / Theme**: (*)
|
11 |
+
- `Name:`
|
12 |
+
- `Slug:`
|
13 |
+
- `Freemius ID:`
|
14 |
+
|
15 |
+
**Additional Information**:
|
16 |
+
- `Browser Type: (*)`
|
17 |
+
- `Browser Version: (*)`
|
18 |
+
- `OS: (*)`
|
19 |
+
- `Stack Traces:`
|
20 |
+
|
21 |
+
----
|
22 |
+
**Note:** `(*)` indicates required information. Without this information, your issue may be auto-closed.
|
23 |
+
|
24 |
+
> You can find your Freemius SDK version at `/freemius/start.php`
|
25 |
+
|
26 |
+
> You can find your Freemius product ID in the Freemius dashboard: `SETTINGS -> INTEGRATION`.
|
27 |
+
|
28 |
+
> Do not modify the titles or questions. Simply add your responses to the ends of the questions.
|
29 |
+
Add more lines if needed.
|
freemius/.gitignore
ADDED
@@ -0,0 +1,11 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
output/
|
2 |
+
assets/img/*.*
|
3 |
+
!assets/img/plugin-icon.png
|
4 |
+
!assets/img/theme-icon.png
|
5 |
+
!assets/img/index.php
|
6 |
+
.idea
|
7 |
+
node_modules
|
8 |
+
transifex-config.json
|
9 |
+
*.orig
|
10 |
+
npm-debug.log
|
11 |
+
package-lock.json
|
freemius/.travis.yml
ADDED
@@ -0,0 +1,11 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
sudo: false
|
2 |
+
|
3 |
+
language: php
|
4 |
+
|
5 |
+
php:
|
6 |
+
- 5.3
|
7 |
+
- 5.4
|
8 |
+
- 5.5
|
9 |
+
- 5.6
|
10 |
+
- 7.0
|
11 |
+
- hhvm
|
freemius/README.md
CHANGED
File without changes
|
freemius/assets/css/admin/account.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#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 .
|
1 |
+
#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}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/add-ons.css
CHANGED
File without changes
|
freemius/assets/css/admin/affiliation.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@charset "UTF-8";#fs_affiliation_content_wrapper #messages{margin-top:25px}#fs_affiliation_content_wrapper h3{font-size:24px;padding:0;margin-left:0}#fs_affiliation_content_wrapper ul li{box-sizing:border-box;list-style-type:none}#fs_affiliation_content_wrapper ul li:before{content:'✓';margin-right:10px;font-weight:bold}#fs_affiliation_content_wrapper p:not(.description),#fs_affiliation_content_wrapper li,#fs_affiliation_content_wrapper label{font-size:16px !important;line-height:26px !important}#fs_affiliation_content_wrapper .button{margin-top:20px;margin-bottom:7px;line-height:35px;height:40px;font-size:16px}#fs_affiliation_content_wrapper .button#cancel_button{margin-right:5px}#fs_affiliation_content_wrapper form .input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form .input-container .input-label{font-weight:bold;display:block;width:100%}#fs_affiliation_content_wrapper form .input-container.input-container-text label,#fs_affiliation_content_wrapper form .input-container.input-container-text input,#fs_affiliation_content_wrapper form .input-container.input-container-text textarea{display:block}#fs_affiliation_content_wrapper form .input-container #add_domain,#fs_affiliation_content_wrapper form .input-container .remove-domain{text-decoration:none;display:inline-block;margin-top:3px}#fs_affiliation_content_wrapper form .input-container #add_domain:focus,#fs_affiliation_content_wrapper form .input-container .remove-domain:focus{box-shadow:none}#fs_affiliation_content_wrapper form .input-container #add_domain.disabled,#fs_affiliation_content_wrapper form .input-container .remove-domain.disabled{color:#aaa;cursor:default}#fs_affiliation_content_wrapper form #extra_domains_container .description{margin-top:0;position:relative;top:-4px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain{display:inline-block;margin-right:5px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain:last-of-type{margin-bottom:0}
|
1 |
+
@charset "UTF-8";#fs_affiliation_content_wrapper #messages{margin-top:25px}#fs_affiliation_content_wrapper h3{font-size:24px;padding:0;margin-left:0}#fs_affiliation_content_wrapper ul li{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;list-style-type:none}#fs_affiliation_content_wrapper ul li:before{content:'✓';margin-right:10px;font-weight:bold}#fs_affiliation_content_wrapper p:not(.description),#fs_affiliation_content_wrapper li,#fs_affiliation_content_wrapper label{font-size:16px !important;line-height:26px !important}#fs_affiliation_content_wrapper .button{margin-top:20px;margin-bottom:7px;line-height:35px;height:40px;font-size:16px}#fs_affiliation_content_wrapper .button#cancel_button{margin-right:5px}#fs_affiliation_content_wrapper form .input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form .input-container .input-label{font-weight:bold;display:block;width:100%}#fs_affiliation_content_wrapper form .input-container.input-container-text label,#fs_affiliation_content_wrapper form .input-container.input-container-text input,#fs_affiliation_content_wrapper form .input-container.input-container-text textarea{display:block}#fs_affiliation_content_wrapper form .input-container #add_domain,#fs_affiliation_content_wrapper form .input-container .remove-domain{text-decoration:none;display:inline-block;margin-top:3px}#fs_affiliation_content_wrapper form .input-container #add_domain:focus,#fs_affiliation_content_wrapper form .input-container .remove-domain:focus{box-shadow:none}#fs_affiliation_content_wrapper form .input-container #add_domain.disabled,#fs_affiliation_content_wrapper form .input-container .remove-domain.disabled{color:#aaa;cursor:default}#fs_affiliation_content_wrapper form #extra_domains_container .description{margin-top:0;position:relative;top:-4px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain{display:inline-block;margin-right:5px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain:last-of-type{margin-bottom:0}
|
freemius/assets/css/admin/checkout.css
CHANGED
File without changes
|
freemius/assets/css/admin/common.css
CHANGED
File without changes
|
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 .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}.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 #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}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #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}.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}
|
freemius/assets/css/admin/deactivation-feedback.css
CHANGED
File without changes
|
freemius/assets/css/admin/debug.css
CHANGED
File without changes
|
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-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-license-activation .fs-modal-body input.license_key{width:100%}.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}
|
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-license-activation .fs-modal-body input.license_key{width:100%}#license_options_container table,#license_options_container table select,#license_options_container table #available_license_key{width:100%}#license_options_container table td:first-child{width:1%}#license_options_container table #other_license_key_container label{position:relative;top:6px;float:left;margin-right:5px}#license_options_container table #other_license_key_container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}#license_options_container table #other_license_key_container div input{margin:0}#sites_list_container td{cursor:pointer}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #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}
|
freemius/assets/css/admin/index.php
CHANGED
File without changes
|
freemius/assets/css/admin/license-activation.css
CHANGED
File without changes
|
freemius/assets/css/customizer.css
CHANGED
File without changes
|
freemius/assets/css/index.php
CHANGED
File without changes
|
freemius/assets/img/index.php
CHANGED
File without changes
|
freemius/assets/img/plugin-icon.png
CHANGED
File without changes
|
freemius/assets/img/theme-icon.png
CHANGED
File without changes
|
freemius/assets/index.php
CHANGED
File without changes
|
freemius/assets/js/index.php
CHANGED
File without changes
|
freemius/assets/scss/_colors.scss
CHANGED
@@ -63,3 +63,6 @@ $linkedin_color: #4875b4;
|
|
63 |
Â
$youtube_color: #ff3333;
|
64 |
Â
$gplus_color: #c63d2d;
|
65 |
Â
|
Â
|
|
Â
|
|
Â
|
63 |
Â
$youtube_color: #ff3333;
|
64 |
Â
$gplus_color: #c63d2d;
|
65 |
Â
|
66 |
+
// Tooltip
|
67 |
+
$tooltip-color: #fff;
|
68 |
+
$tooltip-bkg-color: rgba(0,0,0,0.8);
|
freemius/assets/scss/_functions.scss
CHANGED
File without changes
|
freemius/assets/scss/_load.scss
CHANGED
File without changes
|
freemius/assets/scss/_mixins.scss
CHANGED
File without changes
|
freemius/assets/scss/_start.scss
CHANGED
File without changes
|
freemius/assets/scss/_vars.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/_ajax-loader.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/_auto-install.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/_deactivation-feedback.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/_license-activation.scss
CHANGED
@@ -4,4 +4,44 @@
|
|
4 |
Â
width: 100%;
|
5 |
Â
}
|
6 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
7 |
Â
}
|
4 |
Â
width: 100%;
|
5 |
Â
}
|
6 |
Â
}
|
7 |
+
}
|
8 |
+
|
9 |
+
#license_options_container {
|
10 |
+
table {
|
11 |
+
&, select, #available_license_key {
|
12 |
+
width: 100%;
|
13 |
+
}
|
14 |
+
|
15 |
+
td:first-child {
|
16 |
+
width: 1%;
|
17 |
+
}
|
18 |
+
|
19 |
+
#other_license_key_container {
|
20 |
+
label {
|
21 |
+
position: relative;
|
22 |
+
top: 6px;
|
23 |
+
float: left;
|
24 |
+
margin-right: 5px;
|
25 |
+
}
|
26 |
+
|
27 |
+
div {
|
28 |
+
overflow: hidden;
|
29 |
+
width: auto;
|
30 |
+
height: 30px;
|
31 |
+
display: block;
|
32 |
+
top: 2px;
|
33 |
+
position: relative;
|
34 |
+
|
35 |
+
input {
|
36 |
+
margin: 0;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
#sites_list_container {
|
44 |
+
td {
|
45 |
+
cursor: pointer;
|
46 |
+
}
|
47 |
Â
}
|
freemius/assets/scss/admin/_license-key-resend.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/_modal-common.scss
CHANGED
@@ -118,6 +118,14 @@
|
|
118 |
Â
color: #fff;
|
119 |
Â
background: #aaa;
|
120 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
121 |
Â
}
|
122 |
Â
}
|
123 |
Â
|
118 |
Â
color: #fff;
|
119 |
Â
background: #aaa;
|
120 |
Â
}
|
121 |
+
|
122 |
+
&, &:hover
|
123 |
+
{
|
124 |
+
.dashicons
|
125 |
+
{
|
126 |
+
text-decoration: none;
|
127 |
+
}
|
128 |
+
}
|
129 |
Â
}
|
130 |
Â
}
|
131 |
Â
|
freemius/assets/scss/admin/_multisite-options.scss
ADDED
@@ -0,0 +1,40 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
#multisite_options_container {
|
2 |
+
margin-top: 10px;
|
3 |
+
border: 1px solid #ccc;
|
4 |
+
padding: 5px;
|
5 |
+
|
6 |
+
a {
|
7 |
+
text-decoration: none;
|
8 |
+
|
9 |
+
&:focus {
|
10 |
+
box-shadow: none;
|
11 |
+
}
|
12 |
+
|
13 |
+
&.selected {
|
14 |
+
font-weight: bold;
|
15 |
+
}
|
16 |
+
}
|
17 |
+
|
18 |
+
&.apply-on-all-sites {
|
19 |
+
border: 0 none;
|
20 |
+
padding: 0;
|
21 |
+
|
22 |
+
#all_sites_options {
|
23 |
+
border-spacing: 0;
|
24 |
+
|
25 |
+
td:not(:first-child) {
|
26 |
+
display: none;
|
27 |
+
}
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
#sites_list_container {
|
32 |
+
display: none;
|
33 |
+
overflow: auto;
|
34 |
+
|
35 |
+
table td {
|
36 |
+
border-top: 1px solid #ccc;
|
37 |
+
padding: 4px 2px;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
freemius/assets/scss/admin/_themes.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/_tooltip.scss
ADDED
@@ -0,0 +1,66 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
.fs-tooltip-trigger
|
2 |
+
{
|
3 |
+
&:not(a)
|
4 |
+
{
|
5 |
+
cursor: help;
|
6 |
+
}
|
7 |
+
|
8 |
+
position: relative;
|
9 |
+
|
10 |
+
.fs-tooltip
|
11 |
+
{
|
12 |
+
opacity: 0;
|
13 |
+
visibility: hidden;
|
14 |
+
@include transition(opacity 0.3s ease-in-out);
|
15 |
+
position: absolute;
|
16 |
+
background: $tooltip-bkg-color;
|
17 |
+
color: $tooltip-color;
|
18 |
+
font-family: 'arial', serif;
|
19 |
+
font-size: 12px;
|
20 |
+
padding: 10px;
|
21 |
+
z-index: 999999;
|
22 |
+
bottom: 100%;
|
23 |
+
margin-bottom: 5px;
|
24 |
+
left: 0;
|
25 |
+
right: 0;
|
26 |
+
@include border-radius(5px);
|
27 |
+
@include box-shadow(1px 1px 1px rgba(0, 0, 0, 0.2));
|
28 |
+
line-height: 1.3em;
|
29 |
+
font-weight: bold;
|
30 |
+
text-align: left;
|
31 |
+
|
32 |
+
.rtl &
|
33 |
+
{
|
34 |
+
text-align: right;
|
35 |
+
}
|
36 |
+
|
37 |
+
&::after
|
38 |
+
{
|
39 |
+
content: ' ';
|
40 |
+
display: block;
|
41 |
+
width: 0;
|
42 |
+
height: 0;
|
43 |
+
border-style: solid;
|
44 |
+
border-width: 5px 5px 0 5px;
|
45 |
+
border-color: $tooltip-bkg-color transparent transparent transparent;
|
46 |
+
position: absolute;
|
47 |
+
top: 100%;
|
48 |
+
left: 21px;
|
49 |
+
|
50 |
+
.rtl &
|
51 |
+
{
|
52 |
+
right: 21px;
|
53 |
+
left: auto;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
&:hover
|
59 |
+
{
|
60 |
+
.fs-tooltip
|
61 |
+
{
|
62 |
+
visibility: visible;
|
63 |
+
opacity: 1;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
}
|
freemius/assets/scss/admin/account.scss
CHANGED
@@ -30,12 +30,9 @@
|
|
30 |
Â
width: 1.2em;
|
31 |
Â
}
|
32 |
Â
|
33 |
-
.
|
34 |
Â
{
|
35 |
-
|
36 |
-
{
|
37 |
-
vertical-align: middle;
|
38 |
-
}
|
39 |
Â
}
|
40 |
Â
|
41 |
Â
.fs-header-actions
|
@@ -160,6 +157,55 @@ label.fs-tag
|
|
160 |
Â
}
|
161 |
Â
}
|
162 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
163 |
Â
#fs_addons
|
164 |
Â
{
|
165 |
Â
h3
|
30 |
Â
width: 1.2em;
|
31 |
Â
}
|
32 |
Â
|
33 |
+
.dashicons
|
34 |
Â
{
|
35 |
+
vertical-align: middle;
|
Â
|
|
Â
|
|
Â
|
|
36 |
Â
}
|
37 |
Â
|
38 |
Â
.fs-header-actions
|
157 |
Â
}
|
158 |
Â
}
|
159 |
Â
|
160 |
+
#fs_sites
|
161 |
+
{
|
162 |
+
.fs-scrollable-table
|
163 |
+
{
|
164 |
+
.fs-table-body {
|
165 |
+
max-height: 200px;
|
166 |
+
overflow: auto;
|
167 |
+
border: 1px solid #e5e5e5;
|
168 |
+
|
169 |
+
& > table.widefat {
|
170 |
+
border: none !important;
|
171 |
+
}
|
172 |
+
}
|
173 |
+
|
174 |
+
.fs-main-column {
|
175 |
+
width: 100%;
|
176 |
+
}
|
177 |
+
|
178 |
+
.fs-site-details
|
179 |
+
{
|
180 |
+
td:first-of-type
|
181 |
+
{
|
182 |
+
text-align: right;
|
183 |
+
color: grey;
|
184 |
+
width: 1px;
|
185 |
+
}
|
186 |
+
|
187 |
+
td:last-of-type
|
188 |
+
{
|
189 |
+
text-align: right;
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
.fs-install-details table
|
194 |
+
{
|
195 |
+
tr td
|
196 |
+
{
|
197 |
+
width: 1px;
|
198 |
+
white-space: nowrap;
|
199 |
+
|
200 |
+
&:last-of-type
|
201 |
+
{
|
202 |
+
width: auto;
|
203 |
+
}
|
204 |
+
}
|
205 |
+
}
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
Â
#fs_addons
|
210 |
Â
{
|
211 |
Â
h3
|
freemius/assets/scss/admin/affiliation.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/checkout.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/connect.scss
CHANGED
@@ -53,6 +53,30 @@ $form_width: 480px;
|
|
53 |
Â
}
|
54 |
Â
}
|
55 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
56 |
Â
.fs-actions
|
57 |
Â
{
|
58 |
Â
padding: 10px 20px;
|
@@ -326,6 +350,9 @@ $form_width: 480px;
|
|
326 |
Â
}
|
327 |
Â
}
|
328 |
Â
|
Â
|
|
Â
|
|
Â
|
|
329 |
Â
.rtl
|
330 |
Â
{
|
331 |
Â
#fs_connect
|
53 |
Â
}
|
54 |
Â
}
|
55 |
Â
|
56 |
+
&.require-license-key {
|
57 |
+
#sites_list_container {
|
58 |
+
td {
|
59 |
+
cursor: pointer;
|
60 |
+
}
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
#delegate_to_site_admins {
|
65 |
+
margin-right: 15px;
|
66 |
+
float: right;
|
67 |
+
height: 26px;
|
68 |
+
vertical-align: middle;
|
69 |
+
line-height: 37px;
|
70 |
+
font-weight: bold;
|
71 |
+
border-bottom: 1px dashed;
|
72 |
+
text-decoration: none;
|
73 |
+
|
74 |
+
&.rtl {
|
75 |
+
margin-left: 15px;
|
76 |
+
margin-right: 0;
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
Â
.fs-actions
|
81 |
Â
{
|
82 |
Â
padding: 10px 20px;
|
350 |
Â
}
|
351 |
Â
}
|
352 |
Â
|
353 |
+
@import "multisite-options";
|
354 |
+
@import "tooltip";
|
355 |
+
|
356 |
Â
.rtl
|
357 |
Â
{
|
358 |
Â
#fs_connect
|
freemius/assets/scss/admin/debug.scss
CHANGED
File without changes
|
freemius/assets/scss/admin/dialog-boxes.scss
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
Â
@import "modal-common";
|
3 |
Â
@import "deactivation-feedback";
|
4 |
Â
@import "license-activation";
|
Â
|
|
5 |
Â
@import "license-key-resend";
|
6 |
Â
@import "ajax-loader";
|
7 |
Â
@import "auto-install";
|
2 |
Â
@import "modal-common";
|
3 |
Â
@import "deactivation-feedback";
|
4 |
Â
@import "license-activation";
|
5 |
+
@import "multisite-options";
|
6 |
Â
@import "license-key-resend";
|
7 |
Â
@import "ajax-loader";
|
8 |
Â
@import "auto-install";
|
freemius/assets/scss/admin/index.php
CHANGED
File without changes
|
freemius/assets/scss/customizer.scss
CHANGED
File without changes
|
freemius/assets/scss/index.php
CHANGED
File without changes
|
freemius/composer.json
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Â
"description": "Freemius WordPress SDK",
|
4 |
Â
"keywords": ["freemius", "wordpress", "plugin", "sdk"],
|
5 |
Â
"homepage": "https://freemius.com",
|
6 |
-
"license": "GPL-3.0",
|
7 |
Â
"require": {
|
8 |
Â
"php": ">=5.2"
|
9 |
Â
}
|
3 |
Â
"description": "Freemius WordPress SDK",
|
4 |
Â
"keywords": ["freemius", "wordpress", "plugin", "sdk"],
|
5 |
Â
"homepage": "https://freemius.com",
|
6 |
+
"license": "GPL-3.0-only",
|
7 |
Â
"require": {
|
8 |
Â
"php": ">=5.2"
|
9 |
Â
}
|
freemius/config.php
CHANGED
@@ -1,331 +1,378 @@
|
|
1 |
Â
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
Â
|
75 |
Â
// define( 'WP_FS__LOCALHOST_IP', WP_FS__VVV_DEFAULT_PUBLIC_IP );
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
143 |
Â
|
144 |
Â
#--------------------------------------------------------------------------------
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
#region Checkout
|
227 |
-
#--------------------------------------------------------------------------------
|
228 |
-
|
229 |
-
if ( ! defined( 'FS_CHECKOUT__ADDRESS_PRODUCTION' ) ) {
|
230 |
-
define( 'FS_CHECKOUT__ADDRESS_PRODUCTION', 'https://checkout.freemius.com' );
|
231 |
-
}
|
232 |
-
|
233 |
-
if ( ! defined( 'FS_CHECKOUT__ADDRESS_LOCALHOST' ) ) {
|
234 |
-
define( 'FS_CHECKOUT__ADDRESS_LOCALHOST', 'http://checkout.freemius-local.com:8080' );
|
235 |
-
}
|
236 |
-
|
237 |
-
if ( ! defined( 'FS_CHECKOUT__ADDRESS' ) ) {
|
238 |
-
define( 'FS_CHECKOUT__ADDRESS', ( WP_FS__IS_PRODUCTION_MODE ? FS_CHECKOUT__ADDRESS_PRODUCTION : FS_CHECKOUT__ADDRESS_LOCALHOST ) );
|
239 |
-
}
|
240 |
-
|
241 |
-
#endregion
|
242 |
-
|
243 |
-
define( 'WP_FS___OPTION_PREFIX', 'fs' . ( WP_FS__IS_PRODUCTION_MODE ? '' : '_dbg' ) . '_' );
|
244 |
-
|
245 |
-
if ( ! defined( 'WP_FS__ACCOUNTS_OPTION_NAME' ) ) {
|
246 |
-
define( 'WP_FS__ACCOUNTS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'accounts' );
|
247 |
-
}
|
248 |
-
if ( ! defined( 'WP_FS__API_CACHE_OPTION_NAME' ) ) {
|
249 |
-
define( 'WP_FS__API_CACHE_OPTION_NAME', WP_FS___OPTION_PREFIX . 'api_cache' );
|
250 |
-
}
|
251 |
-
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
252 |
-
|
253 |
-
/**
|
254 |
-
* Module types
|
255 |
-
*
|
256 |
-
* @since 1.2.2
|
257 |
-
*/
|
258 |
-
define( 'WP_FS__MODULE_TYPE_PLUGIN', 'plugin' );
|
259 |
-
define( 'WP_FS__MODULE_TYPE_THEME', 'theme' );
|
260 |
-
|
261 |
-
/**
|
262 |
-
* Billing Frequencies
|
263 |
-
*/
|
264 |
-
define( 'WP_FS__PERIOD_ANNUALLY', 'annual' );
|
265 |
-
define( 'WP_FS__PERIOD_MONTHLY', 'monthly' );
|
266 |
-
define( 'WP_FS__PERIOD_LIFETIME', 'lifetime' );
|
267 |
-
|
268 |
-
/**
|
269 |
-
* Plans
|
270 |
-
*/
|
271 |
-
define( 'WP_FS__PLAN_DEFAULT_PAID', false );
|
272 |
-
define( 'WP_FS__PLAN_FREE', 'free' );
|
273 |
-
define( 'WP_FS__PLAN_TRIAL', 'trial' );
|
274 |
-
|
275 |
-
/**
|
276 |
-
* Times in seconds
|
277 |
-
*/
|
278 |
-
if ( ! defined( 'WP_FS__TIME_5_MIN_IN_SEC' ) ) {
|
279 |
-
define( 'WP_FS__TIME_5_MIN_IN_SEC', 300 );
|
280 |
-
}
|
281 |
-
if ( ! defined( 'WP_FS__TIME_10_MIN_IN_SEC' ) ) {
|
282 |
-
define( 'WP_FS__TIME_10_MIN_IN_SEC', 600 );
|
283 |
-
}
|
284 |
Â
// define( 'WP_FS__TIME_15_MIN_IN_SEC', 900 );
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
Â
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
+
* @since 1.0.4
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
if ( ! defined( 'WP_FS__SLUG' ) ) {
|
14 |
+
define( 'WP_FS__SLUG', 'freemius' );
|
15 |
+
}
|
16 |
+
if ( ! defined( 'WP_FS__DEV_MODE' ) ) {
|
17 |
+
define( 'WP_FS__DEV_MODE', false );
|
18 |
+
}
|
19 |
+
|
20 |
+
#--------------------------------------------------------------------------------
|
21 |
+
#region API Connectivity Issues Simulation
|
22 |
+
#--------------------------------------------------------------------------------
|
23 |
+
|
24 |
+
if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY' ) ) {
|
25 |
+
define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY', false );
|
26 |
+
}
|
27 |
+
if ( ! defined( 'WP_FS__SIMULATE_NO_CURL' ) ) {
|
28 |
+
define( 'WP_FS__SIMULATE_NO_CURL', false );
|
29 |
+
}
|
30 |
+
if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE' ) ) {
|
31 |
+
define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', false );
|
32 |
+
}
|
33 |
+
if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL' ) ) {
|
34 |
+
define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
|
35 |
+
}
|
36 |
+
if ( WP_FS__SIMULATE_NO_CURL ) {
|
37 |
+
define( 'FS_SDK__SIMULATE_NO_CURL', true );
|
38 |
+
}
|
39 |
+
if ( WP_FS__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE ) {
|
40 |
+
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', true );
|
41 |
+
}
|
42 |
+
if ( WP_FS__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL ) {
|
43 |
+
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', true );
|
44 |
+
}
|
45 |
+
|
46 |
+
#endregion
|
47 |
+
|
48 |
+
if ( ! defined( 'WP_FS__SIMULATE_FREEMIUS_OFF' ) ) {
|
49 |
+
define( 'WP_FS__SIMULATE_FREEMIUS_OFF', false );
|
50 |
+
}
|
51 |
+
|
52 |
+
if ( ! defined( 'WP_FS__PING_API_ON_IP_OR_HOST_CHANGES' ) ) {
|
53 |
+
/**
|
54 |
+
* @since 1.1.7.3
|
55 |
+
* @author Vova Feldman (@svovaf)
|
56 |
+
*
|
57 |
+
* I'm not sure if shared servers periodically change IP, or the subdomain of the
|
58 |
+
* admin dashboard. Also, I've seen sites that have strange loop of switching
|
59 |
+
* between domains on a daily basis. Therefore, to eliminate the risk of
|
60 |
+
* multiple unwanted connectivity test pings, temporary ignore domain or
|
61 |
+
* server IP changes.
|
62 |
+
*/
|
63 |
+
define( 'WP_FS__PING_API_ON_IP_OR_HOST_CHANGES', false );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* If your dev environment supports custom public network IP setup
|
68 |
+
* like VVV, please update WP_FS__LOCALHOST_IP with your public IP
|
69 |
+
* and uncomment it during dev.
|
70 |
+
*/
|
71 |
+
if ( ! defined( 'WP_FS__LOCALHOST_IP' ) ) {
|
72 |
+
// VVV default public network IP.
|
73 |
+
define( 'WP_FS__VVV_DEFAULT_PUBLIC_IP', '192.168.50.4' );
|
74 |
Â
|
75 |
Â
// define( 'WP_FS__LOCALHOST_IP', WP_FS__VVV_DEFAULT_PUBLIC_IP );
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* If true and running with secret key, the opt-in process
|
80 |
+
* will skip the email activation process which is invoked
|
81 |
+
* when the email of the context user already exist in Freemius
|
82 |
+
* database (as a security precaution, to prevent sharing user
|
83 |
+
* secret with unauthorized entity).
|
84 |
+
*
|
85 |
+
* IMPORTANT:
|
86 |
+
* AS A SECURITY PRECAUTION, WE VALIDATE THE TIMESTAMP OF THE OPT-IN REQUEST.
|
87 |
+
* THEREFORE, MAKE SURE THAT WHEN USING THIS PARAMETER,YOUR TESTING ENVIRONMENT'S
|
88 |
+
* CLOCK IS SYNCED.
|
89 |
+
*/
|
90 |
+
if ( ! defined( 'WP_FS__SKIP_EMAIL_ACTIVATION' ) ) {
|
91 |
+
define( 'WP_FS__SKIP_EMAIL_ACTIVATION', false );
|
92 |
+
}
|
93 |
+
|
94 |
+
|
95 |
+
#--------------------------------------------------------------------------------
|
96 |
+
#region Directories
|
97 |
+
#--------------------------------------------------------------------------------
|
98 |
+
|
99 |
+
if ( ! defined( 'WP_FS__DIR' ) ) {
|
100 |
+
define( 'WP_FS__DIR', dirname( __FILE__ ) );
|
101 |
+
}
|
102 |
+
if ( ! defined( 'WP_FS__DIR_INCLUDES' ) ) {
|
103 |
+
define( 'WP_FS__DIR_INCLUDES', WP_FS__DIR . '/includes' );
|
104 |
+
}
|
105 |
+
if ( ! defined( 'WP_FS__DIR_TEMPLATES' ) ) {
|
106 |
+
define( 'WP_FS__DIR_TEMPLATES', WP_FS__DIR . '/templates' );
|
107 |
+
}
|
108 |
+
if ( ! defined( 'WP_FS__DIR_ASSETS' ) ) {
|
109 |
+
define( 'WP_FS__DIR_ASSETS', WP_FS__DIR . '/assets' );
|
110 |
+
}
|
111 |
+
if ( ! defined( 'WP_FS__DIR_CSS' ) ) {
|
112 |
+
define( 'WP_FS__DIR_CSS', WP_FS__DIR_ASSETS . '/css' );
|
113 |
+
}
|
114 |
+
if ( ! defined( 'WP_FS__DIR_JS' ) ) {
|
115 |
+
define( 'WP_FS__DIR_JS', WP_FS__DIR_ASSETS . '/js' );
|
116 |
+
}
|
117 |
+
if ( ! defined( 'WP_FS__DIR_IMG' ) ) {
|
118 |
+
define( 'WP_FS__DIR_IMG', WP_FS__DIR_ASSETS . '/img' );
|
119 |
+
}
|
120 |
+
if ( ! defined( 'WP_FS__DIR_SDK' ) ) {
|
121 |
+
define( 'WP_FS__DIR_SDK', WP_FS__DIR_INCLUDES . '/sdk' );
|
122 |
+
}
|
123 |
+
|
124 |
+
#endregion
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Domain / URL / Address
|
128 |
+
*/
|
129 |
+
define( 'WP_FS__ROOT_DOMAIN_PRODUCTION', 'freemius.com' );
|
130 |
+
define( 'WP_FS__DOMAIN_PRODUCTION', 'wp.freemius.com' );
|
131 |
+
define( 'WP_FS__ADDRESS_PRODUCTION', 'https://' . WP_FS__DOMAIN_PRODUCTION );
|
132 |
+
|
133 |
+
if ( ! defined( 'WP_FS__DOMAIN_LOCALHOST' ) ) {
|
134 |
+
define( 'WP_FS__DOMAIN_LOCALHOST', 'wp.freemius' );
|
135 |
+
}
|
136 |
+
if ( ! defined( 'WP_FS__ADDRESS_LOCALHOST' ) ) {
|
137 |
+
define( 'WP_FS__ADDRESS_LOCALHOST', 'http://' . WP_FS__DOMAIN_LOCALHOST . ':8080' );
|
138 |
+
}
|
139 |
+
|
140 |
+
if ( ! defined( 'WP_FS__TESTING_DOMAIN' ) ) {
|
141 |
+
define( 'WP_FS__TESTING_DOMAIN', 'fswp' );
|
142 |
+
}
|
143 |
+
|
144 |
+
#--------------------------------------------------------------------------------
|
145 |
+
#region HTTP
|
146 |
+
#--------------------------------------------------------------------------------
|
147 |
+
|
148 |
+
if ( ! defined( 'WP_FS__IS_HTTP_REQUEST' ) ) {
|
149 |
+
define( 'WP_FS__IS_HTTP_REQUEST', isset( $_SERVER['HTTP_HOST'] ) );
|
150 |
+
}
|
151 |
+
|
152 |
+
if ( ! defined( 'WP_FS__IS_HTTPS' ) ) {
|
153 |
+
define( 'WP_FS__IS_HTTPS', ( WP_FS__IS_HTTP_REQUEST &&
|
154 |
+
// Checks if CloudFlare's HTTPS (Flexible SSL support).
|
155 |
+
isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) &&
|
156 |
+
'https' === strtolower( $_SERVER['HTTP_X_FORWARDED_PROTO'] )
|
157 |
+
) ||
|
158 |
+
// Check if HTTPS request.
|
159 |
+
( isset( $_SERVER['HTTPS'] ) && 'on' == $_SERVER['HTTPS'] ) ||
|
160 |
+
( isset( $_SERVER['SERVER_PORT'] ) && 443 == $_SERVER['SERVER_PORT'] )
|
161 |
+
);
|
162 |
+
}
|
163 |
+
|
164 |
+
if ( ! defined( 'WP_FS__IS_POST_REQUEST' ) ) {
|
165 |
+
define( 'WP_FS__IS_POST_REQUEST', ( WP_FS__IS_HTTP_REQUEST &&
|
166 |
+
strtoupper( $_SERVER['REQUEST_METHOD'] ) == 'POST' ) );
|
167 |
+
}
|
168 |
+
|
169 |
+
if ( ! defined( 'WP_FS__REMOTE_ADDR' ) ) {
|
170 |
+
define( 'WP_FS__REMOTE_ADDR', fs_get_ip() );
|
171 |
+
}
|
172 |
+
|
173 |
+
if ( ! defined( 'WP_FS__IS_LOCALHOST' ) ) {
|
174 |
+
if ( defined( 'WP_FS__LOCALHOST_IP' ) ) {
|
175 |
+
define( 'WP_FS__IS_LOCALHOST', ( WP_FS__LOCALHOST_IP === WP_FS__REMOTE_ADDR ) );
|
176 |
+
} else {
|
177 |
+
define( 'WP_FS__IS_LOCALHOST', WP_FS__IS_HTTP_REQUEST &&
|
178 |
+
is_string( WP_FS__REMOTE_ADDR ) &&
|
179 |
+
( substr( WP_FS__REMOTE_ADDR, 0, 4 ) === '127.' ||
|
180 |
+
WP_FS__REMOTE_ADDR === '::1' )
|
181 |
+
);
|
182 |
+
}
|
183 |
+
}
|
184 |
+
|
185 |
+
if ( ! defined( 'WP_FS__IS_LOCALHOST_FOR_SERVER' ) ) {
|
186 |
+
define( 'WP_FS__IS_LOCALHOST_FOR_SERVER', ( ! WP_FS__IS_HTTP_REQUEST ||
|
187 |
+
false !== strpos( $_SERVER['HTTP_HOST'], 'localhost' ) ) );
|
188 |
+
}
|
189 |
+
|
190 |
+
#endregion
|
191 |
+
|
192 |
+
if ( ! defined( 'WP_FS__IS_PRODUCTION_MODE' ) ) {
|
193 |
+
// By default, run with Freemius production servers.
|
194 |
+
define( 'WP_FS__IS_PRODUCTION_MODE', true );
|
195 |
+
}
|
196 |
+
|
197 |
+
if ( ! defined( 'WP_FS__ADDRESS' ) ) {
|
198 |
+
define( 'WP_FS__ADDRESS', ( WP_FS__IS_PRODUCTION_MODE ? WP_FS__ADDRESS_PRODUCTION : WP_FS__ADDRESS_LOCALHOST ) );
|
199 |
+
}
|
200 |
+
|
201 |
Â
|
202 |
Â
#--------------------------------------------------------------------------------
|
203 |
+
#region API
|
204 |
+
#--------------------------------------------------------------------------------
|
205 |
+
|
206 |
+
if ( ! defined( 'WP_FS__API_ADDRESS_LOCALHOST' ) ) {
|
207 |
+
define( 'WP_FS__API_ADDRESS_LOCALHOST', 'http://api.freemius:8080' );
|
208 |
+
}
|
209 |
+
if ( ! defined( 'WP_FS__API_SANDBOX_ADDRESS_LOCALHOST' ) ) {
|
210 |
+
define( 'WP_FS__API_SANDBOX_ADDRESS_LOCALHOST', 'http://sandbox-api.freemius:8080' );
|
211 |
+
}
|
212 |
+
|
213 |
+
// Set API address for local testing.
|
214 |
+
if ( ! WP_FS__IS_PRODUCTION_MODE ) {
|
215 |
+
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
216 |
+
define( 'FS_API__ADDRESS', WP_FS__API_ADDRESS_LOCALHOST );
|
217 |
+
}
|
218 |
+
if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
|
219 |
+
define( 'FS_API__SANDBOX_ADDRESS', WP_FS__API_SANDBOX_ADDRESS_LOCALHOST );
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
+
#endregion
|
224 |
+
|
225 |
+
#--------------------------------------------------------------------------------
|
226 |
+
#region Checkout
|
227 |
+
#--------------------------------------------------------------------------------
|
228 |
+
|
229 |
+
if ( ! defined( 'FS_CHECKOUT__ADDRESS_PRODUCTION' ) ) {
|
230 |
+
define( 'FS_CHECKOUT__ADDRESS_PRODUCTION', 'https://checkout.freemius.com' );
|
231 |
+
}
|
232 |
+
|
233 |
+
if ( ! defined( 'FS_CHECKOUT__ADDRESS_LOCALHOST' ) ) {
|
234 |
+
define( 'FS_CHECKOUT__ADDRESS_LOCALHOST', 'http://checkout.freemius-local.com:8080' );
|
235 |
+
}
|
236 |
+
|
237 |
+
if ( ! defined( 'FS_CHECKOUT__ADDRESS' ) ) {
|
238 |
+
define( 'FS_CHECKOUT__ADDRESS', ( WP_FS__IS_PRODUCTION_MODE ? FS_CHECKOUT__ADDRESS_PRODUCTION : FS_CHECKOUT__ADDRESS_LOCALHOST ) );
|
239 |
+
}
|
240 |
+
|
241 |
+
#endregion
|
242 |
+
|
243 |
+
define( 'WP_FS___OPTION_PREFIX', 'fs' . ( WP_FS__IS_PRODUCTION_MODE ? '' : '_dbg' ) . '_' );
|
244 |
+
|
245 |
+
if ( ! defined( 'WP_FS__ACCOUNTS_OPTION_NAME' ) ) {
|
246 |
+
define( 'WP_FS__ACCOUNTS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'accounts' );
|
247 |
+
}
|
248 |
+
if ( ! defined( 'WP_FS__API_CACHE_OPTION_NAME' ) ) {
|
249 |
+
define( 'WP_FS__API_CACHE_OPTION_NAME', WP_FS___OPTION_PREFIX . 'api_cache' );
|
250 |
+
}
|
251 |
+
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Module types
|
255 |
+
*
|
256 |
+
* @since 1.2.2
|
257 |
+
*/
|
258 |
+
define( 'WP_FS__MODULE_TYPE_PLUGIN', 'plugin' );
|
259 |
+
define( 'WP_FS__MODULE_TYPE_THEME', 'theme' );
|
260 |
+
|
261 |
+
/**
|
262 |
+
* Billing Frequencies
|
263 |
+
*/
|
264 |
+
define( 'WP_FS__PERIOD_ANNUALLY', 'annual' );
|
265 |
+
define( 'WP_FS__PERIOD_MONTHLY', 'monthly' );
|
266 |
+
define( 'WP_FS__PERIOD_LIFETIME', 'lifetime' );
|
267 |
+
|
268 |
+
/**
|
269 |
+
* Plans
|
270 |
+
*/
|
271 |
+
define( 'WP_FS__PLAN_DEFAULT_PAID', false );
|
272 |
+
define( 'WP_FS__PLAN_FREE', 'free' );
|
273 |
+
define( 'WP_FS__PLAN_TRIAL', 'trial' );
|
274 |
+
|
275 |
+
/**
|
276 |
+
* Times in seconds
|
277 |
+
*/
|
278 |
+
if ( ! defined( 'WP_FS__TIME_5_MIN_IN_SEC' ) ) {
|
279 |
+
define( 'WP_FS__TIME_5_MIN_IN_SEC', 300 );
|
280 |
+
}
|
281 |
+
if ( ! defined( 'WP_FS__TIME_10_MIN_IN_SEC' ) ) {
|
282 |
+
define( 'WP_FS__TIME_10_MIN_IN_SEC', 600 );
|
283 |
+
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
284 |
Â
// define( 'WP_FS__TIME_15_MIN_IN_SEC', 900 );
|
285 |
+
if ( ! defined( 'WP_FS__TIME_24_HOURS_IN_SEC' ) ) {
|
286 |
+
define( 'WP_FS__TIME_24_HOURS_IN_SEC', 86400 );
|
287 |
+
}
|
288 |
+
if ( ! defined( 'WP_FS__TIME_WEEK_IN_SEC' ) ) {
|
289 |
+
define( 'WP_FS__TIME_WEEK_IN_SEC', 7 * WP_FS__TIME_24_HOURS_IN_SEC );
|
290 |
+
}
|
291 |
+
|
292 |
+
#--------------------------------------------------------------------------------
|
293 |
+
#region Debugging
|
294 |
+
#--------------------------------------------------------------------------------
|
295 |
+
|
296 |
+
if ( ! defined( 'WP_FS__DEBUG_SDK' ) ) {
|
297 |
+
$debug_mode = get_option( 'fs_debug_mode', null );
|
298 |
+
|
299 |
+
if ( $debug_mode === null ) {
|
300 |
+
$debug_mode = false;
|
301 |
+
add_option( 'fs_debug_mode', $debug_mode );
|
302 |
+
}
|
303 |
+
|
304 |
+
define( 'WP_FS__DEBUG_SDK', is_numeric( $debug_mode ) ? ( 0 < $debug_mode ) : WP_FS__DEV_MODE );
|
305 |
+
}
|
306 |
+
|
307 |
+
if ( ! defined( 'WP_FS__ECHO_DEBUG_SDK' ) ) {
|
308 |
+
define( 'WP_FS__ECHO_DEBUG_SDK', WP_FS__DEV_MODE && ! empty( $_GET['fs_dbg_echo'] ) );
|
309 |
+
}
|
310 |
+
if ( ! defined( 'WP_FS__LOG_DATETIME_FORMAT' ) ) {
|
311 |
+
define( 'WP_FS__LOG_DATETIME_FORMAT', 'Y-m-d H:i:s' );
|
312 |
+
}
|
313 |
+
if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
|
314 |
+
define( 'FS_API__LOGGER_ON', WP_FS__DEBUG_SDK );
|
315 |
+
}
|
316 |
+
|
317 |
+
if ( WP_FS__ECHO_DEBUG_SDK ) {
|
318 |
+
error_reporting( E_ALL );
|
319 |
+
}
|
320 |
+
|
321 |
+
#endregion
|
322 |
+
|
323 |
+
if ( ! defined( 'WP_FS__SCRIPT_START_TIME' ) ) {
|
324 |
+
define( 'WP_FS__SCRIPT_START_TIME', time() );
|
325 |
+
}
|
326 |
+
if ( ! defined( 'WP_FS__DEFAULT_PRIORITY' ) ) {
|
327 |
+
define( 'WP_FS__DEFAULT_PRIORITY', 10 );
|
328 |
+
}
|
329 |
+
if ( ! defined( 'WP_FS__LOWEST_PRIORITY' ) ) {
|
330 |
+
define( 'WP_FS__LOWEST_PRIORITY', 999999999 );
|
331 |
+
}
|
332 |
+
|
333 |
+
#--------------------------------------------------------------------------------
|
334 |
+
#region Multisite Network
|
335 |
+
#--------------------------------------------------------------------------------
|
336 |
+
|
337 |
+
/**
|
338 |
+
* Do not use this define directly, it will have the wrong value
|
339 |
+
* during plugin uninstall/deletion when the inclusion of the plugin
|
340 |
+
* is triggered due to registration with register_uninstall_hook().
|
341 |
+
*
|
342 |
+
* Instead, use fs_is_network_admin().
|
343 |
+
*
|
344 |
+
* @author Vova Feldman (@svovaf)
|
345 |
+
*/
|
346 |
+
if ( ! defined( 'WP_FS__IS_NETWORK_ADMIN' ) ) {
|
347 |
+
define( 'WP_FS__IS_NETWORK_ADMIN',
|
348 |
+
is_network_admin() ||
|
349 |
+
( is_multisite() &&
|
350 |
+
( ( defined( 'DOING_AJAX' ) && DOING_AJAX &&
|
351 |
+
( isset( $_REQUEST['_fs_network_admin'] ) /*||
|
352 |
+
( ! empty( $_REQUEST['action'] ) && 'delete-plugin' === $_REQUEST['action'] )*/ )
|
353 |
+
) ||
|
354 |
+
// Plugin uninstall.
|
355 |
+
defined( 'WP_UNINSTALL_PLUGIN' ) )
|
356 |
+
)
|
357 |
+
);
|
358 |
+
}
|
359 |
+
|
360 |
+
/**
|
361 |
+
* Do not use this define directly, it will have the wrong value
|
362 |
+
* during plugin uninstall/deletion when the inclusion of the plugin
|
363 |
+
* is triggered due to registration with register_uninstall_hook().
|
364 |
+
*
|
365 |
+
* Instead, use fs_is_blog_admin().
|
366 |
+
*
|
367 |
+
* @author Vova Feldman (@svovaf)
|
368 |
+
*/
|
369 |
+
if ( ! defined( 'WP_FS__IS_BLOG_ADMIN' ) ) {
|
370 |
+
define( 'WP_FS__IS_BLOG_ADMIN', is_blog_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['_fs_blog_admin'] ) ) );
|
371 |
+
}
|
372 |
+
|
373 |
+
if ( ! defined( 'WP_FS__SHOW_NETWORK_EVEN_WHEN_DELEGATED' ) ) {
|
374 |
+
// Set to true to show network level settings even if delegated to site admins.
|
375 |
+
define( 'WP_FS__SHOW_NETWORK_EVEN_WHEN_DELEGATED', false );
|
376 |
+
}
|
377 |
+
|
378 |
+
#endregion
|
freemius/includes/class-freemius.php
CHANGED
@@ -1,14323 +1,19942 @@
|
|
1 |
Â
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
/**
|
15 |
-
* SDK Version
|
16 |
-
*
|
17 |
-
* @var string
|
18 |
-
*/
|
19 |
-
public $version = WP_FS__SDK_VERSION;
|
20 |
-
|
21 |
-
#region Plugin Info
|
22 |
-
|
23 |
-
/**
|
24 |
-
* @since 1.0.1
|
25 |
-
*
|
26 |
-
* @var string
|
27 |
-
*/
|
28 |
-
private $_slug;
|
29 |
-
|
30 |
-
/**
|
31 |
-
* @since 1.0.0
|
32 |
-
*
|
33 |
-
* @var string
|
34 |
-
*/
|
35 |
-
private $_plugin_basename;
|
36 |
-
/**
|
37 |
-
* @since 1.0.0
|
38 |
-
*
|
39 |
-
* @var string
|
40 |
-
*/
|
41 |
-
private $_free_plugin_basename;
|
42 |
-
/**
|
43 |
-
* @since 1.0.0
|
44 |
-
*
|
45 |
-
* @var string
|
46 |
-
*/
|
47 |
-
private $_plugin_dir_path;
|
48 |
-
/**
|
49 |
-
* @since 1.0.0
|
50 |
-
*
|
51 |
-
* @var string
|
52 |
-
*/
|
53 |
-
private $_plugin_dir_name;
|
54 |
-
/**
|
55 |
-
* @since 1.0.0
|
56 |
-
*
|
57 |
-
* @var string
|
58 |
-
*/
|
59 |
-
private $_plugin_main_file_path;
|
60 |
-
/**
|
61 |
-
* @var string[]
|
62 |
-
*/
|
63 |
-
private $_plugin_data;
|
64 |
-
/**
|
65 |
-
* @since 1.0.9
|
66 |
-
*
|
67 |
-
* @var string
|
68 |
-
*/
|
69 |
-
private $_plugin_name;
|
70 |
-
/**
|
71 |
-
* @since 1.2.2
|
72 |
-
*
|
73 |
-
* @var string
|
74 |
-
*/
|
75 |
-
private $_module_type;
|
76 |
-
|
77 |
-
#endregion Plugin Info
|
78 |
-
|
79 |
-
/**
|
80 |
-
* @since 1.0.9
|
81 |
-
*
|
82 |
-
* @var bool If false, don't turn Freemius on.
|
83 |
-
*/
|
84 |
-
private $_is_on;
|
85 |
-
|
86 |
-
/**
|
87 |
-
* @since 1.1.3
|
88 |
-
*
|
89 |
-
* @var bool If false, don't turn Freemius on.
|
90 |
-
*/
|
91 |
-
private $_is_anonymous;
|
92 |
-
|
93 |
-
/**
|
94 |
-
* @since 1.0.9
|
95 |
-
* @var bool If false, issues with connectivity to Freemius API.
|
96 |
-
*/
|
97 |
-
private $_has_api_connection;
|
98 |
-
|
99 |
-
/**
|
100 |
-
* @since 1.0.9
|
101 |
-
* @var bool Hints the SDK if plugin can support anonymous mode (if skip connect is visible).
|
102 |
-
*/
|
103 |
-
private $_enable_anonymous;
|
104 |
-
|
105 |
-
/**
|
106 |
-
* @since 1.1.7.5
|
107 |
-
* @var bool Hints the SDK if plugin should run in anonymous mode (only adds feedback form).
|
108 |
-
*/
|
109 |
-
private $_anonymous_mode;
|
110 |
-
|
111 |
-
/**
|
112 |
-
* @since 1.1.9
|
113 |
-
* @var bool Hints the SDK if plugin have any free plans.
|
114 |
-
*/
|
115 |
-
private $_is_premium_only;
|
116 |
-
|
117 |
-
/**
|
118 |
-
* @since 1.2.1.6
|
119 |
-
* @var bool Hints the SDK if plugin have premium code version at all.
|
120 |
-
*/
|
121 |
-
private $_has_premium_version;
|
122 |
-
|
123 |
-
/**
|
124 |
-
* @since 1.2.1.6
|
125 |
-
* @var bool Hints the SDK if plugin should ignore pending mode by simulating a skip.
|
126 |
-
*/
|
127 |
-
private $_ignore_pending_mode;
|
128 |
-
|
129 |
-
/**
|
130 |
-
* @since 1.0.8
|
131 |
-
* @var bool Hints the SDK if the plugin has any paid plans.
|
132 |
-
*/
|
133 |
-
private $_has_paid_plans;
|
134 |
-
|
135 |
-
/**
|
136 |
-
* @since 1.2.1.5
|
137 |
-
* @var int Hints the SDK if the plugin offers a trial period. If negative, no trial, if zero - has a trial but
|
138 |
-
* without a specified period, if positive - the number of trial days.
|
139 |
-
*/
|
140 |
-
private $_trial_days = - 1;
|
141 |
-
|
142 |
-
/**
|
143 |
-
* @since 1.2.1.5
|
144 |
-
* @var bool Hints the SDK if the trial requires a payment method or not.
|
145 |
-
*/
|
146 |
-
private $_is_trial_require_payment = false;
|
147 |
-
|
148 |
-
/**
|
149 |
-
* @since 1.0.7
|
150 |
-
* @var bool Hints the SDK if the plugin is WordPress.org compliant.
|
151 |
-
*/
|
152 |
-
private $_is_org_compliant;
|
153 |
-
|
154 |
-
/**
|
155 |
-
* @since 1.0.7
|
156 |
-
* @var bool Hints the SDK if the plugin is has add-ons.
|
157 |
-
*/
|
158 |
-
private $_has_addons;
|
159 |
-
|
160 |
-
/**
|
161 |
-
* @since 1.1.6
|
162 |
-
* @var string[]bool.
|
163 |
-
*/
|
164 |
-
private $_permissions;
|
165 |
-
|
166 |
-
/**
|
167 |
-
* @var FS_Key_Value_Storage
|
168 |
-
*/
|
169 |
-
private $_storage;
|
170 |
-
|
171 |
-
/**
|
172 |
-
* @since 1.2.2.7
|
173 |
-
* @var FS_Cache_Manager
|
174 |
-
*/
|
175 |
-
private $_cache;
|
176 |
-
|
177 |
-
/**
|
178 |
-
* @since 1.0.0
|
179 |
-
*
|
180 |
-
* @var FS_Logger
|
181 |
-
*/
|
182 |
-
private $_logger;
|
183 |
-
/**
|
184 |
-
* @since 1.0.4
|
185 |
-
*
|
186 |
-
* @var FS_Plugin
|
187 |
-
*/
|
188 |
-
private $_plugin = false;
|
189 |
-
/**
|
190 |
-
* @since 1.0.4
|
191 |
-
*
|
192 |
-
* @var FS_Plugin|false
|
193 |
-
*/
|
194 |
-
private $_parent_plugin = false;
|
195 |
-
/**
|
196 |
-
* @since 1.1.1
|
197 |
-
*
|
198 |
-
* @var Freemius
|
199 |
-
*/
|
200 |
-
private $_parent = false;
|
201 |
-
/**
|
202 |
-
* @since 1.0.1
|
203 |
-
*
|
204 |
-
* @var FS_User
|
205 |
-
*/
|
206 |
-
private $_user = false;
|
207 |
-
/**
|
208 |
-
* @since 1.0.1
|
209 |
-
*
|
210 |
-
* @var FS_Site
|
211 |
-
*/
|
212 |
-
private $_site = false;
|
213 |
-
/**
|
214 |
-
* @since 1.0.1
|
215 |
-
*
|
216 |
-
* @var FS_Plugin_License
|
217 |
-
*/
|
218 |
-
private $_license;
|
219 |
-
/**
|
220 |
-
* @since 1.0.2
|
221 |
-
*
|
222 |
-
* @var FS_Plugin_Plan[]
|
223 |
-
*/
|
224 |
-
private $_plans = false;
|
225 |
-
/**
|
226 |
-
* @var FS_Plugin_License[]
|
227 |
-
* @since 1.0.5
|
228 |
-
*/
|
229 |
-
private $_licenses = false;
|
230 |
-
|
231 |
-
/**
|
232 |
-
* @since 1.0.1
|
233 |
-
*
|
234 |
-
* @var FS_Admin_Menu_Manager
|
235 |
-
*/
|
236 |
-
private $_menu;
|
237 |
-
|
238 |
-
/**
|
239 |
-
* @var FS_Admin_Notice_Manager
|
240 |
-
*/
|
241 |
-
private $_admin_notices;
|
242 |
-
|
243 |
-
/**
|
244 |
-
* @since 1.1.6
|
245 |
-
*
|
246 |
-
* @var FS_Admin_Notice_Manager
|
247 |
-
*/
|
248 |
-
private static $_global_admin_notices;
|
249 |
-
|
250 |
-
/**
|
251 |
-
* @var FS_Logger
|
252 |
-
* @since 1.0.0
|
253 |
-
*/
|
254 |
-
private static $_static_logger;
|
255 |
-
|
256 |
-
/**
|
257 |
-
* @var FS_Option_Manager
|
258 |
-
* @since 1.0.2
|
259 |
-
*/
|
260 |
-
private static $_accounts;
|
261 |
-
|
262 |
-
/**
|
263 |
-
* @since 1.2.2
|
264 |
-
*
|
265 |
-
* @var number
|
266 |
-
*/
|
267 |
-
private $_module_id;
|
268 |
-
|
269 |
-
/**
|
270 |
-
* @var Freemius[]
|
271 |
-
*/
|
272 |
-
private static $_instances = array();
|
273 |
-
|
274 |
Â
/**
|
275 |
-
*
|
276 |
Â
*
|
277 |
-
* @
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
278 |
Â
*
|
279 |
-
* @var
|
280 |
Â
*/
|
281 |
-
private $
|
282 |
Â
|
283 |
Â
/**
|
284 |
-
* @
|
285 |
Â
*
|
286 |
-
* @
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
287 |
Â
*
|
288 |
-
* @var
|
289 |
Â
*/
|
290 |
-
private $
|
291 |
-
|
292 |
Â
/**
|
293 |
-
* @
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
294 |
Â
*
|
295 |
-
* @
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
296 |
Â
*
|
297 |
-
* @var
|
298 |
Â
*/
|
299 |
-
private $
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
const REASON_DIDNT_WORK_AS_EXPECTED = 14;
|
317 |
-
const REASON_TEMPORARY_DEACTIVATION = 15;
|
318 |
-
|
319 |
-
#endregion
|
320 |
-
|
321 |
-
/* Ctor
|
322 |
-
------------------------------------------------------------------------------------------------------------------*/
|
323 |
Â
|
324 |
-
|
325 |
-
* Main singleton instance.
|
326 |
-
*
|
327 |
-
* @author Vova Feldman (@svovaf)
|
328 |
-
* @since 1.0.0
|
329 |
-
*
|
330 |
-
* @param number $module_id
|
331 |
-
* @param string|bool $slug
|
332 |
-
* @param bool $is_init Since 1.2.1 Is initiation sequence.
|
333 |
-
*/
|
334 |
-
private function __construct( $module_id, $slug = false, $is_init = false ) {
|
335 |
-
if ( $is_init && is_numeric( $module_id ) && is_string( $slug ) ) {
|
336 |
-
$this->store_id_slug_type_path_map( $module_id, $slug );
|
337 |
-
}
|
338 |
-
|
339 |
-
$this->_module_id = $module_id;
|
340 |
-
$this->_slug = $this->get_slug();
|
341 |
-
$this->_module_type = $this->get_module_type();
|
342 |
-
|
343 |
-
$this->_storage = FS_Key_Value_Storage::instance( $this->_module_type . '_data', $this->_slug );
|
344 |
-
$this->_cache = FS_Cache_Manager::get_manager( WP_FS___OPTION_PREFIX . "cache_{$module_id}" );
|
345 |
-
|
346 |
-
$this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_' . $this->get_unique_affix(), WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
347 |
-
|
348 |
-
$this->_plugin_main_file_path = $this->_find_caller_plugin_file( $is_init );
|
349 |
-
$this->_plugin_dir_path = plugin_dir_path( $this->_plugin_main_file_path );
|
350 |
-
$this->_plugin_basename = $this->get_plugin_basename();
|
351 |
-
$this->_free_plugin_basename = str_replace( '-premium/', '/', $this->_plugin_basename );
|
352 |
-
|
353 |
-
$base_name_split = explode( '/', $this->_plugin_basename );
|
354 |
-
$this->_plugin_dir_name = $base_name_split[0];
|
355 |
-
|
356 |
-
if ( $this->_logger->is_on() ) {
|
357 |
-
$this->_logger->info( 'plugin_main_file_path = ' . $this->_plugin_main_file_path );
|
358 |
-
$this->_logger->info( 'plugin_dir_path = ' . $this->_plugin_dir_path );
|
359 |
-
$this->_logger->info( 'plugin_basename = ' . $this->_plugin_basename );
|
360 |
-
$this->_logger->info( 'free_plugin_basename = ' . $this->_free_plugin_basename );
|
361 |
-
$this->_logger->info( 'plugin_dir_name = ' . $this->_plugin_dir_name );
|
362 |
-
}
|
363 |
-
|
364 |
-
// Remember link between file to slug.
|
365 |
-
$this->store_file_slug_map();
|
366 |
-
|
367 |
-
// Store plugin's initial install timestamp.
|
368 |
-
if ( ! isset( $this->_storage->install_timestamp ) ) {
|
369 |
-
$this->_storage->install_timestamp = WP_FS__SCRIPT_START_TIME;
|
370 |
-
}
|
371 |
-
|
372 |
-
if ( ! is_object( $this->_plugin ) ) {
|
373 |
-
$this->_plugin = FS_Plugin_Manager::instance( $this->_module_id )->get();
|
374 |
-
}
|
375 |
-
|
376 |
-
$this->_admin_notices = FS_Admin_Notice_Manager::instance(
|
377 |
-
$this->_slug . ( $this->is_theme() ? ':theme' : '' ),
|
378 |
-
/**
|
379 |
-
* Ensure that the admin notice will always have a title by using the stored plugin title if available and
|
380 |
-
* retrieving the title via the "get_plugin_name" method if there is no stored plugin title available.
|
381 |
-
*
|
382 |
-
* @author Leo Fajardo (@leorw)
|
383 |
-
* @since 1.2.2
|
384 |
-
*/
|
385 |
-
( is_object( $this->_plugin ) ? $this->_plugin->title : $this->get_plugin_name() ),
|
386 |
-
$this->get_unique_affix()
|
387 |
-
);
|
388 |
-
|
389 |
-
if ( 'true' === fs_request_get( 'fs_clear_api_cache' ) ||
|
390 |
-
'true' === fs_request_is_action( 'restart_freemius' )
|
391 |
-
) {
|
392 |
-
FS_Api::clear_cache();
|
393 |
-
$this->_cache->clear();
|
394 |
-
}
|
395 |
-
|
396 |
-
$this->_register_hooks();
|
397 |
-
|
398 |
-
$this->_load_account();
|
399 |
-
|
400 |
-
$this->_version_updates_handler();
|
401 |
-
}
|
402 |
-
|
403 |
-
/**
|
404 |
-
* Checks whether this module has a settings menu.
|
405 |
-
*
|
406 |
-
* @author Leo Fajardo (@leorw)
|
407 |
-
* @since 1.2.2
|
408 |
-
*
|
409 |
-
* @return bool
|
410 |
-
*/
|
411 |
-
function has_settings_menu() {
|
412 |
-
return $this->_menu->has_menu();
|
413 |
-
}
|
414 |
-
|
415 |
-
/**
|
416 |
-
* Check if the context module is free wp.org theme.
|
417 |
-
*
|
418 |
-
* This method is helpful because:
|
419 |
-
* 1. wp.org themes are limited to a single submenu item,
|
420 |
-
* and sub-submenu items are most likely not allowed (never verified).
|
421 |
-
* 2. wp.org themes are not allowed to redirect the user
|
422 |
-
* after the theme activation, therefore, the agreed UX
|
423 |
-
* is showing the opt-in as a modal dialog box after
|
424 |
-
* activation (approved by @otto42, @emiluzelac, @greenshady, @grapplerulrich).
|
425 |
-
*
|
426 |
-
* @author Vova Feldman (@svovaf)
|
427 |
-
* @since 1.2.2.7
|
428 |
-
*
|
429 |
-
* @return bool
|
430 |
-
*/
|
431 |
-
function is_free_wp_org_theme() {
|
432 |
-
return (
|
433 |
-
$this->is_theme() &&
|
434 |
-
$this->is_org_repo_compliant() &&
|
435 |
-
! $this->is_premium()
|
436 |
-
);
|
437 |
-
}
|
438 |
-
|
439 |
-
/**
|
440 |
-
* Checks whether this a submenu item is visible.
|
441 |
-
*
|
442 |
-
* @author Vova Feldman (@svovaf)
|
443 |
-
* @since 1.2.2.6
|
444 |
-
* @since 1.2.2.7 Even if the menu item was specified to be hidden, when it is the context page, then show the submenu item so the user will have the right context page.
|
445 |
-
*
|
446 |
-
* @param string $slug
|
447 |
-
*
|
448 |
-
* @return bool
|
449 |
-
*/
|
450 |
-
function is_submenu_item_visible( $slug ) {
|
451 |
-
if ( $this->is_admin_page( $slug ) ) {
|
452 |
-
/**
|
453 |
-
* It is the current context page, so show the submenu item
|
454 |
-
* so the user will have the right context page, even if it
|
455 |
-
* was set to hidden.
|
456 |
-
*/
|
457 |
-
return true;
|
458 |
-
}
|
459 |
-
|
460 |
-
if ( ! $this->has_settings_menu() ) {
|
461 |
-
// No menu settings at all.
|
462 |
-
return false;
|
463 |
-
}
|
464 |
-
|
465 |
-
if ( $this->is_free_wp_org_theme() ) {
|
466 |
-
/**
|
467 |
-
* wp.org themes are limited to a single submenu item, and
|
468 |
-
* sub-submenu items are most likely not allowed (never verified).
|
469 |
-
*/
|
470 |
-
return false;
|
471 |
-
}
|
472 |
-
|
473 |
-
return $this->_menu->is_submenu_item_visible( $slug );
|
474 |
-
}
|
475 |
-
|
476 |
-
/**
|
477 |
-
* Check if a Freemius page should be accessible via the UI.
|
478 |
-
*
|
479 |
-
* @author Vova Feldman (@svovaf)
|
480 |
-
* @since 1.2.2.7
|
481 |
-
*
|
482 |
-
* @param string $slug
|
483 |
-
*
|
484 |
-
* @return bool
|
485 |
-
*/
|
486 |
-
function is_page_visible( $slug ) {
|
487 |
-
if ( $this->is_admin_page( $slug ) ) {
|
488 |
-
return true;
|
489 |
-
}
|
490 |
-
|
491 |
-
return $this->_menu->is_submenu_item_visible( $slug, true, true );
|
492 |
-
}
|
493 |
-
|
494 |
-
/**
|
495 |
-
* @author Vova Feldman (@svovaf)
|
496 |
-
* @since 1.0.9
|
497 |
-
*/
|
498 |
-
private function _version_updates_handler() {
|
499 |
-
if ( ! isset( $this->_storage->sdk_version ) || $this->_storage->sdk_version != $this->version ) {
|
500 |
-
// Freemius version upgrade mode.
|
501 |
-
$this->_storage->sdk_last_version = $this->_storage->sdk_version;
|
502 |
-
$this->_storage->sdk_version = $this->version;
|
503 |
-
|
504 |
-
if ( empty( $this->_storage->sdk_last_version ) ||
|
505 |
-
version_compare( $this->_storage->sdk_last_version, $this->version, '<' )
|
506 |
-
) {
|
507 |
-
$this->_storage->sdk_upgrade_mode = true;
|
508 |
-
$this->_storage->sdk_downgrade_mode = false;
|
509 |
-
} else {
|
510 |
-
$this->_storage->sdk_downgrade_mode = true;
|
511 |
-
$this->_storage->sdk_upgrade_mode = false;
|
512 |
-
|
513 |
-
}
|
514 |
-
|
515 |
-
$this->do_action( 'sdk_version_update', $this->_storage->sdk_last_version, $this->version );
|
516 |
-
}
|
517 |
-
|
518 |
-
$plugin_version = $this->get_plugin_version();
|
519 |
-
if ( ! isset( $this->_storage->plugin_version ) || $this->_storage->plugin_version != $plugin_version ) {
|
520 |
-
// Plugin version upgrade mode.
|
521 |
-
$this->_storage->plugin_last_version = $this->_storage->plugin_version;
|
522 |
-
$this->_storage->plugin_version = $plugin_version;
|
523 |
-
|
524 |
-
if ( empty( $this->_storage->plugin_last_version ) ||
|
525 |
-
version_compare( $this->_storage->plugin_last_version, $plugin_version, '<' )
|
526 |
-
) {
|
527 |
-
$this->_storage->plugin_upgrade_mode = true;
|
528 |
-
$this->_storage->plugin_downgrade_mode = false;
|
529 |
-
} else {
|
530 |
-
$this->_storage->plugin_downgrade_mode = true;
|
531 |
-
$this->_storage->plugin_upgrade_mode = false;
|
532 |
-
}
|
533 |
-
|
534 |
-
if ( ! empty( $this->_storage->plugin_last_version ) ) {
|
535 |
-
// Different version of the plugin was installed before, therefore it's an update.
|
536 |
-
$this->_storage->is_plugin_new_install = false;
|
537 |
-
}
|
538 |
-
|
539 |
-
$this->do_action( 'plugin_version_update', $this->_storage->plugin_last_version, $plugin_version );
|
540 |
-
}
|
541 |
-
}
|
542 |
-
|
543 |
-
/**
|
544 |
-
* @author Vova Feldman (@svovaf)
|
545 |
-
* @since 1.1.5
|
546 |
-
*
|
547 |
-
* @param string $sdk_prev_version
|
548 |
-
* @param string $sdk_version
|
549 |
-
*/
|
550 |
-
function _data_migration( $sdk_prev_version, $sdk_version ) {
|