From 6faccb6755fb4e73d250c864f4a6e50a92696465 Mon Sep 17 00:00:00 2001 From: syedaliObjects <syedali@objects.email> Date: Thu, 16 May 2024 18:03:35 +0500 Subject: [PATCH] Updated Plugin - 2.7.2 --- CHANGELOG.md | 11 + README.md | 388 +----- admin/admin-bar.php | 6 +- admin/admin-caching.php | 12 + admin/admin.php | 1094 +++++++++++++--- admin/class-recaptcha.php | 604 ++++----- assets/css/admin.css | 677 +++++++++- assets/images/background-image-1.png | Bin 0 -> 2282 bytes assets/images/background-image.png | Bin 0 -> 2485 bytes assets/images/banner-background.png | Bin 0 -> 177588 bytes assets/images/chart.png | Bin 0 -> 254 bytes assets/images/check.png | Bin 0 -> 367 bytes assets/images/cropped-logo.png | Bin 0 -> 6521 bytes assets/images/crown.png | Bin 0 -> 1207 bytes assets/images/failed.png | Bin 0 -> 1100 bytes assets/images/lock-2.png | Bin 0 -> 546 bytes assets/images/main-image.png | Bin 0 -> 585 bytes assets/images/ppp-ads-04.png | Bin 0 -> 624 bytes assets/images/ppp-ads-05.png | Bin 0 -> 587 bytes assets/images/ppp-ads-06.png | Bin 0 -> 356 bytes assets/images/ppp-ads-07.png | Bin 0 -> 494 bytes assets/images/ppp-ads-08.png | Bin 0 -> 566 bytes assets/images/ppp-ads-09.png | Bin 0 -> 442 bytes assets/images/ppp-ads-10.png | Bin 0 -> 487 bytes assets/images/ppp-ads-11.png | Bin 0 -> 464 bytes assets/images/ppp-ads-12.png | Bin 0 -> 592 bytes assets/images/ppp-ads-13.png | Bin 0 -> 404 bytes assets/images/settings-general.png | Bin 0 -> 613 bytes assets/images/success.png | Bin 0 -> 935 bytes assets/images/total-attempts.png | Bin 0 -> 1027 bytes assets/js/admin.js | 34 + assets/js/compatibility.js | 14 + assets/js/detect.min.js | 1 + freemius/README.md | 4 + freemius/assets/css/admin/account.css | 2 +- freemius/assets/css/admin/add-ons.css | 2 +- freemius/assets/css/admin/affiliation.css | 2 +- freemius/assets/css/admin/checkout.css | 2 +- .../assets/css/admin/clone-resolution.css | 2 +- freemius/assets/css/admin/common.css | 2 +- freemius/assets/css/admin/connect.css | 2 +- freemius/assets/css/admin/debug.css | 2 +- freemius/assets/css/admin/dialog-boxes.css | 2 +- .../assets/css/admin/gdpr-optin-notice.css | 2 +- freemius/assets/css/admin/optout.css | 2 +- freemius/assets/css/admin/plugins.css | 2 +- freemius/assets/css/customizer.css | 2 +- .../assets/img/password-protected-premium.png | Bin 0 -> 15195 bytes freemius/assets/js/nojquery.ba-postmessage.js | 114 +- freemius/assets/js/postmessage.js | 136 +- freemius/includes/class-freemius.php | 221 +++- freemius/includes/class-fs-api.php | 7 +- .../includes/class-fs-garbage-collector.php | 439 +++++++ freemius/includes/class-fs-plugin-updater.php | 13 +- freemius/includes/class-fs-storage.php | 1 + .../debug/class-fs-debug-bar-panel.php | 90 +- .../entities/class-fs-plugin-license.php | 4 + .../entities/class-fs-plugin-plan.php | 4 + freemius/includes/entities/class-fs-site.php | 1 + freemius/includes/fs-core-functions.php | 50 +- freemius/includes/fs-essential-functions.php | 408 +++--- .../includes/fs-html-escaping-functions.php | 2 + freemius/includes/fs-plugin-info-dialog.php | 8 +- .../managers/class-fs-plan-manager.php | 49 +- freemius/includes/sdk/FreemiusWordPress.php | 8 +- freemius/languages/freemius-cs_CZ.mo | Bin 36563 -> 36388 bytes freemius/languages/freemius-da_DK.mo | Bin 69088 -> 31821 bytes freemius/languages/freemius-de_DE.mo | Bin 73551 -> 69290 bytes freemius/languages/freemius-es_ES.mo | Bin 72032 -> 52957 bytes freemius/languages/freemius-fr_FR.mo | Bin 49369 -> 46836 bytes freemius/languages/freemius-he_IL.mo | Bin 40497 -> 38272 bytes freemius/languages/freemius-hu_HU.mo | Bin 26759 -> 24994 bytes freemius/languages/freemius-it_IT.mo | Bin 59634 -> 58452 bytes freemius/languages/freemius-ja.mo | Bin 48367 -> 46050 bytes freemius/languages/freemius-nl_NL.mo | Bin 47831 -> 45298 bytes freemius/languages/freemius-ru_RU.mo | Bin 49143 -> 47106 bytes freemius/languages/freemius-ta.mo | Bin 77216 -> 74201 bytes freemius/languages/freemius-zh_CN.mo | Bin 55459 -> 61924 bytes freemius/languages/freemius.pot | 1133 +++++++++-------- freemius/require.php | 2 + freemius/start.php | 30 +- freemius/templates/account.php | 4 +- freemius/templates/account/partials/addon.php | 18 +- freemius/templates/checkout.php | 2 +- freemius/templates/clone-resolution-js.php | 18 +- freemius/templates/contact.php | 2 +- freemius/templates/forms/affiliation.php | 11 +- .../templates/forms/license-activation.php | 41 +- .../forms/subscription-cancellation.php | 6 +- freemius/templates/powered-by.php | 2 +- freemius/templates/pricing.php | 2 +- ...class-password-protected-activity-logs.php | 241 ++++ ...ord-protected-activity-report-settings.php | 223 ++++ ...word-protected-send-email-notification.php | 90 ++ includes/freemius.php | 1 + password-protected.php | 84 +- readme.txt | 293 ++++- templates/emails/activity-notification.php | 225 ++++ theme/password-protected-login.php | 2 +- 99 files changed, 4786 insertions(+), 2070 deletions(-) create mode 100644 assets/images/background-image-1.png create mode 100644 assets/images/background-image.png create mode 100644 assets/images/banner-background.png create mode 100644 assets/images/chart.png create mode 100644 assets/images/check.png create mode 100644 assets/images/cropped-logo.png create mode 100644 assets/images/crown.png create mode 100644 assets/images/failed.png create mode 100644 assets/images/lock-2.png create mode 100644 assets/images/main-image.png create mode 100644 assets/images/ppp-ads-04.png create mode 100644 assets/images/ppp-ads-05.png create mode 100644 assets/images/ppp-ads-06.png create mode 100644 assets/images/ppp-ads-07.png create mode 100644 assets/images/ppp-ads-08.png create mode 100644 assets/images/ppp-ads-09.png create mode 100644 assets/images/ppp-ads-10.png create mode 100644 assets/images/ppp-ads-11.png create mode 100644 assets/images/ppp-ads-12.png create mode 100644 assets/images/ppp-ads-13.png create mode 100644 assets/images/settings-general.png create mode 100644 assets/images/success.png create mode 100644 assets/images/total-attempts.png create mode 100644 assets/js/compatibility.js create mode 100644 assets/js/detect.min.js create mode 100644 freemius/assets/img/password-protected-premium.png create mode 100644 freemius/includes/class-fs-garbage-collector.php create mode 100644 includes/activity-report-email/class-password-protected-activity-logs.php create mode 100644 includes/activity-report-email/class-password-protected-activity-report-settings.php create mode 100644 includes/activity-report-email/class-password-protected-send-email-notification.php create mode 100644 templates/emails/activity-notification.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c163c8..179a501 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,17 @@ # Change Log All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## 2.7.2 2024-05-07 +- Fix: Updated depreciated PHP function to make it compatible with the latest PHP version. +- Added: Login designer compatibility banner. +- Improvement: Implement few UI tweaks. + +## 2.7.1 2024-03-27 +- Fixed - Disabled activity report by default. + +## 2.7 - 2024-03-26 +- New: Added Password Activity Report to provide weekly insights on access attempts to your protected sites. +- New: Added Categoric Tabs and Sub-Tabs User Interface for easy navigation and better user experience. ## 2.6.5.1 - 2023-11-20 - Ensured seamless compatibility with the latest WordPress version diff --git a/README.md b/README.md index 47f0790..c76c031 100644 --- a/README.md +++ b/README.md @@ -1,413 +1,163 @@ -=== Password Protected - Ultimate Plugin to Password Protect Your WordPress Content with Ease === -Contributors: wpexpertsio -Tags: password, maintenance mode, coming soon page, password protect, login -Requires at least: 4.6 -Tested up to: 6.4.1 -Requires PHP: 5.6 -Stable tag: 2.6.5.1 -License: GPLv2 or later +Password Protected +================== -The ultimate password protection plugin that protects your WordPress site with a single password. +A very simple way to quickly password protect your WordPress site with a single password. -== Description == +This plugin only protects your WordPress generated content. It **does not protect images or uploaded files** so if you enter and exact URL to in image file it will still be accessible. -[Live Demo](https://tastewp.com/new/?pre-installed-plugin-slug=password-protected) +Features include: -Password Protected for WordPress allows you to secure your website with a single password. The ultimate password protection plugin protects your WordPress categories, posts, products, and more with the simplest of ease. - -Password Protected does not protect images or uploaded files, so if you enter an exact URL of an image file, it will still be accessible. - -= Password Protected Features = - -* Easy to set up - Password protect your WordPress site with a single password. -* Set a description - Display text (description or instructions) above or below the password field. -* reCaptcha v2/v3 - You can enable Google reCAPTCHA v2 or V3 to increase bot security measures. -* Allow administrators - Option to allow administrators access without entering the password. -* Allow logged-in users - Option to give logged-in users access to the website. -* Allow RSS Feeds - Option to allow access to feeds. -* Allow Rest API Access - Allow admin to access pages and posts. -* Customization – Customize the password-protected screen, including the background, font, logo, and colors (using [Login Designer](https://wp.org/plugins/login-designer)) +- Password protect your WordPress site with a single password. +- Option to allow access to feeds. +- Option to allow administrators access without entering password. +- *New* 👉 Now you can customize the whole password protected screen including the background, font, logo, color e.t.c. > Please note, this plugin works by setting a cookie to allow access to the site. If you are using a caching plugin or web hosting such as WP Engine that has in-built caching, you will need to configure the caching service to be disabled if the Password Protected cookie is set. -= Password Protected Pro = - -[Password Protected Pro](https://passwordwp.com/pricing/?utm_source=wp_org&utm_medium=readme) is a [Kinsta recommended plugin](https://kinsta.com/blog/password-protect-wordpress-site/) that offers powerful features that will take your WordPress website password protected to the next level. - -* Exclude page posts & post types - Option to exclude specific pages and post types from password protection. -* Limit login attempts - Limit the user’s attempts to enter a password for a specified interval. -* Lockdown time - Set a time (in minutes) during which users can not enter the password after their login attempts are limited. -* Usage limits - Set a usage limit after which a password can not be used. -* Status control - You can change the status of the password (Active, Deactivated, Expired). -* Manage multiple passwords - Edit, activate, deactivate, or delete passwords (individual or bulk action). -* Set Expiry Dates - Options to select the expiry date for specific passwords -* Activity Log Reports - View the Activity Logs of each user, including their IP address, browser, status, date, and time of password attempts. -* Priority Support - Our team of support professionals will make sure to handle your queries on high priority. - -= Detect hackers and bots from abusing password protection with reCAPTCHA = -Google reCAPTCHA v2 or v3 empowers your WordPress website to prevent password abuse against automated software, bots, hackers, etc. This anti-spam tool will allow any real user to access your website easily. - -= Password protect any post type = -You can include or exclude any post type from password protection. All of this can be done from the back end using a single password. - -= Password protect your WordPress site with a single password = -Password Protected has the ability to secure your entire website with a single password. Everything from pages to posts will also be protected. - -= Display password protected content in RSS feeds = -You can allow RSS feeds to show a login page after which user accessing the feed can view the password protected content. Disabling the option will restrict any user's access to the website even if the RSS feed is public. - -= Password usage limits and complexities = -Limits users from entering the password using Password Protected’s Usage Limit counter. Password greater than that limit can not be applicable on the login page. - -Usage limits can also be restricted by setting a password expiry from the calendar settings. This prevents users from re-using any given password. Regular password changes mitigate the risk of any security breach. - -Limiting password attempts prevents security issues like the Brute Force attack, where hackers keep trying to guess your password until they get it right. A complimentary solution to this feature is the Lockdown Timer, which resets the user’s right to log in after exceeding their login attempt limit. - -= Monitor and review activity logs for Password Protected = -Password Protected’s Activity Log is similar to an audit log that gives you a record of the events that have taken place on your website. To provide you with a better understanding, here is a list of the details you will find in the activity log: - -* Filter options for passwords used in a specific range (All-time, Today, Yesterday, This Week, This Month) -* IP addresses of the system from where the passwords were attempted. -* Country names from where the passwords were attempted. -* Browser names where the password was attempted. -* Status of the password attempts (successful or failed) - -The admin can also perform the search operation on the activity log. You can search by IP, Country, Browser, and Status. For e.g., searching Success will search all the passwords with successful attempts, and searching Failure will search all the orders with failed attempts. +Translations +------------ -= Documentation and support = -* Password Protected [Technical Documentation](https://passwordwp.com/documentation/?utm_source=wp_org&utm_medium=readme) -* You can open a support ticket [here](https://objectsws.atlassian.net/servicedesk/customer/portal/18) +If you would like to translate this plugin you can easily contribute at the [Translating WordPress](https://translate.wordpress.org/projects/wp-plugins/password-protected/) page. The stable plugin needs to be 95% translated for a language file to be available to download/update via WordPress. -= Translations = -If you would like to translate this plugin, you can easily contribute to the [Translating WordPress](https://translate.wordpress.org/projects/wp-plugins/password-protected/) page. The stable plugin needs to be 95% translated for a language file to be available to download/update via WordPress. - -== Installation == +Installation +------------ To install and configure this plugin... 1. Upload or install the plugin through your WordPress admin. -2. Activate the plugin via the 'Plugins' admin menu. -3. Configure the password options in the Password Protected settings. +1. Activate the plugin via the 'Plugins' admin menu. +1. Configure the password options in the Password Protected settings. -= Upgrading = +Upgrading +--------- If you are upgrading manually via FTP rather that through the WordPress automatic upgrade link, please de-activate and re-activate the plugin to ensure the plugin upgrades correctly. -== Frequently Asked Questions == +Frequently Asked Questions +-------------------------- -= How can I change the WordPress logo to a different image? = +__How can I change the WordPress logo to a different image?__ Install and configure the [Login Logo](https://wordpress.org/plugins/login-logo/) plugin by Mark Jaquith or the [Uber Login Logo](https://wordpress.org/plugins/uber-login-logo/) plugin. This will change the logo on your password entry page AND also your admin login page. -= How can I enable feeds while the site is password protected? = +__How can I enable feeds while the site is password protected?__ In the settings, check the 'Allow Feeds' checkbox. -= Can I prevent administrators having to enter password? = +__Can I prevent administrators having to enter password?__ In the settings, check the 'Allow Administrators' checkbox. -= I cannot preview my changes in the Theme Customizer = +__I cannot preview my changes in the Theme Customizer__ You must be an administrator (have the manage_options capability) and in the Password Protected settings, check the 'Allow Administrators' checkbox. -= How can I log out? = +__How can I log out?__ Just add a "password-protected=logout" query to your URL. eg. http://www.example.com/?password-protected=logout -= I have forgotten the password. How can I disable the plugin? = +__I have forgotten the password. How can I disable the plugin?__ If you go to your WordPress admin login page `/wp-login.php` and it shows the admin login fields, you should still be able to login and disable the plugin. If the admin login screen insteads shows the Password Protected field, you will need to access your site via SFTP/SSH and delete the Password Protected plugin folder in the plugins folder `wp-content/plugins/password-protected`. -= How can I redirect to a different domain name when logging out? = +__How can I redirect to a different domain name when logging out?__ If passing a redirect URL using 'redirect_to' when logging out you need you may need to use the [allowed domain names](https://codex.wordpress.org/Plugin_API/Filter_Reference/allowed_redirect_hosts) filter to allow redirecting to an external domain. -= Where can I report bugs and issues? = +__Where can I report bugs and issues?__ Please log issues and bugs on the plugin's [GitHub page](https://github.com/benhuson/password-protected/issues). You can also submit suggested enhancements if you like. -= How can I contribute? = +__How can I contribute?__ If you can, please [fork the code](https://github.com/benhuson/password-protected) and submit a pull request via GitHub. If you're not comfortable using Git, then please just submit it to the issues link above. -= How can I translate this plugin? = -If you would like to translate this plugin you can easily contribute at the [Translating WordPress](https://translate.wordpress.org/projects/wp-plugins/password-protected/) page. The stable plugin needs to be 90% translated for a language file to be available to download/update via WordPress. - -== Screenshots == - -1. Login page perfectly mimicks the WordPress login. -2. Login page with reCaptcha v3 -3. Login page with reCaptcha v2 -4. Password Protected general settings page. -4. Password Protected advanced settings page. - -== Changelog == -= 2.6.5.1 = -- Ensured seamless compatibility with the latest WordPress version - -= 2.6.5 = -- Fixed - [Login Designer](https://wp.org/plugins/login-designer) compatibility issues. - -= 2.6.4 = -- Fixed - Added compatibility for PHP version 8.2 - -= 2.6.3.2 = -- Update - Feedback library updated - -= 2.6.3.1 = -- Fix - Parse error related to PHP version 7.2 +__How can I translate this plugin?__ +If you would like to translate this plugin you can easily contribute at the [Translating WordPress](https://translate.wordpress.org/projects/wp-plugins/password-protected/) page. The stable plugin needs to be 95% translated for a language file to be available to download/update via WordPress. -= 2.6.3 = -- New - Added Freemius SDK integration. -- New - Added functionality to login with transient if the cookies are blocked. -- Fix – Fixed Redirect Issue from excluded page to password protected page. - -= 2.6.2 = -- Fix – Parse error related to PHP version 7.2 - -= 2.6.1 = -- Fix – Parse error related to PHP version 7.2 -- Update - Link to official Google Re-captcha documentation - -= 2.6.0 = -- Improved admin settings interface and introduced NEW tabs structure. -- NEW: Added Google Recaptcha v2 and v3 to make it more secure. -- NEW: Added Password Protected top-level admin menu for ease. -- NEW: Added option to add text above password Field. -- NEW: Added option to add text below password Field. - -= 2.5.3 = +Upgrade Notice +-------------- +### 2.5.3 - Improved Settings HTML structure - Added Note regarding compatibility with login designer within dashboard -= 2.5.2 = -- Made compatibility with [Login Designer](https://wp.org/plugins/login-designer); Now you can customize the password-protected screen with the customizer using login designer plugin. - -= 2.5.1 = -- Fix - Author name conflict resolved - -= 2.5 = -- Deprecate `wp_no_robots` and replace with `wp_robots_no_robots` for WordPress 5.7+ - -= 2.4 = -- Add a Nocache header to the login page redirect to prevent the browser from caching the redirect page. Props [De'Yonte W.](https://github.com/rxnlabs) -- Remove ‘password-protected’ query from redirects on successful login or logout. -- Check "redirect_to" query var is set in hidden form field. Props [Matthias Kittsteiner](https://wordpress.org/support/users/kittmedia/). -- Add favicon to password protected login page. - -= 2.3 = -- Adds `password_protected_cookie_name` filter for the cookie name. Props [Jose Castaneda](https://github.com/jocastaneda). -- Let developers override the capability needed to see the options page via a `password_protected_options_page_capability` filter. Props [Nicola Peluchetti](https://github.com/nicoladj77). -- Don't use a "testcookie" POST query as it is blocked by Namecheap (and possibly other hosts). -- Fix warnings in W3 validator - script and style “type” attribute not required. Props [@dianamurcia](https://github.com/dianamurcia). -- Translations now via [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/password-protected/). -- Updated URL references. Props [Garrett Hyder](https://github.com/garretthyder). - -= 2.2.5 = -- Added `password_protected_login_password_title` filter to allow customizing the "Password" label on the login form. Props [Jeremy Herve](https://github.com/jeherve). -- Fix stray "and" in readme. Props [Viktor Szépe](https://github.com/szepeviktor). -- Update Portuguese translation. Props [Jonathan Hult](https://github.com/jhult). -- Update Russian translation. Props [Alexey Chumakov](https://github.com/achumakov). - -= 2.2.4 = -- Check that `$_SERVER['REMOTE_ADDR']` is set. - -= 2.2.3 = -- Restrict REST-API-access only if password protection is active. -- Added viewport meta tag to login page. -- Added `password_protected_show_login` filter. -- Cookie name is not editable in the admin so display just for reference. -- Use default WordPress text domain for “Remember Me” and “Log In” buttons. - -= 2.2.2 = -- Change locked admin bar icon to green. -- Fix REST option and always allow access to REST API for logged in users. - -= 2.2.1 = -* Fixed PHP error when calculating cookie expiration date. - -= 2.2 = -* Added admin bar icon to indicate wether password protection is enabled/disabled. -* Option to show "Remember me" checkbox. Props [Christian Güdel](https://github.com/cguedel). -* REST API access disabled if password not entered. -* Admin option to allow REST API access. -* More robust checking of password hashes. - -= 2.1 = -* Update caching notes for WP Engine and W3 Total Cache plugin. -* Tested up to WordPress 4.8 - -= 2.0.3 = -* Declare methods as public or private and use PHP5 constructors. -* Show user's IP address beside "Allow IP Addresses" admin setting. -* Add CHANGELOG.md and README.md - -= 2.0.2 = -* Check allowed IP addresses are valid when saving. -* Only redirect to [allowed domain names](https://codex.wordpress.org/Plugin_API/Filter_Reference/allowed_redirect_hosts) when logging out. - -= 2.0.1 = -* Split logout functionality into separate function. -* Security fix: Use a more complex password hash for cookie key. Props Marcin Bury, [Securitum](http://securitum.pl). - -= 2.0 = -* Added [password_protected_logout_link](https://github.com/benhuson/password-protected/wiki/password_protected_logout_link-Shortcode) shortcode. -* Load 'password-protected-login.css' in theme folder if it exists. -* Added [password_protected_stylesheet_file](https://github.com/benhuson/password-protected/wiki/password_protected_stylesheet_file) filter to specify alternate stylesheet location. -* Added is_user_logged_in(), login_url(), logout_url() and logout_link() methods. -* Added Basque, Czech, Greek, Lithuanian and Norwegian translations. -* Better handling of login/out redirects when protection is not active on home page. - -= 1.9 = -* Fixed "Allow Users" functionality with is_user_logged_in(). Props PatRaven. -* Added option for allowed IP addresses which can bypass the password protection. -* Added 'password_protected_is_active' filter. - -= 1.8 = -* Support for adding "password-protected-login.php" in theme directory. -* Allow filtering of the 'redirect to' URL via the 'password_protected_login_redirect_url' filter. -* Added 'password_protected_login_messages' action to output errors and messages in template. -* Updated translations. -* Use current_time( 'timestamp' ) instead of time() to take into account site timezone. -* Check login earlier in the template_redirect action. - -= 1.7.2 = -* Fix always allow access to robots.txt. -* Added 'password_protected_login_redirect' filter. -* Updated translations. - -= 1.7.1 = -* Fix login template compatibility for WordPress 3.9 - -= 1.7 = -* Remove JavaScript that disables admin RSS checkbox. -* Added 'password_protected_theme_file' filter to allow custom login templates. -* Add option to allow logged in users. - -= 1.6.2 = -* Set login page not to index if privacy setting is on. -* Allow redirection to a different URL when logging out using 'redirect_to' query and full URL. - -= 1.6.1 = -* Language updates by wp-translations.org (Arabic, Dutch, French, Persian, Russian). - -= 1.6 = -* Robots.txt is now always accessible. -* Added support for Uber Login Logo plugin. - -= 1.5 = -* Added note about WP Engine compatibility to readme.txt -* Requires WordPress 3.1+ -* Settings now have their own page. -* Fixed an open redirect vulnerability. Props Chris Campbell. - -= 1.4 = -* Add option to allow administrators to use the site without logging in. -* Use DONOTCACHEPAGE to try to prevent some caching issues. -* Added a contextual help tab for WordPress 3.3+. -* Updated login screen styling for WordPress 3.5 compatibility. -* Options are now on the 'Reading' settings page in WordPress 3.5 - -= 1.3 = -* Added checkbox to allow access to feeds when protection is enabled. -* Prepare for WordPress 3.5 Settings API changes. -* Added 'password_protected_before_login_form' and 'password_protected_after_login_form' actions. -* Added 'password_protected_process_login' filter to make it possible to extend login functionality. -* Now possible to use 'pre_update_option_password_protected_password' filter to use password before it is encrypted and saved. -* Ready for [translations](http://codex.wordpress.org/I18n_for_WordPress_Developers). - -= 1.2.2 = -* Show login error messages. -* Escape 'redirect_to' attribute. Props A. Alagha. - -= 1.2.1 = -* Added a "How to log out?" FAQ. -* Only disable feeds when protection is active. - -= 1.2 = -* Use cookies instead of sessions. - -= 1.1 = -* Encrypt passwords in database. - -= 1.0 = -* First Release. If you spot any bugs or issues please [log them here](https://github.com/benhuson/password-protected/issues). - -== Upgrade Notice == - -= 2.5.1 = -Author name conflict resolved - -= 2.5 = +### 2.5.2 +Made compatibility with [login designer](https://wp.org/plugins/login-designer); Now you can customize the password-protected screen with the customizer using login designer plugin. + +### 2.5 Fixes robots tag for WordPress 5.7+ -= 2.4 = +### 2.4 Fixes to help with caching issues and favicon on login page. -= 2.3 = +### 2.3 Fixed an issue with "testcookie" on some hosts. Added `password_protected_cookie_name` and `password_protected_options_page_capability` filters. -= 2.2.5 = +### 2.2.5 Added `password_protected_login_password_title` filter to allow customizing the "Password" label on the login form. -= 2.2.4 = +### 2.2.4 Check that `$_SERVER['REMOTE_ADDR']` is set. -= 2.2.3 = +### 2.2.3 Restrict REST-API-access only if password protection is active. Added viewport meta tag to login page. -= 2.2.2 = +### 2.2.2 Fix REST option and always allow access to REST API for logged in users. Change locked admin bar icon to green. -= 2.2.1 = +### 2.2.1 Fixed PHP error when calculating cookie expiration date. -= 2.2 = -Added admin bar icon to indicate wether password protection is enabled/disabled and disable REST API access (admin option to allow). +### 2.2 +Added admin bar icon to indicate wether password protection is enabled/disabled. Options to enable REST API access and show "Remember me" checkbox. -= 2.1 = +### 2.1 Update caching notes for WP Engine and W3 Total Cache plugin. -= 2.0.3 = +### 2.0.3 Show user's IP address beside "Allow IP Addresses" admin setting. Declare methods as public or private and use PHP5 constructors. -= 2.0.2 = +### 2.0.2 Only redirect to [allowed domain names](https://codex.wordpress.org/Plugin_API/Filter_Reference/allowed_redirect_hosts) when logging out. -= 2.0.1 = +### 2.0.1 Security fix: Use a more complex password hash for cookie key. -= 2.0 = +### 2.0 Added 'password_protected_logout_link' shortcode and use 'password-protected-login.css' in theme folder if it exists. -= 1.9 = +### 1.9 Fixed "Allow Users" functionality and added option to allowed IP addresses which can bypass the password protection. -= 1.8 = +### 1.8 Support for adding "password-protected-login.php" in theme directory and allow filtering of the 'redirect to' URL via the 'password_protected_login_redirect_url' filter. -= 1.7.2 = +### 1.7.2 Added 'password_protected_login_redirect' filter. -= 1.7.1 = +### 1.7.1 Fix login template compatibility for WordPress 3.9 -= 1.7 = +### 1.7 Added 'password_protected_theme_file' filter and option to allow logged in users. -= 1.6.2 = +### 1.6.2 Allow redirection to a different URL when logging out. -= 1.6 = +### 1.6 Added support for Uber Login Logo plugin. -= 1.5 = +### 1.5 Fixes an open redirect vulnerability. Settings now have own page. -= 1.4 = +### 1.4 Administrators can use the site without logging in. WordPress 3.5 compatible. -= 1.3 = +### 1.3 Allow access to feeds. Ready for translation. -= 1.2 = +### 1.2 Use cookies instead of sessions. -= 1.1 = +### 1.1 Passwords saved encrypted. + +Changelog +--------- + +View a list of all plugin changes in [CHANGELOG.md](https://github.com/wpexpertsio/password-protected/blob/master/CHANGELOG.md). diff --git a/admin/admin-bar.php b/admin/admin-bar.php index 163d40d..b8170e6 100644 --- a/admin/admin-bar.php +++ b/admin/admin-bar.php @@ -22,9 +22,9 @@ class Admin_Bar { */ public static function load() { - add_action( 'wp_head', array( get_class(), 'styles' ) ); - add_action( 'admin_head', array( get_class(), 'styles' ) ); - add_action( 'wp_before_admin_bar_render', array( get_class(), 'toolbar_item' ) ); + add_action( 'wp_head', array( self::class, 'styles' ) ); + add_action( 'admin_head', array( self::class, 'styles' ) ); + add_action( 'wp_before_admin_bar_render', array( self::class, 'toolbar_item' ) ); } diff --git a/admin/admin-caching.php b/admin/admin-caching.php index f230480..cb8f6d3 100644 --- a/admin/admin-caching.php +++ b/admin/admin-caching.php @@ -60,6 +60,14 @@ public function cache_settings_info() { 'password_protected_compat_caching' ); + add_settings_field( + 'password_protected_documentation', + __( 'Documentation', 'password-protected' ), + array( $this, 'documentation' ), + 'password-protected-compat', + 'password_protected_compat_caching' + ); + // WP Engine Hosting if ( $this->test_wp_engine() ) { @@ -112,6 +120,10 @@ public function field_cookies() { } + public function documentation() { + echo '<a href="https://passwordprotectedwp.com/documentation?utm_source=documentation&utm_medium=help-tab">Documentation</a>'; + } + /** * WP Engine Hosting * diff --git a/admin/admin.php b/admin/admin.php index 855c108..1453801 100644 --- a/admin/admin.php +++ b/admin/admin.php @@ -12,9 +12,10 @@ class Password_Protected_Admin { public function __construct() { global $wp_version; add_action( 'admin_init', array( $this, 'password_protected_register_setting_tabs' ) ); - add_action( 'admin_init', array( $this, 'password_protected_settings' ), 5 ); + add_action( 'admin_init', array( $this, 'password_protected_settings' ), 15 ); add_action( 'admin_init', array( $this, 'add_privacy_policy' ) ); add_action( 'admin_menu', array( $this, 'admin_menu' ) ); + add_action( 'password_protected_subtab_password-protected-page-description_content', array( $this, 'password_protected_page_description_tab' ) ); add_action( 'password_protected_help_tabs', array( $this, 'help_tabs' ), 5 ); add_action( 'admin_notices', array( $this, 'password_protected_admin_notices' ) ); add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 4 ); @@ -30,15 +31,118 @@ public function __construct() { */ public function password_protected_register_setting_tabs() { $this->setting_tabs = array( - 'general' => 'General', - 'advanced' => 'Advanced', - 'help' => 'Help', - 'getpro' => 'Get Pro' - ); - if( $this->password_protected_pro_is_installed_and_activated() ) - unset( $this->setting_tabs['getpro'] ); + 'general' => array( + 'title' => __( 'General', 'password-protected' ), + 'slug' => 'general', + 'icon' => 'dashicons-migrate', + ), + + 'advanced' => array( + 'title' => __( 'Advanced', 'password-protected' ), + 'slug' => 'advanced', + 'icon' => 'dashicons-admin-settings', + 'sub-tabs' => array( + 'exclude-from-protection' => array( + 'title' => __( 'Exclude From Protection', 'password-protected' ), + 'slug' => 'exclude-from-protection', + ), + + 'password-protected-page-description' => array( + 'title' => __( 'Protected Page Content', 'password-protected' ), + 'slug' => 'password-protected-page-description', + ), + + 'bypass-url' => array( + 'title' => __( 'Bypass URL', 'password-protected' ), + 'slug' => 'bypass-url', + ), + ), + ), + + 'manage_passwords' => array( + 'title' => __( 'Multiple Passwords', 'password-protected' ), + 'slug' => 'manage_passwords', + 'icon' => 'dashicons-shield', + ), + + 'content-protection' => array( + 'title' => __( 'Content Protection', 'password-protected' ), + 'slug' => 'content-protection', + 'icon' => 'dashicons-superhero', + 'sub-tabs' => array( + 'post-type-protection' => array( + 'title' => __( 'Post Type Protection', 'password-protected' ), + 'slug' => 'post-type-protection', + ), + + 'taxonomy-protection' => array( + 'title' => __( 'Taxonomy Protection', 'password-protected' ), + 'slug' => 'taxonomy-protection', + ), + ), + ), + + 'security' => array( + 'title' => __( 'Security', 'password-protected' ), + 'slug' => 'security', + 'icon' => 'dashicons-shield-alt', + 'sub-tabs' => array( + 'whitelist-user-role' => array( + 'title' => __( 'Whitelist User Role', 'password-protected' ), + 'slug' => 'whitelist-user-role', + ), + + 'google-recaptcha' => array( + 'title' => __( 'Google ReCaptcha', 'password-protected' ), + 'slug' => 'google-recaptcha', + ), + + 'wp-admin-protection' => array( + 'title' => __( 'WP-Admin Protection', 'password-protected' ), + 'slug' => 'wp-admin-protection', + ), + + 'attempt-limitation' => array( + 'title' => __( 'Attempt Limitation', 'password-protected' ), + 'slug' => 'attempt-limitation', + ), + ), + ), + + 'logs' => array( + 'title' => __( 'Logs', 'password-protected' ), + 'slug' => 'logs', + 'icon' => 'dashicons-media-text', + 'sub-tabs' => array( + 'activity_logs' => array( + 'title' => __( 'Activity Logs', 'password-protected' ), + 'slug' => 'activity_logs', + ), + + 'activity-report' => array( + 'title' => __( 'Activity Report', 'password-protected' ), + 'slug' => 'activity-report', + ), + ), + ), + ); + + $this->setting_tabs = apply_filters( 'password_protected_setting_tabs', $this->setting_tabs ); - $this->setting_tabs = apply_filters( 'password_protected_setting_tabs', $this->setting_tabs ); + $this->setting_tabs['help'] = array( + 'title' => __( 'Help', 'password-protected' ), + 'slug' => 'help', + 'icon' => 'dashicons-editor-help', + ); + $this->setting_tabs['getpro'] = array( + 'title' => __( 'Get Pro', 'password-protected' ), + 'slug' => 'getpro', + 'icon' => 'dashicons-superhero-alt', + ); + + if ( class_exists( 'Password_Protected_Pro' ) ) { + unset( $this->setting_tabs['getpro'] ); + } } /** @@ -49,14 +153,44 @@ public function password_protected_register_setting_tabs() { public function admin_enqueue_scripts( $hooks ) { if ( 'settings_page_password-protected' === $hooks || 'toplevel_page_password-protected' === $hooks ) { - wp_enqueue_style( 'password-protected-page-script', PASSWORD_PROTECTED_URL . 'assets/css/admin.css', array(), '2.6.2' ); - wp_enqueue_script( 'password-protected-admin-script', PASSWORD_PROTECTED_URL . 'assets/js/admin.js', array('jquery'), '2.6.2' ); + global $Password_Protected; + wp_enqueue_style( 'password-protected-page-script', PASSWORD_PROTECTED_URL . 'assets/css/admin.css', array(), $Password_Protected->version ); + wp_enqueue_script( 'password-protected-admin-script', PASSWORD_PROTECTED_URL . 'assets/js/admin.js', array('jquery'), $Password_Protected->version ); + wp_localize_script( + 'password-protected-admin-script', + 'passwordProtectedAdminObject', + array( + 'imageURL' => PASSWORD_PROTECTED_URL . 'assets/images/', + 'description' => __( 'Unlock unmatched website protection with<br>advanced security features', 'password-protected' ), + 'buttonText' => __( 'Get Password Protected Pro', 'password-protected' ), + 'buttonRedirect' => add_query_arg( + array( + 'page' => 'password-protected', + 'tab' => 'getpro', + ), + admin_url( 'admin.php' ) + ), + ) + ); } } public function init() { + + if ( ! class_exists( 'Password_Protected_Pro' ) ) { + add_action( 'password_protected_subtab_exclude-from-protection_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_subtab_attempt-limitation_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_subtab_bypass-url_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_tab_manage_passwords_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_subtab_post-type-protection_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_subtab_taxonomy-protection_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_subtab_whitelist-user-role_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_subtab_wp-admin-protection_content', array( $this, 'dummy_content' ) ); + add_action( 'password_protected_subtab_activity_logs_content', array( $this, 'dummy_content' ) ); + } + if ( isset( $_GET['page'] ) && 'password-protected-get-pro' === $_GET['page'] ) { - wp_redirect( 'https://passwordwp.com/pricing/?utm_source=Plugin&utm_medium=Sidebar' ); + wp_redirect( 'https://passwordprotectedwp.com/pricing/?utm_source=Plugin&utm_medium=Submenu' ); exit; } } @@ -80,12 +214,18 @@ public function add_privacy_policy() { * Admin Menu */ public function admin_menu() { - - $capability = apply_filters( 'password_protected_options_page_capability', 'manage_options' ); - $this->settings_page_id = add_options_page( __( 'Password Protected', 'password-protected' ), __( 'Password Protected', 'password-protected' ), $capability, 'password-protected', array( - $this, - 'settings_page' - ) ); + + $capability = apply_filters( 'password_protected_options_page_capability', 'manage_options' ); + $this->settings_page_id = add_options_page( + __( 'Password Protected', 'password-protected' ), + __( 'Password Protected', 'password-protected' ), + $capability, + 'password-protected', + array( + $this, + 'settings_page' + ) + ); add_menu_page( 'Password Protected', 'Password Protected', @@ -140,29 +280,83 @@ public function settings_page() { * Admin Menu Settings Page */ public function pp_admin_menu_page_callback() { - $tab = ( isset( $_GET['tab'] ) AND sanitize_text_field( $_GET['page'] ) == 'password-protected' ) ? sanitize_text_field( $_GET['tab'] ) : 'general'; + $tab = ( isset( $_GET['tab'] ) && sanitize_text_field( $_GET['page'] ) == 'password-protected' ) ? sanitize_text_field( $_GET['tab'] ) : 'general'; + $subtab = ( isset( $_GET['sub-tab'] ) && sanitize_text_field( $_GET['page'] ) == 'password-protected' ) ? sanitize_text_field( $_GET['sub-tab'] ) : ''; + + // for backward compatibility. + $this->setting_tabs = array_filter( + $this->setting_tabs, + function( $tab ) { + return isset( $tab['title'] ) && isset( $tab['slug'] ) && isset( $tab['icon'] ); + } + ); + if ( isset( $this->setting_tabs[ $tab ]['sub-tabs'] ) && ! empty( $this->setting_tabs[ $tab ]['sub-tabs'] ) ) { + $this->setting_tabs[ $tab ]['sub-tabs'] = array_filter( + $this->setting_tabs[ $tab ]['sub-tabs'], + function ( $subtab ) { + return isset( $subtab['title'] ) && isset( $subtab['slug'] ); + } + ); + } ?> <div class="wrap"> <div class="wrap-row"> <div class="wrap-col-70"> - <h2 class="nav-tab-wrapper"> - <?php foreach( $this->setting_tabs as $index => $setting_tab ) : ?> - <a href="?page=password-protected&tab=<?php echo $index; ?>" class="nav-tab <?php echo esc_attr( $index ); ?> <?php echo ( $tab == $index ) ? 'nav-tab-active' : '' ?> "> - <?php echo sprintf(__('%s', 'password-protected'), $setting_tab); ?> - </a> - <?php endforeach; ?> - </h2> - <?php - settings_fields( 'password-protected' ); - ?> - <?php settings_errors(); ?> - <?php $this->password_protected_render_tab_content( $tab ); ?> + <?php settings_errors(); ?> + + <div class="pp-wrapper"> + + <div class="pp-nav-wrapper"> + <?php foreach( $this->setting_tabs as $index => $setting_tab ) : ?> + <div class="pp-nav-tab <?php echo ( $tab === $setting_tab['slug'] ) ? 'pp-nav-tab-active' : ''; ?> <?php echo ( 'getpro' === $setting_tab['slug'] ) ? 'pp-pro-tab' : ''; ?>"> + <a href="<?php echo admin_url( 'admin.php?page=password-protected&tab=' . $setting_tab['slug'] ); ?>" class=" "> + <?php if ( filter_var( $setting_tab['icon'], FILTER_VALIDATE_URL ) ) : ?> + <span> + <img src="<?php echo esc_url( $setting_tab['icon'] ); ?>" alt=""> + </span> + <?php else : ?> + <span class="dashicons <?php echo $setting_tab['icon']; ?>"></span> + <?php endif; ?> + <?php echo $setting_tab['title']; ?> + </a> + </div> + <?php endforeach; ?> + </div> + + <div class="pp-content-wrapper"> + <?php if ( isset( $this->setting_tabs[ $tab ] ) && isset( $this->setting_tabs[ $tab ]['sub-tabs'] ) && ! empty( $this->setting_tabs[ $tab ]['sub-tabs'] ) ) : ?> + <div class="pp-sub-tabs-wrapper"> + <div class="pp-subtabs-links"> + <?php if ( empty( $subtab ) ) { ?> + <?php + $subtab = array_keys( $this->setting_tabs[ $tab ]['sub-tabs'] ); + $subtab = $subtab[0]; + ?> + <?php } ?> + <?php foreach ( $this->setting_tabs[ $tab ]['sub-tabs'] as $sub_tab ) : ?> + <a class="<?php echo $subtab === $sub_tab['slug'] ? 'active' : '' ?>" href="<?php echo admin_url( 'admin.php?page=password-protected&tab=' . $tab . '&sub-tab=' . $sub_tab['slug'] ); ?>"><?php echo $sub_tab['title']; ?></a> + <?php endforeach; ?> + </div> + </div> + <?php endif; ?> + + <div class="pp-settings-wrapper"> + <?php $this->password_protected_render_tab_content( $tab, $subtab ); ?> + </div> + </div> + </div> </div> <div id="pp-sidebar" class="wrap-col-25"> - <?php - do_settings_sections( 'password-protected-login-designer' ); + <?php + $_tab = ''; + if ( isset( $_GET['tab'] ) ) { + $_tab = sanitize_text_field( wp_unslash( $_GET['tab'] ) ); + } + if ( 'getpro' !== $_tab ) : do_settings_sections( 'password-protected-try-pro' ); + do_settings_sections( 'password-protected-login-designer' ); do_action('password_protected_sidebar'); + endif; ?> </div> </div> @@ -170,49 +364,54 @@ public function pp_admin_menu_page_callback() { <?php } + public function password_protected_page_description_tab() { + echo '<form action="options.php" method="post" enctype="multipart/form-data">'; + settings_fields( 'password-protected-advanced' ); + do_settings_sections( 'password-protected&tab=advanced&sub-tab=password-protected-page-description' ); + + submit_button(); + echo '</form>'; + } + /** * password protected render settings page in menu */ - public function password_protected_render_tab_content( $tab ) { - switch( $tab ) { - case 'general': - do_settings_sections( 'password-protected-help' ); - echo '<form method="post" action="options.php">'; - settings_fields( 'password-protected' ); - do_settings_sections( 'password-protected' ); - submit_button(); - echo '</form>'; - break; - - case 'advanced': - echo '<form method="post" action="options.php">'; - settings_fields( 'password-protected-advanced' ); - do_action( 'password_protected_advanced_tab_content' ); - do_settings_fields( 'password-protected&tab=advanced', 'password-protected-advanced' ); - do_settings_sections( 'password-protected-advanced-tab' ); - Password_Protected_reCAPTCHA::recpatcha_screen(); - echo '</form>'; - break; + public function password_protected_render_tab_content( $tab, $sub_tab ) { + switch ( $tab ) { + case 'general': + do_settings_sections( 'password-protected-help' ); + echo '<form method="post" action="options.php">'; + settings_fields( 'password-protected' ); + do_settings_sections( 'password-protected' ); + submit_button(); + echo '</form>'; + break; case 'help': ?> - <div id="help-notice"> - <?php do_settings_sections( 'password-protected-compat' ); ?> - </div> + <div id="help-notice"> + <?php do_settings_sections( 'password-protected-compat' ); ?> + </div> <?php - break; - - case 'getpro': - $this->password_protected_get_pro_features(); - break; - - case $tab; - do_action( 'password_protected_tab_'.$tab.'_content' ); - break; - - default: - echo "Something went wrong! Please contact support."; - break; + break; + + case 'getpro': + $this->password_protected_get_pro_features(); + break; + + case $tab: + if ( ! empty( $sub_tab ) ) { + do_action( + 'password_protected_subtab_' . $sub_tab . '_content', + $this->setting_tabs[ $tab ]['sub-tabs'][ $sub_tab ] + ); + } else { + do_action( + 'password_protected_tab_' . $tab . '_content', + $this->setting_tabs[ $tab ] + ); + } + break; } } @@ -255,7 +454,7 @@ public function password_protected_settings() { // general tab add_settings_section( 'password_protected', - '', + __( 'Password Protected Configuration', 'password-protected' ), array( $this, 'password_protected_settings_section' ), $this->options_group ); @@ -313,14 +512,14 @@ public function password_protected_settings() { 'password-protected-advanced-tab', 'Password Protected Page description', array( $this, 'password_protected_page_description' ), - 'password-protected&tab=advanced' + 'password-protected&tab=advanced&sub-tab=password-protected-page-description' ); add_settings_field( 'text-above-password', __( 'Text Above Password Field', 'password-protected' ), array( $this, 'password_protected_text_above_password' ), - 'password-protected&tab=advanced', + 'password-protected&tab=advanced&sub-tab=password-protected-page-description', 'password-protected-advanced-tab' ); @@ -328,11 +527,11 @@ public function password_protected_settings() { 'text-below-password', __( 'Text Below Password Field ', 'password-protected' ), array( $this, 'password_protected_text_below_password' ), - 'password-protected&tab=advanced', + 'password-protected&tab=advanced&sub-tab=password-protected-page-description', 'password-protected-advanced-tab' ); - add_settings_field( + /*add_settings_field( 'password-protected-use-transient', __( 'Use Transients', 'password-protected' ), array( $this, 'password_protected_use_transient' ), @@ -341,7 +540,7 @@ public function password_protected_settings() { array( 'label_for' => 'password-protected-use-transient', ) - ); + );*/ // password protected help tab add_settings_section( @@ -350,17 +549,6 @@ public function password_protected_settings() { array( $this, 'password_protected_help_tab' ), 'password-protected-help' ); - - - // sidebar login designer compatibity - if( !$this->login_designer_is_installed_and_activated() ) { - add_settings_section( - 'password-protected-login-designer', - '', - array( $this, 'login_designer_message' ), - 'password-protected-login-designer' - ); - } if( !$this->password_protected_pro_is_installed_and_activated() ) { add_settings_section( @@ -371,6 +559,15 @@ public function password_protected_settings() { ); } + if ( ! $this->login_designer_is_installed_and_activated() ) { + add_settings_section( + 'password-protected-login-designer', + '', + array( $this, 'password_protected_login_designer' ), + 'password-protected-login-designer' + ); + } + // registering settings register_setting( $this->options_group, 'password_protected_status', 'intval' ); register_setting( $this->options_group, 'password_protected_feeds', 'intval' ); @@ -381,25 +578,9 @@ public function password_protected_settings() { register_setting( $this->options_group, 'password_protected_allowed_ip_addresses', array( $this, 'sanitize_ip_addresses' ) ); register_setting( $this->options_group, 'password_protected_remember_me', 'boolval' ); register_setting( $this->options_group, 'password_protected_remember_me_lifetime', 'intval' ); - register_setting( $this->options_group . '-advanced', 'password_protected_use_transient' ); + register_setting( $this->options_group.'-advanced', 'password_protected_text_above_password', array( 'type' => 'string' ) ); register_setting( $this->options_group.'-advanced', 'password_protected_text_below_password', array( 'type' => 'string' ) ); - - } - - /** - * Login Designer Message - */ - public function login_designer_message(){ - $image = plugin_dir_url( __DIR__ ) . "assets/images/login-designer-demo.gif"; - echo '<div id="pp-sidebar-box"> - <h3> - 🎨' . esc_attr__( 'Now you can customize your Password Protected screen with the', 'password-protected' ) . ' <a href="'. admin_url( '/plugin-install.php?s=login%2520designer&tab=search&type=term' ) .'">Login Designer plugin</a>🌈 - </h3> - <img draggable="false" role="img" class="image" src=" ' . esc_attr($image) . ' "> - <h3><a href="'. admin_url( '/plugin-install.php?s=login%2520designer&tab=search&type=term' ) .'" class="pp-try button-primary">' . esc_attr__( '👉 Try it now! It\'s Free.', 'password-protected' ) . '</a></h3> - - </div>'; } /** @@ -479,7 +660,17 @@ public function password_protected_settings_section() { */ public function password_protected_status_field() { - echo '<label><input name="password_protected_status" id="password_protected_status" type="checkbox" value="1" ' . checked( 1, get_option( 'password_protected_status' ), false ) . ' /> ' . __( 'Enabled', 'password-protected' ) . '</label>'; + echo ' + <div class="pp-toggle-wrapper"> + <input type="checkbox" name="password_protected_status" id="password_protected_status" value="1" ' . checked( 1, get_option( 'password_protected_status' ), false ) . ' /> + <label class="pp-toggle" for="password_protected_status"> + <span class="pp-toggle-slider"></span> + </label> + </div> + <p> + <label for="password_protected_status">' . __( 'Do you want to enable password protection for whole site?', 'password-protected' ) . '</label> + </p> + '; } @@ -488,10 +679,30 @@ public function password_protected_status_field() { */ public function password_protected_permissions_field() { - echo '<p><label><input name="password_protected_administrators" id="password_protected_administrators" type="checkbox" value="1" ' . checked( 1, get_option( 'password_protected_administrators' ), false ) . ' /> ' . __( 'Allow Administrators', 'password-protected' ) . '</label></p>'; - echo '<p><label><input name="password_protected_users" id="password_protected_users" type="checkbox" value="1" ' . checked( 1, get_option( 'password_protected_users' ), false ) . ' /> ' . __( 'Allow Logged In Users', 'password-protected' ) . '</label></p>'; - echo '<p><label><input name="password_protected_feeds" id="password_protected_feeds" type="checkbox" value="1" ' . checked( 1, get_option( 'password_protected_feeds' ), false ) . ' /> ' . __( 'Allow RSS Feeds', 'password-protected' ) . '</label></p>'; - echo '<p><label><input name="password_protected_rest" id="password_protected_rest" type="checkbox" value="1" ' . checked( 1, get_option( 'password_protected_rest' ), false ) . ' /> ' . __( 'Allow REST API Access', 'password-protected' ) . '</label></p>'; + echo '<p> + <label for="password_protected_administrators"> + <input type="checkbox" name="password_protected_administrators" id="password_protected_administrators" value="1" ' . checked( 1, get_option( 'password_protected_administrators' ), false ) . ' />' + . __( 'Allow Administrators', 'password-protected' ) + . '</label> + </p> + <p> + <label for="password_protected_users"> + <input type="checkbox" name="password_protected_users" id="password_protected_users" value="1" ' . checked( 1, get_option( 'password_protected_users' ), false ) . ' />' + . __( 'Allow Logged In Users', 'password-protected' ) + . '</label> + </p> + <p> + <label for="password_protected_feeds"> + <input type="checkbox" name="password_protected_feeds" id="password_protected_feeds" value="1" ' . checked( 1, get_option( 'password_protected_feeds' ), false ) . ' />' + . __( 'Allow RSS Feeds', 'password-protected' ) + . '</label> + </p> + <p> + <label for="password_protected_rest"> + <input type="checkbox" name="password_protected_rest" id="password_protected_rest" value="1" ' . checked( 1, get_option( 'password_protected_rest' ), false ) . ' />' + . __( 'Allow REST API', 'password-protected' ) + . '</label> + </p>'; } @@ -524,7 +735,15 @@ public function password_protected_allowed_ip_addresses_field() { */ public function password_protected_remember_me_field() { - echo '<label><input name="password_protected_remember_me" id="password_protected_remember_me" type="checkbox" value="1" ' . checked( 1, get_option( 'password_protected_remember_me' ), false ) . ' /></label>'; + echo '<div class="pp-toggle-wrapper"> + <input type="checkbox" name="password_protected_remember_me" id="password_protected_remember_me" value="1" ' . checked( 1, get_option( 'password_protected_remember_me' ), false ) . ' /> + <label class="pp-toggle" for="password_protected_remember_me"> + <span class="pp-toggle-slider"></span> + </label> + </div> + <p> + <label for="password_protected_remember_me">' . __( 'Allow Remember me', 'password-protected' ) . '</label> + </p>'; } @@ -568,34 +787,103 @@ public function password_protected_use_transient() { * Help Tab text field */ public function password_protected_help_tab() { - echo '<p>' . __( 'Password protect your web site. Users will be asked to enter a password to view the site.', 'password-protected' ) . '<br /> - ' . __( 'For more information about Password Protected settings, view the "Help" tab at the top of this page.', 'password-protected' ) . '</p>'; + echo '<div class="pp-help-notice"> + <p>' + . __( 'Password protect your web site. Users will be asked to enter a password to view the site.', 'password-protected' ) + . '<br />' + . __( 'For more information about Password Protected settings, view the "Help" tab at the top of this page.', 'password-protected' ) + . '</p> + </div>'; } /** * Try pro sideabr */ public function password_protected_try_pro() { - $pro_url = 'https://passwordwp.com/pricing/?utm_source=Plugin&utm_medium=ProWidget'; - echo ' - <div id="pp-sidebar-box"> - <h3> - ' . esc_attr__( 'Looking for more options?', 'password-protected' ) . ' - </h3> - <ol> - <li>⚡ Get the option to exclude specific pages and posts.</li> - <li>⚡ You can exclude specific post types.</li> - <li>🔐 Feature to limit password attempts for a certain interval.</li> - <li>⚡ You get the capability of managing multiple passwords with the following options.: - </li> - <li>📃 Display activity log for each password attempt.</li> - <li>🔗 Get Bypass URL - You can access without a password using a unique link.</li> - </ol> - - <h3><a href="'.esc_url( $pro_url ).'" class="pp-try pp-pro-try button-primary" target="_blank">' . esc_attr__( '👉 Try Pro', 'password-protected' ) . '</a></h3> - - </div>'; + $image_url = PASSWORD_PROTECTED_URL . 'assets/images/'; + echo '<div class="pp-sidebar-widget"> + <div class="pp-container"> + + <div class="pp-sidebar-header"> + <p class="heading-1">Level up your WordPress protection with</p> + <p class="heading-2">Password <img src="' . $image_url . 'crown.png" /> Protected <span>Pro</span></p> + </div> + + <div class="pp-sidebar-body"> + <ul> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Protect Specific Post Types</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Whitelist Specific User Role</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Password Protect WP-Admin</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Password Attempt Activity Report</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Specific Post/Page Protection</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Certain Page/Posts Exclusions</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Password Attempts Restriction</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Password Expiration and Usage Limit</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Bypass URL (Post, Page, Category, etc.)</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Activity Log For Each Password Attempt</span> + </li> + <li> + <span class="sidebar-body-image-container"><img src="' . $image_url . 'lock-2.png" alt="" /></span> <span class="sidebar-body-text-container">Multiple Password Management</span> + </li> + </ul> + </div> + <div class="pp-sidebar-footer"> + <a target="_blank" href="https://passwordprotectedwp.com/pricing/?utm_source=plugin&utm_medium=side_banner&utm_campaign=plugin">' . esc_html__( 'Get Password Protected Pro', 'password-protected' ) . '</a> + </div> + </div> + </div>'; } + + public function password_protected_login_designer() { + $search_login_designer = add_query_arg( + array( + 's' => 'login designer', + 'tab' => 'search', + 'type' => 'term', + ), + admin_url( 'plugin-install.php' ) + ); + echo '<div class="pp-sidebar-widget"> + <div id="pp-sidebar-box"> + <h3>' . + sprintf( + __( '%1$s Now you can customize your Password Protected screen with the %3$s %2$s', 'password-protected' ), + '🎨', + '🌈', + '<a href="' . $search_login_designer . '">' . __( 'Login Designer Plugin', 'password-protected' ) . '</a>' + ) + . '</h3> + + <img width="100%" src="'. PASSWORD_PROTECTED_URL .'assets/images/login-designer-demo.gif" alt="Login Designer Demo GIF"> + + <h3> + <a class="pp-try button-primary" href="' . $search_login_designer . '"> + 👉 ' . __( 'Try it now! It\'s Free', 'password-protected' ) . ' + </a> + </h3> + </div> + </div>'; + } + /** * Pre-update 'password_protected_password' Option * @@ -690,9 +978,13 @@ public function password_protected_admin_notices() { if ( (bool) get_option( 'password_protected_administrators' ) && (bool) get_option( 'password_protected_users' ) ) { echo $this->admin_error_display( __( 'You have enabled password protection and allowed administrators and logged in users - other users will still need to enter a password to view the site.', 'password-protected' ) ); } elseif ( (bool) get_option( 'password_protected_administrators' ) ) { - echo $this->admin_error_display( __( 'You have enabled password protection and allowed administrators - other users will still need to enter a password to view the site.', 'password-protected' ) ); + if ( (bool) get_option( 'password_protected_status' ) ) { + echo $this->admin_error_display( __( 'You have enabled password protection and allowed administrators - other users will still need to enter a password to view the site.', 'password-protected' ) ); + } } elseif ( (bool) get_option( 'password_protected_users' ) ) { - echo $this->admin_error_display( __( 'You have enabled password protection and allowed logged in users - other users will still need to enter a password to view the site.', 'password-protected' ) ); + if ( (bool) get_option( 'password_protected_status' ) ) { + echo $this->admin_error_display( __( 'You have enabled password protection and allowed logged in users - other users will still need to enter a password to view the site.', 'password-protected' ) ); + } } } @@ -760,14 +1052,6 @@ public function plugin_screen_ids( $screen_id = '' ) { } - /** - * @return bool - * true if login designer is installed and activated otherwise false - */ - public function login_designer_is_installed_and_activated(): bool { - return class_exists( 'Login_Designer' ); - } - /** * @return bool * true if password protected pro is installed and activated otherwise false @@ -776,40 +1060,512 @@ public function password_protected_pro_is_installed_and_activated(): bool { return class_exists( 'Password_Protected_Pro' ); } + public function login_designer_is_installed_and_activated() { + return class_exists( 'Login_designer' ); + } + /** * @return void * Display Pro Features */ public function password_protected_get_pro_features() { - ?> - <div class="pro-tab-content"> - <div role="tabpanel" class="tab-pane fade" id="section4" style="display: block;"> - <div id="wcwp" class="wrap" style="background: #FFF;"> - <div class="pro_container"> - <h2>Pro Features</h2> - <ol> - <li>⚡ Get the option to exclude specific pages and posts.</li> - <li>⚡ You can exclude specific post types.</li> - <li>🔐 Feature to limit password attempts for a certain interval.</li> - <li>⚡ You get the capability of managing multiple passwords with the following options.: - <ol> - <li>👉 Option to activate and deactivate manually.</li> - <li>👉 Set the expiry date for each Password.</li> - <li>👉 Set the usage limit for each Password.</li> - </ol> - </li> - <li>📃 Display activity log for each password attempt.</li> - <li>🔗 Get Bypass URL - You can access without a password using a unique link.</li> - </ol> - <?php - $pro_url = 'https://passwordwp.com/pricing/?utm_source=Plugin&utm_medium=ProTab'; - ?> - <a target="_blank" href="<?php echo esc_url( $pro_url ); ?>" class="get_pro_btn">Get Pro Now</a> - </div> - </div> - </div> - </div> - <?php + $image_url = PASSWORD_PROTECTED_URL . 'assets/images/'; + echo '<div class="pp-pro-banner"> + <div class="pp-container"> + <div class="pp-banner-header"> + <p class="heading-1">Level up your WordPress protection with</p> + <p class="heading-2">Password Protected + <img src="' . $image_url . 'crown.png" alt=""> + <span>Pro</span> + </p> + </div> + + <div class="pp-banner-body"> + <div class="pp-cols"> + <div> + <img src="' . $image_url . 'lock-2.png"> + Protect Specific Post Types + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/post-and-page-protection/how-to-secure-all-posts-and-pages/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Whitelist Specific User Role + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/pro/whitelist-specific-user-role/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Password Protect WP-Admin + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/pro/password-protect-wp-admin/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Password Attempt Activity Report + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/logs/password-attempt-activity-report?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Specific Post/Page Protection + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/post-and-page-protection/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Certain Page/Posts Exclusions + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/pro/exclude-pages-posts-and-post-types/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + </div> + <div class="pp-cols pp-cols-section-2"> + <div> + <img src="' . $image_url . 'lock-2.png"> + Password Attempts Restriction + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/pro/limit-password-attempts-and-lockdown-time/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Password Expiration and Usage Limit + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/pro/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Bypass URL (Post, Page, Category, etc.) + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/pro/bypass-password-protection-for-specific-urls/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Activity Log For Each Password Attempt + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/logs/password-activity-logs/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + <div> + <img src="' . $image_url . 'lock-2.png"> + Multiple Password Management + <span class="pp-docs-link"> + <a target="_blank" href="https://passwordprotectedwp.com/documentation/pro/manage-multiple-websites/?utm_source=plugin&utm_medium=pro_tab">Docs</a> + </span> + </div> + + </div> + + <div class="pp-clearfix"></div> + </div> + + <div class="pp-banner-footer"> + <a target="_blank" href="https://passwordprotectedwp.com/pricing/?utm_source=plugin&utm_medium=pro_tab&utm_campaign=plugin">' . esc_html__( 'Get Password Protected Pro', 'password-protected' ) . '</a> + </div> + </div> + </div>'; } + public function dummy_content( $k ) { + echo '<div class="disabled-content click-to-display-popup"> + <div class="pp-wrap-content"></div> + <div class="pp-pro-branding" style="margin-top: 10px" >'; + + switch ( $k['slug'] ) { + case 'exclude-from-protection': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'exclude_protection' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Exclude From Password Protection <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <table class="form-table"> + <tr> + <th><label for="">Exclude Pages</label></th> + <td> + <input disabled placeholder="Select pages to exclude" type="text" class="regular-text" /> + </td> + </tr> + + <tr> + <th><label for="">Exclude Posts</label></th> + <td> + <input disabled placeholder="Select posts to exclude" type="text" class="regular-text" /> + </td> + </tr> + + <tr> + <th><label for="">Exclude post Types</label></th> + <td> + <input disabled placeholder="Select post types to exclude" type="text" class="regular-text" /> + </td> + </tr> + </table> + </div>'; + break; + case 'attempt-limitation': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'attempt_limitation' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Limit Password Attempts <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <table class="form-table"> + <tr> + <th><label for="">No of Attempts</label></th> + <td> + <input disabled placeholder="Limit Password Attempts" type="text" class="regular-text" /> + </td> + </tr> + + <tr> + <th><label for="">Lockdown Time In Minutes: </label></th> + <td> + <input disabled placeholder="Lockdown Time" type="text" class="regular-text" /> + </td> + </tr> + </table> + </div>'; + break; + case 'bypass-url': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'bypass_url' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Bypass URL <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <table class="form-table"> + <tr> + <th> + <label for="">Enable Bypass URL</label> + </th> + <td> + <div class="pp-toggle-wrapper"> + <input disabled type="checkbox" > + <label class="pp-toggle"> + <span class="pp-toggle-slider"></span> + </label> + </div> + </td> + </tr> + + <tr> + <th> + <label for="">Set Bypass key</label> + </th> + <td> + <input disabled type="text" class="regular-text"> + </td> + </tr> + + <tr> + <th> + <label for="">Redirect To</label> + </th> + <td> + <input disabled type="text" class="regular-text"> + </td> + </tr> + </table> + </div>'; + break; + case 'manage_passwords': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'multiple_passwords' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Manage Passwords <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <button disabled class="button button-secondary">Add New Password</button> + <br><br> + + <table class="wp-list-table widefat fixed striped table-view-list toplevel_page_password-protected"> + <thead> + <tr> + <th>Password</th> + <th>Uses Remaining</th> + <th>Expiry</th> + <th>Status</th> + <th>Actions</th> + <th>Bypass URL</th> + </tr> + </thead> + <tbody> + <tr> + <td colspan="6"> + Manage passwords are only available in Password Protected Pro version. + </td> + </tr> + </tbody> + <tfoot> + <tr> + <th>Password</th> + <th>Uses Remaining</th> + <th>Expiry</th> + <th>Status</th> + <th>Actions</th> + <th>Bypass URL</th> + </tr> + </tfoot> + </table> + </div>'; + break; + case 'activity_logs': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'activity_logs' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Activity Logs <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <table class="wp-list-table widefat fixed striped table-view-list toplevel_page_password-protected"> + <thead> + <tr> + <th>IP</th> + <th>Browser</th> + <th>Status</th> + <th>Password</th> + <th>Date Time</th> + </tr> + </thead> + <tbody> + <tr> + <td colspan="5"> + Activity logs are only available in Password Protected Pro version. + </td> + </tr> + </tbody> + <tfoot> + <tr> + <th>IP</th> + <th>Browser</th> + <th>Status</th> + <th>Password</th> + <th>Date Time</th> + </tr> + </tfoot> + </table> + </div>'; + break; + case 'post-type-protection': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'post_protection' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Post type protection <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <table class="form-table"> + <tr> + <th>Post Type</th> + <th>Global</th> + <th>Individual</th> + </tr> + + <tr> + <th>Post</th> + <td><input disabled type="checkbox"></td> + <td><input disabled type="checkbox"></td> + </tr> + <tr> + <th>Page</th> + <td><input disabled type="checkbox"></td> + <td><input disabled type="checkbox"></td> + </tr> + </table> + </div>'; + break; + case 'taxonomy-protection': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'taxonomy_protection' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Category/Taxonomy protection <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + + <table class="form-table"> + <tr> + <th>Category</th> + <td><input disabled type="checkbox"></td> + </tr> + <tr> + <th>Post_tag</th> + <td><input disabled type="checkbox"></td> + </tr> + </table> + </div>'; + break; + case 'whitelist-user-role': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'whitelist_user_role' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>White List User Roles <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <table class="form-table"> + <tr> + <th>Enable Whitelist User Roles</th> + <td> + <div class="pp-toggle-wrapper"> + <input disabled type="checkbox" > + <label class="pp-toggle"> + <span class="pp-toggle-slider"></span> + </label> + </div> + </td> + </tr> + <tr> + <th>Whitelist User Roles</th> + <td> + <input disabled type="text" class="regular-text"> + </td> + </tr> + </table> + <h2>WP Login Screen Redirect</h2> + <table class="form-table"> + <tr> + <th>Enable WP Login Screen Redirection</th> + <td> + <div class="pp-toggle-wrapper"> + <input disabled type="checkbox" > + <label class="pp-toggle"> + <span class="pp-toggle-slider"></span> + </label> + </div> + </td> + </tr> + <tr> + <th>Add Text for Redirection Link</th> + <td><textarea disabled class="regular-text"></textarea></td> + </tr> + </table> + </div>'; + break; + case 'wp-admin-protection': + $url = add_query_arg( + array( + 'utm_source' => 'plugin', + 'utm_medium' => 'pop_up', + 'utm_campaign' => 'plugin', + 'utm_content' => 'wpadmin_protection' + ), + 'https://passwordprotectedwp.com/pricing/' + ); + echo '<div> + <h2>Enable Admin Protection <span class="pro-badge"><a href="' . $url . '">PRO</a></span></h2> + <table class="form-table"> + <tr> + <th>Enable</th> + <td><div class="pp-toggle-wrapper"> + <input disabled type="checkbox" > + <label class="pp-toggle"> + <span class="pp-toggle-slider"></span> + </label> + </div></td> + </tr> + </table> + <h2>Password</h2> + <table class="form-table"> + <tr> + <th>Password</th> + <td> + <input disabled type="text" class="regular-text" /> + <br><br> + <input disabled type="text" class="regular-text" /> + </td> + </tr> + </table> + <h2>Remember Me</h2> + <table class="form-table"> + <tr> + <th>Remember Me</th> + <td><div class="pp-toggle-wrapper"> + <input disabled type="checkbox" > + <label class="pp-toggle"> + <span class="pp-toggle-slider"></span> + </label> + </div></td> + </tr> + <tr> + <th>Remember Me Many Days</th> + <td> + <input disabled type="text" class="regular-text" /> + </td> + </tr> + </table> + <h2>Forgot Password</h2> + <table class="form-table"> + <tr> + <th>Forgot Password</th> + <td><div class="pp-toggle-wrapper"> + <input disabled type="checkbox" > + <label class="pp-toggle"> + <span class="pp-toggle-slider"></span> + </label> + </div></td> + </tr> + </table> + </div>'; + break; + } + echo '</div> + </div>'; + } + } diff --git a/admin/class-recaptcha.php b/admin/class-recaptcha.php index 905b17b..ef017b7 100644 --- a/admin/class-recaptcha.php +++ b/admin/class-recaptcha.php @@ -1,66 +1,83 @@ <?php -if ( ! defined( 'ABSPATH' ) ) - exit; // Exit if accessed directly +if ( ! defined( 'ABSPATH' ) ) { + exit; // Exit if accessed directly +} /** - * @package Password Protected + * @package Password Protected * @subpackage reCAPTCHA * * @since 2.6 */ -class Password_Protected_reCAPTCHA { - - public $options_group = 'password-protected-recaptcha'; - public $options_name = 'password_protected_recaptcha'; - public $tab = 'password-protected&tab=advanced'; - public $settings = array(); - /** +class Password_Protected_reCAPTCHA { + + public $options_group = 'password-protected-recaptcha'; + public $options_name = 'password_protected_recaptcha'; + public $tab = 'password-protected&tab=advanced'; + public $settings = array(); + /** * Constructor * * @since 2.6 * * @internal public. This class should only be instantiated once by the plugin. */ - public function __construct() { - - $options = get_option( $this->options_name ); - - if( empty($options) || !$options ) - $this->settings = $this->get_default_reCAPTCHA_settings(); - else - $this->settings = get_option( $this->options_name ); - + + $options = get_option( $this->options_name ); + + if ( empty( $options ) || ! $options ) { + $this->settings = $this->get_default_reCAPTCHA_settings(); + } else { + $this->settings = get_option( $this->options_name ); + } + add_action( 'admin_init', array( $this, 'register_reCAPTCHA_settings' ), 6 ); + add_action( 'password_protected_subtab_google-recaptcha_content', array( $this, 'google_recaptcha_settings' ) ); - add_action( 'password_protected_after_password_field', array( $this, 'add_recaptcha' ) ); + add_action( 'password_protected_after_password_field', array( $this, 'add_recaptcha' ) ); - add_filter( 'password_protected_verify_recaptcha', array( $this, 'verify_recaptcha' ) ); + add_filter( 'password_protected_verify_recaptcha', array( $this, 'verify_recaptcha' ) ); } - - /** + + /** * reCAPTCHA Default Settings * * @return array * @since 2.6 */ - private function get_default_reCAPTCHA_settings(): array { - return array( - 'enable' => 0, - 'version' => 'google_recaptcha_v2', - 'v2_site_key' => null, - 'v3_site_key' => null, - 'v2_secret_key' => null, - 'v3_secret_key' => null, - 'v3_score' => 0.3, - 'v3_badge' => 'bottomright', - 'v2_theme' => 'light' - ); + private function get_default_reCAPTCHA_settings(): array { + return array( + 'enable' => 0, + 'version' => 'google_recaptcha_v2', + 'v2_site_key' => null, + 'v3_site_key' => null, + 'v2_secret_key' => null, + 'v3_secret_key' => null, + 'v3_score' => 0.3, + 'v3_badge' => 'bottomright', + 'v2_theme' => 'light', + ); + } + + public function google_recaptcha_settings() { + ?> + <div class="wrap"> + <h1><?php _e( 'Google reCAPTCHA Settings', 'password-protected' ); ?></h1> + <form method="post" action="options.php"> + <?php + settings_fields( 'password-protected-advanced' ); + do_settings_sections( 'password-protected&tab=advanced' ); + submit_button(); + ?> + </form> + </div> + <?php } - /** + /** * reCAPTCHA Settings Info * * Displays information on the settings page for helping @@ -68,9 +85,8 @@ private function get_default_reCAPTCHA_settings(): array { * * @since 2.6 */ - - public function register_reCAPTCHA_settings() { - // reCAPTCHA Section + public function register_reCAPTCHA_settings() { + // reCAPTCHA Section add_settings_section( $this->options_group, __( 'Google reCAPTCHA', 'password-protected' ), @@ -78,7 +94,7 @@ public function register_reCAPTCHA_settings() { $this->tab ); - // Enable reCAPTCHA + // Enable reCAPTCHA add_settings_field( 'password_protected_enable_recaptcha', __( 'Enable reCAPTCHA ', 'password-protected' ), @@ -87,8 +103,8 @@ public function register_reCAPTCHA_settings() { $this->options_group ); - // reCAPTCHA version v2/v3 - add_settings_field( + // reCAPTCHA version v2/v3 + add_settings_field( 'password_protected_recaptcha_settings', __( 'Captcha Settings', 'password-protected' ), array( $this, 'reCAPTCHA_setting' ), @@ -96,8 +112,8 @@ public function register_reCAPTCHA_settings() { $this->options_group ); - // reCAPTCHA v2/v3 sitekey - add_settings_field( + // reCAPTCHA v2/v3 sitekey + add_settings_field( 'password_protected_recaptcha_v2_site_key', __( 'Site Key', 'password-protected' ), array( $this, 'reCAPTCHA_site_key' ), @@ -105,17 +121,17 @@ public function register_reCAPTCHA_settings() { $this->options_group ); - // reCAPTCHA v2/v3 secretkey - add_settings_field( + // reCAPTCHA v2/v3 secretkey + add_settings_field( 'password_protected_recaptcha_v2_secret_key', __( 'Secret Key', 'password-protected' ), array( $this, 'reCAPTCHA_secret_key' ), $this->tab, $this->options_group ); - - // reCAPTCHA v3 score - add_settings_field( + + // reCAPTCHA v3 score + add_settings_field( 'password_protected_recaptcha_score', __( 'Score', 'password-protected' ), array( $this, 'reCAPTCHA_score' ), @@ -123,8 +139,8 @@ public function register_reCAPTCHA_settings() { $this->options_group ); - // reCAPTCHA v3 badgeposition - add_settings_field( + // reCAPTCHA v3 badgeposition + add_settings_field( 'password_protected_recaptcha_badge_position', __( 'Badge Position', 'password-protected' ), array( $this, 'reCAPTCHA_badge_position' ), @@ -132,8 +148,8 @@ public function register_reCAPTCHA_settings() { $this->options_group ); - // reCAPTCHA v2 theme - add_settings_field( + // reCAPTCHA v2 theme + add_settings_field( 'password_protected_recaptcha_theme', __( 'Theme', 'password-protected' ), array( $this, 'reCAPTCHA_theme' ), @@ -141,63 +157,69 @@ public function register_reCAPTCHA_settings() { $this->options_group ); - // register settings in an array group. - register_setting( 'password-protected-advanced', $this->options_name, array( 'type' => 'array') ); - } + // register settings in an array group. + register_setting( 'password-protected-advanced', $this->options_name, array( 'type' => 'array' ) ); + } - /** + /** * reCAPTCHA Screen * - *@since 2.6 - * + * @since 2.6 + * * @return void password protected reCAPTCHA settings */ - public static function recpatcha_screen() { - do_settings_sections( 'password-protected&tab=advanced' ); - submit_button(); - } + public static function recpatcha_screen() { + do_settings_sections( 'password-protected&tab=advanced' ); + submit_button(); + } - /** + /** * reCAPTCHA Section * * @return void password protected reCAPTCHA section */ - public function reCAPTCHA_section() { - return 1; - } + public function reCAPTCHA_section() { + return 1; + } - /** + /** * ENable reCAPTCHA * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected reCAPTCHA status field */ - public function reCAPTCHA_enable() { - echo '<label> - <input - name="'.esc_attr( $this->options_name ) .'[enable]" - id="pp_enable_recaptcha" - type="checkbox" - value="1" ' . checked( 1, @$this->settings['enable'], false ) . ' - /> ' . - __( 'Enabled', 'password-protected' ) . ' - </label>'; - } + public function reCAPTCHA_enable() { + echo '<div class="pp-toggle-wrapper"> + <input + name="' . esc_attr( $this->options_name ) . '[enable]" + id="pp_enable_recaptcha" + type="checkbox" + value="1" ' . checked( 1, @$this->settings['enable'], false ) . ' + /> + <label class="pp-toggle" for="pp_enable_recaptcha"> + <span class="pp-toggle-slider"></span> + </label> + </div> + <label for="pp_enable_recaptcha"> + ' . + __( 'Enabled', 'password-protected' ) . ' + </label>'; + } - /** + /** * reCAPTCHA Version * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected reCAPTCHA version field */ - public function reCAPTCHA_setting() { - echo '<label> + public function reCAPTCHA_setting() { + echo '<label> <input ' . checked( 'google_recaptcha_v2', $this->settings['version'], false ) . ' type="radio" - name="'.esc_attr( $this->options_name ) . '[version]" + name="' . esc_attr( $this->options_name ) . '[version]" value="google_recaptcha_v2" /> <span>Google reCAPTCHA Version 2</span> @@ -207,28 +229,28 @@ public function reCAPTCHA_setting() { <input ' . checked( 'google_recaptcha_v3', $this->settings['version'], false ) . ' type="radio" - name="'.esc_attr( $this->options_name ) . '[version]" + name="' . esc_attr( $this->options_name ) . '[version]" value="google_recaptcha_v3" /> <span>Google reCAPTCHA Version 3</span> </label>'; - } + } - /** + /** * reCAPTCHA Site Key * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected v2/v3 sitekey field */ - public function reCAPTCHA_site_key() { + public function reCAPTCHA_site_key() { - echo '<div> + echo '<div> <input - name="'.esc_attr( $this->options_name ).'[v2_site_key]" + name="' . esc_attr( $this->options_name ) . '[v2_site_key]" type="text" id="pp_google_recaptcha_v2_site_key" - value="' . $this->settings['v2_site_key'] . '" + value="' . esc_attr( $this->settings['v2_site_key'] ) . '" class="regular-text" /> <p class="description"> @@ -239,12 +261,12 @@ class="regular-text" </p> </div>'; - echo '<div> + echo '<div> <input - name="' . esc_attr( $this->options_name ).'[v3_site_key]" + name="' . esc_attr( $this->options_name ) . '[v3_site_key]" type="text" id="pp_google_recaptcha_v3_site_key" - value="' . $this->settings['v3_site_key'] . '" + value="' . esc_attr( $this->settings['v3_site_key'] ) . '" class="regular-text" /> <p class="description"> @@ -254,23 +276,23 @@ class="regular-text" </a> </p> </div>'; - } - - /** + } + + /** * reCAPTCHA Secret Key * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected v2/v3 secretkey field */ - public function reCAPTCHA_secret_key() { - - echo '<div> + public function reCAPTCHA_secret_key() { + + echo '<div> <input - name="' . esc_attr( $this->options_name ).'[v2_secret_key]" + name="' . esc_attr( $this->options_name ) . '[v2_secret_key]" type="text" id="pp_google_recaptcha_v2_secret_key" - value="' . $this->settings['v2_secret_key'] . '" + value="' . esc_attr( $this->settings['v2_secret_key'] ) . '" class="regular-text" /> <p class="description"> @@ -280,12 +302,12 @@ class="regular-text" </a> </p> </div>'; - echo '<div> + echo '<div> <input - name="' . esc_attr( $this->options_name ).'[v3_secret_key]" + name="' . esc_attr( $this->options_name ) . '[v3_secret_key]" type="text" id="pp_google_recaptcha_v3_secret_key" - value="' . $this->settings['v3_secret_key'] . '" + value="' . esc_attr( $this->settings['v3_secret_key'] ) . '" class="regular-text" /> <p class="description"> @@ -295,21 +317,21 @@ class="regular-text" </a> </p> </div>'; - } + } - /** + /** * reCAPTCHA V3 Score * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected v3 score field */ - public function reCAPTCHA_score() { - echo '<fieldset id="pp_google_recpatcha_v3_score"> + public function reCAPTCHA_score() { + echo '<fieldset id="pp_google_recpatcha_v3_score"> <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_score]" + name="' . esc_attr( $this->options_name ) . '[v3_score]" value="0.1" ' . checked( 0.1, $this->settings['v3_score'], false ) . ' /> @@ -319,7 +341,7 @@ public function reCAPTCHA_score() { <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_score]" + name="' . esc_attr( $this->options_name ) . '[v3_score]" value="0.2" ' . checked( 0.2, $this->settings['v3_score'], false ) . ' /> @@ -329,7 +351,7 @@ public function reCAPTCHA_score() { <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_score]" + name="' . esc_attr( $this->options_name ) . '[v3_score]" value="0.3" ' . checked( 0.3, $this->settings['v3_score'], false ) . ' /> @@ -339,7 +361,7 @@ public function reCAPTCHA_score() { <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_score]" + name="' . esc_attr( $this->options_name ) . '[v3_score]" value="0.4" ' . checked( 0.4, $this->settings['v3_score'], false ) . ' /> @@ -349,7 +371,7 @@ public function reCAPTCHA_score() { <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_score]" + name="' . esc_attr( $this->options_name ) . '[v3_score]" value="0.5" ' . checked( 0.5, $this->settings['v3_score'], false ) . ' /> @@ -358,21 +380,21 @@ public function reCAPTCHA_score() { <p class="description">Select Google Version 3 Score.</p> </fieldset>'; - } + } - /** + /** * reCAPTCHA V3 Badge Position * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected v3 badgeposition field */ - public function reCAPTCHA_badge_position() { - echo '<fieldset id="pp_google_recpatcha_v3_badge"> + public function reCAPTCHA_badge_position() { + echo '<fieldset id="pp_google_recpatcha_v3_badge"> <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_badge]" + name="' . esc_attr( $this->options_name ) . '[v3_badge]" value="inline" ' . checked( 'inline', $this->settings['v3_badge'], false ) . ' /> @@ -382,7 +404,7 @@ public function reCAPTCHA_badge_position() { <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_badge]" + name="' . esc_attr( $this->options_name ) . '[v3_badge]" value="bottomleft" ' . checked( 'bottomleft', $this->settings['v3_badge'], false ) . ' /> @@ -392,28 +414,28 @@ public function reCAPTCHA_badge_position() { <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v3_badge]" + name="' . esc_attr( $this->options_name ) . '[v3_badge]" value="bottomright" ' . checked( 'bottomright', $this->settings['v3_badge'], false ) . ' /> <span>Bottom - Right</span> </label> </fieldset>'; - } + } - /** + /** * reCAPTCHA V2 Theme * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected v2 theme field */ - public function reCAPTCHA_theme() { - echo '<label> + public function reCAPTCHA_theme() { + echo '<label> <input checked="checked" type="radio" - name="'.esc_attr( $this->options_name ).'[v2_theme]" + name="' . esc_attr( $this->options_name ) . '[v2_theme]" value="light" ' . checked( 'light', $this->settings['v2_theme'], false ) . ' /> @@ -423,63 +445,67 @@ public function reCAPTCHA_theme() { <label> <input type="radio" - name="'.esc_attr( $this->options_name ).'[v2_theme]" + name="' . esc_attr( $this->options_name ) . '[v2_theme]" value="dark" ' . checked( 'dark', $this->settings['v2_theme'], false ) . ' /> <span>Dark</span> </label> <p class="description">Select Google reCAPTCHA Version 2 Theme.</p>'; - } + } - /** + /** * Add reCAPTCHA on Password Protected Form * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected reCAPTCHA v2 OR v3 */ - public function add_recaptcha() { - if( ! @$this->settings['enable'] ) - return; //recpatcha is disabled - - if( $this->settings['version'] === 'google_recaptcha_v2' ) - $this->display_recaptcha_v2(); - - if( $this->settings['version'] === 'google_recaptcha_v3' ) - $this->display_recaptcha_v3(); - } + public function add_recaptcha() { + if ( ! @$this->settings['enable'] ) { + return; // recpatcha is disabled + } + + if ( $this->settings['version'] === 'google_recaptcha_v2' ) { + $this->display_recaptcha_v2(); + } + + if ( $this->settings['version'] === 'google_recaptcha_v3' ) { + $this->display_recaptcha_v3(); + } + } - /** + /** * Diaplay reCAPTCHA V2 * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected reCAPTCHA v2 field */ - public function display_recaptcha_v2() { - wp_enqueue_style( 'pp-recaptcha-style', plugin_dir_url( __DIR__ ) . "assets/css/recaptcha.css", array(), '2.6.2' ); - wp_enqueue_script( 'pp-recaptcha-api-v2', esc_url( 'https://www.google.com/recaptcha/api.js' ), array(), null ); - echo '<div + public function display_recaptcha_v2() { + global $Password_Protected; + wp_enqueue_style( 'pp-recaptcha-style', plugin_dir_url( __DIR__ ) . 'assets/css/recaptcha.css', array(), $Password_Protected->version ); + wp_enqueue_script( 'pp-recaptcha-api-v2', esc_url( 'https://www.google.com/recaptcha/api.js' ), array(), null ); + echo '<div class="g-recaptcha" - data-sitekey="' . esc_attr( $this->settings['v2_site_key'] ) .'" + data-sitekey="' . esc_attr( $this->settings['v2_site_key'] ) . '" data-theme="' . esc_attr( $this->settings['v2_theme'] ) . '" > </div>'; - } + } - /** + /** * Diaplay reCAPTCHA V3 * - * @since 2.6 - * + * @since 2.6 + * * @return void password protected reCAPTCHA v3 field */ - public function display_recaptcha_v3() { - $grecaptcha_v3_site_key = isset( $this->settings['v3_site_key'] ) ? esc_attr( $this->settings['v3_site_key'] ) : ''; - $grecaptcha_v3_badge = isset( $this->settings['v3_badge'] ) ? esc_attr( $this->settings['v3_badge'] ) : 'bottomright'; + public function display_recaptcha_v3() { + $grecaptcha_v3_site_key = isset( $this->settings['v3_site_key'] ) ? esc_attr( $this->settings['v3_site_key'] ) : ''; + $grecaptcha_v3_badge = isset( $this->settings['v3_badge'] ) ? esc_attr( $this->settings['v3_badge'] ) : 'bottomright'; - $script = <<<EOT + $script = <<<EOT if('function' !== typeof pprecaptcha) { function pprecaptcha() { grecaptcha.ready(function() { @@ -512,136 +538,136 @@ function pprecaptcha() { } EOT; - wp_enqueue_script( 'recaptcha-api-v3', ( 'https://www.google.com/recaptcha/api.js?onload=pprecaptcha&render=' . esc_attr( $grecaptcha_v3_site_key ) . '&badge=' . esc_attr( $grecaptcha_v3_badge ) ), array(), null ); - wp_add_inline_script( 'recaptcha-api-v3', $script ); ?> + wp_enqueue_script( 'recaptcha-api-v3', ( 'https://www.google.com/recaptcha/api.js?onload=pprecaptcha&render=' . esc_attr( $grecaptcha_v3_site_key ) . '&badge=' . esc_attr( $grecaptcha_v3_badge ) ), array(), null ); + wp_add_inline_script( 'recaptcha-api-v3', $script ); ?> <input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response-password_protected" class="pp-g-recaptcha" data-action="password_protected"> <?php - } + } - /** + /** * Verify reCAPTCHA - * process reCAPTCHA - * - * @since 2.6 - * + * process reCAPTCHA + * + * @since 2.6 + * * @return object WP_Error */ - public function verify_recaptcha( $errors ) { - - if( ! @$this->settings['enable'] ) { - return $errors; // return errors - } + public function verify_recaptcha( $errors ) { + + if ( ! @$this->settings['enable'] ) { + return $errors; // return errors + } + + if ( $this->settings['version'] === 'google_recaptcha_v2' ) { + + $grecaptcha_v2_site_key = isset( $this->settings['v2_site_key'] ) ? esc_attr( $this->settings['v2_site_key'] ) : ''; + $grecaptcha_v2_secret_key = isset( $this->settings['v2_secret_key'] ) ? esc_attr( $this->settings['v2_secret_key'] ) : ''; + + if ( empty( $grecaptcha_v2_site_key ) || empty( $grecaptcha_v2_secret_key ) ) { + $errors->add( 001, 'Google reCaptcha keys not found.' ); + } + + if ( isset( $_POST['g-recaptcha-response'] ) && ! empty( $_POST['g-recaptcha-response'] ) ) { + $response = wp_remote_post( + 'https://www.google.com/recaptcha/api/siteverify', + array( + 'body' => array( + 'secret' => $grecaptcha_v2_secret_key, + 'response' => sanitize_text_field( $_POST['g-recaptcha-response'] ), + ), + ) + ); + + $data = wp_remote_retrieve_body( $response ); + $data = json_decode( $data ); + + if ( isset( $data->{'error-codes'} ) && is_array( $data->{'error-codes'} ) && count( $data->{'error-codes'} ) ) { + foreach ( $data->{'error-codes'} as $index => $error_code ) { + $errors->add( $index, $error_code ); + } + } + + if ( isset( $data->success ) && true === $data->success ) { + return $errors; + } + } + $error_message = wp_kses( __( '<strong>ERROR:</strong> Please confirm you are not a robot.', 'password-protected' ), array( 'strong' => array() ) ); + $errors->add( 'captcha_invalid', $error_message ); + + return $errors; + + } elseif ( $this->settings['version'] === 'google_recaptcha_v3' ) { + + $grecaptcha_v3_site_key = isset( $this->settings['v3_site_key'] ) ? esc_attr( $this->settings['v3_site_key'] ) : ''; + $grecaptcha_v3_secret_key = isset( $this->settings['v3_secret_key'] ) ? esc_attr( $this->settings['v3_secret_key'] ) : ''; + $grecaptcha_v3_score = isset( $this->settings['v3_score'] ) ? esc_attr( $this->settings['v3_score'] ) : '0.3'; + + if ( empty( $grecaptcha_v3_site_key ) || empty( $grecaptcha_v3_secret_key ) ) { + $errors->add( 001, 'Google reCaptcha keys not found.' ); + } + + if ( isset( $_POST['g-recaptcha-response'] ) && ! empty( $_POST['g-recaptcha-response'] ) ) { + $response = wp_remote_post( + 'https://www.google.com/recaptcha/api/siteverify', + array( + 'body' => array( + 'secret' => $grecaptcha_v3_secret_key, + 'response' => sanitize_text_field( $_POST['g-recaptcha-response'] ), + 'remoteip' => self::get_ip_address(), + ), + ) + ); + + $data = wp_remote_retrieve_body( $response ); + $data = json_decode( $data ); + + if ( isset( $data->{'error-codes'} ) && is_array( $data->{'error-codes'} ) && count( $data->{'error-codes'} ) ) { + foreach ( $data->{'error-codes'} as $index => $error_code ) { + $errors->add( $index, $error_code ); + } + } + + if ( isset( $data->success ) && true === $data->success ) { + $grecaptcha_v3_score = (float) $grecaptcha_v3_score; + if ( isset( $data->action ) && ( 'password_protected' === $data->action ) && isset( $data->score ) && $data->score >= $grecaptcha_v3_score ) { + return $errors; + } else { + $error_message = wp_kses( __( '<strong>ERROR:</strong> Low Score ', 'password-protected' ) . ':' . esc_html( $data->score ), array( 'strong' => array() ) ); + $errors->add( 002, $error_message ); + } + } + } + + return $errors; + } - if( $this->settings['version'] === 'google_recaptcha_v2' ) { - - $grecaptcha_v2_site_key = isset( $this->settings['v2_site_key'] ) ? esc_attr( $this->settings['v2_site_key'] ) : ''; - $grecaptcha_v2_secret_key = isset( $this->settings['v2_secret_key'] ) ? esc_attr( $this->settings['v2_secret_key'] ) : ''; - - if ( empty( $grecaptcha_v2_site_key ) || empty( $grecaptcha_v2_secret_key ) ) { - $errors->add( 001, 'Google reCaptcha keys not found.' ); - } - - if ( isset( $_POST['g-recaptcha-response'] ) && ! empty( $_POST['g-recaptcha-response'] ) ) { - $response = wp_remote_post( - 'https://www.google.com/recaptcha/api/siteverify', - array( - 'body' => array( - 'secret' => $grecaptcha_v2_secret_key, - 'response' => sanitize_text_field($_POST['g-recaptcha-response'] ), - ) - ) - ); - - $data = wp_remote_retrieve_body( $response ); - $data = json_decode( $data ); - - if ( isset( $data->{'error-codes'} ) && is_array( $data->{'error-codes'} ) && count( $data->{'error-codes'} ) ) { - foreach ( $data->{'error-codes'} as $index => $error_code ) { - $errors->add( $index, $error_code ); - } - } - - if ( isset( $data->success ) && true === $data->success ) { - return $errors; - } - } - $error_message = wp_kses( __( '<strong>ERROR:</strong> Please confirm you are not a robot.', 'password-protected' ), array( 'strong' => array() ) ); - $errors->add( 'captcha_invalid', $error_message ); - - return $errors; - - } else if( $this->settings['version'] === 'google_recaptcha_v3' ) { - - $grecaptcha_v3_site_key = isset( $this->settings['v3_site_key'] ) ? esc_attr( $this->settings['v3_site_key'] ) : ''; - $grecaptcha_v3_secret_key = isset( $this->settings['v3_secret_key'] ) ? esc_attr( $this->settings['v3_secret_key'] ) : ''; - $grecaptcha_v3_score = isset( $this->settings['v3_score'] ) ? esc_attr( $this->settings['v3_score'] ) : '0.3'; - - if ( empty( $grecaptcha_v3_site_key ) || empty( $grecaptcha_v3_secret_key ) ) { - $errors->add( 001, 'Google reCaptcha keys not found.' ); - } - - if ( isset( $_POST['g-recaptcha-response'] ) && ! empty( $_POST['g-recaptcha-response'] ) ) { - $response = wp_remote_post( - 'https://www.google.com/recaptcha/api/siteverify', - array( - 'body' => array( - 'secret' => $grecaptcha_v3_secret_key, - 'response' => sanitize_text_field( $_POST['g-recaptcha-response'] ), - 'remoteip' => self::get_ip_address(), - ) - ) - ); - - $data = wp_remote_retrieve_body( $response ); - $data = json_decode( $data ); - - if ( isset( $data->{'error-codes'} ) && is_array( $data->{'error-codes'} ) && count( $data->{'error-codes'} ) ) { - foreach ( $data->{'error-codes'} as $index => $error_code ) { - $errors->add( $index, $error_code ); - } - } - - if ( isset( $data->success ) && true === $data->success ) { - $grecaptcha_v3_score = (float) $grecaptcha_v3_score; - if ( isset( $data->action ) && ( 'password_protected' === $data->action ) && isset( $data->score ) && $data->score >= $grecaptcha_v3_score ) { - return $errors; - } else { - $error_message = wp_kses( __( '<strong>ERROR:</strong> Low Score ', 'password-protected' ) . ':' . esc_html( $data->score ) , array( 'strong' => array() ) ); - $errors->add( 002, $error_message ); - } - } - } - - return $errors; - } - - } + } - /** + /** * Get IP Address * - * @since 2.6 - * + * @since 2.6 + * * @return string client IP address */ - private static function get_ip_address() { - $ipaddress = ''; - if (isset($_SERVER['HTTP_CLIENT_IP'])) - $ipaddress = sanitize_text_field( $_SERVER['HTTP_CLIENT_IP'] ); - else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) - $ipaddress = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED_FOR'] ); - else if(isset($_SERVER['HTTP_X_FORWARDED'])) - $ipaddress = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED'] ); - else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) - $ipaddress = sanitize_text_field( $_SERVER['HTTP_FORWARDED_FOR'] ); - else if(isset($_SERVER['HTTP_FORWARDED'])) - $ipaddress = sanitize_text_field( $_SERVER['HTTP_FORWARDED'] ); - else if(isset($_SERVER['REMOTE_ADDR'])) - $ipaddress = sanitize_text_field( $_SERVER['REMOTE_ADDR'] ); - else - $ipaddress = 'UNKNOWN'; - return $ipaddress; - } + private static function get_ip_address() { + $ipaddress = ''; + if ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) { + $ipaddress = sanitize_text_field( $_SERVER['HTTP_CLIENT_IP'] ); + } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { + $ipaddress = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED_FOR'] ); + } elseif ( isset( $_SERVER['HTTP_X_FORWARDED'] ) ) { + $ipaddress = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED'] ); + } elseif ( isset( $_SERVER['HTTP_FORWARDED_FOR'] ) ) { + $ipaddress = sanitize_text_field( $_SERVER['HTTP_FORWARDED_FOR'] ); + } elseif ( isset( $_SERVER['HTTP_FORWARDED'] ) ) { + $ipaddress = sanitize_text_field( $_SERVER['HTTP_FORWARDED'] ); + } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { + $ipaddress = sanitize_text_field( $_SERVER['REMOTE_ADDR'] ); + } else { + $ipaddress = 'UNKNOWN'; + } + return $ipaddress; + } } - diff --git a/assets/css/admin.css b/assets/css/admin.css index 5e64e8f..3183387 100644 --- a/assets/css/admin.css +++ b/assets/css/admin.css @@ -1,18 +1,18 @@ #help-notice { margin-top: 10px; + margin-bottom: 10px; } #help-notice, #pp-sidebar-box { background: white; - border: #9d9d9d 1px solid; padding: 0px 20px; } .wrap-col-70 { - flex: 0 0 70%; - width: 70%; + flex: 0 0 80%; + width: 80%; } .wrap-col-25 { - flex: 0 1 25%; + flex: 0 1 15%; } .wrap-row { display: flex; @@ -22,9 +22,9 @@ h2.nav-tab-wrapper { display: inline-block; } div#pp-sidebar-box { - border: 3px dashed #c5c2c2; - border-radius: 10px; - margin-top: 9px; + border: 3px solid #fff; + /*border-radius: 10px;*/ + /*margin-top: 9px;*/ } #pp-sidebar-box { line-height: 1.5; @@ -37,6 +37,10 @@ div#pp-sidebar-box { font-size: 14px; font-weight: 500; } + +#pp-sidebar-box h3 { + font-weight: 400; +} .pro-tab-content { color: #384d48; position: relative; @@ -79,4 +83,663 @@ a.nav-tab.getpro.nav-tab { input#password_protected_password_new, input#password_protected_password_confirm, input#password_protected_remember_me_lifetime, textarea#password_protected_allowed_ip_addresses { width: 50% !important; +} + +.template-container { + width: 100%; + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + background: #000; +} +.banner { + margin-top: 15px; + width: 860px; + /*height: 480px;*/ + /*background-image: url("images/PPP-ads-14.png");*/ + background-color: rgb( 255, 255, 255 ); + background-position: center; + background-repeat: no-repeat; + padding: 30px 50px; +} +.banner-header { + margin-bottom: 2.5em; +} + +.banner-header h2, .banner-header h1 { + font-weight: 700; + color: #000; +} +.banner-col-2 { + width: 50%; + float: left; +} +.password-protected-feature { + width: 100%; + font-size: 16px; + color: #fff; + position: relative; + padding-left: 35px; + padding-bottom: 25px; +} +.password-protected-feature img { + position: absolute; + top: -3px; + left: 0; +} +.banner-footer { + margin-top: 1.5em; +} +.banner-button { + background: #fda84e; + color: #000; + display: inline-block; + text-align: center; + height: 50px; + line-height: 50px; + border-radius: 5px; + text-decoration: none; + font-weight: 500; + padding: 0 15px; + font-size: 15px; +} + +.sidebar-widget { + margin-top: 15px; + margin-bottom: 15px; + background: rgb( 255, 255, 255 ); + padding: 5px 15px; +} +.sidebar-widget .password-protected-feature { + padding-bottom: 15px; + font-size: 15px; +} +.sidebar-widget .banner-button { + font-size: 12px; + font-weight: 500; + padding: 0 10px; + height: 35px; + line-height: 35px; +} +.clearfix { + clear: both; + display: table; +} + +.password-protected-feature a:hover { + text-decoration: underline; +} +.password-protected-feature a { + text-decoration: none; + color: #000; +} + +.sidebar-widget .banner-body { + width: calc( 100% - 25px ); +} +.password-protected-datatable { + width: 100%; +} + +.password-protected-datatable thead tr th, +.password-protected-datatable tfoot tr th { + cursor: pointer; + border: 1px solid #dcdcde; + background: #fff; + padding: 15px 0; +} + +.password-protected-datatable tbody tr td { + padding: 15px 0; + border: 1px solid #dcdcde; +} + +.pp-help-notice { + margin-top: 15px; + margin-bottom: 15px; + background: #EBEDF1; + padding: 10px; + border: 1px solid #d9dce3; + border-radius: 5px; + color: #000; +} + +.pp-help-notice p { + font-size: 14px; + font-weight: 500; + margin: 0; +} + +/* + tabs UI styling +*/ +.pp-wrapper { + margin-top: 15px; + width: 100%; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + background: #fff; +} + +.pp-nav-wrapper { + width: 100%; + background: #efeff0; +} + +.pp-nav-tab { + border-top-left-radius: 5px; + border-top-right-radius: 5px; + display: inline-block; + border-right: 1px solid #d9dce3; + background: #f6f6f6; +} + +.pp-nav-tab a { + font-size: 14px; + font-weight: 600; + color: #707578; + text-decoration: none; + padding: 8px 14px; + display: block; + line-height: 32px; +} + +.pp-nav-tab span { + line-height: 32px; + display: inline-block; + font-size: 21px; + font-weight: 600; +} + +.pp-nav-tab-active { + background: #fff; +} + +.pp-nav-tab-active a { + color: #8076ff; +} + +.pp-nav-tab:hover { + background: #fff; +} + +.pp-nav-tab a:hover { + color: #8076ff; +} + +.pp-sub-tabs-wrapper { + width: calc( 100% - 15px ); + height: 45px; + background: #fff; + border-bottom: 1px solid #f7f8fa; +} + +.pp-sub-tabs-wrapper .pp-subtabs-links { + height: 45px; + display: inline-block; + border-bottom: 3px solid #f7f8fa; + position: relative; +} + +.pp-subtabs-links a { + line-height: 45px; + text-decoration: none; + font-weight: 600; + color: #707578; + font-size: 14px; + padding: 0 15px; + height: calc( 100% - 1px ); + display: inline-block; +} + +.pp-subtabs-links a.active { + border-bottom: 3px solid #8076ff; + color: #8076ff; +} + +.pp-subtabs-links a:hover { + color: #8076ff; +} + +.pp-subtabs-links a:focus, .pp-nav-tab a:focus { + outline: none; + box-shadow: none; +} + +.pp-settings-wrapper { + width: calc( 100% - 30px ); + background: transparent; + border-top: none; +} + +.pp-content-wrapper { + padding: 20px; + box-shadow: 0 0 20px #00000012; +} + +.pp-content-wrapper:has( input[type="submit"].button.button-primary ) { + padding-bottom: 0; +} + +/** + * Creating a toggle switch + */ +.pp-toggle-wrapper { + position: relative; + overflow: hidden; + display: inline-block; + transform: scale( 0.8 ); + transform-origin: left; + font-size: 10px; + color: #707578; +} + +.pp-toggle-wrapper input { + position: absolute; + left: -99em; +} + +.pp-toggle-wrapper .pp-toggle { + cursor: pointer; + display: inline-block; + position: relative; + width: 50px; + height: 30px; + border-radius: 20px; + font-weight: 600; + border: 1px solid #e4e8ec; + transition: all 200ms cubic-bezier( 0.445, 0.05, 0.55, 0.95); +} + +.pp-toggle-wrapper .pp-toggle:before { + content: ""; + left: 18px; + color: #fff; +} + +.pp-toggle-wrapper .pp-toggle-slider { + display: inline-block; + position: relative; + z-index: 1; + width: 25px; + height: 25px; + top: 3px; + left: 3px; + transition: all 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95); + border-radius: 20px; + background: #bbbbbb; +} + +.pp-toggle-wrapper input:checked + .pp-toggle .pp-toggle-slider { + width: 25px; + transform: translateX(20px); + background: #8076ff; +} + +.pp-toggle-wrapper input:checked + .pp-toggle:before { + color: #23282d; +} + +.pp-toggle-wrapper input:checked + .pp-toggle { + background: transparent; +} + +.pp-pro-tab { + background: #8076ff; +} + +.pp-pro-tab .dashicons-superhero-alt { + color: #fff; +} + +.pp-pro-tab.pp-nav-tab-active { + background: #8076ff; +} + +.pp-pro-tab a, +.pp-pro-tab a:hover { + background: #8076ff; + color: #fff; +} + +.pp-pro-tab span { + color: #fcc045; + margin-right: 10px; + font-size: 30px; +} + + + +/** + * Adding css for pro banner + */ +.pp-pro-banner { + width: 800px; + height: 484px; + background-image: url( "../images/banner-background.png" ); +} + +.pp-pro-banner * { + color: #2D3748; +} + +.pp-pro-banner .pp-container { + padding: 20px; +} + +.pp-wrapper:has( .pp-pro-banner ) { +} + +.pp-content-wrapper:has( .pp-pro-banner ) { + padding: 20px 20px 20px 20px; +} + +.pp-pro-banner .pp-container .heading-1 { + font-size: 16px; + font-weight: 400; + padding: 0; + margin: 0; +} + +.pp-pro-banner .pp-container .heading-2 { + font-size: 24px; + font-weight: 700; + padding: 0; + margin: 0; +} + +.pp-pro-banner .pp-container .heading-2 span { + color: #8076FF; +} + +.pp-banner-body { + margin: 20px 0; + width: 100%; +} + +.pp-cols { + width: 50%; + float: left; +} + +.pp-cols div { + font-size: 14px; + font-weight: 400; + margin-bottom: 25px; + color: #2D3748; +} + +.pp-cols div a { + text-decoration: none; + color: #2D3748; +} + +.pp-cols div a:hover { + text-decoration: underline; + text-decoration-color: #2D3748; +} + +.pp-cols.pp-cols-section-2 div { + /*margin-bottom: 35px;*/ +} + +.pp-cols div img { + margin-bottom: -4px; +} + +.pp-clearfix { + clear: both; + display: table; +} + +.pp-sidebar-footer a, +.pp-banner-footer a { + display: inline-block; + background: #8076FF; + padding: 10px 20px; + border-radius: 50px; + font-size: 14px; + font-weight: 600; + color: #fff; + text-decoration: none; +} + +.pp-sidebar-footer a { + font-size: 12px; +} + +.pp-sidebar-widget { + float: right; + margin-top: 15px; + position: relative; + width: 250px; + background: linear-gradient(180deg, #dad7ff 0%, #fff 100%); + background-position-x: right; + background-position-y: bottom; + + border-radius: 8px; + border: 1px solid #DAD7FF; +} + +.pp-sidebar-widget .pp-container { + padding: 20px; +} + +.pp-sidebar-header .heading-1 { + font-size: 16px; + font-weight: 400; + padding: 0; + margin: 0; +} + +.pp-sidebar-header .heading-2 { + font-size: 24px; + font-weight: 700; + padding: 0; + margin: 0; +} + +.pp-sidebar-header .heading-2 img { + margin-bottom: -15px; + margin-left: 8px; +} + +.pp-sidebar-header .heading-2 span { + color: #8076FF; +} + +.pp-sidebar-body { + margin: 20px 0; + width: 100%; +} + +.pp-sidebar-body ul li img { + margin-bottom: -4px; +} + +.pp-sidebar-body ul li a { + text-decoration: none; + color: #2D3748; +} + +.pp-sidebar-body ul li a:hover { + text-decoration: underline; + text-decoration-color: #2D3748; +} + +.pp-sidebar-body ul li { + font-weight: 400; + font-size: 14px; + margin-bottom: 15px; +} + +.pp-sidebar-footer { + text-align: center; + width: 100%; +} + +.pp-docs-link { + padding: 0 5px; + border-radius: 5px; + display: inline-block; + background: #ffffff; + font-size: 10px; + font-weight: 600; +} + +.pp-docs-link a { + color: #8076ff !important; +} + +.pro-badge { + border: 1px solid #1d2327; + border-radius: 5px; + padding: 0 5px; + background: #8674f6; + height: 25px; + display: inline-block; +} + +.pro-badge a { + color: #fff; + font-weight: 600; + text-decoration: none; + font-size: 13px; + padding: 0;margin: 0; + line-height: 25px; + display: block; +} + +.pp-pro-branding *[disabled] { + background: #f7f7f7; + color: #b3b3b3; +} + +@media screen and ( max-width: 1589px ) { + .pp-nav-tab a { + padding: 8px 10px; + } +} + +@media screen and ( max-width: 1496px ) { + .pp-nav-tab a { + padding: 8px 8px; + font-size: 10px; + } + .pp-nav-tab a span { + font-size: 19px; + } + + .pp-nav-tab span { + margin-right: 0; + } +} + +@media screen and ( max-width: 1272px ) { + .wrap-row { + display: block; + } + .wrap-col-70 { + display: block; + width: 100%; + } + + .wrap-col-25 { + display: block; + width: 100%; + } +} + +.sidebar-body-image-container { + width: 25px; + display: inline-block; + float: left; +} + +.sidebar-body-text-container { + width: calc( 100% - 25px ); + display: inline-block; + float: left; +} + +.pp-sidebar-widget li:has( .sidebar-body-text-container ), .pp-sidebar-widget li:has( .sidebar-body-image-container ) { + clear: both; + display: table; +} + +.disabled-content { + opacity: 0.8; + position: relative; +} + +.pp-wrap-content { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; +} + +#pro-popup { + width: 100vw; + height: 100vh; + position:fixed; + top: 0; + left: 0; + background: rgba( 0, 0, 0, 0.05 ); + backdrop-filter: blur( 1px ); + display: flex; + justify-content: center; + align-items: center; +} + +#pro-popup .pp-container { + width: 514px; + background: #fff; + position:relative; + padding: 15px; + border: 1px solid #DAD7FF; + background: linear-gradient(175deg, #DAD7FF 0%, #FFFFFF 100%); + border-radius: 8px; +} + +#pro-popup .pp-close-button { + position: absolute; + top: 10px; + right: 10px; + font-size: 20px; + color: #2D3748; + cursor: pointer; +} + +#pro-popup .pp-body { + text-align: center; + padding: 15px 0; + margin: 15px 0; +} + +#pro-popup .pp-body img { + margin-bottom: 10px; +} + +#pro-popup .pp-body .pp-description { + text-align: center; + color: #2D3748; + font-size: 18px; + font-weight: 400; + line-height: 24px; +} + +#pro-popup .pp-body .pp-link { + margin-top: 10px; + display: inline-block; + padding: 16px 32px; + border-radius: 24px; + background: #8076FF; + color: #fff; + font-weight: 600; + font-size: 16px; + line-height: 16px; + text-decoration: none; } \ No newline at end of file diff --git a/assets/images/background-image-1.png b/assets/images/background-image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9962c78fb263474989df468aa612e2d174be81a0 GIT binary patch literal 2282 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 Ef)AfJ8UO$Q literal 0 HcmV?d00001 diff --git a/assets/images/background-image.png b/assets/images/background-image.png new file mode 100644 index 0000000000000000000000000000000000000000..cff225bbf99e3df26fd9feaa85a2907d27b3cd82 GIT binary patch literal 2485 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 literal 0 HcmV?d00001 diff --git a/assets/images/banner-background.png b/assets/images/banner-background.png new file mode 100644 index 0000000000000000000000000000000000000000..6a2e8a7212c508eb700588dcb25fd49a4e63700b GIT binary patch literal 177588 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 W8ZtJu3^t<x0000<MNUMnLSTaBK@y?> literal 0 HcmV?d00001 diff --git a/assets/images/chart.png b/assets/images/chart.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8230914a2fec5b3193840b4115def6a0f711ee GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eB{$x)V$B+ufr@^~<TOD|c?>!b>pUmQx$YS=u zEg3{4vQ*g}bW{j*C|q(RNH0)tlhSF%ITNNl^xT?sYOP%35Al~1nL^)+*@>xeU;BN4 z)7-J_yWy&7A}cmTHU3i<n#{2yO2IMLwD_<{{<E4J92!{`S5iw(vb^Js^V=XRd{jSe t!JTSnwM+AQzbu{D;%4<-PWG~B*r^Y;QS*+uF$0~);OXk;vd$@?2>>bsR$~AF literal 0 HcmV?d00001 diff --git a/assets/images/check.png b/assets/images/check.png new file mode 100644 index 0000000000000000000000000000000000000000..e6eb8a0672488d232dc52d34a0631cc6a91598a8 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhoCO|{#XvD(5N2eUHAey{$XFcY z?!>U}oXkrghb7(7*O7r?V?XzwL{^|2i>HfYNCji*#QV929C(i9&e!^C$Q+V2Vb!+v zGZ&P!_)REddZ)Hv?t<-(r#XBWqz@?9%XP3YKarebT(-kmfYV!C^ZEUszjKt2RNTF> z$I!&#f&b65PeK?h?wUVb{_3Zf<dyTE&rKCL;J!lIRN%(d!|yq^CK*`lW(+%H<94Lz zeu3k`3m?K<8Sl9kuKQ{2<jru${&Xx0cg1=;UcTu497_*OSiWS=db5LXuG!l6ud1w> zAGpe+&5QBhQ^$=pU;d@OW-FL==BB+T^Wtqr8)|Re*cWzX+02K(cd^bZTOP>%gg@!e z?g{>9#kNdn?B3E{X2hr-8xS&AkL|MWY6qp>A7T%qbmdYaGn?Jz{p$@CI6m$Nh7W_M LtDnm{r-UW|wZ4+c literal 0 HcmV?d00001 diff --git a/assets/images/cropped-logo.png b/assets/images/cropped-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..16de7d374484a4d2f91d356a05f55d0fc1c08443 GIT binary patch literal 6521 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 literal 0 HcmV?d00001 diff --git a/assets/images/crown.png b/assets/images/crown.png new file mode 100644 index 0000000000000000000000000000000000000000..db28467bea7b695814038effd3c3dc9986ba4206 GIT binary patch literal 1207 zcmV;o1W5adP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP<VFdsH1WZXpK~#7F?N(23 z8$}d<GqY<u-lS}j14-<vORJU`Byc4-A(0Iy4j{~lWBdt7{0ZEA0$Z4Sh=jy391%iV z%K@o^0}+TIKowi5u26znC)8Q5cXx)FwRgR1Z-{DvXr=xnYv0WK_j_;tcmST^8UAM= zm=b*>SHuKrLZ%*6QtRylm;w?^2|{3x0cb+zL=66!hbbVrt>qG8s0Ii%vDdAj^-d>H z_8Nsv#$XFDYG$0X3aXf)E=WFvIv&_+6b#;8l``1Pe)w}es&iX812Iq;rP~-GTxAGp zJYd-&N-1hc0o~$@qyb~)F3H4njG^r$S)kh}2wR=UEMf%Jc=F2w9fBevxQ2O!VO5^z zHKWD|Xt=J#gP2ZUyLXGP{Y}S{Ul4Ls*LTy+ND*eND33<RO@9-*#^n+PYL0KDhqa=b zl5Cy1$egVlKGr6)YO9(@Kv%rp=h3C}b;gn=1JR}R_9yVfLsVjYv|3KmIr~exYb=+N zblt{{lJJEKfCItXU*1eIU<8#ALN!*?VmqA~s)`xe0fKjgJP{a?8pXJr6w}+!Z%z<k z4A=Sb*nvrk8+<pbXE?hRou)*o4v(Vhk!;M*Zmd@MIn^*`YZJ*^xf)}vK0yEhGx?|N zwpR9nibM<fc`XW=V73`_LA0JHj}StoU@3$TMW{Sf=<MUdmB5O}-iiA~2t<QXtQdlX z*u}xD=z=9HRk4Hp){i4t3K{#=2h$dX_r<(O&SRIy-4d^2aY+agQicMv$%q=GTN0Ht zMwpi1rh064kFTX3D@SJUQAyc=VJC;^{3C&Y1i5N~dne0pmO-QNydwgZ&hr6@>3G2b z`am9xQxqiaOy`$f3@Ab%T!PbI3qb93+)xC#cIF2XKfKg~i$GR-p}lmi3uuN;*mQmz zH6tYO$5(Hg_rG{|!Z;v7R%|XaxR?PGRS%LU*dKqh21j4(;W)Mg*8O~9OhH2Y#$mPd ze%F+%cjER5RR=iz<)zqo>i2-Cr1Qf~U%vF>Aw2)qmyhFa214u@F1~)-|I#jjzL`1K zTT~q+7Z6oBe_cA)zW;m1kLl-l?RHETcHqhfpLSA<fBLfZ?Hstrve@w;=WO4(cQ6a- zm%Bhz7rcIYlGJd{dnkc@s6eLp2(aRTdnAMP-5f}{J}7UTfcnb!pyclYd^XkrY2oN3 zlzCDlQ$Lx22;#I;(ECa8$MW1M%&goClZ$bB@z|H`-)4N<zBwR7=3T&9kH>OG_6rXt zJAe^x^3R5l(>E;t7dqr^@Qx)&T^}7ovF0bkWq6KP6(D_``}Gl|G}|AGF3!C(N;t%B zAjDq9{Z?*^Fn;IrCmQ@0;IA)=U_13@yPiluz<;d}q9ewt{}vG*%jDPCu0$WzqmSN1 z0!d`}Ra!&{Ugd$bi%5xN4B-R*mwOjcIB-C2&a9i}x%Mz6EJM?x;|z2<<JCPC_#5dK V&0dV7IRO9w002ovPDHLkV1i=BECc`m literal 0 HcmV?d00001 diff --git a/assets/images/failed.png b/assets/images/failed.png new file mode 100644 index 0000000000000000000000000000000000000000..5507a561c4bec85a78204c1b23b157cbb683d4ed GIT binary patch literal 1100 zcmV-S1he~zP)<h;3K|Lk000e1NJLTq001Ze001Zm1^@s6jQ+T700009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP<VFdsH1K~+TK~#7F&6&+k zQ$ZBR|1&K@DFPZafQcz_g9`()fR(W%x^q*BiA#L|fj)uo1bp}a;@U{#-o&DAbYV(N zl#QX17zmQcmn|Z_<2kpqw&i|KOY1MW>1}6j=if7D&YU?F&}9AjOjO9gAf&hns6hdA zD!RCh?za_0nr_p|FqUB$$)0=hBs36yI<F>XI$IH(AVHG_F+NDsU`YeH>7H0T?e!r~ z0$ErXfyV|gi5ftIE_fB{Dsc1VlL=+0DGiIcLDP@vp0V)-r%sLnHxu(SwX&KW5}3Uh z8;{$yTMFbU4I!8yUyGtHs8kllXkRS8UD+b7x|6uq^%KX4!4LuotCkZ2d0IJap#DVj zW0zAl#p^HT9|(!3Xe0*W-DBgkg||h4>xr3&K!Bze5i}4E@)_j%3jSD}Vo7lhRf-FC zbeUH*a5xL+wV0R|Jht8{s-S)77DAV=n)jKn%h>z$2Gx*7?i^duw4f|etV0V4D~MxS zuME&t-8ySA<YZnOOtVIzNuaeIZT%xBK5y$EhHPqvE>emK^OdGIiYk1MtruuLd*X9J z;zDFeUDy{nW0Ejr6q@9%H(Y$5UHd}*mnyyw(==O&_X?+TQb?iwGs7j~nB9-BXmPy7 z(aw+j0A$7Xq1({K5Q;1a5rGCAPD&R>*%$vgEZ(2#x@2BDNFfHKfQmqa&XGHw`-UwR zkry~impXZ#-NLYgE!bjXZ6{cp^!pHpjy4;MIE9t=Yd5sQPB4GK@ovSC!^%8AdLN4X z&uY6Xgq>e2AK(?%##6lQ^?}N;Qpo{@ne5tU68YP*-GA5-X`bSg*Y05lafe&qu}{|F zeRzN6z4dTpML!EBr;KkbaLG$&wqD4=(VJ*m3qBU?xM15a<YR#eg;Y=>m!eF@y>rtU zm-c2yA1sA`Y%a40SLnbm>1>)59{liVXUp|Vd0;njxy-KV4jxEzH6myVg_;u(t|`~g zcZ+5!<urwM@WNqnrF*p#T!r9QQ{VxN*^q~vkO$zswjOZhfnUu)ZRY<<&EY?ROCyD{ zNO3303S&z6h>532x?nw~D3Gm~1E$enXyYg=DwXZUy)inEHgKv98oMV}UQDvA&1@v* z`FtEjT@k77*rV%}pIT-!bmWV1K?ik1B(pdgwQO;EY-4e579xMTIxTowd+$!zmiQd= z!ESnxoc1Bzrcq;#BSzdw9OIg>veVLjJ*t#?h8n?E<N8Z?>|c?{4qrudE|EaVDIvJB z@9!+l7UM0IcP*<zrNeW2m<N73Q%fla$PFTV_$vP!0^78|rxer@XH1-wK!d-6Wmq?` S8%k~f0000<MNUMnLSTZ=dh(M1 literal 0 HcmV?d00001 diff --git a/assets/images/lock-2.png b/assets/images/lock-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbe3860e377ba252b06f5cce6d81955b59cab21 GIT binary patch literal 546 zcmV+-0^R+IP)<h;3K|Lk000e1NJLTq000yK000yS1^@s6jfou%00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP<VFdsH0k=s+K~#7F#Z=8r z0#Oj2hlH!!folaq1!4ti2Ur1nfYrpqzD+zBByqO_paQW1*9w3N#0umpF^u0l2-$zv zi%#;`VSc_hzmMoYNIPufSXFFQDUiz-_;@(YooGo+zJ5^SBA;53!tZkzpC_DWTGKIr zTHq%LVdS~&&~G9%={0D^M4>-WL0sqc*ikh^jZ1W(R@EXrpf-N3G?<BexRW)EO@``u zLR=#aSm_?O!JmV-k+Ow+=7=m5o%vrGa7#A8Uf>vkUjS?Y{uGhDmG~3@Dw2jsM=#OQ zd0eG$*rp9G+S-gMlU#~?mt{;WXwK4L2Jl`jMJE|xtn`n7=xoQ#nm87a=y*du*lsBx z#zh9$Mwg?6+~r4o&7-(X)oCi3+}-j~As{Mh?bAwL;vnjd?sGF9rF_3WG4v&X#wdO( zhF9u10bm%fsqFVQRLTrDrPBK-TdloapF6P4j8NXDgxE)KA3+|N=#+UhCTX22h;l|U zI%|whknFapqcV@iN)J>k?VCT?0K!HDvK0V`0PqUwA?he#ZSYgrT;;izzlXBRisVf^ kF~w(k$C>J(is-NC8>R`O1CxNXLjV8(07*qoM6N<$f+;WO8~^|S literal 0 HcmV?d00001 diff --git a/assets/images/main-image.png b/assets/images/main-image.png new file mode 100644 index 0000000000000000000000000000000000000000..6e06a71ae7233d23b9ad3439138f3f883bbfb169 GIT binary patch literal 585 zcmV-P0=E5$P)<h;3K|Lk000e1NJLTq000mG000yS1^@s6gkrsS00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP<VFdsH0p3YOK~#7Fja1!H z!axw-I~5;|6&O2+6$llG6+j2#sOTHv%|T{N2WkaC1!4!G0w@6=bsWy`+Y1m9{MnhC z+}-YeyZh~4j1(kpxxiH9!ih9-46){7WGElfjT18~+M9xNC>43l9EVtwY=6oxjN?wv zbbkhDyQyxh)Z+VfG-d_h1lxuzpzE9QQfF62H?EmQyUaVQE-`cYlvY+wC$F=)T+V0^ z_smeXh=MqIfnAip-(BsT1W?Y&14wLu#7OTvc#70V)Z-Lv2k=4?r_S%wY=y#(SS_I> zN@9WiF6vD*<$MX`$k!htvy=G2q-%g%_k_!4k>L^#cL=o5KmmfBa4u|o<?3{HWd9du z1z>m3Vm<8pZW#1_fNuo$kL90&auVd;Ko-YrV-<%<(Wu*Y4GtE{dn_R=WUOWENoaNB zl<f^cNo1XbwGeTm_gOnB5dk<|M<sv-hQ=d}myAm}%FJqXhcb#K^i6^q58+%ZIqsl- z%9o_ffRV!Z+Lb_xv!HjJ8K=CBsJDplESxwi16BSd6(Ol10CY0_W3qBC<O0)}y-L{@ z89EM8ofR%$?CO7zo3ap#O1{c>tOKMR!Lq7B90ty3EgJwUAV2eb+H?pqrxbT@+uq1G X;Y`0%at!E`00000NkvXXu0mjf_>cF+ literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-04.png b/assets/images/ppp-ads-04.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd6e445bc3ad0f69deb83decaeec4dc684bfda1 GIT binary patch literal 624 zcmV-$0+0QPP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy~B1uF+R7i={mOn^WQ545Nm4ic5LlguxGzo#DgIE|5WP}bGNJ4`& zI9QNy9HPqwhi*hjQ;LE}gHD=MTTRUo6wx5kA1WwtDyTqyaUSRXy1(D=zIp}*9eDg6 z=Xc)sd(Zd$d2dIpR%1JD=eDB%3xc+I<ArWu9O&F4#y4Qa1txNT7Bw*NMc^*b51e#? zH&xKRa1gix^tjM^xR}AX1&spjz%VfBg<0UR#jLr&h!-x~AyT`l1WML?u$aMXC@!_V zz^5%p6zvc&<pNW=3~+&Ce*s!IFU;rsZTawqqTh6ZClxr_D-(EO#K7+Wx4f|G0+S_i z7fha~z;bg;*&JN7PEtM30_U57z3?0u0w!GG0I&)?^1@@w{<j3{zzMtW0-hz{bHE^Q z+68)}d@eBSLeX*4z`PgEl}ZE%aL-F2%Z6nXZ5Qw`Hz!^=1-yrXbbo0E_ON!vbzr7S zkq!I?@GkYY5a_U&zQ@gV#0zT%kjAY<Ujp9OoLNqy`#Qxgu#}Q&0acnL?h^383q4wo z9C%9x2J|%r=a*zJV&M{B9~2#v1<z%m9rHaG2)wo5FTlQpq&pMa0mUAx@1j?6gL>gM za3=GR4%?Vzs(WkHg$Bu@3fHuLE^ss@&~3Q8Y^P^H>NQD7)wcj_>U_l5`a9VRFM%KF zQ2oI+fzLMOAAmjD);e%$P{T{#PBBoC;A3nCT@7Wk@}GZI06zh)mc~%^PO#1Z0000< KMNUMnLSTZbu@Wo* literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-05.png b/assets/images/ppp-ads-05.png new file mode 100644 index 0000000000000000000000000000000000000000..79d9d4d5ccc6124c628a2437fbaf391bb2612b81 GIT binary patch literal 587 zcmV-R0<`^!P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}{YgYYR7i={mN94*K@f&NHHBayYM}uk7J?8g0$K`c7px*gv=Fov zL@b2WYFUWrqDUZxt%ZfL(I#pssMuJ9h+PT;CMtqH3qh1{GUvaK<-NU^Ly6!I^KN%$ zZf5`4-MP1+sw&nK8`m}Zzeq4-Kf!SbxC6Xv`=XB=Nn^b~m6>1q$dzsa;5_ie$NIS@ zg5znA&q3g!k4)2JuQyqW@4)7k1a=!^ADIe{lfWrp8?Xmh0;<F?F)+&GZOaoJ7lAPa zKL>n~=`FAb>`lHy&0$($*h-TvvadvclfdeJK%2V^+!Zs!{J;dkaSXVm=}jMbRB-D6 zGd?mK93$|1^}_o!=(`7Uo&}Cd?l&-)x8NEd2M%Yp%Z&--{1bQ~`H@l2eeM<BodEU& zUz4I#B6C;;K54!xU1DgLYP*j-*D1PTivV7iXqFP#=FI^+G@p|$;i`@%Iz_jVp>&E$ zCF=OdSzy#e<4$JZX9-od32ms!84KKd%Lg6PrarzY8{bYF9bC;O;nko73&C+6YC+?L z%>FHvB0+2>b&CzgdW=$ueB^>we_B#Ww-%o1f<4YlS}aj&wGG%6T-|eWYysYAzL*>S zq*Z+IvF@5(s6;z~kJ|9QX15X?*W@q=7UXk-{Y3V`+M1NzkAC5{HsOJfb<b~w|NLJC Z@C%T5nQNI(Rd@gZ002ovPDHLkV1lh!0!jb? literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-06.png b/assets/images/ppp-ads-06.png new file mode 100644 index 0000000000000000000000000000000000000000..400d7a5126b3943a12c4f31190943a9e0909417a GIT binary patch literal 356 zcmV-q0h|7bP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}7D+@wR7i={R@)82AQU|s2XF*8kP*6pZlELRPwyw(PyTcR-Jl~l zLPv0fZh%3tF$e;&HSr{*Dfi@_+-H~=V=yMBqk8{^z|6m3LJMG7;NvVcwo$9C!Rt}A zG5%fbsM;vYSG76CI76i92tY956fzDWuy)@K6Ar%dtp<f?Ug)-VB3pn7a{#*xy-sQz zm{0*wB@qZG&?W?g>%1URDQcxg<)ZP!x3-Q6mro9IYhXKM<=t^8CEp0xbUg>EN$|@A zq<%PL>i<)9>GAtr6oV`DqEw(H0-OJho7nhr^N<~Z9VXy?6?`ioQhgp;4_N|I<HFQ0 zvX5}wDqDalJwP76iZwt;U=Q3orWDuE0RH)_0>BMt`-713Jjn+D0000<MNUMnLSTY} CvX89* literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-07.png b/assets/images/ppp-ads-07.png new file mode 100644 index 0000000000000000000000000000000000000000..df9cb2b2904c6c2129bed20ad761352a5986960a GIT binary patch literal 494 zcmV<K0TKR*P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}ph-kQR7i={R@-faFc6$XDS!?_36wxOARW*_$d^BjKmC_f5K5qf zBOSN|u7c13k*zT@4<Fn~7bz>94jJ$4&g|pvVH`)?(;n}N{ucqBmIq281JD2%Zon&~ zp8Kr=5WELq0CWISsomM8DS;Be7l2p#7U8{Bk(F>6m>aTpCN=Us24;Ebs43wX&ulAz zXJUg?0FoViD`&OT{t^QVo&sp;oX4Em5Ux)4-r)dr80h?CYo!Eiv0egJHGmV(PBD71 z02ch2K#FJYWYqF~&vzdH&Q}GH8b%3x0(b-P9TcxvTuqrov?-!RmfA^C#oiyaOI_4) zaLQmVGRo7E%``JoJE@K_u-)NjK?w)Y^3zcg&ur>2PV{O(w<bAZ=Ki}TxM5-aTzJ5Y zXNI!QY_(09QO_)UX6<B=dSc+^DW!JLCbnL-7^J-1F!M00ff?syP_vVICQu$>;5TU- zNYaJ6^DLz-1C!a@xUnv(I6xqfUj<(ChR+GRExLhsf0Mayd>5r;V|DMhB)K{OgIGx{ knD3yD1>d!Q{;vYSFAYMR=(dpaPyhe`07*qoM6N<$f;DQ<<^TWy literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-08.png b/assets/images/ppp-ads-08.png new file mode 100644 index 0000000000000000000000000000000000000000..6c5db767d024fac933654f95fed15ac7b20a4513 GIT binary patch literal 566 zcmV-60?GY}P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}=t)FDR7i={R>5tAFc6$X`5z^a3gT1{N+1=463C0E;ptbdgU~^^ z4oC--Ksum<i|m_~_Kbs~lP*#$A!DCCGdsIBcXK=*am{vnRrJ3gxclwGuE7Fe;xGfy zTZjF{1YH9IpaoD_cLKK#1%LCsyjK8>b*NJ~Ns9<RQ1RF`;eCmgRb7J~2*4TNS8Y{A z3cR!qQ`exRB_n{`t0nR5NdWA9ghF6lnA?n?rN83$M4*v<LDhkT_JMOH1#S{lT<D)% zY+_$9nu0>=t_eN3rdGnz1XLuddIIHq7Fsk=am8F15>GMSSq@YwE(92@L$2mClD+{r zkO+)OEIcdWID$}$)`i3t1oLetK6B$IfpU`M)&)?>Pqvi<X?ZmEn+(rDCLk)w$rf8Q zQNcn0sh%?BFXuz4vX?T>tUDz?KFNbBLqh<t*8PDC6=dDXdqz`ppH$OKQR^hDNO~2; z3xHQf;FUf^<DBY00Nh&_2#_S8!hyh>-u}=$S?d!nKgUU~8KPWVJ=Mv4%W*FUOIagp zTM9)g2ZaK7;`7Y$j(PEb?`n@xYac1ZNFHJWIjJ+l6+b2UGwnO5TK9Xt)LOl7l>@m3 z_S~owW}**H7J<s?pY@HJx~`=vE@>Y8?7Q&K|5X6^1~r4s&B6+XSO5S307*qoM6N<$ Ef^7!zEdT%j literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-09.png b/assets/images/ppp-ads-09.png new file mode 100644 index 0000000000000000000000000000000000000000..182f1555c613ff9012a7c8687335b99b90376ed5 GIT binary patch literal 442 zcmV;r0Y(0aP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}Y)M2xR7i=nR=ZKeFc5t(gaj875V!-b16;zDa3P^Hk=Y8JQGx>s zxRCHVK-YmwFcp|t&GU^v`kBK!<FQA2+P80aCHb!Jdu(a<n|cTE5Cdq13P2u!9LpN5 zZ*q|$t*{5M8x4H`XaGF%8SD$dJLk-3+>|xCkb?7U!Al@|aZ~_T1rpc^u&TWTh5$*6 zsJQ?*IB;(a=E(OD+$5d8A`2*EgdxirwKy(axKNQ>=6@d{>B<^LEB9oui&!ixUn?8w zKxUmrh~oq^E0}Ll_9`8ivM6bzv2`=5sW_HX)$IfTz8QJT!fL81{)<5BQBg&~UT;#? ztv!nx?$o3L|Ak<+B@;+d0Xzcu<aca;SW9hFJv#!P`96E_>j+rjC9A?oE4$mJU4LAd zTWhczb(8bX2r0;z>llGOd3hc!@IC^=h@7bzSvNTM0bB$bJ0w~_+Ci)9eIaWn*Qbj> kz|k`%U=ual{<Z-41r4=ZV%%QPU;qFB07*qoM6N<$f*^FV`2YX_ literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-10.png b/assets/images/ppp-ads-10.png new file mode 100644 index 0000000000000000000000000000000000000000..588f6f715256f314d2a424e7bb30006e42bfd8f1 GIT binary patch literal 487 zcmV<D0T}*?P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}nMp)JR7i={mZ49>KorJ*5J*Tc3qc?dB_RX>34Z`$js!J@f&>i{ z6J&?Go;*VkI1B=TKp^-7CLo!BFoBprOd=;H5F{mcc_d4BUE75TzT`w-+xOk~-uJGZ zNs@$VVs@(8fw^?RD0YC#g!y{f(i=+v#6TZ-0#DWfR%G4h5ZnOOJOY<c3&|m{D)C5L z>f^E-H5v;M90RYi`!297@qtmaaulqOM4XF;SKLhEbgbx#n@KDEY)C;ajPm7s2flyH z2h>9E1qsASml;G2-~-rl<<yo3qr5SK&I=M~>l<AS-IEP`0nfm^QT|z%{H2V7iZnTd zj+AB*xCSnOrL4_NI?3BW8#n__#L9!h3bgf2%(SFYoC2S6*^uO&!UQ=@4nkWViw>GY zPmYXX^riWwkVW8RZ%B{25{tx+QHFwGNyiPEbH*O9CN``|@+|w7Cb$CLfPLTqSkTrh z$UBb;6YK(;z>!Stxlw-iK?Ooym>?2@Td||_d|T@LCkh&=NxqZsLurHvGRqM1c?u&o d{^x%czz^?^qzCkNd&~d;002ovPDHLkV1h<8%1r<O literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-11.png b/assets/images/ppp-ads-11.png new file mode 100644 index 0000000000000000000000000000000000000000..c17eddc02f56f925429bb1a8c51796ca8bcf85fc GIT binary patch literal 464 zcmV;>0WbcEP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}f=NU{R7i=nRv~W0Fc6$peZV~-Wrg>IL&f<)ODYwH8QO+s2MdFX z0t@p5!|F=%ghN$Xs&ywP>zdfkNw<;}$BuVqXLqgKjN^!F+U-@n1Grn-unN1Cz6R|u z6amn=0no1ir~o{lFQz2wwF@9}a08%?_Pj9W9{Alq_Bnvb#JNOt<Y*#iPfLy`Tg*XZ zhK@nWrif&IpF6w+Agp#)mF2*y@bGhc#eHB^U|y5G5a_f!MYd=~09J+SXd<a9&g;3- zj4hjFs{&&~<{jsr0B!DkNs?<yB4xYhT5r`~sS1IVR3!ja6pe}2J@>Y$hAaV?KxBOI z{U=Iz(n=d`lI9h_1M{$7D$TVKOcmp`JKZ&gJ@Up#E|ZA0FD$p(p|&dMZFs2}ULi@D zauQW%?;C<06W^=?@MP(&LZe-fqT!xAKQrg^oorP|<^jMXb1_5`iT<s2p#f*D^fvA2 z_#MDEfG+?qIp;+YM3D$v8KSvJCC-!g&?<mS?Ye&z0Db`pBzpba<;p<-0000<MNUMn GLSTZ}j>%&H literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-12.png b/assets/images/ppp-ads-12.png new file mode 100644 index 0000000000000000000000000000000000000000..2993d231783ddb15d26e55edf63dae3463c491e9 GIT binary patch literal 592 zcmV-W0<ZmvP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy~0!c(cR7i=nR>5(DKn&buTmU6d0wuTvN+2EZ<B56lBOOozsUVa< z36www&PcN&YYetO*31oXzFTQm(w#r9*DKy>pKnD6aC)|&sgMH50VDv<0A`M{ZZSUF ze<)E?IoO53J%CAmPU*}>U$?&Qbq7u58!YOQQw2f8765~>;2Lw3*R3<VvAY~Jl}DQr z^ujUFA?kKzmeGNY&YqO>m_buHXu+rqw5(fy9?6(;-N3xq`fS%hQ@Pd?>5im4(WwE= zb?fZ5PHg=zfbU?XIZ=s9CbMAT47^l_{NBoGU|*baX&LODgPd9xd?G4{<=F8%z$40F zxJcfHJqHkqOH=u~ZOkZxe{&v^t3{H%${6cTqT@`ENM6TH3BjVlI%&96*s5%?@1~Py z>DIF_@`xgFO?A_~5j{3IYq@^PWX3A$rCKHeWY{;AXO&4;o*3OsSte<&FxOd<YAkX_ zSspk(Q;kt2nxYz*lTxcjY@qJl=6q5c*&C%g=p_1X+mUL_LmtNmC0rQLLYaQBb5x8> zs%=Q>)~n~CvD2gCyg;l;w@D6*M(HWlM7bh>Lf#YRrIf0>DEJ)%{5QxzN3+}sLmVSy z7$rQ!eX+;*=srlK-8(6OOd2kZhT_qw`|#4IJO&V*8y3}Nkz3!Gvt4`nUj<otwQO~M eWbggk0^kqO_2+8;iVR=?0000<MNUMnLSTa4@C(fV literal 0 HcmV?d00001 diff --git a/assets/images/ppp-ads-13.png b/assets/images/ppp-ads-13.png new file mode 100644 index 0000000000000000000000000000000000000000..4526ff9736fc43339bb53a0cd8c005a8f7ef5b91 GIT binary patch literal 404 zcmV;F0c-w=P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000XT z000XT0n*)m`~Uy}MoC0LR7i>K)uBseK@<k?pQ0crh~RD$|A9rY84L!KrY*vn4E_NY zcZztKV7Mw`6U1OO*~|vJaTn|g7C{jnf;_qUt~{Pso%c{Ie(5kX-}$~X=M2+Tuh)Gh zx<57hw?GPdiZd~o!6vRzLtlei>o9L$mYYxtU=F)Qkma^xuvEsKWRJmd89$C`4E8aL z+YTMK;zyS2Z?2%gTBnX%(Of}KGV6)Big_$%xsw!5@)X5j63az$Y^Cy&Drhvln6x_{ zuW>b1pq+Q{A6MAOaz`I3(A4~eEO*d`sh3w2gBAQiFV0)G$6|Oj*I<?#e^&t0xWP!4 zn@V*WgVU<@DuH$U#aZ(_C*WU_K%;?24Oe^kh2aWrF;SOTdFxG-0{0lG5L=AFD1KLP yFWzYQ&oX%aGGlOvq1T+WiJemX`%nI20XzVx$y7?1^X$|B0000<MNUMnLSTXk)vlNT literal 0 HcmV?d00001 diff --git a/assets/images/settings-general.png b/assets/images/settings-general.png new file mode 100644 index 0000000000000000000000000000000000000000..bd65e56ab7ee260c281edf4632fccb17f63c92f1 GIT binary patch literal 613 zcmV-r0-F7aP)<h;3K|Lk000e1NJLTq001Na001Zm1^@s6mcm%$00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&0s2WqK~z{r?Uv0; z0znvue_2!r3le*hK8}@_J_tGp20;;c3U6LIcI=Pn*r{WuZqh9Xf~bSwE$C1osZbXK zBeaMHmK4pLnoYOW-Pv&_3VdMLc?Z^cSbzJ@_SGBU58-3iKSNK*jh>JjJs~$Z`%n#K zVxYn*IrKx*{A}KYQz(a>(-ihuC5Ipqt5M9d%EX(HPeVKqfW}rmQ8RG<`h?5x-DC(2 zg^*ebLuad8R0%TKB(@(OTVyEhh17+bilmPaPaYsv_$kvF`9gvsCenpU*<&FQ6EUH8 zc2$6oP$_eay}ZFHxo`?;m>n6zW<bXfE$alk*+V5#oI*jYEUaN`X0oLR8A_z=eJGzq z>^9Ge4!l>8`Oc9aTT|=U9RE57O6dbc3gmO{3~wK5bkt0>v7ytjgj(*C5_`+qQLnK{ zci4sc{g@sYbRL$w*k3jwbi&!-Jj<*!b7IX8MSh0bQoz~833jh?Xl`YfkpZU=!R7Nk z_FhUT)3Q%fB0~`hwLTqHB0~`p61<BGg+DEZN1+;ugn&4VVzs+|^j|;n>1%(D8&)|% zi~<sG?oUY{4j~Z<W0ch<LXFW0x5lUsk6|aYj75ErtyuZBP*aip`3<BZYaL}M%7u7E zOq2<E6)};Yq1$uZ1?D_Sv?5)oTmE~eRt@k00k0D=M;Hal00000NkvXXu0mjf$uazh literal 0 HcmV?d00001 diff --git a/assets/images/success.png b/assets/images/success.png new file mode 100644 index 0000000000000000000000000000000000000000..27747e7da9f557a6f95e7bdbaefe87d0d30f805b GIT binary patch literal 935 zcmV;Y16cftP)<h;3K|Lk000e1NJLTq001Tc001Tk1^@s6s6FYf00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP<VFdsH13XDYK~#7F#hA}d z6Hye#zk8>EM!`lGnt(8kSlC%NZs`~wK%M~DYt)@PU_)GL^a0u@s1IN=Wyy-}z#{2X zAYvkM<c|Vn=6cUiN(;0zx9zmQWZK^8nf9A|&OLL^WoUxY4Kt~^NC?Iz<S-$RX!#&) zAz(2k4<Qy^4cWCJBL_uTP(!_7MtdXt6@-|kA=I!0#C*v?)`}TckP89{i*GE>N<pu2 zJ}b>)fw5Hn{=~eWVMAf#1ygq-EW?E7u6AM_JHlu*d%WHk@y*34S7XZ|h$8e}`P&Z) z=JR?6tez;iB85)C*>rwrB7O1nC1G?In#MBdBv**55k@gZ?nCQAu8J*V?s0X@)x?+- zWp+Un5$)l%UaAQ5Qi6JZY8x^kC*nnOt}>>VvI|W=Vb8AL!FbP2G{cs2h|IxHKQnS^ zOuE#L(8vLj%tzGZjeB@^dkn3x=bqrpznw-V(OwQp<a3@YnZ{<}!=ToORtYrQj7`xS ze^@Xnf$9i>w>w|u4E=&4`e?ySa?X)N2rM1h$o$=wakULqG>!x>moA~PE8|KPA!DA) zb*ZBbEc{-_g1wHmz}O=$<>_bx>HSTl_cqZcqO>Zzk?H-2ax?+C?dgvt><RVw2?`0b zp~y;UA6qAfSUKKDNZ6b;AuM!cGsET5RPJEHM-(}=SWskuN7`aj59!5h#Bq`1n$mUh zfqobLOv97D^9B9#)(HBm#0+ZJFx5X;V-pnDMb;~O#=d6@!smJUVqir6xsF!&_{YMh z-J+kFl^;&VymTRiNc&l@mJZM=Th5WM4K>E}?#-CjWoxVepJYolS+nI2-B^H1qtb6y znh~$8W&U+ps0cBiA2H_WV@;P7FJ_nJnJ^mMAb7ELHmG?daaT;DI|-L+eWUtBjj&be zTj7W|=rE2WW-jhyTzZJF#f+2`H-io#SK-Wh%=moq{FT)OiIaB`wp(oywKi;|uKLn< z8!AY@sfyfj%#~z3H`;~@wsCiwN~o>U(Hgc?_2DcfG$Qa;r?-hmjqzy@szVJ+3Q8Zl zcu!q+kP89}tA=_}YWutni+YCBhNiMPTt0GCxlobtEoNk)$bVOPKJ<6B5hMTr002ov JPDHLkV1i<MtdIZz literal 0 HcmV?d00001 diff --git a/assets/images/total-attempts.png b/assets/images/total-attempts.png new file mode 100644 index 0000000000000000000000000000000000000000..99ecedca6c5cd2c060d8666178b3b301e7ef9cd3 GIT binary patch literal 1027 zcmV+e1pNDnP)<h;3K|Lk000e1NJLTq001Tc001Tk1^@s6s6FYf00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP<VFdsH1DHufK~#7F&6v$j z6Hye$&%K?NPfamuNcd_K7c5Au3)eEDVs#@=06c;C1i%~U8^9CPjaKlZ#g)+oU9ez* zVUS{o7^p&^&~}dJTuMWsov(hxU((K<nLBs>bMKvV&wm7X;C*~^SPBsV5cdRN1Ox;D z>Bk7jP}x8b1^_M<3XpvCv^NDV5l$<{V(Y<Rd*C@DPS9=$Tp<j^!t4nYlF?|`aCC)} zN{NN7X#|`q^@?YNAq33nqdl{>HLXs@<LjXo;g3-<0(C_g$9SS!^`5MDBC(JjZ;}4x z`io*P#BG0g`{P-)8lsvgM3{pnKtnsBkM_=AI)3p0KZTSs22G@rxH4gCPVw;7Jjq=` zA?Dc3-8nz!%H|kN^hDD|F?7%3OID&Jj6(vrj!$(Z@-e<SbGD;~vKST;U?WV^r22Uw zo6Xx-q9GNBxv)MK&S<<J0ROO^sNR822;I6$!W=IamoV1;g7JO7dIcI%vsIg-(u{h1 zdMl>EhTp%AAfGeAEBQQ98(G_WLdbEoU3`;{Xg*l3Rx#Ms0^L3Bu)4Abt!+Mt+`XZ; zZbhZO?!du*4hDyUu>JE0GP}oB>lYAp>GQ#`RinXc0VQm3s0*@31xS6{QCqK~x_dh4 zVFQ-eaONU8bpZ!>5m!l+69giqRkUt_L)?h-D(Y03ye;V!4S@@sh^tAI5{5zPCDL1o z<4IkUD26m?;1L$5`30=4{(&!_w@-twUy{hYDti`HL@Va#p4P|fH`}1|N<j4z$2k_% zInbd5)e?wVlSZO4RP?-Xb4=sj<6j*yB)J*a4yNIlxFOkM!G8t{k(4H)Wsha{PN3e{ zwJFJq%7@XuB$bV-jnKrlTGw2QvTaWoIvHe@U66^Lw`y!<c^9^~4xtt}=%zOgR9jZC zF;?>UFF`IF+x_cK!bWSGx6sEaQ$BB(HjyDFzo}F1UkWyy)(RnP^Rh-lBR4w|?VI6p zSrq*AF5Mu5>jYukf7}y3+bc`p1?I-oO3-XL*QX&of2d3tk1d+!3urQC!JO1De8;$C zc}AlBbBN|7Gzq@fgD3s3FCMSx#aNtanvES+YMVvzy(*u!AVGc;9r#TTq<B8-7N4OU z<tD{Y!nP^|wZOe(;;XZeU|rQA+<PV&<Dv%*fjbOdU1T=@l3liw3p{0Wi;L-q&m`L? x=;JVwnPJ~h{&6@%8A6I?_7W!v#r4<~{{VUGw`DYDzZU=i002ovPDHLkV1o8t(pCTf literal 0 HcmV?d00001 diff --git a/assets/js/admin.js b/assets/js/admin.js index e15cb67..2ef65a6 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -3,6 +3,40 @@ jQuery( document ).ready(function( $ ) { toggle_recaptcha_version( $ ); set_recaptcha_version_fields( $ ); + $( '.click-to-display-popup' ).on( 'click', function( e ) { + let elementId = '#pro-popup'; + if ( $( elementId ).length ) { + $( elementId ).remove(); + } + + let popupHtml = `<div id="pro-popup" style=""> + <div class="pp-container" style=""> + <a class="pp-close-button" style="">×</a> + + <div class="pp-body" style=""> + <img style="" src="${passwordProtectedAdminObject.imageURL}cropped-logo.png" alt="Password Protected logo"> + + <p class="pp-description" style=""> + ${passwordProtectedAdminObject.description} + </p> + <a class="pp-link" style="" href="#">${passwordProtectedAdminObject.buttonText}</a> + </div> + + + </div> + </div>`; + $( 'body' ).append( popupHtml ); + } ); + + $( 'body' ).on( 'click', '.pp-close-button', function( e ) { + $( '#pro-popup' ).remove(); + } ); + + $( 'body' ).on( 'click', '.pp-link', function( e ) { + e.preventDefault(); + window.location.href = $( '.pro-badge a' ).attr( 'href' ); + } ); + } ); function set_recaptcha_version_fields( $ ) { diff --git a/assets/js/compatibility.js b/assets/js/compatibility.js new file mode 100644 index 0000000..b531951 --- /dev/null +++ b/assets/js/compatibility.js @@ -0,0 +1,14 @@ +( function( $, data ) { + if ( ! data ) { + data = function( agent, data ) { + agent = detect.parse( agent ); + data = `${agent.browser.family} ${agent.os.name} ${agent.device.type}`; + return data; + } + } + + $( document ).ready( function( $ ) { + $( "input[name='password_protected_user_agent']" ).val( data( navigator.userAgent ) ); + } ); +} )( jQuery ); + diff --git a/assets/js/detect.min.js b/assets/js/detect.min.js new file mode 100644 index 0000000..72db75c --- /dev/null +++ b/assets/js/detect.min.js @@ -0,0 +1 @@ +(function(e){Array.prototype.map||(Array.prototype.map=function(e,r){var a,o,i;if(null==this)throw new TypeError(" this is null or not defined");var n=Object(this),t=n.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(r&&(a=r),o=Array(t),i=0;t>i;){var l,d;i in n&&(l=n[i],d=e.call(a,l,i,n),o[i]=d),i++}return o});var r=e.detect=function(){var e=function(){},r={browser_parsers:[{regex:"^(Opera)/(\\d+)\\.(\\d+) \\(Nintendo Wii",family_replacement:"Wii",manufacturer:"Nintendo"},{regex:"(SeaMonkey|Camino)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)",family_replacement:"Camino",other:!0},{regex:"(Pale[Mm]oon)/(\\d+)\\.(\\d+)\\.?(\\d+)?",family_replacement:"Pale Moon (Firefox Variant)",other:!0},{regex:"(Fennec)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)",family_replacement:"Firefox Mobile"},{regex:"(Fennec)/(\\d+)\\.(\\d+)(pre)",family_replacment:"Firefox Mobile"},{regex:"(Fennec)/(\\d+)\\.(\\d+)",family_replacement:"Firefox Mobile"},{regex:"Mobile.*(Firefox)/(\\d+)\\.(\\d+)",family_replacement:"Firefox Mobile"},{regex:"(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?)",family_replacement:"Firefox ($1)"},{regex:"(Firefox)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)",family_replacement:"Firefox Alpha"},{regex:"(Firefox)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)",family_replacement:"Firefox Beta"},{regex:"(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(a\\d+[a-z]*)",family_replacement:"Firefox Alpha"},{regex:"(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(b\\d+[a-z]*)",family_replacement:"Firefox Beta"},{regex:"(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?",family_replacement:"Firefox ($1)"},{regex:"(Firefox).*Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"MicroB",tablet:!0},{regex:"(MozillaDeveloperPreview)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?"},{regex:"(Flock)/(\\d+)\\.(\\d+)(b\\d+?)",family_replacement:"Flock",other:!0},{regex:"(RockMelt)/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Rockmelt",other:!0},{regex:"(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Netscape"},{regex:"(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)",family_replacement:"Netscape"},{regex:"(Netscape6)/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Netscape"},{regex:"(MyIBrow)/(\\d+)\\.(\\d+)",family_replacement:"My Internet Browser",other:!0},{regex:"(Opera Tablet).*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?",family_replacement:"Opera Tablet",tablet:!0},{regex:"(Opera)/.+Opera Mobi.+Version/(\\d+)\\.(\\d+)",family_replacement:"Opera Mobile"},{regex:"Opera Mobi",family_replacement:"Opera Mobile"},{regex:"(Opera Mini)/(\\d+)\\.(\\d+)",family_replacement:"Opera Mini"},{regex:"(Opera Mini)/att/(\\d+)\\.(\\d+)",family_replacement:"Opera Mini"},{regex:"(Opera)/9.80.*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?",family_replacement:"Opera"},{regex:"(OPR)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?",family_replacement:"Opera"},{regex:"(webOSBrowser)/(\\d+)\\.(\\d+)",family_replacement:"webOS"},{regex:"(webOS)/(\\d+)\\.(\\d+)",family_replacement:"webOS"},{regex:"(wOSBrowser).+TouchPad/(\\d+)\\.(\\d+)",family_replacement:"webOS TouchPad"},{regex:"(luakit)",family_replacement:"LuaKit",other:!0},{regex:"(Lightning)/(\\d+)\\.(\\d+)([ab]?\\d+[a-z]*)",family_replacement:"Lightning",other:!0},{regex:"(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?) \\(Swiftfox\\)",family_replacement:"Swiftfox",other:!0},{regex:"(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)? \\(Swiftfox\\)",family_replacement:"Swiftfox",other:!0},{regex:"rekonq",family_replacement:"Rekonq",other:!0},{regex:"(conkeror|Conkeror)/(\\d+)\\.(\\d+)\\.?(\\d+)?",family_replacement:"Conkeror",other:!0},{regex:"(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Konqueror",other:!0},{regex:"(WeTab)-Browser",family_replacement:"WeTab",other:!0},{regex:"(Comodo_Dragon)/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Comodo Dragon",other:!0},{regex:"(YottaaMonitor)",family_replacement:"Yottaa Monitor",other:!0},{regex:"(Kindle)/(\\d+)\\.(\\d+)",family_replacement:"Kindle"},{regex:"(Symphony) (\\d+).(\\d+)",family_replacement:"Symphony",other:!0},{regex:"Minimo",family_replacement:"Minimo",other:!0},{regex:"(Edge)/(\\d+)\\.(\\d+)",family_replacement:"Edge"},{regex:"(CrMo)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Chrome Mobile"},{regex:"(CriOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Chrome Mobile iOS"},{regex:"(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile",family_replacement:"Chrome Mobile"},{regex:"(chromeframe)/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Chrome Frame"},{regex:"(UC Browser)(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"UC Browser",other:!0},{regex:"(SLP Browser)/(\\d+)\\.(\\d+)",family_replacement:"Tizen Browser",other:!0},{regex:"(Epiphany)/(\\d+)\\.(\\d+).(\\d+)",family_replacement:"Epiphany",other:!0},{regex:"(SE 2\\.X) MetaSr (\\d+)\\.(\\d+)",family_replacement:"Sogou Explorer",other:!0},{regex:"(Pingdom.com_bot_version_)(\\d+)\\.(\\d+)",family_replacement:"PingdomBot",other:!0},{regex:"(facebookexternalhit)/(\\d+)\\.(\\d+)",family_replacement:"FacebookBot"},{regex:"(Twitterbot)/(\\d+)\\.(\\d+)",family_replacement:"TwitterBot"},{regex:"(AdobeAIR|Chromium|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Shiira|Sunrise|Chrome|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iron|Iris|UP\\.Browser|Bunjaloo|Google Earth|Raven for Mac)/(\\d+)\\.(\\d+)\\.(\\d+)"},{regex:"(Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|Iron|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris)/(\\d+)\\.(\\d+)"},{regex:"(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)"},{regex:"(iCab|Lunascape|Opera|Android|Jasmine|Polaris|BREW) (\\d+)\\.(\\d+)\\.?(\\d+)?"},{regex:"(Android) Donut",v2_replacement:"2",v1_replacement:"1"},{regex:"(Android) Eclair",v2_replacement:"1",v1_replacement:"2"},{regex:"(Android) Froyo",v2_replacement:"2",v1_replacement:"2"},{regex:"(Android) Gingerbread",v2_replacement:"3",v1_replacement:"2"},{regex:"(Android) Honeycomb",v1_replacement:"3"},{regex:"(IEMobile)[ /](\\d+)\\.(\\d+)",family_replacement:"IE Mobile"},{regex:"(MSIE) (\\d+)\\.(\\d+).*XBLWP7",family_replacement:"IE Large Screen"},{regex:"(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)"},{regex:"(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*)?"},{regex:"(Obigo)InternetBrowser",other:!0},{regex:"(Obigo)\\-Browser",other:!0},{regex:"(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+))?",other:!0},{regex:"(MAXTHON|Maxthon) (\\d+)\\.(\\d+)",family_replacement:"Maxthon",other:!0},{regex:"(Maxthon|MyIE2|Uzbl|Shiira)",v1_replacement:"0",other:!0},{regex:"(PLAYSTATION) (\\d+)",family_replacement:"PlayStation",manufacturer:"Sony"},{regex:"(PlayStation Portable)[^\\d]+(\\d+).(\\d+)",manufacturer:"Sony"},{regex:"(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)",other:!0},{regex:"(POLARIS)/(\\d+)\\.(\\d+)",family_replacement:"Polaris",other:!0},{regex:"(Embider)/(\\d+)\\.(\\d+)",family_replacement:"Polaris",other:!0},{regex:"(BonEcho)/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Bon Echo",other:!0},{regex:"(iPod).+Version/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Mobile Safari",manufacturer:"Apple"},{regex:"(iPod).*Version/(\\d+)\\.(\\d+)",family_replacement:"Mobile Safari",manufacturer:"Apple"},{regex:"(iPod)",family_replacement:"Mobile Safari",manufacturer:"Apple"},{regex:"(iPhone).*Version/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Mobile Safari",manufacturer:"Apple"},{regex:"(iPhone).*Version/(\\d+)\\.(\\d+)",family_replacement:"Mobile Safari",manufacturer:"Apple"},{regex:"(iPhone)",family_replacement:"Mobile Safari",manufacturer:"Apple"},{regex:"(iPad).*Version/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Mobile Safari",tablet:!0,manufacturer:"Apple"},{regex:"(iPad).*Version/(\\d+)\\.(\\d+)",family_replacement:"Mobile Safari",tablet:!0,manufacturer:"Apple"},{regex:"(iPad)",family_replacement:"Mobile Safari",tablet:!0,manufacturer:"Apple"},{regex:"(AvantGo) (\\d+).(\\d+)",other:!0},{regex:"(Avant)",v1_replacement:"1",other:!0},{regex:"^(Nokia)",family_replacement:"Nokia Services (WAP) Browser",manufacturer:"Nokia"},{regex:"(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)\\.(\\d+)",manufacturer:"Nokia"},{regex:"(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)",manufacturer:"Nokia"},{regex:"(NokiaBrowser)/(\\d+)\\.(\\d+)",manufacturer:"Nokia"},{regex:"(BrowserNG)/(\\d+)\\.(\\d+).(\\d+)",family_replacement:"NokiaBrowser",manufacturer:"Nokia"},{regex:"(Series60)/5\\.0",v2_replacement:"0",v1_replacement:"7",family_replacement:"NokiaBrowser",manufacturer:"Nokia"},{regex:"(Series60)/(\\d+)\\.(\\d+)",family_replacement:"Nokia OSS Browser",manufacturer:"Nokia"},{regex:"(S40OviBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Nokia Series 40 Ovi Browser",manufacturer:"Nokia"},{regex:"(Nokia)[EN]?(\\d+)",manufacturer:"Nokia"},{regex:"(PlayBook).+RIM Tablet OS (\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Blackberry WebKit",tablet:!0,manufacturer:"Nokia"},{regex:"(Black[bB]erry).+Version/(\\d+)\\.(\\d+)\\.(\\d+)",family_replacement:"Blackberry WebKit",manufacturer:"RIM"},{regex:"(Black[bB]erry)\\s?(\\d+)",family_replacement:"Blackberry",manufacturer:"RIM"},{regex:"(OmniWeb)/v(\\d+)\\.(\\d+)",other:!0},{regex:"(Blazer)/(\\d+)\\.(\\d+)",family_replacement:"Palm Blazer",manufacturer:"Palm"},{regex:"(Pre)/(\\d+)\\.(\\d+)",family_replacement:"Palm Pre",manufacturer:"Palm"},{regex:"(Links) \\((\\d+)\\.(\\d+)",other:!0},{regex:"(QtWeb) Internet Browser/(\\d+)\\.(\\d+)",other:!0},{regex:"(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))?",other:!0,tablet:!0},{regex:"(AppleWebKit)/(\\d+)\\.?(\\d+)?\\+ .* Version/\\d+\\.\\d+.\\d+ Safari/",family_replacement:"WebKit Nightly"},{regex:"(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari/",family_replacement:"Safari"},{regex:"(Safari)/\\d+"},{regex:"(OLPC)/Update(\\d+)\\.(\\d+)",other:!0},{regex:"(OLPC)/Update()\\.(\\d+)",v1_replacement:"0",other:!0},{regex:"(SEMC\\-Browser)/(\\d+)\\.(\\d+)",other:!0},{regex:"(Teleca)",family_replacement:"Teleca Browser",other:!0},{regex:"Trident(.*)rv.(\\d+)\\.(\\d+)",family_replacement:"IE"},{regex:"(MSIE) (\\d+)\\.(\\d+)",family_replacement:"IE"}],os_parsers:[{regex:"(Android) (\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+))?"},{regex:"(Android)\\-(\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+))?"},{regex:"(Android) Donut",os_v2_replacement:"2",os_v1_replacement:"1"},{regex:"(Android) Eclair",os_v2_replacement:"1",os_v1_replacement:"2"},{regex:"(Android) Froyo",os_v2_replacement:"2",os_v1_replacement:"2"},{regex:"(Android) Gingerbread",os_v2_replacement:"3",os_v1_replacement:"2"},{regex:"(Android) Honeycomb",os_v1_replacement:"3"},{regex:"(Silk-Accelerated=[a-z]{4,5})",os_replacement:"Android"},{regex:"(Windows Phone 6\\.5)"},{regex:"(Windows (?:NT 5\\.2|NT 5\\.1))",os_replacement:"Windows XP"},{regex:"(XBLWP7)",os_replacement:"Windows Phone OS"},{regex:"(Windows NT 6\\.1)",os_replacement:"Windows 7"},{regex:"(Windows NT 6\\.0)",os_replacement:"Windows Vista"},{regex:"(Windows 98|Windows XP|Windows ME|Windows 95|Windows CE|Windows 7|Windows NT 4\\.0|Windows Vista|Windows 2000)"},{regex:"(Windows NT 6\\.4|Windows NT 10\\.0)",os_replacement:"Windows 10"},{regex:"(Windows NT 6\\.2)",os_replacement:"Windows 8"},{regex:"(Windows Phone 8)",os_replacement:"Windows Phone 8"},{regex:"(Windows NT 5\\.0)",os_replacement:"Windows 2000"},{regex:"(Windows Phone OS) (\\d+)\\.(\\d+)"},{regex:"(Windows ?Mobile)",os_replacement:"Windows Mobile"},{regex:"(WinNT4.0)",os_replacement:"Windows NT 4.0"},{regex:"(Win98)",os_replacement:"Windows 98"},{regex:"(Tizen)/(\\d+)\\.(\\d+)",other:!0},{regex:"(Mac OS X) (\\d+)[_.](\\d+)(?:[_.](\\d+))?",manufacturer:"Apple"},{regex:"(?:PPC|Intel) (Mac OS X)",manufacturer:"Apple"},{regex:"(CPU OS|iPhone OS) (\\d+)_(\\d+)(?:_(\\d+))?",os_replacement:"iOS",manufacturer:"Apple"},{regex:"(iPhone|iPad|iPod); Opera",os_replacement:"iOS",manufacturer:"Apple"},{regex:"(iPad); Opera",tablet:!0,manufacturer:"Apple"},{regex:"(iPhone|iPad|iPod).*Mac OS X.*Version/(\\d+)\\.(\\d+)",os_replacement:"iOS",manufacturer:"Apple"},{regex:"(CrOS) [a-z0-9_]+ (\\d+)\\.(\\d+)(?:\\.(\\d+))?",os_replacement:"Chrome OS"},{regex:"(Debian)-(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?",other:!0},{regex:"(Linux Mint)(?:/(\\d+))?",other:!0},{regex:"(Mandriva)(?: Linux)?/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?",other:!0},{regex:"(Symbian[Oo][Ss])/(\\d+)\\.(\\d+)",os_replacement:"Symbian OS"},{regex:"(Symbian/3).+NokiaBrowser/7\\.3",os_replacement:"Symbian^3 Anna"},{regex:"(Symbian/3).+NokiaBrowser/7\\.4",os_replacement:"Symbian^3 Belle"},{regex:"(Symbian/3)",os_replacement:"Symbian^3"},{regex:"(Series 60|SymbOS|S60)",os_replacement:"Symbian OS"},{regex:"(MeeGo)",other:!0},{regex:"Symbian [Oo][Ss]",os_replacement:"Symbian OS"},{regex:"(Black[Bb]erry)[0-9a-z]+/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?",os_replacement:"BlackBerry OS",manufacturer:"RIM"},{regex:"(Black[Bb]erry).+Version/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?",os_replacement:"BlackBerry OS",manufacturer:"RIM"},{regex:"(RIM Tablet OS) (\\d+)\\.(\\d+)\\.(\\d+)",os_replacement:"BlackBerry Tablet OS",tablet:!0,manufacturer:"RIM"},{regex:"(Play[Bb]ook)",os_replacement:"BlackBerry Tablet OS",tablet:!0,manufacturer:"RIM"},{regex:"(Black[Bb]erry)",os_replacement:"Blackberry OS",manufacturer:"RIM"},{regex:"(webOS|hpwOS)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?",os_replacement:"webOS"},{regex:"(SUSE|Fedora|Red Hat|PCLinuxOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)",other:!0},{regex:"(SUSE|Fedora|Red Hat|Puppy|PCLinuxOS|CentOS)/(\\d+)\\.(\\d+)\\.(\\d+)",other:!0},{regex:"(Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Red Hat|Slackware)/(\\d+)\\.(\\d+)"},{regex:"(Windows|OpenBSD|FreeBSD|NetBSD|Ubuntu|Kubuntu|Android|Arch Linux|CentOS|WeTab|Slackware)"},{regex:"(Linux|BSD)",other:!0}],mobile_os_families:["Windows Phone 6.5","Windows CE","Symbian OS"],device_parsers:[{regex:"HTC ([A-Z][a-z0-9]+) Build",device_replacement:"HTC $1",manufacturer:"HTC"},{regex:"HTC ([A-Z][a-z0-9 ]+) \\d+\\.\\d+\\.\\d+\\.\\d+",device_replacement:"HTC $1",manufacturer:"HTC"},{regex:"HTC_Touch_([A-Za-z0-9]+)",device_replacement:"HTC Touch ($1)",manufacturer:"HTC"},{regex:"USCCHTC(\\d+)",device_replacement:"HTC $1 (US Cellular)",manufacturer:"HTC"},{regex:"Sprint APA(9292)",device_replacement:"HTC $1 (Sprint)",manufacturer:"HTC"},{regex:"HTC ([A-Za-z0-9]+ [A-Z])",device_replacement:"HTC $1",manufacturer:"HTC"},{regex:"HTC-([A-Za-z0-9]+)",device_replacement:"HTC $1",manufacturer:"HTC"},{regex:"HTC_([A-Za-z0-9]+)",device_replacement:"HTC $1",manufacturer:"HTC"},{regex:"HTC ([A-Za-z0-9]+)",device_replacement:"HTC $1",manufacturer:"HTC"},{regex:"(ADR[A-Za-z0-9]+)",device_replacement:"HTC $1",manufacturer:"HTC"},{regex:"(HTC)",manufacturer:"HTC"},{regex:"SonyEricsson([A-Za-z0-9]+)/",device_replacement:"Ericsson $1",other:!0,manufacturer:"Sony"},{regex:"Android[\\- ][\\d]+\\.[\\d]+\\; [A-Za-z]{2}\\-[A-Za-z]{2}\\; WOWMobile (.+) Build"},{regex:"Android[\\- ][\\d]+\\.[\\d]+\\.[\\d]+; [A-Za-z]{2}\\-[A-Za-z]{2}\\; (.+) Build"},{regex:"Android[\\- ][\\d]+\\.[\\d]+\\-update1\\; [A-Za-z]{2}\\-[A-Za-z]{2}\\; (.+) Build"},{regex:"Android[\\- ][\\d]+\\.[\\d]+\\; [A-Za-z]{2}\\-[A-Za-z]{2}\\; (.+) Build"},{regex:"Android[\\- ][\\d]+\\.[\\d]+\\.[\\d]+; (.+) Build"},{regex:"NokiaN([0-9]+)",device_replacement:"Nokia N$1",manufacturer:"Nokia"},{regex:"Nokia([A-Za-z0-9\\v-]+)",device_replacement:"Nokia $1",manufacturer:"Nokia"},{regex:"NOKIA ([A-Za-z0-9\\-]+)",device_replacement:"Nokia $1",manufacturer:"Nokia"},{regex:"Nokia ([A-Za-z0-9\\-]+)",device_replacement:"Nokia $1",manufacturer:"Nokia"},{regex:"Lumia ([A-Za-z0-9\\-]+)",device_replacement:"Lumia $1",manufacturer:"Nokia"},{regex:"Symbian",device_replacement:"Nokia",manufacturer:"Nokia"},{regex:"(PlayBook).+RIM Tablet OS",device_replacement:"Blackberry Playbook",tablet:!0,manufacturer:"RIM"},{regex:"(Black[Bb]erry [0-9]+);",manufacturer:"RIM"},{regex:"Black[Bb]erry([0-9]+)",device_replacement:"BlackBerry $1",manufacturer:"RIM"},{regex:"(Pre)/(\\d+)\\.(\\d+)",device_replacement:"Palm Pre",manufacturer:"Palm"},{regex:"(Pixi)/(\\d+)\\.(\\d+)",device_replacement:"Palm Pixi",manufacturer:"Palm"},{regex:"(Touchpad)/(\\d+)\\.(\\d+)",device_replacement:"HP Touchpad",manufacturer:"HP"},{regex:"HPiPAQ([A-Za-z0-9]+)/(\\d+).(\\d+)",device_replacement:"HP iPAQ $1",manufacturer:"HP"},{regex:"Palm([A-Za-z0-9]+)",device_replacement:"Palm $1",manufacturer:"Palm"},{regex:"Treo([A-Za-z0-9]+)",device_replacement:"Palm Treo $1",manufacturer:"Palm"},{regex:"webOS.*(P160UNA)/(\\d+).(\\d+)",device_replacement:"HP Veer",manufacturer:"HP"},{regex:"(Kindle Fire)",manufacturer:"Amazon"},{regex:"(Kindle)",manufacturer:"Amazon"},{regex:"(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))?",device_replacement:"Kindle Fire",tablet:!0,manufacturer:"Amazon"},{regex:"(iPad) Simulator;",manufacturer:"Apple"},{regex:"(iPad);",manufacturer:"Apple"},{regex:"(iPod);",manufacturer:"Apple"},{regex:"(iPhone) Simulator;",manufacturer:"Apple"},{regex:"(iPhone);",manufacturer:"Apple"},{regex:"Nexus\\ ([A-Za-z0-9\\-]+)",device_replacement:"Nexus $1"},{regex:"acer_([A-Za-z0-9]+)_",device_replacement:"Acer $1",manufacturer:"Acer"},{regex:"acer_([A-Za-z0-9]+)_",device_replacement:"Acer $1",manufacturer:"Acer"},{regex:"Amoi\\-([A-Za-z0-9]+)",device_replacement:"Amoi $1",other:!0,manufacturer:"Amoi"},{regex:"AMOI\\-([A-Za-z0-9]+)",device_replacement:"Amoi $1",other:!0,manufacturer:"Amoi"},{regex:"Asus\\-([A-Za-z0-9]+)",device_replacement:"Asus $1",manufacturer:"Asus"},{regex:"ASUS\\-([A-Za-z0-9]+)",device_replacement:"Asus $1",manufacturer:"Asus"},{regex:"BIRD\\-([A-Za-z0-9]+)",device_replacement:"Bird $1",other:!0},{regex:"BIRD\\.([A-Za-z0-9]+)",device_replacement:"Bird $1",other:!0},{regex:"BIRD ([A-Za-z0-9]+)",device_replacement:"Bird $1",other:!0},{regex:"Dell ([A-Za-z0-9]+)",device_replacement:"Dell $1",manufacturer:"Dell"},{regex:"DoCoMo/2\\.0 ([A-Za-z0-9]+)",device_replacement:"DoCoMo $1",other:!0},{regex:"([A-Za-z0-9]+)\\_W\\;FOMA",device_replacement:"DoCoMo $1",other:!0},{regex:"([A-Za-z0-9]+)\\;FOMA",device_replacement:"DoCoMo $1",other:!0},{regex:"vodafone([A-Za-z0-9]+)",device_replacement:"Huawei Vodafone $1",other:!0},{regex:"i\\-mate ([A-Za-z0-9]+)",device_replacement:"i-mate $1",other:!0},{regex:"Kyocera\\-([A-Za-z0-9]+)",device_replacement:"Kyocera $1",other:!0},{regex:"KWC\\-([A-Za-z0-9]+)",device_replacement:"Kyocera $1",other:!0},{regex:"Lenovo\\-([A-Za-z0-9]+)",device_replacement:"Lenovo $1",manufacturer:"Lenovo"},{regex:"Lenovo\\_([A-Za-z0-9]+)",device_replacement:"Lenovo $1",manufacturer:"Levovo"},{regex:"LG/([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LG-LG([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LGE-LG([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LGE VX([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LG ([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LGE LG\\-AX([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LG\\-([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LGE\\-([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"LG([A-Za-z0-9]+)",device_replacement:"LG $1",manufacturer:"LG"},{regex:"(KIN)\\.One (\\d+)\\.(\\d+)",device_replacement:"Microsoft $1"},{regex:"(KIN)\\.Two (\\d+)\\.(\\d+)",device_replacement:"Microsoft $1"},{regex:"(Motorola)\\-([A-Za-z0-9]+)",manufacturer:"Motorola"},{regex:"MOTO\\-([A-Za-z0-9]+)",device_replacement:"Motorola $1",manufacturer:"Motorola"},{regex:"MOT\\-([A-Za-z0-9]+)",device_replacement:"Motorola $1",manufacturer:"Motorola"},{regex:"Philips([A-Za-z0-9]+)",device_replacement:"Philips $1",manufacturer:"Philips"},{regex:"Philips ([A-Za-z0-9]+)",device_replacement:"Philips $1",manufacturer:"Philips"},{regex:"SAMSUNG-([A-Za-z0-9\\-]+)",device_replacement:"Samsung $1",manufacturer:"Samsung"},{regex:"SAMSUNG\\; ([A-Za-z0-9\\-]+)",device_replacement:"Samsung $1",manufacturer:"Samsung"},{regex:"Softbank/1\\.0/([A-Za-z0-9]+)",device_replacement:"Softbank $1",other:!0},{regex:"Softbank/2\\.0/([A-Za-z0-9]+)",device_replacement:"Softbank $1",other:!0},{regex:"(hiptop|avantgo|plucker|xiino|blazer|elaine|up.browser|up.link|mmp|smartphone|midp|wap|vodafone|o2|pocket|mobile|pda)",device_replacement:"Generic Smartphone"},{regex:"^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\\-|airn|alav|asus|attw|au\\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bell|bird|bw\\-n|bw\\-u|beck|benq|bilb|blac|c55/|cdm\\-|chtm|capi|comp|cond|craw|dall|dbte|dc\\-s|dica|ds\\-d|ds12|dait|devi|dmob|doco|dopo|el49|erk0|esl8|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\\-|fly\\_|g\\-mo|g1 u|g560|gf\\-5|grun|gene|go.w|good|grad|hcit|hd\\-m|hd\\-p|hd\\-t|hei\\-|hp i|hpip|hs\\-c|htc |htc\\-|htca|htcg)",device_replacement:"Generic Feature Phone"},{regex:"^(htcp|htcs|htct|htc\\_|haie|hita|huaw|hutc|i\\-20|i\\-go|i\\-ma|i230|iac|iac\\-|iac/|ig01|im1k|inno|iris|jata|java|kddi|kgt|kgt/|kpt |kwc\\-|klon|lexi|lg g|lg\\-a|lg\\-b|lg\\-c|lg\\-d|lg\\-f|lg\\-g|lg\\-k|lg\\-l|lg\\-m|lg\\-o|lg\\-p|lg\\-s|lg\\-t|lg\\-u|lg\\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\\-|lge/|lynx|leno|m1\\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\\-|nem\\-|newg|neon)",device_replacement:"Generic Feature Phone"},{regex:"^(netf|noki|nzph|o2 x|o2\\-x|opwv|owg1|opti|oran|ot\\-s|p800|pand|pg\\-1|pg\\-2|pg\\-3|pg\\-6|pg\\-8|pg\\-c|pg13|phil|pn\\-2|pt\\-g|palm|pana|pire|pock|pose|psio|qa\\-a|qc\\-2|qc\\-3|qc\\-5|qc\\-7|qc07|qc12|qc21|qc32|qc60|qci\\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\\-|scp\\-|sdk/|se47|sec\\-|sec0|sec1|semc|sgh\\-|shar|sie\\-|sk\\-0|sl45|slid|smb3|smt5|sp01|sph\\-|spv |spv\\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\\-mo|t218|t250|t600|t610|t618|tcl\\-|tdg\\-|telm|tim\\-|ts70|tsm\\-|tsm3|tsm5|tx\\-9|tagt)",device_replacement:"Generic Feature Phone"},{regex:"^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vite|voda|vulc|w3c |w3c\\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\\-|your|zte\\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\\-|webc|whit|wmlb|xda\\-|xda\\_)",device_replacement:"Generic Feature Phone"},{regex:"(bot|borg|google(^tv)|yahoo|slurp|msnbot|msrbot|openbot|archiver|netresearch|lycos|scooter|altavista|teoma|gigabot|baiduspider|blitzbot|oegp|charlotte|furlbot|http%20client|polybot|htdig|ichiro|mogimogi|larbin|pompos|scrubby|searchsight|seekbot|semanticdiscovery|silk|snappy|speedy|spider|voila|vortex|voyager|zao|zeal|fast\\-webcrawler|converacrawler|dataparksearch|findlinks)",device_replacement:"Spider"}],mobile_browser_families:["Firefox Mobile","Opera Mobile","Opera Mini","Mobile Safari","webOS","IE Mobile","Playstation Portable","Nokia","Blackberry","Palm","Silk","Android","Maemo","Obigo","Netfront","AvantGo","Teleca","SEMC-Browser","Bolt","Iris","UP.Browser","Symphony","Minimo","Bunjaloo","Jasmine","Dolfin","Polaris","BREW","Chrome Mobile","Chrome Mobile iOS","UC Browser","Tizen Browser"]};e.parsers=["device_parsers","browser_parsers","os_parsers","mobile_os_families","mobile_browser_families"],e.types=["browser","os","device"],e.regexes=r||function(){var r={};return e.parsers.map(function(e){r[e]=[]}),r}(),e.families=function(){var r={};return e.types.map(function(e){r[e]=[]}),r}();var a=Array.prototype,o=(Object.prototype,Function.prototype,a.forEach);a.indexOf;var i=function(e,r){for(var a={},o=0;r.length>o&&!(a=r[o](e));o++);return a},n=function(e,r){t(e,function(e){t(r,function(r){delete e[r]})})},t=forEach=function(e,r,a){if(null!=e)if(o&&e.forEach===o)e.forEach(r,a);else if(e.length===+e.length)for(var i=0,n=e.length;n>i;i++)r.call(a,e[i],i,e);else for(var t in e)_.has(e,t)&&r.call(a,e[t],t,e)},l=function(e){return!(!e||e===undefined||null==e)},d=function(e){var r="";return e=e||{},l(e)&&l(e.major)&&(r+=e.major,l(e.minor)&&(r+="."+e.minor,l(e.patch)&&(r+="."+e.patch))),r},c=function(e){e=e||{};var r=d(e);return r&&(r=" "+r),e&&l(e.family)?e.family+r:""};return e.parse=function(r){var a=function(r){return e.regexes[r+"_parsers"].map(function(e){function a(r){var a=r.match(o);if(!a)return null;var t={};return t.family=(i?i.replace("$1",a[1]):a[1])||"other",t.major=parseInt(n?n:a[2])||null,t.minor=a[3]?parseInt(a[3]):null,t.patch=a[4]?parseInt(a[4]):null,t.tablet=e.tablet,t.man=e.manufacturer||null,t}var o=RegExp(e.regex),i=e[("browser"===r?"family":r)+"_replacement"],n=e.major_version_replacement;return a})},o=function(){},t=a("browser"),m=a("os"),p=a("device"),s=new o;s.source=r,s.browser=i(r,t),l(s.browser)?(s.browser.name=c(s.browser),s.browser.version=d(s.browser)):s.browser={},s.os=i(r,m),l(s.os)?(s.os.name=c(s.os),s.os.version=d(s.os)):s.os={},s.device=i(r,p),l(s.device)?(s.device.name=c(s.device),s.device.version=d(s.device)):s.device={tablet:!1,family:"Other"};var g={};return e.regexes.mobile_browser_families.map(function(e){g[e]=!0}),e.regexes.mobile_os_families.map(function(e){g[e]=!0}),s.device.type="Spider"===s.browser.family?"Spider":s.browser.tablet||s.os.tablet||s.device.tablet?"Tablet":g.hasOwnProperty(s.browser.family)?"Mobile":"Desktop",s.device.manufacturer=s.browser.man||s.os.man||s.device.man||null,n([s.browser,s.os,s.device],["tablet","man"]),s},e}();"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=r),exports.detect=r):e.detect=r,"function"==typeof define&&define.amd&&define(function(){return r})})(window); \ No newline at end of file diff --git a/freemius/README.md b/freemius/README.md index 8260aff..cd292dd 100644 --- a/freemius/README.md +++ b/freemius/README.md @@ -280,3 +280,7 @@ The free version is the one that you should give your users to download. Therefo Copyright (c) Freemius®, Inc. Licensed under the GNU general public license (version 3). + +## Contributing + +Please see our [contributing guide](CONTRIBUTING.md). diff --git a/freemius/assets/css/admin/account.css b/freemius/assets/css/admin/account.css index b24edda..c9f5abd 100644 --- a/freemius/assets/css/admin/account.css +++ b/freemius/assets/css/admin/account.css @@ -1 +1 @@ -label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-notice[data-id=license_not_whitelabeled].success,.fs-notice[data-id=license_whitelabeled].success{color:inherit;border-left-color:#00a0d2}.fs-notice[data-id=license_not_whitelabeled].success label.fs-plugin-title,.fs-notice[data-id=license_whitelabeled].success label.fs-plugin-title{display:none}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #f1f1f1}#fs_account h3 .dashicons{width:26px;height:26px;font-size:1.3em}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type=text]{color:#0073aa;font-size:16px;background:none}.fs-key-value-table input[type=text]{width:100%;font-weight:bold}.fs-field-beta_program label{margin-left:7px}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{max-height:200px;overflow:auto;border:1px solid #e5e5e5}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none !important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{text-align:right;color:gray;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%}@media screen and (max-width: 639px){#fs_account .fs-header-actions{position:static;padding:0 15px 12px 15px;margin:0 0 12px 0}#fs_account .fs-header-actions li{float:none;display:inline-block}#fs_account #fs_account_details{display:block}#fs_account #fs_account_details tbody,#fs_account #fs_account_details tr,#fs_account #fs_account_details td,#fs_account #fs_account_details th{display:block}#fs_account #fs_account_details tr td:first-child{text-align:left}#fs_account #fs_account_details tr td:nth-child(2){padding:0 12px}#fs_account #fs_account_details tr td:nth-child(2) code{margin:0;padding:0}#fs_account #fs_account_details tr td:nth-child(2) label{margin-left:0}#fs_account #fs_account_details tr td:nth-child(3){text-align:left}#fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) .button-group{float:none;margin:12px 0}} +label.fs-tag,span.fs-tag{background:#ffba00;border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-notice[data-id=license_not_whitelabeled].success,.fs-notice[data-id=license_whitelabeled].success{border-left-color:#00a0d2;color:inherit}.fs-notice[data-id=license_not_whitelabeled].success label.fs-plugin-title,.fs-notice[data-id=license_whitelabeled].success label.fs-plugin-title{display:none}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{border-bottom:1px solid #f1f1f1;font-size:1.3em;line-height:1.4;margin:0 0 12px;padding:12px 15px}#fs_account h3 .dashicons{font-size:1.3em;height:26px;width:26px}#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{font-size:.9em;position:absolute;right:15px;top:17px}#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:700}.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 code,.fs-key-value-table input[type=text],.fs-key-value-table var{background:none;color:#0073aa;font-size:16px}.fs-key-value-table input[type=text]{font-weight:700;width:100%}.fs-field-beta_program label{margin-left:7px}label.fs-tag{border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag,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{border:1px solid #e5e5e5;max-height:200px;overflow:auto}#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{color:gray;text-align:right;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{white-space:nowrap;width:1px}#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{font-weight:700;text-align:left}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{padding:5px;width:50%}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:700}#fs_billing_address input,#fs_billing_address select{display:block;margin-top:5px;width:100%}#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{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#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%}@media screen and (max-width:639px){#fs_account .fs-header-actions{margin:0 0 12px;padding:0 15px 12px;position:static}#fs_account .fs-header-actions li{display:inline-block;float:none}#fs_account #fs_account_details,#fs_account #fs_account_details tbody,#fs_account #fs_account_details td,#fs_account #fs_account_details th,#fs_account #fs_account_details tr{display:block}#fs_account #fs_account_details tr td:first-child{text-align:left}#fs_account #fs_account_details tr td:nth-child(2){padding:0 12px}#fs_account #fs_account_details tr td:nth-child(2) code{margin:0;padding:0}#fs_account #fs_account_details tr td:nth-child(2) label{margin-left:0}#fs_account #fs_account_details tr td:nth-child(3){text-align:left}#fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) .button-group{float:none;margin:12px 0}} \ No newline at end of file diff --git a/freemius/assets/css/admin/add-ons.css b/freemius/assets/css/admin/add-ons.css index dd71813..cce528f 100644 --- a/freemius/assets/css/admin/add-ons.css +++ b/freemius/assets/css/admin/add-ons.css @@ -1 +1 @@ -.fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);box-shadow:0 2px 1px -1px rgba(0,0,0,.3)}#fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{float:left;height:152px;width:310px;padding:0;margin:0 0 30px 30px;font-size:14px;list-style:none;border:1px solid #ddd;cursor:pointer;position:relative}#fs_addons .fs-cards-list .fs-card .fs-overlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;overflow:hidden;height:100%;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner>ul{-moz-transition:all,.15s;-o-transition:all,.15s;-ms-transition:all,.15s;-webkit-transition:all,.15s;transition:all,.15s;left:0;right:0;top:0;position:absolute}#fs_addons .fs-cards-list .fs-card .fs-inner>ul>li{list-style:none;line-height:18px;padding:0 15px;width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{padding:0;margin:0;line-height:0;display:block;height:100px;background-repeat:repeat-x;background-size:100% 100%;-moz-transition:all,.15s;-o-transition:all,.15s;-ms-transition:all,.15s;-webkit-transition:all,.15s;transition:all,.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner .fs-badge.fs-installed-addon-badge{font-size:1.02em;line-height:1.3em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{margin:10px 0 0 0;height:18px;overflow:hidden;color:#000;white-space:nowrap;text-overflow:ellipsis;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;padding:10px 15px 100px 15px;border-top:1px solid #eee;margin:0 0 10px 0;color:#777}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{position:absolute;top:10px;right:0px;background:#adff2f;display:block;padding:2px 10px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);box-shadow:1px 1px 1px rgba(0,0,0,.3);text-transform:uppercase;font-size:.9em;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button,#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button-group{position:absolute;top:112px;right:10px}@media screen and (min-width: 960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer{color:#29abe1}}#TB_window,#TB_window iframe{width:821px !important}#plugin-information .fyi{width:266px !important}#plugin-information #section-holder{margin-right:299px;clear:none}#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description p,#plugin-information #section-description b,#plugin-information #section-description i,#plugin-information #section-description blockquote,#plugin-information #section-description li,#plugin-information #section-description ul,#plugin-information #section-description ol{clear:none}#plugin-information #section-description iframe{max-width:100%}#plugin-information #section-description .fs-selling-points{padding-bottom:10px;border-bottom:1px solid #ddd}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{padding:0;list-style:none outside none}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;font-size:3em;vertical-align:middle;line-height:30px;float:left;margin:0 0 0 -15px}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px !important}#plugin-information #section-description .fs-screenshots:after{content:"";display:table;clear:both}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{width:225px;height:225px;float:left;margin-bottom:20px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#plugin-information #section-description .fs-screenshots ul li a{display:block;width:100%;height:100%;border:1px solid;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2);background-size:cover}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{margin:-16px;border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan h3{margin-top:0;padding:20px;font-size:16px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;position:relative;padding:0 10px;font-size:.9em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{text-transform:uppercase;color:green;background:#adff2f;position:absolute;left:-1px;right:-1px;bottom:100%;border:1px solid #006400;padding:2px;text-align:center;font-size:.9em;line-height:1em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{cursor:default;background:#fffeec;border-bottom-color:#fffeec}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;margin:0;padding-bottom:0;color:#0073aa}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{width:100%;text-align:center;font-weight:bold;text-transform:uppercase;font-size:1.1em}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-align:center;display:block;font-weight:bold;margin-bottom:10px;text-transform:uppercase;background:#f3f3f3;padding:2px;border:1px solid #ccc}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-transform:none;color:green;background:#adff2f}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{width:100%;border-spacing:0;border-collapse:separate}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;font-weight:normal;display:block;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;padding:10px 0;text-align:center;width:100px;color:#71ae00}#plugin-information #section-features table tbody td:first-child{text-align:left;width:auto;color:inherit;padding-left:26px}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{width:30px;height:30px;font-size:30px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button,#plugin-information .fs-dropdown .button-group .button{position:relative;width:auto;top:0;right:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button:focus,#plugin-information .fs-dropdown .button-group .button:focus{z-index:10}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .fs-dropdown-arrow,#plugin-information .fs-dropdown .button-group .fs-dropdown-arrow{border-top:6px solid #fff;border-right:4px solid transparent;border-left:4px solid transparent;top:12px;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button){border-bottom-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button{border-bottom-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button){border-top-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active.up .fs-dropdown-arrow-button{border-top-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list,#plugin-information .fs-dropdown .fs-dropdown-list{position:absolute;right:-1px;top:100%;margin-left:auto;padding:3px 0;border:1px solid #bfbfbf;background-color:#fff;z-index:1;width:230px;text-align:left;-moz-box-shadow:0px 2px 4px -1px rgba(0,0,0,.2),0px 4px 5px 0px rgba(0,0,0,.14),0px 1px 10px 0px rgba(0,0,0,.12);-webkit-box-shadow:0px 2px 4px -1px rgba(0,0,0,.2),0px 4px 5px 0px rgba(0,0,0,.14),0px 1px 10px 0px rgba(0,0,0,.12);box-shadow:0px 2px 4px -1px rgba(0,0,0,.2),0px 4px 5px 0px rgba(0,0,0,.14),0px 1px 10px 0px rgba(0,0,0,.12)}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li,#plugin-information .fs-dropdown .fs-dropdown-list li{margin:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li a,#plugin-information .fs-dropdown .fs-dropdown-list li a{display:block;padding:5px 10px;text-decoration:none;text-shadow:none}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover,#plugin-information .fs-dropdown .fs-dropdown-list li:hover{background-color:#0074a3;color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover a,#plugin-information .fs-dropdown .fs-dropdown-list li:hover a{color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown:not(.up) .fs-dropdown-list,#plugin-information .fs-dropdown:not(.up) .fs-dropdown-list{-moz-border-radius:3px 0 3px 3px;-webkit-border-radius:3px 0 3px 3px;border-radius:3px 0 3px 3px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.up .fs-dropdown-list,#plugin-information .fs-dropdown.up .fs-dropdown-list{-moz-border-radius:3px 3px 0 3px;-webkit-border-radius:3px 3px 0 3px;border-radius:3px 3px 0 3px}#plugin-information .fs-dropdown .button-group{width:100%}#plugin-information .fs-dropdown .button-group .button{float:none;font-size:14px;font-weight:normal;text-transform:none}#plugin-information .fs-dropdown .fs-dropdown-list{margin-top:1px}#plugin-information .fs-dropdown.up .fs-dropdown-list{top:auto;bottom:100%;margin-bottom:2px}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group{text-align:center;display:table}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button{display:table-cell}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button:not(.fs-dropdown-arrow-button){left:1px;width:100%}#plugin-information-footer>.button,#plugin-information-footer .fs-dropdown{position:relative;top:3px}#plugin-information-footer>.button.left,#plugin-information-footer .fs-dropdown.left{float:left}#plugin-information-footer>.right,#plugin-information-footer .fs-dropdown{float:right}@media screen and (max-width: 961px){#fs_addons .fs-cards-list .fs-card{height:265px}} +.fs-badge{background:#71ae00;border-radius:3px 0 0 3px;border-right:0;box-shadow:0 2px 1px -1px rgba(0,0,0,.3);color:#fff;font-weight:700;padding:5px 10px;position:absolute;right:0;text-transform:uppercase;top:10px}#fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{border:1px solid #ddd;cursor:pointer;float:left;font-size:14px;height:152px;list-style:none;margin:0 0 30px 30px;padding:0;position:relative;width:310px}#fs_addons .fs-cards-list .fs-card .fs-overlay{bottom:0;left:0;position:absolute;right:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;height:100%;overflow:hidden;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner>ul{left:0;position:absolute;right:0;top:0;transition:all,.15s}#fs_addons .fs-cards-list .fs-card .fs-inner>ul>li{box-sizing:border-box;display:block;line-height:18px;list-style:none;padding:0 15px;width:100%}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{background-repeat:repeat-x;background-size:100% 100%;display:block;height:100px;line-height:0;margin:0;padding:0;transition:all,.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner .fs-badge.fs-installed-addon-badge{font-size:1.02em;line-height:1.3em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{color:#000;font-weight:700;height:18px;margin:10px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;border-top:1px solid #eee;color:#777;margin:0 0 10px;padding:10px 15px 100px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{background:#adff2f;box-shadow:1px 1px 1px rgba(0,0,0,.3);display:block;font-size:.9em;font-weight:700;padding:2px 10px;position:absolute;right:0;text-transform:uppercase;top:10px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button,#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button-group{position:absolute;right:10px;top:112px}@media screen and (min-width:960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title{color:#29abe1}}#TB_window,#TB_window iframe{width:821px!important}#plugin-information .fyi{width:266px!important}#plugin-information #section-holder{clear:none;margin-right:299px}#plugin-information #section-description b,#plugin-information #section-description blockquote,#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description i,#plugin-information #section-description li,#plugin-information #section-description ol,#plugin-information #section-description p,#plugin-information #section-description ul{clear:none}#plugin-information #section-description iframe{max-width:100%}#plugin-information #section-description .fs-selling-points{border-bottom:1px solid #ddd;padding-bottom:10px}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{list-style:none outside none;padding:0}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;float:left;font-size:3em;line-height:30px;margin:0 0 0 -15px;vertical-align:middle}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px!important}#plugin-information #section-description .fs-screenshots:after{clear:both;content:"";display:table}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{box-sizing:content-box;float:left;height:225px;margin-bottom:20px;width:225px}#plugin-information #section-description .fs-screenshots ul li a{background-size:cover;border:1px solid;box-shadow:1px 1px 1px rgba(0,0,0,.2);display:block;height:100%;width:100%}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{border-bottom:1px solid #ddd;margin:-16px}#plugin-information .plugin-information-pricing .fs-plan h3{font-size:16px;margin-top:0;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;font-size:.9em;padding:0 10px;position:relative}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{background:#adff2f;border:1px solid #006400;bottom:100%;color:green;font-size:.9em;left:-1px;line-height:1em;padding:2px;position:absolute;right:-1px;text-align:center;text-transform:uppercase}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{background:#fffeec;border-bottom-color:#fffeec;cursor:default}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;color:#0073aa;margin:0;padding-bottom:0}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{font-size:1.1em;font-weight:700;text-align:center;text-transform:uppercase;width:100%}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount,#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency{background:#f3f3f3;border:1px solid #ccc;display:block;font-weight:700;margin-bottom:10px;padding:2px;text-align:center;text-transform:uppercase}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{background:#adff2f;color:green;text-transform:none}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{border-collapse:separate;border-spacing:0;width:100%}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;display:block;font-weight:400;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;color:#71ae00;padding:10px 0;text-align:center;width:100px}#plugin-information #section-features table tbody td:first-child{color:inherit;padding-left:26px;text-align:left;width:auto}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{font-size:30px;height:30px;width:30px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button,#plugin-information .fs-dropdown .button-group .button{position:relative;right:0;top:0;width:auto}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button:focus,#plugin-information .fs-dropdown .button-group .button:focus{z-index:10}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .fs-dropdown-arrow,#plugin-information .fs-dropdown .button-group .fs-dropdown-arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #fff;position:relative;top:12px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button){border-bottom-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button{border-bottom-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button){border-top-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active.up .fs-dropdown-arrow-button{border-top-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list,#plugin-information .fs-dropdown .fs-dropdown-list{background-color:#fff;border:1px solid #bfbfbf;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);margin-left:auto;padding:3px 0;position:absolute;right:-1px;text-align:left;top:100%;width:230px;z-index:1}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li,#plugin-information .fs-dropdown .fs-dropdown-list li{margin:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li a,#plugin-information .fs-dropdown .fs-dropdown-list li a{display:block;padding:5px 10px;text-decoration:none;text-shadow:none}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover,#plugin-information .fs-dropdown .fs-dropdown-list li:hover{background-color:#0074a3;color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover a,#plugin-information .fs-dropdown .fs-dropdown-list li:hover a{color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown:not(.up) .fs-dropdown-list,#plugin-information .fs-dropdown:not(.up) .fs-dropdown-list{border-radius:3px 0 3px 3px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.up .fs-dropdown-list,#plugin-information .fs-dropdown.up .fs-dropdown-list{border-radius:3px 3px 0 3px}#plugin-information .fs-dropdown .button-group{width:100%}#plugin-information .fs-dropdown .button-group .button{float:none;font-size:14px;font-weight:400;text-transform:none}#plugin-information .fs-dropdown .fs-dropdown-list{margin-top:1px}#plugin-information .fs-dropdown.up .fs-dropdown-list{bottom:100%;margin-bottom:2px;top:auto}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group{display:table;text-align:center}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button{display:table-cell}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button:not(.fs-dropdown-arrow-button){left:1px;width:100%}#plugin-information-footer .fs-dropdown,#plugin-information-footer>.button{position:relative;top:3px}#plugin-information-footer .fs-dropdown.left,#plugin-information-footer>.button.left{float:left}#plugin-information-footer .fs-dropdown,#plugin-information-footer>.right{float:right}@media screen and (max-width:961px){#fs_addons .fs-cards-list .fs-card{height:265px}} \ No newline at end of file diff --git a/freemius/assets/css/admin/affiliation.css b/freemius/assets/css/admin/affiliation.css index aae31ed..86c9250 100644 --- a/freemius/assets/css/admin/affiliation.css +++ b/freemius/assets/css/admin/affiliation.css @@ -1 +1 @@ -#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} +#fs_affiliation_content_wrapper #messages{margin-top:25px}#fs_affiliation_content_wrapper h3{font-size:24px;margin-left:0;padding:0}#fs_affiliation_content_wrapper ul li{box-sizing:border-box;list-style-type:none}#fs_affiliation_content_wrapper ul li:before{content:"✓";font-weight:700;margin-right:10px}#fs_affiliation_content_wrapper label,#fs_affiliation_content_wrapper li,#fs_affiliation_content_wrapper p:not(.description){font-size:16px!important;line-height:26px!important}#fs_affiliation_content_wrapper .button{font-size:16px;height:40px;line-height:35px;margin-bottom:7px;margin-top:20px}#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{display:block;font-weight:700;width:100%}#fs_affiliation_content_wrapper form .input-container.input-container-text input,#fs_affiliation_content_wrapper form .input-container.input-container-text label,#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{display:inline-block;margin-top:3px;text-decoration:none}#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} \ No newline at end of file diff --git a/freemius/assets/css/admin/checkout.css b/freemius/assets/css/admin/checkout.css index 56515d2..26d74ca 100644 --- a/freemius/assets/css/admin/checkout.css +++ b/freemius/assets/css/admin/checkout.css @@ -1 +1 @@ -@media screen and (max-width: 782px){#wpbody-content{padding-bottom:0 !important}} +@media screen and (max-width:782px){#wpbody-content{padding-bottom:0!important}} \ No newline at end of file diff --git a/freemius/assets/css/admin/clone-resolution.css b/freemius/assets/css/admin/clone-resolution.css index 8f48326..bb4b2f4 100644 --- a/freemius/assets/css/admin/clone-resolution.css +++ b/freemius/assets/css/admin/clone-resolution.css @@ -1 +1 @@ -.fs-notice[data-id^=clone_resolution_options_notice]{padding:0;color:inherit !important}.fs-notice[data-id^=clone_resolution_options_notice] .fs-notice-body{padding:0;margin-bottom:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-notice-header{padding:5px 10px}.fs-notice[data-id^=clone_resolution_options_notice] ol{margin-top:0;margin-bottom:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-options-container{display:flex;flex-direction:row;padding:0 10px 10px}@media(max-width: 750px){.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-options-container{flex-direction:column}}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option{border:1px solid #ccc;padding:10px 10px 15px 10px;flex:auto;margin:5px}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option:first-child{margin-left:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option:last-child{margin-right:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option strong{font-size:1.2em;padding:2px;line-height:1.5em}.fs-notice[data-id^=clone_resolution_options_notice] a{text-decoration:none}.fs-notice[data-id^=clone_resolution_options_notice] .button{margin-right:10px}.rtl .fs-notice[data-id^=clone_resolution_options_notice] .button{margin-right:0;margin-left:10px}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-documentation-container{padding:0 10px 15px}.fs-notice[data-id=temporary_duplicate_notice] #fs_clone_resolution_error_message{border:1px solid #d3135a;background:#fee;color:#d3135a;padding:10px}.fs-notice[data-id=temporary_duplicate_notice] ol{margin-top:0} +.fs-notice[data-id^=clone_resolution_options_notice]{color:inherit!important;padding:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-notice-body{margin-bottom:0;padding:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-notice-header{padding:5px 10px}.fs-notice[data-id^=clone_resolution_options_notice] ol{margin-bottom:0;margin-top:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-options-container{display:flex;flex-direction:row;padding:0 10px 10px}@media(max-width:750px){.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-options-container{flex-direction:column}}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option{border:1px solid #ccc;flex:auto;margin:5px;padding:10px 10px 15px}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option:first-child{margin-left:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option:last-child{margin-right:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-resolution-option strong{font-size:1.2em;line-height:1.5em;padding:2px}.fs-notice[data-id^=clone_resolution_options_notice] a{text-decoration:none}.fs-notice[data-id^=clone_resolution_options_notice] .button{margin-right:10px}.rtl .fs-notice[data-id^=clone_resolution_options_notice] .button{margin-left:10px;margin-right:0}.fs-notice[data-id^=clone_resolution_options_notice] .fs-clone-documentation-container{padding:0 10px 15px}.fs-notice[data-id=temporary_duplicate_notice] #fs_clone_resolution_error_message{background:#fee;border:1px solid #d3135a;color:#d3135a;padding:10px}.fs-notice[data-id=temporary_duplicate_notice] ol{margin-top:0}.fs-notice[data-id=temporary_duplicate_notice] a{position:relative}.fs-notice[data-id=temporary_duplicate_notice] a:focus{box-shadow:none}.fs-notice[data-id=temporary_duplicate_notice] a.disabled{color:gray}.fs-notice[data-id=temporary_duplicate_notice] a .fs-ajax-spinner{bottom:0;left:8px;margin-left:100%;position:absolute;right:0;top:-1px} \ No newline at end of file diff --git a/freemius/assets/css/admin/common.css b/freemius/assets/css/admin/common.css index 900103a..fae2810 100644 --- a/freemius/assets/css/admin/common.css +++ b/freemius/assets/css/admin/common.css @@ -1 +1 @@ -.fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);box-shadow:0 2px 1px -1px rgba(0,0,0,.3)}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{position:relative;top:0;margin-top:10px;text-align:center}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{position:relative;display:inline-block;color:#ccc;text-shadow:0 1px 1px rgba(255,255,255,.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);background:#ececec;box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);cursor:pointer}.fs-switch span{display:inline-block;width:35px;text-transform:uppercase}.fs-switch .fs-toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.3);border-radius:4px;background:#fff;background-color:#fff;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ececec), color-stop(1, #fff));background-image:-webkit-linear-gradient(top, #ececec, #fff);background-image:-moz-linear-gradient(top, #ececec, #fff);background-image:-ms-linear-gradient(top, #ececec, #fff);background-image:-o-linear-gradient(top, #ececec, #fff);background-image:linear-gradient(top, bottom, #ececec, #fff);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5);z-index:999;-moz-transition:.4s cubic-bezier(0.54, 1.6, 0.5, 1);-o-transition:.4s cubic-bezier(0.54, 1.6, 0.5, 1);-ms-transition:.4s cubic-bezier(0.54, 1.6, 0.5, 1);-webkit-transition:.4s cubic-bezier(0.54, 1.6, 0.5, 1);transition:.4s cubic-bezier(0.54, 1.6, 0.5, 1)}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{top:8px;padding:4px 25px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round .fs-toggle{top:0;width:24px;height:24px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{top:0;width:18px;height:18px;-moz-border-radius:18px;-webkit-border-radius:18px;border-radius:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}body.fs-loading,body.fs-loading *{cursor:wait !important}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media(max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}#fs_connect .fs-error ol,#fs_connect .fs-error .fs-api-request-error-show-details-link,#fs_connect .fs-error .fs-api-request-error-details,.fs-modal .notice-error ol,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-modal .notice-error .fs-api-request-error-details,.fs-notice.error ol,.fs-notice.error .fs-api-request-error-show-details-link,.fs-notice.error .fs-api-request-error-details{text-align:left}#fs_connect .fs-error ol,.fs-modal .notice-error ol,.fs-notice.error ol{list-style-type:disc}#fs_connect .fs-error .fs-api-request-error-show-details-link,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-notice.error .fs-api-request-error-show-details-link{text-decoration:none;color:#2271b1;box-shadow:none}#fs_connect .fs-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-details{border:1px solid #ccc;padding:5px;overflow:auto;max-height:150px}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,.3);box-shadow:0 2px 2px rgba(6,113,6,.3);opacity:.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 1250px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:"↳";padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:"↲"}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain;margin-bottom:-2px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px} +.fs-badge{background:#71ae00;border-radius:3px 0 0 3px;border-right:0;box-shadow:0 2px 1px -1px rgba(0,0,0,.3);color:#fff;font-weight:700;padding:5px 10px;position:absolute;right:0;text-transform:uppercase;top:10px}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{margin-top:10px;position:relative;text-align:center;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{background:#ececec;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);color:#ccc;cursor:pointer;display:inline-block;height:18px;padding:6px 6px 5px;position:relative;text-shadow:0 1px 1px hsla(0,0%,100%,.8)}.fs-switch span{display:inline-block;text-transform:uppercase;width:35px}.fs-switch .fs-toggle{background-color:#fff;background-image:linear-gradient(180deg,#ececec,#fff);border:1px solid rgba(0,0,0,.3);border-radius:4px;box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.5);height:25px;position:absolute;top:1px;transition:.4s cubic-bezier(.54,1.6,.5,1);width:37px;z-index:999}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{border-radius:24px;padding:4px 25px;top:8px}.fs-switch.fs-round .fs-toggle{border-radius:24px;height:24px;top:0;width:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{border-radius:18px;height:18px;top:0;width:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}body.fs-loading,body.fs-loading *{cursor:wait!important}#fs_frame{font-size:0;line-height:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media(max-width:600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{background-color:#f2fcff!important;border-color:#00a0d2!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{color:#aaa;cursor:pointer;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{display:inline-block;margin-top:7px}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);border-radius:0 0 3px 3px;bottom:auto;color:#fff;cursor:auto;font-size:12px;font-weight:700;left:10px;padding:2px 10px;position:absolute;right:auto;top:100%}div.fs-notice.promotion,div.fs-notice.success,div.fs-notice.updated{display:block!important}#fs_connect .fs-error .fs-api-request-error-details,#fs_connect .fs-error .fs-api-request-error-show-details-link,#fs_connect .fs-error ol,.fs-modal .notice-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-modal .notice-error ol,.fs-notice.error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-show-details-link,.fs-notice.error ol{text-align:left}#fs_connect .fs-error ol,.fs-modal .notice-error ol,.fs-notice.error ol{list-style-type:disc}#fs_connect .fs-error .fs-api-request-error-show-details-link,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-notice.error .fs-api-request-error-show-details-link{box-shadow:none;color:#2271b1;text-decoration:none}#fs_connect .fs-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-details{border:1px solid #ccc;max-height:150px;overflow:auto;padding:5px}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{background:#ebfdeb;box-shadow:0 2px 2px rgba(6,113,6,.3);color:green;filter:alpha(opacity=95);left:160px;opacity:.95;padding:10px 20px;position:fixed;right:0;top:32px;z-index:9999}.fs-secure-notice:hover{filter:alpha(opacity=100);opacity:1}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:600px){.fs-secure-notice{display:none}}@media screen and (max-width:1250px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;text-align:center;top:46px}}span.fs-submenu-item.fs-sub:before{content:"↳";padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:"↲"}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{background:url(/wp-admin/images/wpspin_light-2x.gif);background-size:contain;border:0;display:inline-block;height:20px;margin-bottom:-2px;margin-right:5px;vertical-align:sub;width:20px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{background-color:#d54e21;border:0;color:#f9f9f9;margin-top:10px;padding:10px} \ No newline at end of file diff --git a/freemius/assets/css/admin/connect.css b/freemius/assets/css/admin/connect.css index 47a75d8..c73ec87 100644 --- a/freemius/assets/css/admin/connect.css +++ b/freemius/assets/css/admin/connect.css @@ -1 +1 @@ -.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .dashicons{float:none !important}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;-ms-transition:opacity .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;position:absolute;background:rgba(0,0,0,.8);color:#fff !important;font-family:"arial",serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:-17px;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2);line-height:1.3em;font-weight:bold;text-align:left;text-transform:none !important}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right;left:auto;right:-17px}.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,.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_connect{width:484px;margin:60px auto 20px auto}#fs_connect a{color:inherit}#fs_connect a:not(.button){text-decoration:underline}#fs_connect .fs-box-container{box-shadow:0 1px 2px rgba(0,0,0,.3);border-radius:3px;overflow:hidden;padding-top:40px;background:#f0f0f1}@media screen and (max-width: 483px){#fs_connect{width:auto;margin:30px 0 0 -10px}#fs_connect .fs-box-container{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}}#fs_connect .fs-content{background:#fff;padding:30px 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,.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content h2{line-height:1.5em}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key .fs-content{padding-bottom:10px}#fs_connect.require-license-key .fs-actions{border-top:none}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#fff;border-width:1px 0;border-style:solid;border-color:#f1f1f1}#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:" ➜"}#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:#fff;-moz-transition:background .5s ease;-o-transition:background .5s ease;-ms-transition:background .5s ease;-webkit-transition:background .5s ease;transition:background .5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions>.fs-trigger{font-size:.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions>.fs-trigger .fs-arrow::after{content:"→";width:20px;display:inline-block}#fs_connect .fs-permissions.fs-open>.fs-trigger .fs-arrow::after{content:"↓" !important}#fs_connect .fs-permissions ul li{padding-left:0;padding-right:0}@media screen and (max-width: 483px){#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:inherit;text-decoration:underline}#fs_connect .fs-header{padding:0;line-height:0;height:0;position:relative}#fs_connect .fs-header .fs-site-icon,#fs_connect .fs-header .fs-connect-logo{position:absolute;top:-8px;border-radius:50%}#fs_connect .fs-header .fs-site-icon{left:152px}#fs_connect .fs-header .fs-connect-logo{right:152px}#fs_connect .fs-header .fs-site-icon,#fs_connect .fs-header img,#fs_connect .fs-header object{width:50px;height:50px;border-radius:50%}#fs_connect .fs-header .fs-plugin-icon{position:absolute;overflow:hidden;top:-23px;left:50%;margin-left:-44px;border-radius:50%;z-index:1}#fs_connect .fs-header .fs-plugin-icon,#fs_connect .fs-header .fs-plugin-icon img{width:80px;height:80px}#fs_connect .fs-header .dashicons-wordpress-alt{font-size:40px;background:#01749a;color:#fff;width:40px;height:40px;padding:5px;border-radius:50%}#fs_connect .fs-header .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-header .dashicons-plus.fs-first{left:28%}#fs_connect .fs-header .dashicons-plus.fs-second{left:65%}#fs_connect .fs-header .fs-plugin-icon,#fs_connect .fs-header .fs-connect-logo,#fs_connect .fs-header .fs-site-icon{border:1px solid #efefef;padding:3px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:.85em;padding:10px 5px}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}.fs-multisite-options-container{margin-top:20px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect{border-radius:3px}.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:" »"}.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-header .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-header .fs-connect-logo{right:auto;left:20px}.rtl #fs_connect .fs-permissions>.fs-trigger .fs-arrow::after{content:"←"}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(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:#fff;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:0;margin-bottom:20px}#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}#license_issues_link{display:block;text-align:center;font-size:.9em;margin-top:10px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .dashicons{float:none !important}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;-ms-transition:opacity .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;position:absolute;background:rgba(0,0,0,.8);color:#fff !important;font-family:"arial",serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:-17px;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2);line-height:1.3em;font-weight:bold;text-align:left;text-transform:none !important}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right;left:auto;right:-17px}.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,.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}.fs-permissions .fs-permission.fs-disabled{color:#aaa}.fs-permissions .fs-permission.fs-disabled .fs-permission-description span{color:#aaa}.fs-permissions .fs-permission .fs-switch-feedback{position:absolute;right:15px;top:52px}.fs-permissions ul{height:0;overflow:hidden;margin:0}.fs-permissions ul li{padding:17px 15px;margin:0;position:relative}.fs-permissions ul li>i.dashicons{float:left;font-size:30px;width:30px;height:30px;padding:5px}.fs-permissions ul li .fs-switch{float:right}.fs-permissions ul li .fs-permission-description{margin-left:55px}.fs-permissions ul li .fs-permission-description span{font-size:14px;font-weight:500;color:#23282d}.fs-permissions ul li .fs-permission-description .fs-tooltip{font-size:13px;font-weight:bold}.fs-permissions ul li .fs-permission-description .fs-tooltip-trigger .dashicons{margin:-1px 2px 0 2px}.fs-permissions ul li .fs-permission-description p{margin:2px 0 0 0}.fs-permissions.fs-open{background:#fff}.fs-permissions.fs-open ul{overflow:initial;height:auto;margin:20px 0 10px 0}.fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-right:10px}.fs-permissions .fs-switch-feedback.success{color:#71ae00}.rtl .fs-permissions .fs-switch-feedback{right:auto;left:15px}.rtl .fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-left:10px;margin-right:0}.rtl .fs-permissions ul li .fs-permission-description{margin-right:55px;margin-left:0}.rtl .fs-permissions ul li .fs-switch{float:left}.rtl .fs-permissions ul li i.dashicons{float:right} +#fs_connect{margin:60px auto 20px;width:484px}#fs_connect a{color:inherit}#fs_connect a:not(.button){text-decoration:underline}#fs_connect .fs-box-container{background:#f0f0f1;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.3);overflow:hidden;padding-top:40px}@media screen and (max-width:483px){#fs_connect{margin:30px 0 0 -10px;width:auto}#fs_connect .fs-box-container{box-shadow:none}}#fs_connect .fs-content{background:#fff;padding:30px 20px}#fs_connect .fs-content .fs-error{background:snow;border:1px solid #d3135a;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);color:#d3135a;margin-bottom:10px;padding:5px;text-align:center}#fs_connect .fs-content h2{line-height:1.5em}#fs_connect .fs-content p{font-size:1.2em;margin:0;padding:0}#fs_connect .fs-license-key-container{margin:10px auto 0;position:relative;width:280px}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;right:5px;top:5px}#fs_connect.require-license-key .fs-content{padding-bottom:10px}#fs_connect.require-license-key .fs-actions{border-top:none}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{border-bottom:1px dashed;float:right;font-weight:700;height:26px;line-height:37px;margin-right:15px;text-decoration:none;vertical-align:middle}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{background:#fff;border-color:#f1f1f1;border-style:solid;border-width:1px 0;padding:10px 20px}#fs_connect .fs-actions .button{font-size:16px;height:37px;line-height:35px;margin-bottom:0;padding:0 10px 1px}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-left:15px;padding-right:15px}#fs_connect .fs-actions .button.button-primary:after{content:" ➜"}#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{background:#fff;padding:10px 20px;transition:background .5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{margin-top:0;text-align:center}#fs_connect .fs-permissions>.fs-trigger{display:block;font-size:.9em;text-align:center;text-decoration:none}#fs_connect .fs-permissions>.fs-trigger .fs-arrow:after{content:"→";display:inline-block;width:20px}#fs_connect .fs-permissions.fs-open>.fs-trigger .fs-arrow:after{content:"↓"!important}#fs_connect .fs-permissions ul li{padding-left:0;padding-right:0}@media screen and (max-width:483px){#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{background:#777;color:#fff;padding:8px}#fs_connect .fs-freemium-licensing p{display:block;margin:0;padding:0;text-align:center}#fs_connect .fs-freemium-licensing a{color:inherit;text-decoration:underline}#fs_connect .fs-header{height:0;line-height:0;padding:0;position:relative}#fs_connect .fs-header .fs-connect-logo,#fs_connect .fs-header .fs-site-icon{border-radius:50%;position:absolute;top:-8px}#fs_connect .fs-header .fs-site-icon{left:152px}#fs_connect .fs-header .fs-connect-logo{right:152px}#fs_connect .fs-header .fs-site-icon,#fs_connect .fs-header img,#fs_connect .fs-header object{border-radius:50%;height:50px;width:50px}#fs_connect .fs-header .fs-plugin-icon{border-radius:50%;left:50%;margin-left:-44px;overflow:hidden;position:absolute;top:-23px;z-index:1}#fs_connect .fs-header .fs-plugin-icon,#fs_connect .fs-header .fs-plugin-icon img{height:80px;width:80px}#fs_connect .fs-header .dashicons-wordpress-alt{background:#01749a;border-radius:50%;color:#fff;font-size:40px;height:40px;padding:5px;width:40px}#fs_connect .fs-header .dashicons-plus{color:#bbb;font-size:30px;margin-top:-10px;position:absolute;top:50%}#fs_connect .fs-header .dashicons-plus.fs-first{left:28%}#fs_connect .fs-header .dashicons-plus.fs-second{left:65%}#fs_connect .fs-header .fs-connect-logo,#fs_connect .fs-header .fs-plugin-icon,#fs_connect .fs-header .fs-site-icon{background:#fff;border:1px solid #efefef;padding:3px}#fs_connect .fs-terms{font-size:.85em;padding:10px 5px;text-align:center}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}.fs-multisite-options-container{border:1px solid #ccc;margin-top:20px;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:700}.fs-multisite-options-container.fs-apply-on-all-sites{border:0;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}#fs_marketing_optin{border:1px solid #ccc;display:none;line-height:1.5em;margin-top:10px;padding:10px}#fs_marketing_optin .fs-message{display:block;font-size:1.05em;font-weight:600;margin-bottom:5px}#fs_marketing_optin.error{background:#fee;border:1px solid #d3135a}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{display:block;margin-top:5px}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect{border-radius:3px}.rtl #fs_connect .fs-actions{background:#c0c7ca;padding:10px 20px}.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:" »"}.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-header .fs-site-icon{left:auto;right:20px}.rtl #fs_connect .fs-header .fs-connect-logo{left:20px;right:auto}.rtl #fs_connect .fs-permissions>.fs-trigger .fs-arrow:after{content:"←"}#fs_theme_connect_wrapper{background:rgba(0,0,0,.75);height:100%;overflow-y:auto;position:fixed;text-align:center;top:0;width:100%;z-index:99990}#fs_theme_connect_wrapper:before{content:"";display:inline-block;height:100%;vertical-align:middle}#fs_theme_connect_wrapper>button.close{background-color:transparent;border:0;color:#fff;cursor:pointer;height:40px;position:absolute;right:0;top:32px;width:40px}#fs_theme_connect_wrapper #fs_connect{display:inline-block;margin-bottom:20px;margin-top:0;text-align:left;top:0;vertical-align:middle}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{box-shadow:none;margin:0}.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}#license_issues_link{display:block;font-size:.9em;margin-top:10px;text-align:center}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .dashicons{float:none!important}.fs-tooltip-trigger .fs-tooltip{background:rgba(0,0,0,.8);border-radius:5px;bottom:100%;box-shadow:1px 1px 1px rgba(0,0,0,.2);color:#fff!important;font-family:arial,serif;font-size:12px;font-weight:700;left:-17px;line-height:1.3em;margin-bottom:5px;opacity:0;padding:10px;position:absolute;right:0;text-align:left;text-transform:none!important;transition:opacity .3s ease-in-out;visibility:hidden;z-index:999999}.rtl .fs-tooltip-trigger .fs-tooltip{left:auto;right:-17px;text-align:right}.fs-tooltip-trigger .fs-tooltip:after{border-color:rgba(0,0,0,.8) transparent transparent;border-style:solid;border-width:5px 5px 0;content:" ";display:block;height:0;left:21px;position:absolute;top:100%;width:0}.rtl .fs-tooltip-trigger .fs-tooltip:after{left:auto;right:21px}.fs-tooltip-trigger:hover .fs-tooltip{opacity:1;visibility:visible}.fs-permissions .fs-permission.fs-disabled,.fs-permissions .fs-permission.fs-disabled .fs-permission-description span{color:#aaa}.fs-permissions .fs-permission .fs-switch-feedback{position:absolute;right:15px;top:52px}.fs-permissions ul{height:0;margin:0;overflow:hidden}.fs-permissions ul li{margin:0;padding:17px 15px;position:relative}.fs-permissions ul li>i.dashicons{float:left;font-size:30px;height:30px;padding:5px;width:30px}.fs-permissions ul li .fs-switch{float:right}.fs-permissions ul li .fs-permission-description{margin-left:55px}.fs-permissions ul li .fs-permission-description span{color:#23282d;font-size:14px;font-weight:500}.fs-permissions ul li .fs-permission-description .fs-tooltip{font-size:13px;font-weight:700}.fs-permissions ul li .fs-permission-description .fs-tooltip-trigger .dashicons{margin:-1px 2px 0}.fs-permissions ul li .fs-permission-description p{margin:2px 0 0}.fs-permissions.fs-open{background:#fff}.fs-permissions.fs-open ul{height:auto;margin:20px 0 10px;overflow:initial}.fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-right:10px}.fs-permissions .fs-switch-feedback.success{color:#71ae00}.rtl .fs-permissions .fs-switch-feedback{left:15px;right:auto}.rtl .fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-left:10px;margin-right:0}.rtl .fs-permissions ul li .fs-permission-description{margin-left:0;margin-right:55px}.rtl .fs-permissions ul li .fs-switch{float:left}.rtl .fs-permissions ul li i.dashicons{float:right} \ No newline at end of file diff --git a/freemius/assets/css/admin/debug.css b/freemius/assets/css/admin/debug.css index 3a2aadf..84d9404 100644 --- a/freemius/assets/css/admin/debug.css +++ b/freemius/assets/css/admin/debug.css @@ -1 +1 @@ -label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-switch-label{font-size:20px;line-height:31px;margin:0 5px}#fs_log_book table{font-family:Consolas,Monaco,monospace;font-size:12px}#fs_log_book table th{color:#ccc}#fs_log_book table tr{background:#232525}#fs_log_book table tr.alternate{background:#2b2b2b}#fs_log_book table tr td.fs-col--logger{color:#5a7435}#fs_log_book table tr td.fs-col--type{color:#ffc861}#fs_log_book table tr td.fs-col--function{color:#a7b7b1;font-weight:bold}#fs_log_book table tr td.fs-col--message,#fs_log_book table tr td.fs-col--message a{color:#9a73ac !important}#fs_log_book table tr td.fs-col--file{color:#d07922}#fs_log_book table tr td.fs-col--timestamp{color:#6596be} +label.fs-tag,span.fs-tag{background:#ffba00;border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-switch-label{font-size:20px;line-height:31px;margin:0 5px}#fs_log_book table{font-family:Consolas,Monaco,monospace;font-size:12px}#fs_log_book table th{color:#ccc}#fs_log_book table tr{background:#232525}#fs_log_book table tr.alternate{background:#2b2b2b}#fs_log_book table tr td.fs-col--logger{color:#5a7435}#fs_log_book table tr td.fs-col--type{color:#ffc861}#fs_log_book table tr td.fs-col--function{color:#a7b7b1;font-weight:700}#fs_log_book table tr td.fs-col--message,#fs_log_book table tr td.fs-col--message a{color:#9a73ac!important}#fs_log_book table tr td.fs-col--file{color:#d07922}#fs_log_book table tr td.fs-col--timestamp{color:#6596be} \ No newline at end of file diff --git a/freemius/assets/css/admin/dialog-boxes.css b/freemius/assets/css/admin/dialog-boxes.css index de7f829..c16515a 100644 --- a/freemius/assets/css/admin/dialog-boxes.css +++ b/freemius/assets/css/admin/dialog-boxes.css @@ -1 +1 @@ -.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,.6)}@media(min-width: 961px){.fs-modal{padding-left:160px}.rtl .fs-modal{padding-left:0;padding-right:160px}}.fs-modal .dashicons{vertical-align:middle}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media(max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eee 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:.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 .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-webkit-transition:all .2s ease-in-out;transition:all .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:#eee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:last-of-type{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}.rtl .fs-modal .fs-modal-footer{text-align:left}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,.fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:left;line-height:30px}.rtl .fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label,.rtl .fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:right}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:bold;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table,.fs-license-options-container table select,.fs-license-options-container table .fs-available-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{position:relative;top:6px;float:left;margin-right:5px}.fs-license-options-container table .fs-other-license-key-container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-modal.fs-modal-user-change .fs-modal-body input#fs_other_email_address{width:100%}.fs-user-change-options-container table{width:100%;border-collapse:collapse}.fs-user-change-options-container table tr{display:block;margin-bottom:2px}.fs-user-change-options-container table .fs-email-address-container td{display:inline-block}.fs-user-change-options-container table .fs-email-address-container input[type=radio]{margin-bottom:0;margin-top:0}.fs-user-change-options-container table .fs-other-email-address-container{width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div{display:table;width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div label,.fs-user-change-options-container table .fs-other-email-address-container>div>div{display:table-cell}.fs-user-change-options-container table .fs-other-email-address-container>div label{width:1%;padding-left:3px;padding-right:3px}.fs-user-change-options-container table .fs-other-email-address-container>div>div{width:auto}.fs-user-change-options-container table .fs-other-email-address-container>div>div input{width:100%}.fs-modal.fs-modal-developer-license-debug-mode .fs-modal-body input.fs-license-or-user-key{width:100%}.fs-multisite-options-container{margin-top:20px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media(max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}.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-modal.fs-modal-email-address-update .fs-modal-body input[type=text]{width:100%}.fs-modal.fs-modal-email-address-update p{margin-bottom:0}.fs-modal.fs-modal-email-address-update ul{margin:1em .5em}.fs-modal.fs-modal-email-address-update ul li label span{float:left;margin-top:0}.fs-modal.fs-modal-email-address-update ul li label span:last-child{display:block;float:none;margin-left:20px}.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:.3;-o-transform:.3;-ms-transform:.3;-webkit-transform:.3;transform:.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}.button-primary.warn{box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c;background:#f56a48;border-color:#ec6544 #d2593c #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{color:#f5b3a1 !important;background:#e76444 !important;border-color:#d85e40 !important;text-shadow:0 -1px 0 rgba(0,0,0,.1) !important} +.fs-modal{background:rgba(0,0,0,.6);display:none;height:100%;overflow:auto;position:fixed;top:0;width:100%;z-index:100000}@media(min-width:961px){.fs-modal{padding-left:160px}.rtl .fs-modal{padding-left:0;padding-right:160px}}.fs-modal .dashicons{vertical-align:middle}.fs-modal .fs-modal-dialog{background:transparent;left:50%;margin-left:-298px;padding-bottom:30px;position:absolute;top:-100%;width:596px;z-index:100001}@media(max-width:650px){.fs-modal .fs-modal-dialog{box-sizing:border-box;margin-left:-50%;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,.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{background:#fefefe;border:0;padding:20px}.fs-modal .fs-modal-header{background:#fbfbfb;border-bottom:1px solid #eee;margin-bottom:-10px;padding:15px 20px;position:relative}.fs-modal .fs-modal-header h4{color:#cacaca;font-size:1.2em;font-weight:700;letter-spacing:.6px;margin:0;padding:0;text-shadow:1px 1px 1px #fff;text-transform:uppercase;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{border-radius:20px;color:#bbb;cursor:pointer;padding:3px;position:absolute;right:10px;top:12px;transition:all .2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{background:#aaa;color:#fff}.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-size:20px;font-weight:700;margin-top:0}.fs-modal .fs-modal-footer{border-top:1px solid #eee;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:last-of-type{margin:0}.fs-modal .fs-modal-panel>.notice.inline{display:none;margin:0}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{left:20px;right:auto}.rtl .fs-modal .fs-modal-footer{text-align:left}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .internal-message,.fs-modal.fs-modal-deactivation-feedback .reason-input{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea,.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;display:none;padding:7px}@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 .internal-message,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input{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,.fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:left;line-height:30px}.rtl .fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label,.rtl .fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:right}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0!important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{line-height:1.5em;margin-top:0}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:700;margin-bottom:0;padding:0 25px}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;position:relative;top:5px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-license-options-container table,.fs-license-options-container table .fs-available-license-key,.fs-license-options-container table select,.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{float:left;margin-right:5px;position:relative;top:6px}.fs-license-options-container table .fs-other-license-key-container div{display:block;height:30px;overflow:hidden;position:relative;top:2px;width:auto}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-modal.fs-modal-user-change .fs-modal-body input#fs_other_email_address{width:100%}.fs-user-change-options-container table{border-collapse:collapse;width:100%}.fs-user-change-options-container table tr{display:block;margin-bottom:2px}.fs-user-change-options-container table .fs-email-address-container td{display:inline-block}.fs-user-change-options-container table .fs-email-address-container input[type=radio]{margin-bottom:0;margin-top:0}.fs-user-change-options-container table .fs-other-email-address-container{width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div{display:table;width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div label,.fs-user-change-options-container table .fs-other-email-address-container>div>div{display:table-cell}.fs-user-change-options-container table .fs-other-email-address-container>div label{padding-left:3px;padding-right:3px;width:1%}.fs-user-change-options-container table .fs-other-email-address-container>div>div{width:auto}.fs-modal.fs-modal-developer-license-debug-mode .fs-modal-body input.fs-license-or-user-key,.fs-user-change-options-container table .fs-other-email-address-container>div>div input{width:100%}.fs-multisite-options-container{border:1px solid #ccc;margin-top:20px;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:700}.fs-multisite-options-container.fs-apply-on-all-sites{border:0;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media(max-width:650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}.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-left:0;margin-right:7px}a.show-license-resend-modal{display:inline-block;margin-top:4px}.fs-modal.fs-modal-email-address-update .fs-modal-body input[type=text]{width:100%}.fs-modal.fs-modal-email-address-update p{margin-bottom:0}.fs-modal.fs-modal-email-address-update ul{margin:1em .5em}.fs-modal.fs-modal-email-address-update ul li label span{float:left;margin-top:0}.fs-modal.fs-modal-email-address-update ul li label span:last-child{display:block;float:none;margin-left:20px}.fs-ajax-loader{height:20px;margin:auto;position:relative;width:170px}.fs-ajax-loader .fs-ajax-loader-bar{animation-direction:normal;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;animation-name:bounce_ajaxLoader;background-color:#0074a3;height:20px;position:absolute;top:0;transform:.3;width:20px}.fs-ajax-loader .fs-ajax-loader-bar-1{animation-delay:.6s;-o-animation-delay:.6s;-ms-animation-delay:.6s;-webkit-animation-delay:.6s;-moz-animation-delay:.6s;left:0}.fs-ajax-loader .fs-ajax-loader-bar-2{animation-delay:.75s;-o-animation-delay:.75s;-ms-animation-delay:.75s;-webkit-animation-delay:.75s;-moz-animation-delay:.75s;left:19px}.fs-ajax-loader .fs-ajax-loader-bar-3{animation-delay:.9s;-o-animation-delay:.9s;-ms-animation-delay:.9s;-webkit-animation-delay:.9s;-moz-animation-delay:.9s;left:38px}.fs-ajax-loader .fs-ajax-loader-bar-4{animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s;left:57px}.fs-ajax-loader .fs-ajax-loader-bar-5{animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s;left:76px}.fs-ajax-loader .fs-ajax-loader-bar-6{animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s;left:95px}.fs-ajax-loader .fs-ajax-loader-bar-7{animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s;left:114px}.fs-ajax-loader .fs-ajax-loader-bar-8{animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s;left:133px}@keyframes bounce_ajaxLoader{0%{background-color:#0074a3;transform:scale(1)}to{background-color:#fff;transform:scale(.3)}}.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons,.fs-modal-auto-install #request-filesystem-credentials-form h2{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;max-width:100%;padding:10px 10px 5px;width:300px}.fs-modal-auto-install #request-filesystem-credentials-form fieldset,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form>div{display:block;margin:0 auto;max-width:100%;width:300px}.button-primary.warn{background:#f56a48;border-color:#ec6544 #d2593c #d2593c;box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{background:#e76444!important;border-color:#d85e40!important;color:#f5b3a1!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important} \ No newline at end of file diff --git a/freemius/assets/css/admin/gdpr-optin-notice.css b/freemius/assets/css/admin/gdpr-optin-notice.css index fb934ff..836dcd1 100644 --- a/freemius/assets/css/admin/gdpr-optin-notice.css +++ b/freemius/assets/css/admin/gdpr-optin-notice.css @@ -1 +1 @@ -.fs-notice[data-id^=gdpr_optin_actions] .underlined{text-decoration:underline}.fs-notice[data-id^=gdpr_optin_actions] ul .button,.fs-notice[data-id^=gdpr_optin_actions] ul .action-description{vertical-align:middle}.fs-notice[data-id^=gdpr_optin_actions] ul .action-description{display:inline-block;margin-left:3px} +.fs-notice[data-id^=gdpr_optin_actions] .underlined{text-decoration:underline}.fs-notice[data-id^=gdpr_optin_actions] ul .action-description,.fs-notice[data-id^=gdpr_optin_actions] ul .button{vertical-align:middle}.fs-notice[data-id^=gdpr_optin_actions] ul .action-description{display:inline-block;margin-left:3px} \ No newline at end of file diff --git a/freemius/assets/css/admin/optout.css b/freemius/assets/css/admin/optout.css index 6b0d5e2..922c181 100644 --- a/freemius/assets/css/admin/optout.css +++ b/freemius/assets/css/admin/optout.css @@ -1 +1 @@ -.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .dashicons{float:none !important}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;-ms-transition:opacity .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;position:absolute;background:rgba(0,0,0,.8);color:#fff !important;font-family:"arial",serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:-17px;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2);line-height:1.3em;font-weight:bold;text-align:left;text-transform:none !important}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right;left:auto;right:-17px}.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,.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}.fs-permissions .fs-permission.fs-disabled{color:#aaa}.fs-permissions .fs-permission.fs-disabled .fs-permission-description span{color:#aaa}.fs-permissions .fs-permission .fs-switch-feedback{position:absolute;right:15px;top:52px}.fs-permissions ul{height:0;overflow:hidden;margin:0}.fs-permissions ul li{padding:17px 15px;margin:0;position:relative}.fs-permissions ul li>i.dashicons{float:left;font-size:30px;width:30px;height:30px;padding:5px}.fs-permissions ul li .fs-switch{float:right}.fs-permissions ul li .fs-permission-description{margin-left:55px}.fs-permissions ul li .fs-permission-description span{font-size:14px;font-weight:500;color:#23282d}.fs-permissions ul li .fs-permission-description .fs-tooltip{font-size:13px;font-weight:bold}.fs-permissions ul li .fs-permission-description .fs-tooltip-trigger .dashicons{margin:-1px 2px 0 2px}.fs-permissions ul li .fs-permission-description p{margin:2px 0 0 0}.fs-permissions.fs-open{background:#fff}.fs-permissions.fs-open ul{overflow:initial;height:auto;margin:20px 0 10px 0}.fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-right:10px}.fs-permissions .fs-switch-feedback.success{color:#71ae00}.rtl .fs-permissions .fs-switch-feedback{right:auto;left:15px}.rtl .fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-left:10px;margin-right:0}.rtl .fs-permissions ul li .fs-permission-description{margin-right:55px;margin-left:0}.rtl .fs-permissions ul li .fs-switch{float:left}.rtl .fs-permissions ul li i.dashicons{float:right}.fs-modal-opt-out .fs-modal-footer .fs-opt-out-button{line-height:30px;margin-right:10px}.fs-modal-opt-out .fs-permissions{margin-top:0 !important}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header .fs-group-opt-out-button{float:right;line-height:1.1em}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header .fs-switch-feedback{float:right;line-height:1.1em;margin-right:10px}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header .fs-switch-feedback .fs-ajax-spinner{margin:-2px 0 0}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header-title{font-size:1.1em;font-weight:600;text-transform:uppercase;display:block;line-height:1.1em;margin:.5em 0}.fs-modal-opt-out .fs-permissions .fs-permissions-section--desc{margin-top:0}.fs-modal-opt-out .fs-permissions hr{border:0;border-top:#eee solid 1px;margin:25px 0 20px 0}.fs-modal-opt-out .fs-permissions ul{border:1px solid #c3c4c7;border-radius:3px;margin:10px 0 0 0;box-shadow:0 1px 1px rgba(0,0,0,.04)}.fs-modal-opt-out .fs-permissions ul li{border-bottom:1px solid #d7dde1;border-left:4px solid #72aee6}.rtl .fs-modal-opt-out .fs-permissions ul li{border-left:none;border-right:4px solid #72aee6}.fs-modal-opt-out .fs-permissions ul li.fs-disabled{border-left-color:rgba(114,174,230,0)}.fs-modal-opt-out .fs-permissions ul li:last-child{border-bottom:none} +.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .dashicons{float:none!important}.fs-tooltip-trigger .fs-tooltip{background:rgba(0,0,0,.8);border-radius:5px;bottom:100%;box-shadow:1px 1px 1px rgba(0,0,0,.2);color:#fff!important;font-family:arial,serif;font-size:12px;font-weight:700;left:-17px;line-height:1.3em;margin-bottom:5px;opacity:0;padding:10px;position:absolute;right:0;text-align:left;text-transform:none!important;transition:opacity .3s ease-in-out;visibility:hidden;z-index:999999}.rtl .fs-tooltip-trigger .fs-tooltip{left:auto;right:-17px;text-align:right}.fs-tooltip-trigger .fs-tooltip:after{border-color:rgba(0,0,0,.8) transparent transparent;border-style:solid;border-width:5px 5px 0;content:" ";display:block;height:0;left:21px;position:absolute;top:100%;width:0}.rtl .fs-tooltip-trigger .fs-tooltip:after{left:auto;right:21px}.fs-tooltip-trigger:hover .fs-tooltip{opacity:1;visibility:visible}.fs-permissions .fs-permission.fs-disabled,.fs-permissions .fs-permission.fs-disabled .fs-permission-description span{color:#aaa}.fs-permissions .fs-permission .fs-switch-feedback{position:absolute;right:15px;top:52px}.fs-permissions ul{height:0;margin:0;overflow:hidden}.fs-permissions ul li{margin:0;padding:17px 15px;position:relative}.fs-permissions ul li>i.dashicons{float:left;font-size:30px;height:30px;padding:5px;width:30px}.fs-permissions ul li .fs-switch{float:right}.fs-permissions ul li .fs-permission-description{margin-left:55px}.fs-permissions ul li .fs-permission-description span{color:#23282d;font-size:14px;font-weight:500}.fs-permissions ul li .fs-permission-description .fs-tooltip{font-size:13px;font-weight:700}.fs-permissions ul li .fs-permission-description .fs-tooltip-trigger .dashicons{margin:-1px 2px 0}.fs-permissions ul li .fs-permission-description p{margin:2px 0 0}.fs-permissions.fs-open{background:#fff}.fs-permissions.fs-open ul{height:auto;margin:20px 0 10px;overflow:initial}.fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-right:10px}.fs-permissions .fs-switch-feedback.success{color:#71ae00}.rtl .fs-permissions .fs-switch-feedback{left:15px;right:auto}.rtl .fs-permissions .fs-switch-feedback .fs-ajax-spinner{margin-left:10px;margin-right:0}.rtl .fs-permissions ul li .fs-permission-description{margin-left:0;margin-right:55px}.rtl .fs-permissions ul li .fs-switch{float:left}.rtl .fs-permissions ul li i.dashicons{float:right}.fs-modal-opt-out .fs-modal-footer .fs-opt-out-button{line-height:30px;margin-right:10px}.fs-modal-opt-out .fs-permissions{margin-top:0!important}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header .fs-group-opt-out-button{float:right;line-height:1.1em}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header .fs-switch-feedback{float:right;line-height:1.1em;margin-right:10px}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header .fs-switch-feedback .fs-ajax-spinner{margin:-2px 0 0}.fs-modal-opt-out .fs-permissions .fs-permissions-section--header-title{display:block;font-size:1.1em;font-weight:600;line-height:1.1em;margin:.5em 0;text-transform:uppercase}.fs-modal-opt-out .fs-permissions .fs-permissions-section--desc{margin-top:0}.fs-modal-opt-out .fs-permissions hr{border:0;border-top:1px solid #eee;margin:25px 0 20px}.fs-modal-opt-out .fs-permissions ul{border:1px solid #c3c4c7;border-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,.04);margin:10px 0 0}.fs-modal-opt-out .fs-permissions ul li{border-bottom:1px solid #d7dde1;border-left:4px solid #72aee6}.rtl .fs-modal-opt-out .fs-permissions ul li{border-left:none;border-right:4px solid #72aee6}.fs-modal-opt-out .fs-permissions ul li.fs-disabled{border-left-color:rgba(114,174,230,0)}.fs-modal-opt-out .fs-permissions ul li:last-child{border-bottom:none} \ No newline at end of file diff --git a/freemius/assets/css/admin/plugins.css b/freemius/assets/css/admin/plugins.css index 8d76fa3..a24b481 100644 --- a/freemius/assets/css/admin/plugins.css +++ b/freemius/assets/css/admin/plugins.css @@ -1 +1 @@ -label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.wp-list-table.plugins .plugin-title span.fs-tag{display:inline-block;margin-left:5px;line-height:10px} +label.fs-tag,span.fs-tag{background:#ffba00;border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.wp-list-table.plugins .plugin-title span.fs-tag{display:inline-block;line-height:10px;margin-left:5px} \ No newline at end of file diff --git a/freemius/assets/css/customizer.css b/freemius/assets/css/customizer.css index d59b381..a317b5b 100644 --- a/freemius/assets/css/customizer.css +++ b/freemius/assets/css/customizer.css @@ -1 +1 @@ -#fs_customizer_upsell .fs-customizer-plan{padding:10px 20px 20px 20px;border-radius:3px;background:#fff}#fs_customizer_upsell .fs-customizer-plan h2{position:relative;margin:0;line-height:2em;text-transform:uppercase}#fs_customizer_upsell .fs-customizer-plan h2 .button-link{top:-2px}#fs_customizer_upsell .fs-feature{position:relative}#fs_customizer_upsell .dashicons-yes{color:#0085ba;font-size:2em;vertical-align:bottom;margin-left:-7px;margin-right:10px}.rtl #fs_customizer_upsell .dashicons-yes{margin-left:10px;margin-right:-7px}#fs_customizer_upsell .dashicons-editor-help{color:#bbb;cursor:help}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{opacity:0;visibility:hidden;-moz-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;-ms-transition:opacity .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;position:absolute;background:#000;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,.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{text-align:right}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{content:" ";display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#000 transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{right:21px;left:auto}#fs_customizer_upsell .dashicons-editor-help:hover .fs-feature-desc{visibility:visible;opacity:1}#fs_customizer_upsell .button-primary{display:block;text-align:center;margin-top:10px}#fs_customizer_support{display:block !important}#fs_customizer_support .button{float:right}#fs_customizer_support .button-group{width:100%;display:block;margin-top:10px}#fs_customizer_support .button-group .button{float:none;width:50%;text-align:center}#customize-theme-controls #accordion-section-freemius_upsell{border-top:1px solid #0085ba !important;border-bottom:1px solid #0085ba !important}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title{color:#fff;background-color:#0085ba;border-left:4px solid #0085ba;transition:.15s background-color ease-in-out,.15s border-color ease-in-out;outline:none;border-bottom:none !important}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title:hover{background-color:#008ec2;border-left-color:#0073aa}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title:after{color:#fff}#customize-theme-controls #accordion-section-freemius_upsell .rtl h3.accordion-section-title{border-left:none;border-right:4px solid #0085ba}#customize-theme-controls #accordion-section-freemius_upsell .rtl h3.accordion-section-title:hover{border-right-color:#0073aa} +#fs_customizer_upsell .fs-customizer-plan{background:#fff;border-radius:3px;padding:10px 20px 20px}#fs_customizer_upsell .fs-customizer-plan h2{line-height:2em;margin:0;position:relative;text-transform:uppercase}#fs_customizer_upsell .fs-customizer-plan h2 .button-link{top:-2px}#fs_customizer_upsell .fs-feature{position:relative}#fs_customizer_upsell .dashicons-yes{color:#0085ba;font-size:2em;margin-left:-7px;margin-right:10px;vertical-align:bottom}.rtl #fs_customizer_upsell .dashicons-yes{margin-left:10px;margin-right:-7px}#fs_customizer_upsell .dashicons-editor-help{color:#bbb;cursor:help}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{background:#000;border-radius:5px;bottom:100%;box-shadow:1px 1px 1px rgba(0,0,0,.2);color:#fff;font-family:arial,serif;font-size:12px;font-weight:700;left:0;line-height:1.3em;margin-bottom:5px;opacity:0;padding:10px;position:absolute;right:0;text-align:left;transition:opacity .3s ease-in-out;visibility:hidden;z-index:999999}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{text-align:right}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc:after{border-color:#000 transparent transparent;border-style:solid;border-width:5px 5px 0;content:" ";display:block;height:0;left:21px;position:absolute;top:100%;width:0}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc:after{left:auto;right:21px}#fs_customizer_upsell .dashicons-editor-help:hover .fs-feature-desc{opacity:1;visibility:visible}#fs_customizer_upsell .button-primary{display:block;margin-top:10px;text-align:center}#fs_customizer_support{display:block!important}#fs_customizer_support .button{float:right}#fs_customizer_support .button-group{display:block;margin-top:10px;width:100%}#fs_customizer_support .button-group .button{float:none;text-align:center;width:50%}#customize-theme-controls #accordion-section-freemius_upsell{border-bottom:1px solid #0085ba!important;border-top:1px solid #0085ba!important}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title{background-color:#0085ba;border-bottom:none!important;border-left:4px solid #0085ba;color:#fff;outline:none;transition:background-color .15s ease-in-out,border-color .15s ease-in-out}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title:hover{background-color:#008ec2;border-left-color:#0073aa}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title:after{color:#fff}#customize-theme-controls #accordion-section-freemius_upsell .rtl h3.accordion-section-title{border-left:none;border-right:4px solid #0085ba}#customize-theme-controls #accordion-section-freemius_upsell .rtl h3.accordion-section-title:hover{border-right-color:#0073aa} \ No newline at end of file diff --git a/freemius/assets/img/password-protected-premium.png b/freemius/assets/img/password-protected-premium.png new file mode 100644 index 0000000000000000000000000000000000000000..36c6a20b7d5274e636b72d9dc11c5f964333a082 GIT binary patch literal 15195 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 N1e8*etQR*7{$J8S#r*&P literal 0 HcmV?d00001 diff --git a/freemius/assets/js/nojquery.ba-postmessage.js b/freemius/assets/js/nojquery.ba-postmessage.js index aedbd81..d3414ff 100644 --- a/freemius/assets/js/nojquery.ba-postmessage.js +++ b/freemius/assets/js/nojquery.ba-postmessage.js @@ -25,116 +25,4 @@ * 5. The use of `$.isFunction` is replaced by a functionally-identical check. * 6. The `$:nomunge` YUI option is no longer necessary. */ - -function NoJQueryPostMessageMixin(postBinding, receiveBinding) { - - var setMessageCallback, unsetMessageCallback, currentMsgCallback, - intervalId, lastHash, cacheBust = 1; - - if (window.postMessage) { - - if (window.addEventListener) { - setMessageCallback = function(callback) { - window.addEventListener('message', callback, false); - } - - unsetMessageCallback = function(callback) { - window.removeEventListener('message', callback, false); - } - } else { - setMessageCallback = function(callback) { - window.attachEvent('onmessage', callback); - } - - unsetMessageCallback = function(callback) { - window.detachEvent('onmessage', callback); - } - } - - this[postBinding] = function(message, targetUrl, target) { - if (!targetUrl) { - return; - } - - // The browser supports window.postMessage, so call it with a targetOrigin - // set appropriately, based on the targetUrl parameter. - target.postMessage( message, targetUrl.replace( /([^:]+:\/\/[^\/]+).*/, '$1' ) ); - } - - // Since the browser supports window.postMessage, the callback will be - // bound to the actual event associated with window.postMessage. - this[receiveBinding] = function(callback, sourceOrigin, delay) { - // Unbind an existing callback if it exists. - if (currentMsgCallback) { - unsetMessageCallback(currentMsgCallback); - currentMsgCallback = null; - } - - if (!callback) { - return false; - } - - // Bind the callback. A reference to the callback is stored for ease of - // unbinding. - currentMsgCallback = setMessageCallback(function(e) { - switch(Object.prototype.toString.call(sourceOrigin)) { - case '[object String]': - if (sourceOrigin !== e.origin) { - return false; - } - break; - case '[object Function]': - if (sourceOrigin(e.origin)) { - return false; - } - break; - } - - callback(e); - }); - }; - - } else { - - this[postBinding] = function(message, targetUrl, target) { - if (!targetUrl) { - return; - } - - // The browser does not support window.postMessage, so set the location - // of the target to targetUrl#message. A bit ugly, but it works! A cache - // bust parameter is added to ensure that repeat messages trigger the - // callback. - target.location = targetUrl.replace( /#.*$/, '' ) + '#' + (+new Date) + (cacheBust++) + '&' + message; - } - - // Since the browser sucks, a polling loop will be started, and the - // callback will be called whenever the location.hash changes. - this[receiveBinding] = function(callback, sourceOrigin, delay) { - if (intervalId) { - clearInterval(intervalId); - intervalId = null; - } - - if (callback) { - delay = typeof sourceOrigin === 'number' - ? sourceOrigin - : typeof delay === 'number' - ? delay - : 100; - - intervalId = setInterval(function(){ - var hash = document.location.hash, - re = /^#?\d+&/; - if ( hash !== lastHash && re.test( hash ) ) { - lastHash = hash; - callback({ data: hash.replace( re, '' ) }); - } - }, delay ); - } - }; - - } - - return this; -} \ No newline at end of file +function NoJQueryPostMessageMixin(n,e){var t,i,o,s,a,r=1;return window.postMessage?(window.addEventListener?(t=function(n){window.addEventListener("message",n,!1)},i=function(n){window.removeEventListener("message",n,!1)}):(t=function(n){window.attachEvent("onmessage",n)},i=function(n){window.detachEvent("onmessage",n)}),this[n]=function(n,e,t){e&&t.postMessage(n,e.replace(/([^:]+:\/\/[^\/]+).*/,"$1"))},this[e]=function(n,e,s){if(o&&(i(o),o=null),!n)return!1;o=t((function(t){switch(Object.prototype.toString.call(e)){case"[object String]":if(e!==t.origin)return!1;break;case"[object Function]":if(e(t.origin))return!1}n(t)}))}):(this[n]=function(n,e,t){e&&(t.location=e.replace(/#.*$/,"")+"#"+ +new Date+r+++"&"+n)},this[e]=function(n,e,t){s&&(clearInterval(s),s=null),n&&(t="number"==typeof e?e:"number"==typeof t?t:100,s=setInterval((function(){var e=document.location.hash,t=/^#?\d+&/;e!==a&&t.test(e)&&(a=e,n({data:e.replace(t,"")}))}),t))}),this} \ No newline at end of file diff --git a/freemius/assets/js/postmessage.js b/freemius/assets/js/postmessage.js index 9ec5d12..609cbee 100644 --- a/freemius/assets/js/postmessage.js +++ b/freemius/assets/js/postmessage.js @@ -1,135 +1 @@ -(function ($, undef) { - var global = this; - - // Namespace. - global.FS = global.FS || {}; - - global.FS.PostMessage = function () - { - var - _is_child = false, - _postman = new NoJQueryPostMessageMixin('postMessage', 'receiveMessage'), - _callbacks = {}, - _base_url, - _parent_url = decodeURIComponent(document.location.hash.replace(/^#/, '')), - _parent_subdomain = _parent_url.substring(0, _parent_url.indexOf('/', ('https://' === _parent_url.substring(0, ('https://').length)) ? 8 : 7)), - _init = function () { - _postman.receiveMessage(function (e) { - var data = JSON.parse(e.data); - - if (_callbacks[data.type]) { - for (var i = 0; i < _callbacks[data.type].length; i++) { - // Execute type callbacks. - _callbacks[data.type][i](data.data); - } - } - }, _base_url); - }, - _hasParent = ('' !== _parent_url), - $window = $(window), - $html = $('html'); - - return { - init : function (url, iframes) - { - _base_url = url; - _init(); - - // Automatically receive forward messages. - FS.PostMessage.receiveOnce('forward', function (data){ - window.location = data.url; - }); - - iframes = iframes || []; - - if (iframes.length > 0) { - $window.on('scroll', function () { - for (var i = 0; i < iframes.length; i++) { - FS.PostMessage.postScroll(iframes[i]); - } - }); - } - }, - init_child : function () - { - this.init(_parent_subdomain); - - _is_child = true; - - // Post height of a child right after window is loaded. - $(window).bind('load', function () { - FS.PostMessage.postHeight(); - - // Post message that window was loaded. - FS.PostMessage.post('loaded'); - }); - }, - hasParent : function () - { - return _hasParent; - }, - postHeight : function (diff, wrapper) { - diff = diff || 0; - wrapper = wrapper || '#wrap_section'; - this.post('height', { - height: diff + $(wrapper).outerHeight(true) - }); - }, - postScroll : function (iframe) { - this.post('scroll', { - top: $window.scrollTop(), - height: ($window.height() - parseFloat($html.css('paddingTop')) - parseFloat($html.css('marginTop'))) - }, iframe); - }, - post : function (type, data, iframe) - { - console.debug('PostMessage.post', type); - - if (iframe) - { - // Post to iframe. - _postman.postMessage(JSON.stringify({ - type: type, - data: data - }), iframe.src, iframe.contentWindow); - } - else { - // Post to parent. - _postman.postMessage(JSON.stringify({ - type: type, - data: data - }), _parent_url, window.parent); - } - }, - receive: function (type, callback) - { - console.debug('PostMessage.receive', type); - - if (undef === _callbacks[type]) - _callbacks[type] = []; - - _callbacks[type].push(callback); - }, - receiveOnce: function (type, callback) - { - if (this.is_set(type)) - return; - - this.receive(type, callback); - }, - // Check if any callbacks assigned to a specified message type. - is_set: function (type) - { - return (undef != _callbacks[type]); - }, - parent_url: function () - { - return _parent_url; - }, - parent_subdomain: function () - { - return _parent_subdomain; - } - }; - }(); -})(jQuery); \ No newline at end of file +!function(e,t){var s,n,o,i,r,a,c,p,u=this;u.FS=u.FS||{},u.FS.PostMessage=(n=new NoJQueryPostMessageMixin("postMessage","receiveMessage"),o={},i=decodeURIComponent(document.location.hash.replace(/^#/,"")),r=i.substring(0,i.indexOf("/","https://"===i.substring(0,8)?8:7)),a=""!==i,c=e(window),p=e("html"),{init:function(e,t){s=e,n.receiveMessage((function(e){var t=JSON.parse(e.data);if(o[t.type])for(var s=0;s<o[t.type].length;s++)o[t.type][s](t.data)}),s),FS.PostMessage.receiveOnce("forward",(function(e){window.location=e.url})),(t=t||[]).length>0&&c.on("scroll",(function(){for(var e=0;e<t.length;e++)FS.PostMessage.postScroll(t[e])}))},init_child:function(){this.init(r),e(window).bind("load",(function(){FS.PostMessage.postHeight(),FS.PostMessage.post("loaded")}))},hasParent:function(){return a},postHeight:function(t,s){t=t||0,s=s||"#wrap_section",this.post("height",{height:t+e(s).outerHeight(!0)})},postScroll:function(e){this.post("scroll",{top:c.scrollTop(),height:c.height()-parseFloat(p.css("paddingTop"))-parseFloat(p.css("marginTop"))},e)},post:function(e,t,s){console.debug("PostMessage.post",e),s?n.postMessage(JSON.stringify({type:e,data:t}),s.src,s.contentWindow):n.postMessage(JSON.stringify({type:e,data:t}),i,window.parent)},receive:function(e,s){console.debug("PostMessage.receive",e),t===o[e]&&(o[e]=[]),o[e].push(s)},receiveOnce:function(e,t){this.is_set(e)||this.receive(e,t)},is_set:function(e){return t!=o[e]},parent_url:function(){return i},parent_subdomain:function(){return r}})}(jQuery); \ No newline at end of file diff --git a/freemius/includes/class-freemius.php b/freemius/includes/class-freemius.php index b1fba7e..5718645 100644 --- a/freemius/includes/class-freemius.php +++ b/freemius/includes/class-freemius.php @@ -425,6 +425,14 @@ private function __construct( $module_id, $slug = false, $is_init = false ) { $this->_storage = FS_Storage::instance( $this->_module_type, $this->_slug ); + // If not set or 24 hours have already passed from the last time it's set, set the last load timestamp to the current time. + if ( + ! isset( $this->_storage->last_load_timestamp ) || + $this->_storage->last_load_timestamp < ( time() - ( WP_FS__TIME_24_HOURS_IN_SEC ) ) + ) { + $this->_storage->last_load_timestamp = time(); + } + $this->_cache = FS_Cache_Manager::get_manager( WP_FS___OPTION_PREFIX . "cache_{$module_id}" ); $this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_' . $this->get_unique_affix(), WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK ); @@ -1348,6 +1356,29 @@ function _plugins_loaded() { } } + function _run_garbage_collector() { + if ( true !== fs_get_optional_constant( 'WP_FS__ENABLE_GARBAGE_COLLECTOR', true ) ) { + return; + } + + if ( ! $this->is_user_in_admin() ) { + return; + } + + require_once WP_FS__DIR_INCLUDES . '/class-fs-lock.php'; + + $lock = new FS_Lock( 'garbage_collection' ); + + if ( $lock->is_locked() ) { + return; + } + + // Create a 1-day lock. + $lock->lock( WP_FS__TIME_24_HOURS_IN_SEC ); + + FS_Garbage_Collector::instance()->clean(); + } + /** * Opens the support forum subemenu item in a new browser page. * @@ -1443,6 +1474,8 @@ private function register_constructor_hooks() { } } + add_action( 'plugins_loaded', array( &$this, '_run_garbage_collector' ) ); + if ( ! self::is_ajax() ) { if ( ! $this->is_addon() ) { add_action( 'init', array( &$this, '_add_default_submenu_items' ), WP_FS__LOWEST_PRIORITY ); @@ -1531,8 +1564,8 @@ private function register_constructor_hooks() { ); $this->add_filter( 'after_code_type_change', array( &$this, '_after_code_type_change' ) ); - add_action( 'admin_init', array( &$this, '_add_trial_notice' ) ); - add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) ); + add_action( 'admin_init', array( &$this, '_add_trial_notice' ) ); // @phpstan-ignore-line + add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) ); // @phpstan-ignore-line add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_common_css' ) ); /** @@ -1642,7 +1675,7 @@ static function _remove_fs_updates_from_plugin_install_page( $updates, $transien * @author Leo Fajardo (@leorw) * @since 2.2.3 * - * @return string + * @return void */ static function _prepend_fs_allow_updater_and_dialog_flag_url_param() { $slug_basename_map = array(); @@ -3089,11 +3122,8 @@ private function is_matching_url( $sub_url, $url = '' ) { return false; } - $url_params = array(); - parse_str( parse_url( $url, PHP_URL_QUERY ), $url_params ); - - $sub_url_params = array(); - parse_str( parse_url( $sub_url, PHP_URL_QUERY ), $sub_url_params ); + $url_params = fs_parse_url_params( $url ); + $sub_url_params = fs_parse_url_params( $sub_url ); foreach ( $sub_url_params as $key => $val ) { if ( ! isset( $url_params[ $key ] ) || $val != $url_params[ $key ] ) { @@ -3492,6 +3522,28 @@ function is_clone( $only_if_manual_resolution_is_not_hidden = false ) { * @return string */ static function get_unfiltered_site_url( $blog_id = null, $strip_protocol = false, $add_trailing_slash = false ) { + $url = ( ! is_multisite() && defined( 'WP_SITEURL' ) ) ? WP_SITEURL : self::get_site_url_from_wp_option( $blog_id ); + + if ( $strip_protocol ) { + $url = fs_strip_url_protocol( $url ); + } + + if ( $add_trailing_slash ) { + $url = trailingslashit( $url ); + } + + return $url; + } + + /** + * @author Leo Fajardo (@leorw) + * @since 2.6.0 + * + * @param int|null $blog_id + * + * @return string + */ + private static function get_site_url_from_wp_option( $blog_id = null ) { global $wp_filter; $site_url_filters = array( @@ -3518,14 +3570,6 @@ static function get_unfiltered_site_url( $blog_id = null, $strip_protocol = fals } } - if ( $strip_protocol ) { - $url = fs_strip_url_protocol( $url ); - } - - if ( $add_trailing_slash ) { - $url = trailingslashit( $url ); - } - return $url; } @@ -4080,7 +4124,7 @@ private function should_turn_fs_on( $is_update = true ) { $max = 100; if ( function_exists( 'random_int' ) ) { - $random = random_int( $min, $max ); + $random = random_int( $min, $max ); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.random_intFound } else { $random = rand( $min, $max ); } @@ -4399,7 +4443,22 @@ static function is_valid_email( $email ) { } // Get the UTF encoded domain name. - $domain = idn_to_ascii( $parts[1] ) . '.'; + /** + * @note - The check of `defined('...')` is there to account for PHP servers compiled with some older version of ICU where the constants are not defined. + * @author - @swashata + */ + $is_new_idn_available = ( + version_compare( PHP_VERSION, '5.6.40') > 0 && + defined( 'IDNA_DEFAULT' ) && + defined( 'INTL_IDNA_VARIANT_UTS46' ) + ); + if ( $is_new_idn_available ) { + $domain = idn_to_ascii( $parts[1], IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46 ); + } else { + $domain = idn_to_ascii( $parts[1] ); // phpcs:ignore PHPCompatibility.ParameterValues.NewIDNVariantDefault.NotSet + } + + $domain = $domain . '.'; return ( checkdnsrr( $domain, 'MX' ) || checkdnsrr( $domain, 'A' ) ); } @@ -5615,19 +5674,17 @@ function _after_code_type_change() { $this->_cache->expire( 'tabs_stylesheets' ); } - if ( $this->is_registered() ) { - if ( ! $this->is_addon() ) { - add_action( - is_admin() ? 'admin_init' : 'init', - array( &$this, '_plugin_code_type_changed' ) - ); - } + if ( ! $this->is_addon() ) { + add_action( + is_admin() ? 'admin_init' : 'init', + array( &$this, '_plugin_code_type_changed' ) + ); + } - if ( $this->is_premium() ) { - // Purge cached payments after switching to the premium version. - // @todo This logic doesn't handle purging the cache for serviceware module upgrade. - $this->get_api_user_scope()->purge_cache( "/plugins/{$this->_module_id}/payments.json?include_addons=true" ); - } + if ( $this->is_registered() && $this->is_premium() ) { + // Purge cached payments after switching to the premium version. + // @todo This logic doesn't handle purging the cache for serviceware module upgrade. + $this->get_api_user_scope()->purge_cache( "/plugins/{$this->_module_id}/payments.json?include_addons=true" ); } } @@ -5691,8 +5748,10 @@ function _plugin_code_type_changed() { } } - // Schedule code type changes event. - $this->schedule_install_sync(); + if ( $this->is_registered() ) { + // Schedule code type changes event. + $this->schedule_install_sync(); + } /** * Unregister the uninstall hook for the other version of the plugin (with different code type) to avoid @@ -7275,7 +7334,7 @@ function _enqueue_connect_essentials() { wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'json2' ); - fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.min.js' ); + fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); } @@ -9990,7 +10049,7 @@ function _uninstall_plugin_event( $check_user = true ) { * @param string $is_premium * @param string $caller * - * @return string + * @return void */ function set_basename( $is_premium, $caller ) { $basename = plugin_basename( $caller ); @@ -12416,7 +12475,7 @@ private function activate_license_on_many_installs( $install_2_blog_map = array(); foreach ( $blog_2_install_map as $blog_id => $install ) { - $params[] = array( 'id' => $install->id ); + $params[] = array( 'id' => $install->id, 'url' => $install->url ); $install_2_blog_map[ $install->id ] = $blog_id; } @@ -13676,6 +13735,18 @@ function _activate_license_ajax_action() { $license_key = trim( fs_request_get_raw( 'license_key' ) ); + if ( empty( $license_key ) ) { + $license_id = trim( fs_request_get_raw( 'license_id' ) ); + + if ( FS_Plugin_License::is_valid_id( $license_id ) ) { + $license = $this->_get_license_by_id( $license_id, false ); + + if ( is_object( $license ) ) { + $license_key = $license->secret_key; + } + } + } + if ( empty( $license_key ) ) { exit; } @@ -14080,15 +14151,21 @@ private function activate_license( } } + $is_connected = null; + if ( true !== $result && ! FS_Api::is_api_result_entity( $result ) ) { if ( FS_Api::is_blocked( $result ) ) { $result->error->message = $this->generate_api_blocked_notice_message_from_result( $result ); + + $is_connected = false; } $error = FS_Api::is_api_error_object( $result ) ? $result->error->message : var_export( $result, true ); } else { + $is_connected = true; + $fs->network_upgrade_mode_completed(); $fs->_user = $user; @@ -14105,6 +14182,8 @@ private function activate_license( $fs->get_parent_instance()->get_account_url() : $fs->get_after_activation_url( 'after_connect_url' ); } + + $fs->update_connectivity_info( $is_connected ); } else { $next_page = $fs->opt_in( false, @@ -14762,9 +14841,15 @@ function _submit_affiliate_application() { } if ( ! $this->is_registered() ) { + $email_address = isset( $affiliate['email'] ) ? $affiliate['email'] : ''; + + if ( ! is_email( $email_address ) ) { + self::shoot_ajax_failure('Invalid email address.'); + } + // Opt in but don't track usage. $next_page = $this->opt_in( - false, + $email_address, false, false, false, @@ -16697,7 +16782,7 @@ private static function decrypt_entity( FS_Entity $entity ) { * * @return FS_User|false */ - static function _get_user_by_email( $email ) { + public static function _get_user_by_email( $email ) { self::$_static_logger->entrance(); $email = trim( strtolower( $email ) ); @@ -17871,7 +17956,7 @@ private function install_with_new_user( * @param bool $trial_plan_id * @param bool $redirect * - * @return string If redirect is `false`, returns the next page the user should be redirected to. + * @return void */ private function install_many_pending_with_user( $user_id, @@ -20730,7 +20815,7 @@ private function _fetch_newer_version( $plugin_id = false, $flush = true, $expir * * @return bool|FS_Plugin_Tag */ - function get_update( $plugin_id = false, $flush = true, $expiration = WP_FS__TIME_24_HOURS_IN_SEC, $newer_than = false ) { + function get_update( $plugin_id = false, $flush = true, $expiration = FS_Plugin_Updater::UPDATES_CHECK_CACHE_EXPIRATION, $newer_than = false ) { $this->_logger->entrance(); if ( ! is_numeric( $plugin_id ) ) { @@ -21262,7 +21347,9 @@ private function _sync_plugin_license( /** * Sync licenses. Pass the site's license ID so that the foreign licenses will be fetched if the license * associated with that ID is not included in the user's licenses collection. + * Save previous value to manage remote license renewals. */ + $was_license_expired_before_sync = is_object( $this->_license ) && $this->_license->is_expired(); $this->_sync_licenses( $site->license_id, ( $is_context_single_site ? @@ -21396,6 +21483,14 @@ private function _sync_plugin_license( $plan_change = 'expired'; } } + } else if ( $was_license_expired_before_sync ) { + /** + * If license was expired but it is not anymore. + * + * + * @author Daniele Alessandra (@danielealessandra) + */ + $plan_change = 'extended'; } } @@ -21473,6 +21568,12 @@ private function _sync_plugin_license( 'license_expired', ) ); break; + case 'extended': + $this->_admin_notices->remove_sticky( array( + 'trial_expired', + 'license_expired', + ) ); + break; case 'changed': $this->_admin_notices->add_sticky( sprintf( @@ -22383,7 +22484,7 @@ private function check_updates( $background = false, $plugin_id = false, $flush = true, - $expiration = WP_FS__TIME_24_HOURS_IN_SEC, + $expiration = FS_Plugin_Updater::UPDATES_CHECK_CACHE_EXPIRATION, $newer_than = false ) { $this->_logger->entrance(); @@ -23264,6 +23365,18 @@ private function _handle_account_edits() { } } + /** + * Adds CSS classes for the body tag in the admin. + * + * @param string $classes Space-separated string of class names. + * + * @return string $classes FS Admin body tag class names. + */ + public function fs_addons_body_class( $classes ) { + $classes .= ' plugins-php'; + return $classes; + } + /** * Account page resources load. * @@ -23280,14 +23393,7 @@ function _account_page_load() { if ( $this->has_addons() ) { wp_enqueue_script( 'plugin-install' ); add_thickbox(); - - function fs_addons_body_class( $classes ) { - $classes .= ' plugins-php'; - - return $classes; - } - - add_filter( 'admin_body_class', 'fs_addons_body_class' ); + add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) ); } if ( $this->has_paid_plan() && @@ -23422,14 +23528,7 @@ function _addons_page_load() { wp_enqueue_script( 'plugin-install' ); add_thickbox(); - - function fs_addons_body_class( $classes ) { - $classes .= ' plugins-php'; - - return $classes; - } - - add_filter( 'admin_body_class', 'fs_addons_body_class' ); + add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) ); if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) { $this->_admin_notices->add( @@ -24027,7 +24126,7 @@ function _add_trial_notice() { if ( $this->is_registered() ) { // If opted-in, override trial with up to date data from API. - $trial_plans = FS_Plan_Manager::instance()->get_trial_plans( $this->_plans ); + $trial_plans = FS_Plan_Manager::instance()->get_visible_trial_plans( $this->_plans ); $trial_plans_count = count( $trial_plans ); if ( 0 === $trial_plans_count ) { @@ -25397,6 +25496,12 @@ function _add_tabs_before_content() { return false; } + $tabs_html = $this->get_tabs_html(); + + if ( empty( $tabs_html ) ) { + return false; + } + /** * Enqueue the original stylesheets that are included in the * theme settings page. That way, if the theme settings has @@ -25411,7 +25516,7 @@ function _add_tabs_before_content() { } // Cut closing </div> tag. - echo substr( trim( $this->get_tabs_html() ), 0, - 6 ); + echo substr( trim( $tabs_html ), 0, - 6 ); return true; } diff --git a/freemius/includes/class-fs-api.php b/freemius/includes/class-fs-api.php index ef56fad..62fae1c 100644 --- a/freemius/includes/class-fs-api.php +++ b/freemius/includes/class-fs-api.php @@ -318,9 +318,12 @@ function get( $path = '/', $flush = false, $expiration = WP_FS__TIME_24_HOURS_IN $flush = true; } - $cached_result = self::$_cache->get( $cache_key ); + $has_valid_cache = self::$_cache->has_valid( $cache_key, $expiration ); + $cached_result = $has_valid_cache ? + self::$_cache->get( $cache_key ) : + null; - if ( $flush || ! self::$_cache->has_valid( $cache_key, $expiration ) ) { + if ( $flush || is_null( $cached_result ) ) { $result = $this->call( $path ); if ( ! is_object( $result ) || isset( $result->error ) ) { diff --git a/freemius/includes/class-fs-garbage-collector.php b/freemius/includes/class-fs-garbage-collector.php new file mode 100644 index 0000000..a161170 --- /dev/null +++ b/freemius/includes/class-fs-garbage-collector.php @@ -0,0 +1,439 @@ +<?php + /** + * @package Freemius + * @copyright Copyright (c) 2015, Freemius, Inc. + * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 + * @since 2.6.0 + */ + + if ( ! defined( 'ABSPATH' ) ) { + exit; + } + + interface FS_I_Garbage_Collector { + function clean(); + } + + class FS_Product_Garbage_Collector implements FS_I_Garbage_Collector { + /** + * @var FS_Options + */ + private $_accounts; + + /** + * @var string[] + */ + private $_options_names; + + /** + * @var string + */ + private $_type; + + /** + * @var string + */ + private $_plural_type; + + /** + * @var array<string, int> Map of product slugs to their last load timestamp, only for products that are not active. + */ + private $_gc_timestamp; + + /** + * @var array<string, array<string, mixed>> Map of product slugs to their data, as stored by the primary storage of `Freemius` class. + */ + private $_storage_data; + + function __construct( FS_Options $_accounts, $option_names, $type ) { + $this->_accounts = $_accounts; + $this->_options_names = $option_names; + $this->_type = $type; + $this->_plural_type = ( $type . 's' ); + } + + function clean() { + $this->_gc_timestamp = $this->_accounts->get_option( 'gc_timestamp', array() ); + $this->_storage_data = $this->_accounts->get_option( $this->_type . '_data', array() ); + + $options = $this->load_options(); + $has_updated_option = false; + + $filtered_products = $this->get_filtered_products(); + $products_to_clean = $filtered_products['products_to_clean']; + $active_products_by_id_map = $filtered_products['active_products_by_id_map']; + + foreach( $products_to_clean as $product ) { + $slug = $product->slug; + + // Clear the product's data. + foreach( $options as $option_name => $option ) { + $updated = false; + + /** + * We expect to deal with only array like options here. + * @todo - Refactor this to create dedicated GC classes for every option, then we can make the code mode predictable. + * For example, depending on data integrity of `plugins` we can still miss something entirely in the `plugin_data` or vice-versa. + * A better algorithm is to iterate over all options individually in separate classes and check against primary storage to see if those can be garbage collected. + * But given the chance of data integrity issue is very low, we let this run for now and gather feedback. + */ + if ( ! is_array( $option ) ) { + continue; + } + + if ( array_key_exists( $slug, $option ) ) { + unset( $option[ $slug ] ); + $updated = true; + } else if ( array_key_exists( "{$slug}:{$this->_type}", $option ) ) { /* admin_notices */ + unset( $option[ "{$slug}:{$this->_type}" ] ); + $updated = true; + } else if ( isset( $product->id ) && array_key_exists( $product->id, $option ) ) { /* all_licenses, add-ons, and id_slug_type_path_map */ + $is_inactive_by_id = ! isset( $active_products_by_id_map[ $product->id ] ); + $is_inactive_by_slug = ( + 'id_slug_type_path_map' === $option_name && + ( + ! isset( $option[ $product->id ]['slug'] ) || + $slug === $option[ $product->id ]['slug'] + ) + ); + + if ( $is_inactive_by_id || $is_inactive_by_slug ) { + unset( $option[ $product->id ] ); + $updated = true; + } + } else if ( /* file_slug_map */ + isset( $product->file ) && + array_key_exists( $product->file, $option ) && + $slug === $option[ $product->file ] + ) { + unset( $option[ $product->file ] ); + $updated = true; + } + + if ( $updated ) { + $this->_accounts->set_option( $option_name, $option ); + + $options[ $option_name ] = $option; + + $has_updated_option = true; + } + } + + // Clear the product's data from the primary storage. + if ( isset( $this->_storage_data[ $slug ] ) ) { + unset( $this->_storage_data[ $slug ] ); + $has_updated_option = true; + } + + // Clear from GC timestamp. + // @todo - This perhaps needs a separate garbage collector for all expired products. But the chance of left-over is very slim. + if ( isset( $this->_gc_timestamp[ $slug ] ) ) { + unset( $this->_gc_timestamp[ $slug ] ); + $has_updated_option = true; + } + } + + $this->_accounts->set_option( 'gc_timestamp', $this->_gc_timestamp ); + $this->_accounts->set_option( $this->_type . '_data', $this->_storage_data ); + + return $has_updated_option; + } + + private function get_all_option_names() { + return array_merge( + array( + 'admin_notices', + 'updates', + 'all_licenses', + 'addons', + 'id_slug_type_path_map', + 'file_slug_map', + ), + $this->_options_names + ); + } + + private function get_products() { + $products = $this->_accounts->get_option( $this->_plural_type, array() ); + + // Fill any missing product found in the primary storage. + // @todo - This wouldn't be needed if we use dedicated GC design for every options. The options themselves would provide such information. + foreach( $this->_storage_data as $slug => $product_data ) { + if ( ! isset( $products[ $slug ] ) ) { + $products[ $slug ] = (object) $product_data; + } + + // This is needed to handle a scenario in which there are duplicate sets of data for the same product, but one of them needs to be removed. + $products[ $slug ] = clone $products[ $slug ]; + + // The reason for having the line above. This also handles a scenario in which the slug is either empty or not empty but incorrect. + $products[ $slug ]->slug = $slug; + } + + $this->update_gc_timestamp( $products ); + + return $products; + } + + private function get_filtered_products() { + $products_to_clean = array(); + $active_products_by_id_map = array(); + + $products = $this->get_products(); + + foreach ( $products as $slug => $product_data ) { + if ( ! is_object( $product_data ) ) { + continue; + } + + if ( $this->is_product_active( $slug ) ) { + $active_products_by_id_map[ $product_data->id ] = true; + continue; + } + + $is_addon = ( ! empty( $product_data->parent_plugin_id ) ); + + if ( ! $is_addon ) { + $products_to_clean[] = $product_data; + } else { + /** + * If add-on, add to the beginning of the array so that add-ons are removed before their parent. This is to prevent an unexpected issue when an add-on exists but its parent was already removed. + */ + array_unshift( $products_to_clean, $product_data ); + } + } + + return array( + 'products_to_clean' => $products_to_clean, + 'active_products_by_id_map' => $active_products_by_id_map, + ); + } + + /** + * @param string $slug + * + * @return bool + */ + private function is_product_active( $slug ) { + $instances = Freemius::_get_all_instances(); + + foreach ( $instances as $instance ) { + if ( $instance->get_slug() === $slug ) { + return true; + } + } + + $expiration_time = fs_get_optional_constant( 'WP_FS__GARBAGE_COLLECTOR_EXPIRATION_TIME_SECS', ( WP_FS__TIME_WEEK_IN_SEC * 4 ) ); + + if ( $this->get_last_load_timestamp( $slug ) > ( time() - $expiration_time ) ) { + // Last activation was within the last 4 weeks. + return true; + } + + return false; + } + + private function load_options() { + $options = array(); + $option_names = $this->get_all_option_names(); + + foreach ( $option_names as $option_name ) { + $options[ $option_name ] = $this->_accounts->get_option( $option_name, array() ); + } + + return $options; + } + + /** + * Updates the garbage collector timestamp, only if it was not already set by the product's primary storage. + * + * @param array $products + * + * @return void + */ + private function update_gc_timestamp( $products ) { + foreach ($products as $slug => $product_data) { + if ( ! is_object( $product_data ) && ! is_array( $product_data ) ) { + continue; + } + + + // If the product is active, we don't need to update the gc_timestamp. + if ( isset( $this->_storage_data[ $slug ]['last_load_timestamp'] ) ) { + continue; + } + + // First try to check if the product is present in the primary storage. If so update that. + if ( isset( $this->_storage_data[ $slug ] ) ) { + $this->_storage_data[ $slug ]['last_load_timestamp'] = time(); + } else if ( ! isset( $this->_gc_timestamp[ $slug ] ) ) { + // If not, fallback to the gc_timestamp, but we don't want to update it more than once. + $this->_gc_timestamp[ $slug ] = time(); + } + } + } + + private function get_last_load_timestamp( $slug ) { + if ( isset( $this->_storage_data[ $slug ]['last_load_timestamp'] ) ) { + return $this->_storage_data[ $slug ]['last_load_timestamp']; + } + + return isset( $this->_gc_timestamp[ $slug ] ) ? + $this->_gc_timestamp[ $slug ] : + // This should never happen, but if it does, let's assume the product is not expired. + time(); + } + } + + class FS_User_Garbage_Collector implements FS_I_Garbage_Collector { + private $_accounts; + + private $_types; + + function __construct( FS_Options $_accounts, array $types ) { + $this->_accounts = $_accounts; + $this->_types = $types; + } + + function clean() { + $users = Freemius::get_all_users(); + + $user_has_install_map = $this->get_user_has_install_map(); + + if ( count( $users ) === count( $user_has_install_map ) ) { + return false; + } + + $products_user_id_license_ids_map = $this->_accounts->get_option( 'user_id_license_ids_map', array() ); + + $has_updated_option = false; + + foreach ( $users as $user_id => $user ) { + if ( ! isset( $user_has_install_map[ $user_id ] ) ) { + unset( $users[ $user_id ] ); + + foreach( $products_user_id_license_ids_map as $product_id => $user_id_license_ids_map ) { + unset( $user_id_license_ids_map[ $user_id ] ); + + if ( empty( $user_id_license_ids_map ) ) { + unset( $products_user_id_license_ids_map[ $product_id ] ); + } else { + $products_user_id_license_ids_map[ $product_id ] = $user_id_license_ids_map; + } + } + + $this->_accounts->set_option( 'users', $users ); + $this->_accounts->set_option( 'user_id_license_ids_map', $products_user_id_license_ids_map ); + + $has_updated_option = true; + } + } + + return $has_updated_option; + } + + private function get_user_has_install_map() { + $user_has_install_map = array(); + + foreach ( $this->_types as $product_type ) { + $option_name = ( WP_FS__MODULE_TYPE_PLUGIN !== $product_type ) ? + "{$product_type}_sites" : + 'sites'; + + $installs = $this->_accounts->get_option( $option_name, array() ); + + foreach ( $installs as $install ) { + $user_has_install_map[ $install->user_id ] = true; + } + } + + return $user_has_install_map; + } + } + + // Main entry-level class. + class FS_Garbage_Collector implements FS_I_Garbage_Collector { + /** + * @var FS_Garbage_Collector + * @since 2.6.0 + */ + private static $_instance; + + /** + * @return FS_Garbage_Collector + */ + static function instance() { + if ( ! isset( self::$_instance ) ) { + self::$_instance = new self(); + } + + return self::$_instance; + } + + #endregion + + private function __construct() { + } + + function clean() { + $_accounts = FS_Options::instance( WP_FS__ACCOUNTS_OPTION_NAME, true ); + + $products_cleaners = $this->get_product_cleaners( $_accounts ); + + $has_cleaned = false; + + foreach ( $products_cleaners as $products_cleaner ) { + if ( $products_cleaner->clean() ) { + $has_cleaned = true; + } + } + + if ( $has_cleaned ) { + $user_cleaner = new FS_User_Garbage_Collector( + $_accounts, + array_keys( $products_cleaners ) + ); + + $user_cleaner->clean(); + } + + // @todo - We need a garbage collector for `all_plugins` and `active_plugins` (and variants of themes). + + // Always store regardless of whether there were cleaned products or not since during the process, the logic may set the last load timestamp of some products. + $_accounts->store(); + } + + /** + * @param FS_Options $_accounts + * + * @return FS_I_Garbage_Collector[] + */ + private function get_product_cleaners( FS_Options $_accounts ) { + /** + * @var FS_I_Garbage_Collector[] $products_cleaners + */ + $products_cleaners = array(); + + $products_cleaners[ WP_FS__MODULE_TYPE_PLUGIN ] = new FS_Product_Garbage_Collector( + $_accounts, + array( + 'sites', + 'plans', + 'plugins', + ), + WP_FS__MODULE_TYPE_PLUGIN + ); + + $products_cleaners[ WP_FS__MODULE_TYPE_THEME ] = new FS_Product_Garbage_Collector( + $_accounts, + array( + 'theme_sites', + 'theme_plans', + 'themes', + ), + WP_FS__MODULE_TYPE_THEME + ); + + return $products_cleaners; + } + } \ No newline at end of file diff --git a/freemius/includes/class-fs-plugin-updater.php b/freemius/includes/class-fs-plugin-updater.php index e904a08..65594b7 100644 --- a/freemius/includes/class-fs-plugin-updater.php +++ b/freemius/includes/class-fs-plugin-updater.php @@ -37,6 +37,8 @@ class FS_Plugin_Updater { private static $_upgrade_basename = null; + const UPDATES_CHECK_CACHE_EXPIRATION = ( WP_FS__TIME_24_HOURS_IN_SEC / 24 ); + #-------------------------------------------------------------------------------- #region Singleton #-------------------------------------------------------------------------------- @@ -530,7 +532,7 @@ function pre_set_site_transient_update_plugins_filter( $transient_data ) { $new_version = $this->_fs->get_update( false, fs_request_get_bool( 'force-check' ), - WP_FS__TIME_24_HOURS_IN_SEC / 24, + FS_Plugin_Updater::UPDATES_CHECK_CACHE_EXPIRATION, $current_plugin_version ); @@ -709,12 +711,7 @@ function get_update_details( FS_Plugin_Tag $new_version ) { * @return bool */ private function is_new_version_premium( FS_Plugin_Tag $new_version ) { - $query_str = parse_url( $new_version->url, PHP_URL_QUERY ); - if ( empty( $query_str ) ) { - return false; - } - - parse_str( $query_str, $params ); + $params = fs_parse_url_params( $new_version->url ); return ( isset( $params['is_premium'] ) && 'true' == $params['is_premium'] ); } @@ -1193,7 +1190,7 @@ private static function get_tested_wp_version( $tested_up_to ) { * @return object */ private function get_latest_download_details( $addon_id = false, $newer_than = false, $fetch_readme = true ) { - return $this->_fs->_fetch_latest_version( $addon_id, true, WP_FS__TIME_24_HOURS_IN_SEC, $newer_than, $fetch_readme ); + return $this->_fs->_fetch_latest_version( $addon_id, true, FS_Plugin_Updater::UPDATES_CHECK_CACHE_EXPIRATION, $newer_than, $fetch_readme ); } /** diff --git a/freemius/includes/class-fs-storage.php b/freemius/includes/class-fs-storage.php index c89f473..74e46e7 100644 --- a/freemius/includes/class-fs-storage.php +++ b/freemius/includes/class-fs-storage.php @@ -359,6 +359,7 @@ private static function load_network_options_map() { 'is_network_activated' => self::OPTION_LEVEL_NETWORK, 'is_on' => self::OPTION_LEVEL_NETWORK, 'is_plugin_new_install' => self::OPTION_LEVEL_NETWORK, + 'last_load_timestamp' => self::OPTION_LEVEL_NETWORK, 'network_install_blog_id' => self::OPTION_LEVEL_NETWORK, 'pending_sites_info' => self::OPTION_LEVEL_NETWORK, 'plugin_last_version' => self::OPTION_LEVEL_NETWORK, diff --git a/freemius/includes/debug/class-fs-debug-bar-panel.php b/freemius/includes/debug/class-fs-debug-bar-panel.php index 0b7969d..c325561 100644 --- a/freemius/includes/debug/class-fs-debug-bar-panel.php +++ b/freemius/includes/debug/class-fs-debug-bar-panel.php @@ -10,55 +10,59 @@ exit; } - /** - * Extends Debug Bar plugin by adding a panel to show all Freemius API requests. - * - * @author Vova Feldman (@svovaf) - * @since 1.1.7.3 - * - * Class Freemius_Debug_Bar_Panel - */ - class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel { - function init() { - $this->title( 'Freemius' ); - } + if ( class_exists( 'Debug_Bar_Panel' ) ) { - static function requests_count() { - if ( class_exists( 'Freemius_Api_WordPress' ) ) { - $logger = Freemius_Api_WordPress::GetLogger(); - } else { - $logger = array(); + /** + * Extends Debug Bar plugin by adding a panel to show all Freemius API requests. + * + * @author Vova Feldman (@svovaf) + * @since 1.1.7.3 + * + * Class Freemius_Debug_Bar_Panel + */ + class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel { + + public function init() { + $this->title( 'Freemius' ); // @phpstan-ignore-line } - return number_format( count( $logger ) ); - } + public static function requests_count() { + if ( class_exists( 'Freemius_Api_WordPress' ) ) { + $logger = Freemius_Api_WordPress::GetLogger(); + } else { + $logger = array(); + } - static function total_time() { - if ( class_exists( 'Freemius_Api_WordPress' ) ) { - $logger = Freemius_Api_WordPress::GetLogger(); - } else { - $logger = array(); + return number_format( count( $logger ) ); } - $total_time = .0; - foreach ( $logger as $l ) { - $total_time += $l['total']; - } + public static function total_time() { + if ( class_exists( 'Freemius_Api_WordPress' ) ) { + $logger = Freemius_Api_WordPress::GetLogger(); + } else { + $logger = array(); + } - return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' ); - } + $total_time = .0; + foreach ( $logger as $l ) { + $total_time += $l['total']; + } + + return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' ); + } - function render() { - ?> - <div id='debug-bar-php'> - <?php fs_require_template( '/debug/api-calls.php' ) ?> - <br> - <?php fs_require_template( '/debug/scheduled-crons.php' ) ?> - <br> - <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?> - <br> - <?php fs_require_template( '/debug/logger.php' ) ?> - </div> - <?php + public function render() { + ?> + <div id='debug-bar-php'> + <?php fs_require_template( '/debug/api-calls.php' ) ?> + <br> + <?php fs_require_template( '/debug/scheduled-crons.php' ) ?> + <br> + <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?> + <br> + <?php fs_require_template( '/debug/logger.php' ) ?> + </div> + <?php + } } - } + } \ No newline at end of file diff --git a/freemius/includes/entities/class-fs-plugin-license.php b/freemius/includes/entities/class-fs-plugin-license.php index e945e51..82a9437 100644 --- a/freemius/includes/entities/class-fs-plugin-license.php +++ b/freemius/includes/entities/class-fs-plugin-license.php @@ -289,6 +289,10 @@ function is_features_enabled() { * @return bool */ function is_first_payment_pending() { + if ( $this->is_lifetime() ) { + return false; + } + return ( WP_FS__TIME_24_HOURS_IN_SEC >= strtotime( $this->expiration ) - strtotime( $this->created ) ); } diff --git a/freemius/includes/entities/class-fs-plugin-plan.php b/freemius/includes/entities/class-fs-plugin-plan.php index 00a0d74..5bc6bc2 100644 --- a/freemius/includes/entities/class-fs-plugin-plan.php +++ b/freemius/includes/entities/class-fs-plugin-plan.php @@ -88,6 +88,10 @@ class FS_Plugin_Plan extends FS_Entity { * @var bool Is featured plan. */ public $is_featured; + /** + * @var bool Is hidden plan. + */ + public $is_hidden; #endregion Properties diff --git a/freemius/includes/entities/class-fs-site.php b/freemius/includes/entities/class-fs-site.php index 19cca04..f9012d0 100644 --- a/freemius/includes/entities/class-fs-site.php +++ b/freemius/includes/entities/class-fs-site.php @@ -13,6 +13,7 @@ /** * @property int $blog_id */ + #[AllowDynamicProperties] class FS_Site extends FS_Scope_Entity { /** * @var number diff --git a/freemius/includes/fs-core-functions.php b/freemius/includes/fs-core-functions.php index 3dddb40..d02dd3c 100644 --- a/freemius/includes/fs-core-functions.php +++ b/freemius/includes/fs-core-functions.php @@ -118,7 +118,7 @@ function fs_enqueue_local_style( $handle, $path, $deps = array(), $ver = false, } if ( ! function_exists( 'fs_enqueue_local_script' ) ) { - function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = 'all' ) { + function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = true ) { wp_enqueue_script( $handle, fs_asset_url( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ), $deps, $ver, $in_footer ); } } @@ -588,6 +588,33 @@ function fs_nonce_url( $actionurl, $action = - 1, $name = '_wpnonce' ) { } } + if ( ! function_exists( 'fs_parse_url_params' ) ) { + /** + * Returns the query parameters of the given URL if there are any. + * + * @param string $url + * @param bool $html_entity_decode + * + * @return array<string, string> Key value pair where key represents the parameter name and value represents the parameter value. + */ + function fs_parse_url_params( $url, $html_entity_decode = false ) { + $query_str = parse_url( $url, PHP_URL_QUERY ); + $url_params = array(); + + if ( empty( $query_str ) ) { + return $url_params; + } + + if ( $html_entity_decode ) { + $query_str = html_entity_decode( $query_str ); + } + + parse_str( $query_str, $url_params ); + + return $url_params; + } + } + if ( ! function_exists( 'fs_starts_with' ) ) { /** * Check if string starts with. @@ -1204,7 +1231,7 @@ function fs_esc_js_x_inline( $text, $context, $key = '', $slug = 'freemius' ) { * @param string $key String key for overrides. * @param string $slug Module slug for overrides. * - * @return string + * @return void */ function fs_esc_js_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) { echo esc_js( _fs_text_x_inline( $text, $context, $key, $slug ) ); @@ -1458,4 +1485,21 @@ function fs_apply_filter( $module_unique_affix, $tag, $value ) { array_slice( $args, 2 ) ) ); } - } \ No newline at end of file + } + + if ( ! function_exists( 'fs_get_optional_constant' ) ) { + /** + * Gets the value of an optional constant. If the constant is not defined, the default value will be returned. + * + * @author Swashata Ghosh (@swashata) + * @since 2.5.12.5 + * + * @param string $constant_name + * @param mixed $default_value + * + * @return mixed + */ + function fs_get_optional_constant( $constant_name, $default_value = null ) { + return defined( $constant_name ) ? constant( $constant_name ) : $default_value; + } + } diff --git a/freemius/includes/fs-essential-functions.php b/freemius/includes/fs-essential-functions.php index c744306..f463a0f 100644 --- a/freemius/includes/fs-essential-functions.php +++ b/freemius/includes/fs-essential-functions.php @@ -167,244 +167,252 @@ function fs_get_ip() { } } - /** - * Leverage backtrace to find caller plugin main file path. - * - * @author Vova Feldman (@svovaf) - * @since 1.0.6 - * - * @return string - */ - function fs_find_caller_plugin_file() { - /** - * All the code below will be executed once on activation. - * If the user changes the main plugin's file name, the file_exists() - * will catch it. - */ - if ( ! function_exists( 'get_plugins' ) ) { - require_once ABSPATH . 'wp-admin/includes/plugin.php'; - } + if ( ! function_exists( 'fs_find_caller_plugin_file' ) ) { + /** + * Leverage backtrace to find caller plugin main file path. + * + * @author Vova Feldman (@svovaf) + * @since 1.0.6 + * + * @return string + */ + function fs_find_caller_plugin_file() { + /** + * All the code below will be executed once on activation. + * If the user changes the main plugin's file name, the file_exists() + * will catch it. + */ + if ( ! function_exists( 'get_plugins' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } - $all_plugins = fs_get_plugins( true ); - $all_plugins_paths = array(); + $all_plugins = fs_get_plugins( true ); + $all_plugins_paths = array(); - // Get active plugin's main files real full names (might be symlinks). - foreach ( $all_plugins as $relative_path => $data ) { - $all_plugins_paths[] = fs_normalize_path( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ); - } + // Get active plugin's main files real full names (might be symlinks). + foreach ( $all_plugins as $relative_path => $data ) { + $all_plugins_paths[] = fs_normalize_path( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ); + } - $plugin_file = null; - for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) { - if ( empty( $bt[ $i ]['file'] ) ) { - continue; - } + $plugin_file = null; + for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) { + if ( empty( $bt[ $i ]['file'] ) ) { + continue; + } - if ( in_array( fs_normalize_path( $bt[ $i ]['file'] ), $all_plugins_paths ) ) { - $plugin_file = $bt[ $i ]['file']; - break; - } - } + if ( in_array( fs_normalize_path( $bt[ $i ]['file'] ), $all_plugins_paths ) ) { + $plugin_file = $bt[ $i ]['file']; + break; + } + } - if ( is_null( $plugin_file ) ) { - // Throw an error to the developer in case of some edge case dev environment. - wp_die( - 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.', - 'Error', - array( 'back_link' => true ) - ); - } + if ( is_null( $plugin_file ) ) { + // Throw an error to the developer in case of some edge case dev environment. + wp_die( + 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.', + 'Error', + array( 'back_link' => true ) + ); + } - return $plugin_file; - } + return $plugin_file; + } + } require_once dirname( __FILE__ ) . '/supplements/fs-essential-functions-1.1.7.1.php'; - /** - * Update SDK newest version reference. - * - * @author Vova Feldman (@svovaf) - * @since 1.1.6 - * - * @param string $sdk_relative_path - * @param string|bool $plugin_file - * - * @global $fs_active_plugins - */ - function fs_update_sdk_newest_version( $sdk_relative_path, $plugin_file = false ) { - /** - * If there is a plugin running an older version of FS (1.2.1 or below), the `fs_update_sdk_newest_version()` - * function in the older version will be used instead of this one. But since the older version is using - * the `is_plugin_active` function to check if a plugin is active, passing the theme's `plugin_path` to the - * `is_plugin_active` function will return false since the path is not a plugin path, so `in_activation` will be - * `true` for theme modules and the upgrading of the SDK version to 1.2.2 or newer version will work fine. - * - * Future versions that will call this function will use the proper logic here instead of just relying on the - * `is_plugin_active` function to fail for themes. - * - * @author Leo Fajardo (@leorw) - * @since 1.2.2 - */ - - global $fs_active_plugins; - - $newest_sdk = $fs_active_plugins->plugins[ $sdk_relative_path ]; - - if ( ! is_string( $plugin_file ) ) { - $plugin_file = plugin_basename( fs_find_caller_plugin_file() ); - } - - if ( ! isset( $newest_sdk->type ) || 'theme' !== $newest_sdk->type ) { - if ( ! function_exists( 'is_plugin_active' ) ) { - require_once ABSPATH . 'wp-admin/includes/plugin.php'; + if ( ! function_exists( 'fs_update_sdk_newest_version' ) ) { + /** + * Update SDK newest version reference. + * + * @author Vova Feldman (@svovaf) + * @since 1.1.6 + * + * @param string $sdk_relative_path + * @param string|bool $plugin_file + * + * @global $fs_active_plugins + */ + function fs_update_sdk_newest_version( $sdk_relative_path, $plugin_file = false ) { + /** + * If there is a plugin running an older version of FS (1.2.1 or below), the `fs_update_sdk_newest_version()` + * function in the older version will be used instead of this one. But since the older version is using + * the `is_plugin_active` function to check if a plugin is active, passing the theme's `plugin_path` to the + * `is_plugin_active` function will return false since the path is not a plugin path, so `in_activation` will be + * `true` for theme modules and the upgrading of the SDK version to 1.2.2 or newer version will work fine. + * + * Future versions that will call this function will use the proper logic here instead of just relying on the + * `is_plugin_active` function to fail for themes. + * + * @author Leo Fajardo (@leorw) + * @since 1.2.2 + */ + + global $fs_active_plugins; + + $newest_sdk = $fs_active_plugins->plugins[ $sdk_relative_path ]; + + if ( ! is_string( $plugin_file ) ) { + $plugin_file = plugin_basename( fs_find_caller_plugin_file() ); } - $in_activation = ( ! is_plugin_active( $plugin_file ) ); - } else { - $theme = wp_get_theme(); - $in_activation = ( $newest_sdk->plugin_path == $theme->stylesheet ); - } + if ( ! isset( $newest_sdk->type ) || 'theme' !== $newest_sdk->type ) { + if ( ! function_exists( 'is_plugin_active' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } - $fs_active_plugins->newest = (object) array( - 'plugin_path' => $plugin_file, - 'sdk_path' => $sdk_relative_path, - 'version' => $newest_sdk->version, - 'in_activation' => $in_activation, - 'timestamp' => time(), - ); + $in_activation = ( ! is_plugin_active( $plugin_file ) ); + } else { + $theme = wp_get_theme(); + $in_activation = ( $newest_sdk->plugin_path == $theme->stylesheet ); + } - // Update DB with latest SDK version and path. - update_option( 'fs_active_plugins', $fs_active_plugins ); - } + $fs_active_plugins->newest = (object) array( + 'plugin_path' => $plugin_file, + 'sdk_path' => $sdk_relative_path, + 'version' => $newest_sdk->version, + 'in_activation' => $in_activation, + 'timestamp' => time(), + ); - /** - * Reorder the plugins load order so the plugin with the newest Freemius SDK is loaded first. - * - * @author Vova Feldman (@svovaf) - * @since 1.1.6 - * - * @return bool Was plugin order changed. Return false if plugin was loaded first anyways. - * - * @global $fs_active_plugins - */ - function fs_newest_sdk_plugin_first() { - global $fs_active_plugins; + // Update DB with latest SDK version and path. + update_option( 'fs_active_plugins', $fs_active_plugins ); + } + } + if ( ! function_exists( 'fs_newest_sdk_plugin_first' ) ) { /** - * @todo Multi-site network activated plugin are always loaded prior to site plugins so if there's a plugin activated in the network mode that has an older version of the SDK of another plugin which is site activated that has new SDK version, the fs-essential-functions.php will be loaded from the older SDK. Same thing about MU plugins (loaded even before network activated plugins). + * Reorder the plugins load order so the plugin with the newest Freemius SDK is loaded first. + * + * @author Vova Feldman (@svovaf) + * @since 1.1.6 + * + * @return bool Was plugin order changed. Return false if plugin was loaded first anyways. * - * @link https://github.com/Freemius/wordpress-sdk/issues/26 + * @global $fs_active_plugins */ + function fs_newest_sdk_plugin_first() { + global $fs_active_plugins; - $newest_sdk_plugin_path = $fs_active_plugins->newest->plugin_path; + /** + * @todo Multi-site network activated plugin are always loaded prior to site plugins so if there's a plugin activated in the network mode that has an older version of the SDK of another plugin which is site activated that has new SDK version, the fs-essential-functions.php will be loaded from the older SDK. Same thing about MU plugins (loaded even before network activated plugins). + * + * @link https://github.com/Freemius/wordpress-sdk/issues/26 + */ - $active_plugins = get_option( 'active_plugins', array() ); - $updated_active_plugins = array( $newest_sdk_plugin_path ); + $newest_sdk_plugin_path = $fs_active_plugins->newest->plugin_path; - $plugin_found = false; - $is_first_path = true; + $active_plugins = get_option( 'active_plugins', array() ); + $updated_active_plugins = array( $newest_sdk_plugin_path ); - foreach ( $active_plugins as $key => $plugin_path ) { - if ( $plugin_path === $newest_sdk_plugin_path ) { - if ( $is_first_path ) { - // if it's the first plugin already, no need to continue - return false; - } + $plugin_found = false; + $is_first_path = true; - $plugin_found = true; + foreach ( $active_plugins as $key => $plugin_path ) { + if ( $plugin_path === $newest_sdk_plugin_path ) { + if ( $is_first_path ) { + // if it's the first plugin already, no need to continue + return false; + } - // Skip the plugin (it is already added as the 1st item of $updated_active_plugins). - continue; - } + $plugin_found = true; - $updated_active_plugins[] = $plugin_path; + // Skip the plugin (it is already added as the 1st item of $updated_active_plugins). + continue; + } + + $updated_active_plugins[] = $plugin_path; - if ( $is_first_path ) { - $is_first_path = false; + if ( $is_first_path ) { + $is_first_path = false; + } } - } - if ( $plugin_found ) { - update_option( 'active_plugins', $updated_active_plugins ); + if ( $plugin_found ) { + update_option( 'active_plugins', $updated_active_plugins ); - return true; - } + return true; + } - if ( is_multisite() ) { - // Plugin is network active. - $network_active_plugins = get_site_option( 'active_sitewide_plugins', array() ); + if ( is_multisite() ) { + // Plugin is network active. + $network_active_plugins = get_site_option( 'active_sitewide_plugins', array() ); - if ( isset( $network_active_plugins[ $newest_sdk_plugin_path ] ) ) { - reset( $network_active_plugins ); - if ( $newest_sdk_plugin_path === key( $network_active_plugins ) ) { - // Plugin is already activated first on the network level. - return false; - } else { - $time = $network_active_plugins[ $newest_sdk_plugin_path ]; + if ( isset( $network_active_plugins[ $newest_sdk_plugin_path ] ) ) { + reset( $network_active_plugins ); + if ( $newest_sdk_plugin_path === key( $network_active_plugins ) ) { + // Plugin is already activated first on the network level. + return false; + } else { + $time = $network_active_plugins[ $newest_sdk_plugin_path ]; - // Remove plugin from its current position. - unset( $network_active_plugins[ $newest_sdk_plugin_path ] ); + // Remove plugin from its current position. + unset( $network_active_plugins[ $newest_sdk_plugin_path ] ); - // Set it to be included first. - $network_active_plugins = array( $newest_sdk_plugin_path => $time ) + $network_active_plugins; + // Set it to be included first. + $network_active_plugins = array( $newest_sdk_plugin_path => $time ) + $network_active_plugins; - update_site_option( 'active_sitewide_plugins', $network_active_plugins ); + update_site_option( 'active_sitewide_plugins', $network_active_plugins ); - return true; + return true; + } } } - } - return false; + return false; + } } - /** - * Go over all Freemius SDKs in the system and find and "remember" - * the newest SDK which is associated with an active plugin. - * - * @author Vova Feldman (@svovaf) - * @since 1.1.6 - * - * @global $fs_active_plugins - */ - function fs_fallback_to_newest_active_sdk() { - global $fs_active_plugins; - - /** - * @var object $newest_sdk_data - */ - $newest_sdk_data = null; - $newest_sdk_path = null; - - foreach ( $fs_active_plugins->plugins as $sdk_relative_path => $data ) { - if ( is_null( $newest_sdk_data ) || version_compare( $data->version, $newest_sdk_data->version, '>' ) - ) { - // If plugin inactive or SDK starter file doesn't exist, remove SDK reference. - if ( 'plugin' === $data->type ) { - $is_module_active = is_plugin_active( $data->plugin_path ); - } else { - $active_theme = wp_get_theme(); - $is_module_active = ( $data->plugin_path === $active_theme->get_template() ); - } - - $is_sdk_exists = file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $sdk_relative_path . '/start.php' ) ); - - if ( ! $is_module_active || ! $is_sdk_exists ) { - unset( $fs_active_plugins->plugins[ $sdk_relative_path ] ); - - // No need to store the data since it will be stored in fs_update_sdk_newest_version() - // or explicitly with update_option(). - } else { - $newest_sdk_data = $data; - $newest_sdk_path = $sdk_relative_path; - } - } - } + if ( ! function_exists( 'fs_fallback_to_newest_active_sdk' ) ) { + /** + * Go over all Freemius SDKs in the system and find and "remember" + * the newest SDK which is associated with an active plugin. + * + * @author Vova Feldman (@svovaf) + * @since 1.1.6 + * + * @global $fs_active_plugins + */ + function fs_fallback_to_newest_active_sdk() { + global $fs_active_plugins; + + /** + * @var object $newest_sdk_data + */ + $newest_sdk_data = null; + $newest_sdk_path = null; + + foreach ( $fs_active_plugins->plugins as $sdk_relative_path => $data ) { + if ( is_null( $newest_sdk_data ) || version_compare( $data->version, $newest_sdk_data->version, '>' ) + ) { + // If plugin inactive or SDK starter file doesn't exist, remove SDK reference. + if ( 'plugin' === $data->type ) { + $is_module_active = is_plugin_active( $data->plugin_path ); + } else { + $active_theme = wp_get_theme(); + $is_module_active = ( $data->plugin_path === $active_theme->get_template() ); + } + + $is_sdk_exists = file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $sdk_relative_path . '/start.php' ) ); + + if ( ! $is_module_active || ! $is_sdk_exists ) { + unset( $fs_active_plugins->plugins[ $sdk_relative_path ] ); + + // No need to store the data since it will be stored in fs_update_sdk_newest_version() + // or explicitly with update_option(). + } else { + $newest_sdk_data = $data; + $newest_sdk_path = $sdk_relative_path; + } + } + } - if ( is_null( $newest_sdk_data ) ) { - // Couldn't find any SDK reference. - $fs_active_plugins = new stdClass(); - update_option( 'fs_active_plugins', $fs_active_plugins ); - } else { - fs_update_sdk_newest_version( $newest_sdk_path, $newest_sdk_data->plugin_path ); - } - } \ No newline at end of file + if ( is_null( $newest_sdk_data ) ) { + // Couldn't find any SDK reference. + $fs_active_plugins = new stdClass(); + update_option( 'fs_active_plugins', $fs_active_plugins ); + } else { + fs_update_sdk_newest_version( $newest_sdk_path, $newest_sdk_data->plugin_path ); + } + } + } \ No newline at end of file diff --git a/freemius/includes/fs-html-escaping-functions.php b/freemius/includes/fs-html-escaping-functions.php index 29f30da..9384b59 100644 --- a/freemius/includes/fs-html-escaping-functions.php +++ b/freemius/includes/fs-html-escaping-functions.php @@ -17,6 +17,7 @@ */ function fs_html_get_allowed_kses_list() { $common_attributes = array( + 'id' => true, 'class' => true, 'style' => true, 'data-*' => true, @@ -48,6 +49,7 @@ function fs_html_get_allowed_kses_list() { 'strong' => $common_attributes, 'u' => $common_attributes, 'b' => $common_attributes, + 'i' => $common_attributes, 'hr' => $common_attributes, 'span' => $common_attributes, 'p' => $common_attributes, diff --git a/freemius/includes/fs-plugin-info-dialog.php b/freemius/includes/fs-plugin-info-dialog.php index 3fbd113..8a79aff 100644 --- a/freemius/includes/fs-plugin-info-dialog.php +++ b/freemius/includes/fs-plugin-info-dialog.php @@ -238,7 +238,7 @@ function _get_addon_info_filter( $data, $action = '', $args = null ) { $latest = $this->_fs->_fetch_latest_version( $selected_addon->id, true, - WP_FS__TIME_24_HOURS_IN_SEC, + FS_Plugin_Updater::UPDATES_CHECK_CACHE_EXPIRATION, $current_addon_version ); @@ -838,12 +838,8 @@ private static function get_blog_status_url( $blog_id, $network_status_url, $sta 'install-plugin' : 'upgrade-plugin'; - $query = parse_url( $network_status_url, PHP_URL_QUERY ); - if ( empty( $query ) ) { - return $network_status_url; - } + $url_params = fs_parse_url_params( $network_status_url, true ); - parse_str( html_entity_decode( $query ), $url_params ); if ( empty( $url_params ) || ! isset( $url_params['plugin'] ) ) { return $network_status_url; } diff --git a/freemius/includes/managers/class-fs-plan-manager.php b/freemius/includes/managers/class-fs-plan-manager.php index 639de43..9beccea 100644 --- a/freemius/includes/managers/class-fs-plan-manager.php +++ b/freemius/includes/managers/class-fs-plan-manager.php @@ -108,6 +108,7 @@ function has_free_plan( $plans ) { /** * Find all plans that have trial. + * Since 2.6.2 call get_filtered_plan * * @author Vova Feldman (@svovaf) * @since 1.0.9 @@ -117,20 +118,50 @@ function has_free_plan( $plans ) { * @return FS_Plugin_Plan[] */ function get_trial_plans( $plans ) { - $trial_plans = array(); + return $this->get_filtered_plans( $plans, true ); + } - if ( is_array( $plans ) && 0 < count( $plans ) ) { - /** - * @var FS_Plugin_Plan[] $plans - */ - for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) { - if ( $plans[ $i ]->has_trial() ) { - $trial_plans[] = $plans[ $i ]; + /** + * Find all plans that are not hidden and have trial. + * + * @author Daniele Alessandra (@danielealessandra) + * + * @param FS_Plugin_Plan[] $plans + * + * @return FS_Plugin_Plan[] + * @since 2.6.3 + * + */ + function get_visible_trial_plans( $plans ) { + return $this->get_filtered_plans( $plans, true, true ); + } + + /** + * Find all plans filtered by trial or visibility. + * + * @author Daniele Alessandra (@danielealessandra) + * + * @param FS_Plugin_Plan[] $plans + * @param boolean $should_have_trials + * @param boolean $should_be_visible + * + * @return FS_Plugin_Plan[] + * @since 2.6.3 + * + */ + function get_filtered_plans( $plans, $should_have_trials = false, $should_be_visible = false ) { + $filtered_plans = array(); + + if ( is_array( $plans ) && count( $plans ) > 0 ) { + foreach ( $plans as $plan ) { + if ( ( $should_have_trials && ! $plan->has_trial() ) || ( $should_be_visible && $plan->is_hidden ) ) { + continue; } + $filtered_plans[] = $plan; } } - return $trial_plans; + return $filtered_plans; } /** diff --git a/freemius/includes/sdk/FreemiusWordPress.php b/freemius/includes/sdk/FreemiusWordPress.php index efb9e0d..2403c90 100644 --- a/freemius/includes/sdk/FreemiusWordPress.php +++ b/freemius/includes/sdk/FreemiusWordPress.php @@ -473,8 +473,12 @@ private static function MakeStaticRequest( */ if ( filter_var( $matches[1], FILTER_VALIDATE_IP ) ) { if ( strlen( inet_pton( $matches[1] ) ) === 16 ) { -// error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.'); - // Hook to an action triggered just before cURL is executed to resolve the IP version to v4. + /** + * error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.'); + * Hook to an action triggered just before cURL is executed to resolve the IP version to v4. + * + * @phpstan-ignore-next-line + */ add_action( 'http_api_curl', 'Freemius_Api_WordPress::CurlResolveToIPv4', 10, 1 ); // Re-run request. diff --git a/freemius/languages/freemius-cs_CZ.mo b/freemius/languages/freemius-cs_CZ.mo index 8dd3c06700bb3b0f13c99ef0d0ff75ef8ffd06fc..dc311a4e7852680e600920b0cf1b794277a02427 100644 GIT binary patch delta 11696 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 N+}E6dmtMK>e*wl9=lTEu delta 11825 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 diff --git a/freemius/languages/freemius-da_DK.mo b/freemius/languages/freemius-da_DK.mo index 07ffb83ffb3c636cb7d4405fe266139173aa16c6..c0b9378006fafe58f9caf132d1134b4113f7aba4 100644 GIT binary patch delta 9680 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 literal 69088 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 diff --git a/freemius/languages/freemius-de_DE.mo b/freemius/languages/freemius-de_DE.mo index 2d951e98adae3c53d5ff5b0d3b04d4911a1e0d89..dd8555048c427727e84c720edcc88f075afe5878 100644 GIT binary patch delta 13718 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 QRpUzKTXCg7*Y*B?06T$FJ^%m! delta 17019 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 RuTCuQ$?>c{81MP~e*kY*JSG4D diff --git a/freemius/languages/freemius-es_ES.mo b/freemius/languages/freemius-es_ES.mo index 445e10db060d2e214ce97f9f2289029792da21ea..963dfe3fac621f21292ba746d22d88ee0fc4780c 100644 GIT binary patch delta 10540 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 J!{zO*{|BrMI+FkZ delta 28484 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 diff --git a/freemius/languages/freemius-fr_FR.mo b/freemius/languages/freemius-fr_FR.mo index bc2889ccc8b8a88ef020b5aae1df2e67b93323a6..de90270c18e637954e14aa4b69f050fbb5e799c6 100644 GIT binary patch delta 8684 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 Dh@sP7 delta 11337 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 QJR)_`(1v^N4)t&QKh*Zf3;+NC diff --git a/freemius/languages/freemius-he_IL.mo b/freemius/languages/freemius-he_IL.mo index 5b4b235504b3b7a094a397e1e0576b39e3311479..e84832723d890801fa17e082f74d71b7b7ea11bc 100644 GIT binary patch delta 7863 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 aDlME=Qc+o2mG2vQUH{DP+c%di>-is(7cSob delta 10105 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 X*eRZj)b!N!@{I*;5ByrNq|N^U{f5E? diff --git a/freemius/languages/freemius-hu_HU.mo b/freemius/languages/freemius-hu_HU.mo index bd75896c53fe9564516efa969b987b18995e694a..7448fe7f921d92a4828ec4317e36e1b5872fa924 100644 GIT binary patch delta 6441 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 PE+3iSV(YH_SKIst(Rc(K delta 8343 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 diff --git a/freemius/languages/freemius-it_IT.mo b/freemius/languages/freemius-it_IT.mo index 66469075a6e3bf522002f346610846ff038ddb4f..4348785a6429fc164577751811fde83546cd11d1 100644 GIT binary patch delta 12399 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 Y35=&oUp4WqtFQcE)Tvl?cygov0Y1qcGynhq delta 13616 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 diff --git a/freemius/languages/freemius-ja.mo b/freemius/languages/freemius-ja.mo index 6acf2df5e215c77d81ace8ff9df9039037fff573..ff6b277a33421e13ad5d5fe4af4fa7e10788f375 100644 GIT binary patch delta 8209 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 NG__4#Y2m$N{tXL`mQw%# delta 10550 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 diff --git a/freemius/languages/freemius-nl_NL.mo b/freemius/languages/freemius-nl_NL.mo index b3024ef3e2ea50d1430aaf0c758b9fd4b196f123..37c9c5b1227d406a329bf32d1186b6219d128abf 100644 GIT binary patch delta 8684 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 EU!4TVOaK4? delta 11337 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 diff --git a/freemius/languages/freemius-ru_RU.mo b/freemius/languages/freemius-ru_RU.mo index c4982fd53ce6acd0b8ef2abfa7568e98c06167b5..c62ea8f84f814e4c5458584f654bccda32c696b2 100644 GIT binary patch delta 7318 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 I%wvQ82W?~_OaK4? delta 9382 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 diff --git a/freemius/languages/freemius-ta.mo b/freemius/languages/freemius-ta.mo index 0fbe1eb42c0db62c20d833cafe9dd4c04cc27960..b3559142df784b8815ffd10ea4cf27db7f3122db 100644 GIT binary patch delta 9017 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 NaKU41#<*5n{s*m5PALEY delta 11867 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 aHm|A^88bH0bL~X5XZyKgyDpCQ-Tr?mrCw72 diff --git a/freemius/languages/freemius-zh_CN.mo b/freemius/languages/freemius-zh_CN.mo index 6ac09184a8cf8253b5a23eeae6fcc69e0fe4d49f..d4f4fda1950f5c572e02489060430d3949d7d773 100644 GIT binary patch delta 19735 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 delta 13887 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 G`u!g!Aoo=O diff --git a/freemius/languages/freemius.pot b/freemius/languages/freemius.pot index 3bdefb1..ff30eda 100644 --- a/freemius/languages/freemius.pot +++ b/freemius/languages/freemius.pot @@ -1,4 +1,4 @@ -# Copyright (C) 2023 freemius +# Copyright (C) 2024 freemius # This file is distributed under the same license as the freemius package. msgid "" msgstr "" @@ -8,873 +8,881 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language-Team: Freemius Team <admin@freemius.com>\n" "Last-Translator: Vova Feldman <vova@freemius.com>\n" +"POT-Creation-Date: 2024-04-22 10:16+0000\n" "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n" "X-Poedit-Basepath: ..\n" -"X-Poedit-KeywordsList: get_text_inline;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;get_text_x_inline:1,2c;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n" +"X-Poedit-KeywordsList: get_text_inline;get_text_x_inline:1,2c;$this->get_text_inline;$this->get_text_x_inline:1,2c;$this->_fs->get_text_inline;$this->_fs->get_text_x_inline:1,2c;$this->fs->get_text_inline;$this->fs->get_text_x_inline:1,2c;$fs->get_text_inline;$fs->get_text_x_inline:1,2c;$this->_parent->get_text_inline;$this->_parent->get_text_x_inline:1,2c;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" "X-Poedit-SourceCharset: UTF-8\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: includes/class-freemius.php:1748, templates/account.php:947 +#: includes/class-freemius.php:1781, templates/account.php:943 msgid "An update to a Beta version will replace your installed version of %s with the latest Beta release - use with caution, and not on production sites. You have been warned." msgstr "" -#: includes/class-freemius.php:1755 +#: includes/class-freemius.php:1788 msgid "Would you like to proceed with the update?" msgstr "" -#: includes/class-freemius.php:1980 +#: includes/class-freemius.php:2013 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error." msgstr "" -#: includes/class-freemius.php:1982, includes/fs-plugin-info-dialog.php:1517 +#: includes/class-freemius.php:2015, includes/fs-plugin-info-dialog.php:1513 msgid "Error" msgstr "" -#: includes/class-freemius.php:2428 +#: includes/class-freemius.php:2461 msgid "I found a better %s" msgstr "" -#: includes/class-freemius.php:2430 +#: includes/class-freemius.php:2463 msgid "What's the %s's name?" msgstr "" -#: includes/class-freemius.php:2436 +#: includes/class-freemius.php:2469 msgid "It's a temporary %s - I'm troubleshooting an issue" msgstr "" -#: includes/class-freemius.php:2438 +#: includes/class-freemius.php:2471 msgid "Deactivation" msgstr "" -#: includes/class-freemius.php:2439 +#: includes/class-freemius.php:2472 msgid "Theme Switch" msgstr "" -#: includes/class-freemius.php:2448, templates/forms/resend-key.php:24, templates/forms/user-change.php:29 +#: includes/class-freemius.php:2481, templates/forms/resend-key.php:24, templates/forms/user-change.php:29 msgid "Other" msgstr "" -#: includes/class-freemius.php:2456 +#: includes/class-freemius.php:2489 msgid "I no longer need the %s" msgstr "" -#: includes/class-freemius.php:2463 +#: includes/class-freemius.php:2496 msgid "I only needed the %s for a short period" msgstr "" -#: includes/class-freemius.php:2469 +#: includes/class-freemius.php:2502 msgid "The %s broke my site" msgstr "" -#: includes/class-freemius.php:2476 +#: includes/class-freemius.php:2509 msgid "The %s suddenly stopped working" msgstr "" -#: includes/class-freemius.php:2486 +#: includes/class-freemius.php:2519 msgid "I can't pay for it anymore" msgstr "" -#: includes/class-freemius.php:2488 +#: includes/class-freemius.php:2521 msgid "What price would you feel comfortable paying?" msgstr "" -#: includes/class-freemius.php:2494 +#: includes/class-freemius.php:2527 msgid "I don't like to share my information with you" msgstr "" -#: includes/class-freemius.php:2515 +#: includes/class-freemius.php:2548 msgid "The %s didn't work" msgstr "" -#: includes/class-freemius.php:2525 +#: includes/class-freemius.php:2558 msgid "I couldn't understand how to make it work" msgstr "" -#: includes/class-freemius.php:2533 +#: includes/class-freemius.php:2566 msgid "The %s is great, but I need specific feature that you don't support" msgstr "" -#: includes/class-freemius.php:2535 +#: includes/class-freemius.php:2568 msgid "What feature?" msgstr "" -#: includes/class-freemius.php:2539 +#: includes/class-freemius.php:2572 msgid "The %s is not working" msgstr "" -#: includes/class-freemius.php:2541 +#: includes/class-freemius.php:2574 msgid "Kindly share what didn't work so we can fix it for future users..." msgstr "" -#: includes/class-freemius.php:2545 +#: includes/class-freemius.php:2578 msgid "It's not what I was looking for" msgstr "" -#: includes/class-freemius.php:2547 +#: includes/class-freemius.php:2580 msgid "What you've been looking for?" msgstr "" -#: includes/class-freemius.php:2551 +#: includes/class-freemius.php:2584 msgid "The %s didn't work as expected" msgstr "" -#: includes/class-freemius.php:2553 +#: includes/class-freemius.php:2586 msgid "What did you expect?" msgstr "" -#: includes/class-freemius.php:3641, templates/debug.php:24 +#: includes/class-freemius.php:3685, templates/debug.php:24 msgid "Freemius Debug" msgstr "" -#: includes/class-freemius.php:4755 +#. translators: %s: License type (e.g. you have a professional license) +#: includes/class-freemius.php:4828 msgid "You have purchased a %s license." msgstr "" -#: includes/class-freemius.php:4759 +#: includes/class-freemius.php:4832 msgid " The %s's %sdownload link%s, license key, and installation instructions have been sent to %s. If you can't find the email after 5 min, please check your spam box." msgstr "" -#: includes/class-freemius.php:4769, includes/class-freemius.php:21125, includes/class-freemius.php:24783 +#: includes/class-freemius.php:4842, includes/class-freemius.php:21174, includes/class-freemius.php:24859 msgctxt "interjection expressing joy or exuberance" msgid "Yee-haw" msgstr "" -#: includes/class-freemius.php:4783 +#: includes/class-freemius.php:4856 msgctxt "addonX cannot run without pluginY" msgid "%s cannot run without %s." msgstr "" -#: includes/class-freemius.php:4784 +#: includes/class-freemius.php:4857 msgctxt "addonX cannot run..." msgid "%s cannot run without the plugin." msgstr "" -#: includes/class-freemius.php:4786, includes/class-freemius.php:5978, includes/class-freemius.php:13730, includes/class-freemius.php:14469, includes/class-freemius.php:18281, includes/class-freemius.php:18394, includes/class-freemius.php:18571, includes/class-freemius.php:20856, includes/class-freemius.php:21955, includes/class-freemius.php:22971, includes/class-freemius.php:23101, includes/class-freemius.php:23231, templates/add-ons.php:57 +#: includes/class-freemius.php:4859, includes/class-freemius.php:6051, includes/class-freemius.php:13828, includes/class-freemius.php:14575, includes/class-freemius.php:18330, includes/class-freemius.php:18443, includes/class-freemius.php:18620, includes/class-freemius.php:20905, includes/class-freemius.php:22020, includes/class-freemius.php:23036, includes/class-freemius.php:23166, includes/class-freemius.php:23309, templates/add-ons.php:57 msgctxt "exclamation" msgid "Oops" msgstr "" -#: includes/class-freemius.php:5065 +#: includes/class-freemius.php:5138 msgid "There was an unexpected API error while processing your request. Please try again in a few minutes and if it still doesn't work, contact the %s's author with the following:" msgstr "" -#: includes/class-freemius.php:5645 +#. translators: %s: License type (e.g. you have a professional license) +#: includes/class-freemius.php:5743 +msgid "You have a %s license." +msgstr "" + +#: includes/class-freemius.php:5716 msgid "Premium %s version was successfully activated." msgstr "" -#: includes/class-freemius.php:5657, includes/class-freemius.php:7692 +#: includes/class-freemius.php:5728, includes/class-freemius.php:7765 msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)." msgid "W00t" msgstr "" -#: includes/class-freemius.php:5672 -msgid "You have a %s license." -msgstr "" - -#: includes/class-freemius.php:5961 +#: includes/class-freemius.php:6034 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license." msgstr "" -#: includes/class-freemius.php:5965 +#: includes/class-freemius.php:6038 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin." msgstr "" -#: includes/class-freemius.php:5974, templates/add-ons.php:186, templates/account/partials/addon.php:386 +#: includes/class-freemius.php:6047, templates/add-ons.php:186, templates/account/partials/addon.php:386 msgid "More information about %s" msgstr "" -#: includes/class-freemius.php:5975 +#: includes/class-freemius.php:6048 msgid "Purchase License" msgstr "" -#. translators: %3$s: action (e.g.: "start the trial" or "complete the opt-in") -#: includes/class-freemius.php:6971 -msgid "You should receive a confirmation email for %1$s to your mailbox at %2$s. Please make sure you click the button in that email to %3$s." -msgstr "" - -#: includes/class-freemius.php:6974 -msgid "start the trial" -msgstr "" - -#: includes/class-freemius.php:6975, templates/connect.php:218 -msgid "complete the opt-in" -msgstr "" - -#: includes/class-freemius.php:6977 -msgid "Thanks!" -msgstr "" - #. translators: %3$s: What the user is expected to receive via email (e.g.: "the installation instructions" or "a license key") -#: includes/class-freemius.php:6980 +#: includes/class-freemius.php:7053 msgid "You should receive %3$s for %1$s to your mailbox at %2$s in the next 5 minutes." msgstr "" -#: includes/class-freemius.php:6983 -msgctxt "Part of the message telling the user what they should receive via email." -msgid "the installation instructions" -msgstr "" - -#: includes/class-freemius.php:6989 +#: includes/class-freemius.php:7062 msgctxt "Part of the message telling the user what they should receive via email." msgid "a license key" msgstr "" -#: includes/class-freemius.php:6997 +#. translators: %s: activation link (e.g.: <a>Click here</a>) +#: includes/class-freemius.php:7070 msgid "%s to activate the license once you get it." msgstr "" -#: includes/class-freemius.php:7005 +#: includes/class-freemius.php:7078 msgctxt "Part of an activation link message." msgid "Click here" msgstr "" -#: includes/class-freemius.php:7012 +#: includes/class-freemius.php:7056 +msgctxt "Part of the message telling the user what they should receive via email." +msgid "the installation instructions" +msgstr "" + +#: includes/class-freemius.php:7085 msgctxt "Part of the message that tells the user to check their spam folder for a specific email." msgid "the product's support email address" msgstr "" -#: includes/class-freemius.php:7018 +#: includes/class-freemius.php:7091 msgid "If you didn't get the email, try checking your spam folder or search for emails from %4$s." msgstr "" -#: includes/class-freemius.php:7020 +#: includes/class-freemius.php:7093 msgid "Thanks for upgrading." msgstr "" -#: includes/class-freemius.php:7156 +#: includes/class-freemius.php:7044 +msgid "You should receive a confirmation email for %1$s to your mailbox at %2$s. Please make sure you click the button in that email to %3$s." +msgstr "" + +#: includes/class-freemius.php:7047 +msgid "start the trial" +msgstr "" + +#: includes/class-freemius.php:7048, templates/connect.php:209 +msgid "complete the opt-in" +msgstr "" + +#: includes/class-freemius.php:7050 +msgid "Thanks!" +msgstr "" + +#: includes/class-freemius.php:7229 msgid "You are just one step away - %s" msgstr "" -#: includes/class-freemius.php:7159 +#: includes/class-freemius.php:7232 msgctxt "%s - plugin name. As complete \"PluginX\" activation now" msgid "Complete \"%s\" Activation Now" msgstr "" -#: includes/class-freemius.php:7241 +#: includes/class-freemius.php:7314 msgid "We made a few tweaks to the %s, %s" msgstr "" -#: includes/class-freemius.php:7245 +#: includes/class-freemius.php:7318 msgid "Opt in to make \"%s\" better!" msgstr "" -#: includes/class-freemius.php:7691 +#: includes/class-freemius.php:7764 msgid "The upgrade of %s was successfully completed." msgstr "" -#: includes/class-freemius.php:10441, includes/class-fs-plugin-updater.php:1100, includes/class-fs-plugin-updater.php:1315, includes/class-fs-plugin-updater.php:1322, templates/auto-installation.php:32 +#: includes/class-freemius.php:10527, includes/class-fs-plugin-updater.php:1097, includes/class-fs-plugin-updater.php:1319, includes/class-fs-plugin-updater.php:1312, templates/auto-installation.php:32 msgid "Add-On" msgstr "" -#: includes/class-freemius.php:10443, templates/account.php:411, templates/account.php:419, templates/debug.php:399, templates/debug.php:619 +#: includes/class-freemius.php:10529, templates/account.php:407, templates/account.php:415, templates/debug.php:399, templates/debug.php:619 msgid "Plugin" msgstr "" -#: includes/class-freemius.php:10444, templates/account.php:412, templates/account.php:420, templates/debug.php:399, templates/debug.php:619, templates/forms/deactivation/form.php:107 +#: includes/class-freemius.php:10530, templates/account.php:408, templates/account.php:416, templates/debug.php:399, templates/debug.php:619, templates/forms/deactivation/form.php:107 msgid "Theme" msgstr "" -#: includes/class-freemius.php:13549 +#: includes/class-freemius.php:13635 msgid "An unknown error has occurred while trying to toggle the license's white-label mode." msgstr "" -#: includes/class-freemius.php:13563 +#: includes/class-freemius.php:13649 msgid "Your %s license was flagged as white-labeled to hide sensitive information from the WP Admin (e.g. your email, license key, prices, billing address & invoices). If you ever wish to revert it back, you can easily do it through your %s. If this was a mistake you can also %s." msgstr "" -#: includes/class-freemius.php:13568, templates/account/partials/disconnect-button.php:84 +#: includes/class-freemius.php:13654, templates/account/partials/disconnect-button.php:84 msgid "User Dashboard" msgstr "" -#: includes/class-freemius.php:13569 +#: includes/class-freemius.php:13655 msgid "revert it now" msgstr "" -#: includes/class-freemius.php:13627 +#: includes/class-freemius.php:13713 msgid "An unknown error has occurred while trying to set the user's beta mode." msgstr "" -#: includes/class-freemius.php:13701 +#: includes/class-freemius.php:13799 msgid "Invalid new user ID or email address." msgstr "" -#: includes/class-freemius.php:13731 +#: includes/class-freemius.php:13829 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered." msgstr "" -#: includes/class-freemius.php:13732 +#: includes/class-freemius.php:13830 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button." msgstr "" -#: includes/class-freemius.php:13739 +#: includes/class-freemius.php:13837 msgid "Change Ownership" msgstr "" -#: includes/class-freemius.php:14336 +#: includes/class-freemius.php:14442 msgid "Invalid site details collection." msgstr "" -#: includes/class-freemius.php:14456 -msgid "We couldn't find your email address in the system, are you sure it's the right address?" +#: includes/class-freemius.php:14564 +msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?" msgstr "" -#: includes/class-freemius.php:14458 -msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?" +#: includes/class-freemius.php:14562 +msgid "We couldn't find your email address in the system, are you sure it's the right address?" msgstr "" -#: includes/class-freemius.php:14756 +#: includes/class-freemius.php:14868 msgid "Account is pending activation. Please check your email and click the link to activate your account and then submit the affiliate form again." msgstr "" -#: includes/class-freemius.php:14870, templates/forms/premium-versions-upgrade-handler.php:47 -msgid "Buy a license now" +#: includes/class-freemius.php:14994, templates/forms/premium-versions-upgrade-handler.php:46 +msgid "Renew your license now" msgstr "" -#: includes/class-freemius.php:14882, templates/forms/premium-versions-upgrade-handler.php:46 -msgid "Renew your license now" +#: includes/class-freemius.php:14982, templates/forms/premium-versions-upgrade-handler.php:47 +msgid "Buy a license now" msgstr "" -#: includes/class-freemius.php:14886 +#: includes/class-freemius.php:14998 msgid "%s to access version %s security & feature updates, and support." msgstr "" -#: includes/class-freemius.php:17621 +#: includes/class-freemius.php:17670 msgid "%s opt-in was successfully completed." msgstr "" -#: includes/class-freemius.php:17635 -msgid "Your account was successfully activated with the %s plan." +#: includes/class-freemius.php:17694, includes/class-freemius.php:21631 +msgid "Your trial has been successfully started." msgstr "" -#: includes/class-freemius.php:17645, includes/class-freemius.php:21566 -msgid "Your trial has been successfully started." +#: includes/class-freemius.php:17684 +msgid "Your account was successfully activated with the %s plan." msgstr "" -#: includes/class-freemius.php:18279, includes/class-freemius.php:18392, includes/class-freemius.php:18569 +#: includes/class-freemius.php:18328, includes/class-freemius.php:18441, includes/class-freemius.php:18618 msgid "Couldn't activate %s." msgstr "" -#: includes/class-freemius.php:18280, includes/class-freemius.php:18393, includes/class-freemius.php:18570 +#: includes/class-freemius.php:18329, includes/class-freemius.php:18442, includes/class-freemius.php:18619 msgid "Please contact us with the following message:" msgstr "" -#: includes/class-freemius.php:18389, templates/forms/data-debug-mode.php:162 +#: includes/class-freemius.php:18438, templates/forms/data-debug-mode.php:162 msgid "An unknown error has occurred." msgstr "" -#: includes/class-freemius.php:18931, includes/class-freemius.php:24339 +#: includes/class-freemius.php:18980, includes/class-freemius.php:24415 msgid "Upgrade" msgstr "" -#: includes/class-freemius.php:18937 -msgid "Start Trial" +#: includes/class-freemius.php:18988 +msgid "Pricing" msgstr "" -#: includes/class-freemius.php:18939 -msgid "Pricing" +#: includes/class-freemius.php:18986 +msgid "Start Trial" msgstr "" -#: includes/class-freemius.php:19019, includes/class-freemius.php:19021 +#: includes/class-freemius.php:19068, includes/class-freemius.php:19070 msgid "Affiliation" msgstr "" -#: includes/class-freemius.php:19049, includes/class-freemius.php:19051, templates/account.php:264, templates/debug.php:366 +#: includes/class-freemius.php:19098, includes/class-freemius.php:19100, templates/account.php:260, templates/debug.php:366 msgid "Account" msgstr "" -#: includes/class-freemius.php:19065, includes/class-freemius.php:19067, includes/customizer/class-fs-customizer-support-section.php:60 +#: includes/class-freemius.php:19114, includes/class-freemius.php:19116, includes/customizer/class-fs-customizer-support-section.php:60 msgid "Contact Us" msgstr "" -#: includes/class-freemius.php:19078, includes/class-freemius.php:19080, includes/class-freemius.php:24353, templates/account.php:134, templates/account/partials/addon.php:49 +#: includes/class-freemius.php:19127, includes/class-freemius.php:19129, includes/class-freemius.php:24429, templates/account.php:130, templates/account/partials/addon.php:49 msgid "Add-Ons" msgstr "" -#: includes/class-freemius.php:19114 +#: includes/class-freemius.php:19163 msgctxt "ASCII arrow left icon" msgid "←" msgstr "" -#: includes/class-freemius.php:19114 +#: includes/class-freemius.php:19163 msgctxt "ASCII arrow right icon" msgid "➤" msgstr "" -#: includes/class-freemius.php:19116, templates/pricing.php:110 +#: includes/class-freemius.php:19165, templates/pricing.php:110 msgctxt "noun" msgid "Pricing" msgstr "" -#: includes/class-freemius.php:19329, includes/customizer/class-fs-customizer-support-section.php:67 +#: includes/class-freemius.php:19378, includes/customizer/class-fs-customizer-support-section.php:67 msgid "Support Forum" msgstr "" -#: includes/class-freemius.php:20350 +#: includes/class-freemius.php:20399 msgid "Your email has been successfully verified - you are AWESOME!" msgstr "" -#: includes/class-freemius.php:20351 +#: includes/class-freemius.php:20400 msgctxt "a positive response" msgid "Right on" msgstr "" -#: includes/class-freemius.php:20857 +#: includes/class-freemius.php:20906 msgid "seems like the key you entered doesn't match our records." msgstr "" -#: includes/class-freemius.php:20881 +#: includes/class-freemius.php:20930 msgid "Debug mode was successfully enabled and will be automatically disabled in 60 min. You can also disable it earlier by clicking the \"Stop Debug\" link." msgstr "" -#: includes/class-freemius.php:21116 +#: includes/class-freemius.php:21165 msgid "Your %s Add-on plan was successfully upgraded." msgstr "" -#: includes/class-freemius.php:21118 +#. translators: %s:product name, e.g. Facebook add-on was successfully... +#: includes/class-freemius.php:21167 msgid "%s Add-on was successfully purchased." msgstr "" -#: includes/class-freemius.php:21121 +#: includes/class-freemius.php:21170 msgid "Download the latest version" msgstr "" -#: includes/class-freemius.php:21239 +#: includes/class-freemius.php:21288 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again." msgstr "" -#: includes/class-freemius.php:21239, includes/class-freemius.php:21636, includes/class-freemius.php:21737, includes/class-freemius.php:21824 +#: includes/class-freemius.php:21288, includes/class-freemius.php:21701, includes/class-freemius.php:21802, includes/class-freemius.php:21889 msgid "Error received from the server:" msgstr "" -#: includes/class-freemius.php:21470, includes/class-freemius.php:21742, includes/class-freemius.php:21795, includes/class-freemius.php:21902 +#: includes/class-freemius.php:21529, includes/class-freemius.php:21807, includes/class-freemius.php:21860, includes/class-freemius.php:21967 msgctxt "something somebody says when they are thinking about what you have just said." msgid "Hmm" msgstr "" -#: includes/class-freemius.php:21483 +#: includes/class-freemius.php:21542 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry." msgstr "" -#: includes/class-freemius.php:21484, templates/account.php:136, templates/add-ons.php:250, templates/account/partials/addon.php:51 +#: includes/class-freemius.php:21543, templates/account.php:132, templates/add-ons.php:250, templates/account/partials/addon.php:51 msgctxt "trial period" msgid "Trial" msgstr "" -#: includes/class-freemius.php:21489 +#: includes/class-freemius.php:21548 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s." msgstr "" -#: includes/class-freemius.php:21493, includes/class-freemius.php:21545 +#: includes/class-freemius.php:21552, includes/class-freemius.php:21610 msgid "Please contact us here" msgstr "" -#: includes/class-freemius.php:21515 +#: includes/class-freemius.php:21580 msgid "Your plan was successfully changed to %s." msgstr "" -#: includes/class-freemius.php:21531 +#: includes/class-freemius.php:21596 msgid "Your license has expired. You can still continue using the free %s forever." msgstr "" -#: includes/class-freemius.php:21533 +#. translators: %1$s: product title; %2$s, %3$s: wrapping HTML anchor element; %4$s: 'plugin', 'theme', or 'add-on'. +#: includes/class-freemius.php:21598 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions." msgstr "" -#: includes/class-freemius.php:21541 +#: includes/class-freemius.php:21606 msgid "Your license has been cancelled. If you think it's a mistake, please contact support." msgstr "" -#: includes/class-freemius.php:21554 +#: includes/class-freemius.php:21619 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support." msgstr "" -#: includes/class-freemius.php:21580 +#: includes/class-freemius.php:21645 msgid "Your free trial has expired. You can still continue using all our free features." msgstr "" -#: includes/class-freemius.php:21582 +#. translators: %1$s: product title; %2$s, %3$s: wrapping HTML anchor element; %4$s: 'plugin', 'theme', or 'add-on'. +#: includes/class-freemius.php:21647 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions." msgstr "" -#: includes/class-freemius.php:21628 +#: includes/class-freemius.php:21693 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1$s synchronization. Please contact your host to whitelist the following domains:%2$s" msgstr "" -#: includes/class-freemius.php:21630 +#: includes/class-freemius.php:21695 msgid "Show error details" msgstr "" -#: includes/class-freemius.php:21733 +#: includes/class-freemius.php:21798 msgid "It looks like the license could not be activated." msgstr "" -#: includes/class-freemius.php:21775 +#: includes/class-freemius.php:21840 msgid "Your license was successfully activated." msgstr "" -#: includes/class-freemius.php:21799 +#: includes/class-freemius.php:21864 msgid "It looks like your site currently doesn't have an active license." msgstr "" -#: includes/class-freemius.php:21823 +#: includes/class-freemius.php:21888 msgid "It looks like the license deactivation failed." msgstr "" -#: includes/class-freemius.php:21852 +#: includes/class-freemius.php:21917 msgid "Your %s license was successfully deactivated." msgstr "" -#: includes/class-freemius.php:21853 +#: includes/class-freemius.php:21918 msgid "Your license was successfully deactivated, you are back to the %s plan." msgstr "" -#: includes/class-freemius.php:21856 +#: includes/class-freemius.php:21921 msgid "O.K" msgstr "" -#: includes/class-freemius.php:21909 +#: includes/class-freemius.php:21974 msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes." msgstr "" -#: includes/class-freemius.php:21918 +#: includes/class-freemius.php:21983 msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s." msgstr "" -#: includes/class-freemius.php:21960 +#: includes/class-freemius.php:22025 msgid "You are already running the %s in a trial mode." msgstr "" -#: includes/class-freemius.php:21971 +#: includes/class-freemius.php:22036 msgid "You already utilized a trial before." msgstr "" -#: includes/class-freemius.php:21985 -msgid "Plan %s do not exist, therefore, can't start a trial." +#: includes/class-freemius.php:22072 +msgid "None of the %s's plans supports a trial period." msgstr "" -#: includes/class-freemius.php:21996 -msgid "Plan %s does not support a trial period." +#: includes/class-freemius.php:22050 +msgid "Plan %s do not exist, therefore, can't start a trial." msgstr "" -#: includes/class-freemius.php:22007 -msgid "None of the %s's plans supports a trial period." +#: includes/class-freemius.php:22061 +msgid "Plan %s does not support a trial period." msgstr "" -#: includes/class-freemius.php:22056 +#: includes/class-freemius.php:22121 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)" msgstr "" -#: includes/class-freemius.php:22092 +#: includes/class-freemius.php:22157 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes." msgstr "" -#: includes/class-freemius.php:22111 +#: includes/class-freemius.php:22176 msgid "Your %s free trial was successfully cancelled." msgstr "" -#: includes/class-freemius.php:22438 -msgid "Version %s was released." +#: includes/class-freemius.php:22520 +msgid "Seems like you got the latest release." msgstr "" -#: includes/class-freemius.php:22438 -msgid "Please download %s." +#: includes/class-freemius.php:22521 +msgid "You are all good!" msgstr "" -#: includes/class-freemius.php:22445 -msgid "the latest %s version here" +#: includes/class-freemius.php:22503 +msgid "Version %s was released." msgstr "" -#: includes/class-freemius.php:22450 -msgid "New" +#: includes/class-freemius.php:22503 +msgid "Please download %s." msgstr "" -#: includes/class-freemius.php:22455 -msgid "Seems like you got the latest release." +#: includes/class-freemius.php:22510 +msgid "the latest %s version here" msgstr "" -#: includes/class-freemius.php:22456 -msgid "You are all good!" +#: includes/class-freemius.php:22515 +msgid "New" msgstr "" -#: includes/class-freemius.php:22859 +#: includes/class-freemius.php:22924 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box." msgstr "" -#: includes/class-freemius.php:22999 +#: includes/class-freemius.php:23064 msgid "Site successfully opted in." msgstr "" -#: includes/class-freemius.php:23000, includes/class-freemius.php:24049 +#: includes/class-freemius.php:23065, includes/class-freemius.php:24125 msgid "Awesome" msgstr "" -#: includes/class-freemius.php:23016 +#: includes/class-freemius.php:23091 +msgid "Diagnostic data will no longer be sent from %s to %s." +msgstr "" + +#: includes/class-freemius.php:23081 msgid "Sharing diagnostic data with %s helps to provide functionality that's more relevant to your website, avoid WordPress or PHP version incompatibilities that can break your website, and recognize which languages & regions the plugin should be translated and tailored to." msgstr "" -#: includes/class-freemius.php:23017 +#: includes/class-freemius.php:23082 msgid "Thank you!" msgstr "" -#: includes/class-freemius.php:23026 -msgid "Diagnostic data will no longer be sent from %s to %s." +#: includes/class-freemius.php:23251 +msgid "A confirmation email was just sent to %s. You must confirm the update within the next 4 hours. If you cannot find the email, please check your spam folder." msgstr "" -#: includes/class-freemius.php:23181 +#: includes/class-freemius.php:23249 msgid "A confirmation email was just sent to %s. The email owner must confirm the update within the next 4 hours." msgstr "" -#: includes/class-freemius.php:23183 -msgid "A confirmation email was just sent to %s. You must confirm the update within the next 4 hours. If you cannot find the email, please check your spam folder." -msgstr "" - -#: includes/class-freemius.php:23190 +#: includes/class-freemius.php:23263 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval." msgstr "" -#: includes/class-freemius.php:23195 +#: includes/class-freemius.php:23269 msgid "%s is the new owner of the account." msgstr "" -#: includes/class-freemius.php:23197 +#: includes/class-freemius.php:23271 msgctxt "as congratulations" msgid "Congrats" msgstr "" -#: includes/class-freemius.php:23214 -msgid "Please provide your full name." +#: includes/class-freemius.php:23293 +msgid "Your name was successfully updated." msgstr "" -#: includes/class-freemius.php:23219 -msgid "Your name was successfully updated." +#: includes/class-freemius.php:23288 +msgid "Please provide your full name." msgstr "" -#: includes/class-freemius.php:23280 +#. translators: %s: User's account property (e.g. email address, name) +#: includes/class-freemius.php:23358 msgid "You have successfully updated your %s." msgstr "" -#: includes/class-freemius.php:23339 +#: includes/class-freemius.php:23422 msgid "Is this your client's site? %s if you wish to hide sensitive info like your email, license key, prices, billing address & invoices from the WP Admin." msgstr "" -#: includes/class-freemius.php:23342 +#: includes/class-freemius.php:23425 msgid "Click here" msgstr "" -#: includes/class-freemius.php:23379, includes/class-freemius.php:23376 +#: includes/class-freemius.php:23462 msgid "Bundle" msgstr "" -#: includes/class-freemius.php:23459 +#: includes/class-freemius.php:23535 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server." msgstr "" -#: includes/class-freemius.php:23460 +#: includes/class-freemius.php:23536 msgctxt "advance notice of something that will need attention." msgid "Heads up" msgstr "" -#: includes/class-freemius.php:24089 +#: includes/class-freemius.php:24165 msgctxt "exclamation" msgid "Hey" msgstr "" -#: includes/class-freemius.php:24089 +#: includes/class-freemius.php:24165 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial." msgstr "" -#: includes/class-freemius.php:24097 +#: includes/class-freemius.php:24173 msgid "No commitment for %s days - cancel anytime!" msgstr "" -#: includes/class-freemius.php:24098 +#: includes/class-freemius.php:24174 msgid "No credit card required" msgstr "" -#: includes/class-freemius.php:24105, templates/forms/trial-start.php:53 +#: includes/class-freemius.php:24181, templates/forms/trial-start.php:53 msgctxt "call to action" msgid "Start free trial" msgstr "" -#: includes/class-freemius.php:24182 +#: includes/class-freemius.php:24258 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!" msgstr "" -#: includes/class-freemius.php:24191 +#: includes/class-freemius.php:24267 msgid "Learn more" msgstr "" -#: includes/class-freemius.php:24377, templates/account.php:573, templates/account.php:725, templates/connect.php:221, templates/connect.php:447, includes/managers/class-fs-clone-manager.php:1295, templates/forms/license-activation.php:27, templates/account/partials/addon.php:326 +#: includes/class-freemius.php:24453, templates/account.php:569, templates/account.php:721, templates/connect.php:212, templates/connect.php:440, includes/managers/class-fs-clone-manager.php:1295, templates/forms/license-activation.php:27, templates/account/partials/addon.php:326 msgid "Activate License" msgstr "" -#: includes/class-freemius.php:24378, templates/account.php:667, templates/account.php:724, templates/account/partials/addon.php:327, templates/account/partials/site.php:273 +#: includes/class-freemius.php:24454, templates/account.php:663, templates/account.php:720, templates/account/partials/addon.php:327, templates/account/partials/site.php:273 msgid "Change License" msgstr "" -#: includes/class-freemius.php:24485, templates/account/partials/site.php:170 -msgid "Opt Out" -msgstr "" - -#: includes/class-freemius.php:24487, includes/class-freemius.php:24493, templates/account/partials/site.php:49, templates/account/partials/site.php:170 +#: includes/class-freemius.php:24569, includes/class-freemius.php:24563, templates/account/partials/site.php:49, templates/account/partials/site.php:170 msgid "Opt In" msgstr "" -#: includes/class-freemius.php:24728 -msgid " The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s" -msgstr "" - -#: includes/class-freemius.php:24738 -msgid "Activate %s features" +#: includes/class-freemius.php:24561, templates/account/partials/site.php:170 +msgid "Opt Out" msgstr "" -#: includes/class-freemius.php:24751 +#: includes/class-freemius.php:24827 msgid "Please follow these steps to complete the upgrade" msgstr "" -#: includes/class-freemius.php:24755 +#. translators: %s: Plan title +#: includes/class-freemius.php:24831 msgid "Download the latest %s version" msgstr "" -#: includes/class-freemius.php:24759 +#: includes/class-freemius.php:24835 msgid "Upload and activate the downloaded version" msgstr "" -#: includes/class-freemius.php:24761 +#: includes/class-freemius.php:24837 msgid "How to upload and activate?" msgstr "" -#: includes/class-freemius.php:24796 +#: includes/class-freemius.php:24804 +msgid " The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s" +msgstr "" + +#: includes/class-freemius.php:24814 +msgid "Activate %s features" +msgstr "" + +#: includes/class-freemius.php:24872 msgid "Your plan was successfully upgraded." msgstr "" -#: includes/class-freemius.php:24797 +#: includes/class-freemius.php:24873 msgid "Your plan was successfully activated." msgstr "" -#: includes/class-freemius.php:24927 +#: includes/class-freemius.php:25003 msgid "%sClick here%s to choose the sites where you'd like to activate the license on." msgstr "" -#: includes/class-freemius.php:25096 +#: includes/class-freemius.php:25172 msgid "Auto installation only works for opted-in users." msgstr "" -#: includes/class-freemius.php:25106, includes/class-freemius.php:25139, includes/class-fs-plugin-updater.php:1294, includes/class-fs-plugin-updater.php:1308 +#: includes/class-freemius.php:25182, includes/class-freemius.php:25215, includes/class-fs-plugin-updater.php:1291, includes/class-fs-plugin-updater.php:1305 msgid "Invalid module ID." msgstr "" -#: includes/class-freemius.php:25115, includes/class-fs-plugin-updater.php:1330 +#: includes/class-freemius.php:25223, includes/class-fs-plugin-updater.php:1326 +msgid "Premium add-on version already installed." +msgstr "" + +#: includes/class-freemius.php:25191, includes/class-fs-plugin-updater.php:1327 msgid "Premium version already active." msgstr "" -#: includes/class-freemius.php:25122 +#: includes/class-freemius.php:25198 msgid "You do not have a valid license to access the premium version." msgstr "" -#: includes/class-freemius.php:25129 +#: includes/class-freemius.php:25205 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version." msgstr "" -#: includes/class-freemius.php:25147, includes/class-fs-plugin-updater.php:1329 -msgid "Premium add-on version already installed." -msgstr "" - -#: includes/class-freemius.php:25501 +#: includes/class-freemius.php:25583 msgid "View paid features" msgstr "" -#: includes/class-freemius.php:25805 -msgid "Thank you so much for using %s and its add-ons!" +#: includes/class-freemius.php:25898 +msgid "Thank you so much for using our products!" msgstr "" -#: includes/class-freemius.php:25806 -msgid "Thank you so much for using %s!" +#: includes/class-freemius.php:25899 +msgid "You've already opted-in to our usage-tracking, which helps us keep improving them." msgstr "" -#: includes/class-freemius.php:25812 -msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s." +#: includes/class-freemius.php:25918 +msgid "%s and its add-ons" msgstr "" -#: includes/class-freemius.php:25816 -msgid "Thank you so much for using our products!" +#: includes/class-freemius.php:25927 +msgid "Products" msgstr "" -#: includes/class-freemius.php:25817 -msgid "You've already opted-in to our usage-tracking, which helps us keep improving them." +#: includes/class-freemius.php:25887 +msgid "Thank you so much for using %s and its add-ons!" msgstr "" -#: includes/class-freemius.php:25836 -msgid "%s and its add-ons" +#: includes/class-freemius.php:25888 +msgid "Thank you so much for using %s!" msgstr "" -#: includes/class-freemius.php:25845 -msgid "Products" +#: includes/class-freemius.php:25894 +msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s." msgstr "" -#: includes/class-freemius.php:25852, templates/connect.php:322 +#: includes/class-freemius.php:25934, templates/connect.php:313 msgid "Yes" msgstr "" -#: includes/class-freemius.php:25853, templates/connect.php:323 +#: includes/class-freemius.php:25935, templates/connect.php:314 msgid "send me security & feature updates, educational content and offers." msgstr "" -#: includes/class-freemius.php:25854, templates/connect.php:328 +#: includes/class-freemius.php:25936, templates/connect.php:319 msgid "No" msgstr "" -#: includes/class-freemius.php:25856, templates/connect.php:330 +#: includes/class-freemius.php:25938, templates/connect.php:321 msgid "do %sNOT%s send me security & feature updates, educational content and offers." msgstr "" -#: includes/class-freemius.php:25866 +#: includes/class-freemius.php:25948 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard :-)" msgstr "" -#: includes/class-freemius.php:25868, templates/connect.php:337 +#: includes/class-freemius.php:25950, templates/connect.php:328 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:" msgstr "" -#: includes/class-freemius.php:26158 +#: includes/class-freemius.php:26240 msgid "License key is empty." msgstr "" -#: includes/class-fs-plugin-updater.php:210, templates/forms/premium-versions-upgrade-handler.php:57 +#: includes/class-fs-plugin-updater.php:212, templates/forms/premium-versions-upgrade-handler.php:57 msgid "Renew license" msgstr "" -#: includes/class-fs-plugin-updater.php:215, templates/forms/premium-versions-upgrade-handler.php:58 +#: includes/class-fs-plugin-updater.php:217, templates/forms/premium-versions-upgrade-handler.php:58 msgid "Buy license" msgstr "" -#: includes/class-fs-plugin-updater.php:335, includes/class-fs-plugin-updater.php:368 +#: includes/class-fs-plugin-updater.php:370, includes/class-fs-plugin-updater.php:337 msgid "There is a %s of %s available." msgstr "" -#: includes/class-fs-plugin-updater.php:337, includes/class-fs-plugin-updater.php:373 +#: includes/class-fs-plugin-updater.php:375, includes/class-fs-plugin-updater.php:339 msgid "new Beta version" msgstr "" -#: includes/class-fs-plugin-updater.php:338, includes/class-fs-plugin-updater.php:374 +#: includes/class-fs-plugin-updater.php:376, includes/class-fs-plugin-updater.php:340 msgid "new version" msgstr "" -#: includes/class-fs-plugin-updater.php:397 +#: includes/class-fs-plugin-updater.php:399 msgid "Important Upgrade Notice:" msgstr "" -#: includes/class-fs-plugin-updater.php:1359 +#: includes/class-fs-plugin-updater.php:1356 msgid "Installing plugin: %s" msgstr "" -#: includes/class-fs-plugin-updater.php:1400 +#: includes/class-fs-plugin-updater.php:1397 msgid "Unable to connect to the filesystem. Please confirm your credentials." msgstr "" -#: includes/class-fs-plugin-updater.php:1582 +#: includes/class-fs-plugin-updater.php:1579 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work." msgstr "" @@ -887,24 +895,25 @@ msgctxt "verb" msgid "Purchase" msgstr "" +#. translators: %s: N-days trial #: includes/fs-plugin-info-dialog.php:547 msgid "Start my free %s" msgstr "" -#: includes/fs-plugin-info-dialog.php:745 -msgid "Install Free Version Update Now" +#: includes/fs-plugin-info-dialog.php:755 +msgid "Install Free Version Now" msgstr "" -#: includes/fs-plugin-info-dialog.php:746, templates/account.php:656 -msgid "Install Update Now" +#: includes/fs-plugin-info-dialog.php:756, templates/add-ons.php:323, templates/auto-installation.php:111, templates/account/partials/addon.php:423, templates/account/partials/addon.php:370 +msgid "Install Now" msgstr "" -#: includes/fs-plugin-info-dialog.php:755 -msgid "Install Free Version Now" +#: includes/fs-plugin-info-dialog.php:745 +msgid "Install Free Version Update Now" msgstr "" -#: includes/fs-plugin-info-dialog.php:756, templates/add-ons.php:323, templates/auto-installation.php:111, templates/account/partials/addon.php:370, templates/account/partials/addon.php:423 -msgid "Install Now" +#: includes/fs-plugin-info-dialog.php:746, templates/account.php:652 +msgid "Install Update Now" msgstr "" #: includes/fs-plugin-info-dialog.php:772 @@ -912,558 +921,569 @@ msgctxt "as download latest version" msgid "Download Latest Free Version" msgstr "" -#: includes/fs-plugin-info-dialog.php:773, templates/account.php:114, templates/add-ons.php:37, templates/account/partials/addon.php:30 +#: includes/fs-plugin-info-dialog.php:773, templates/account.php:110, templates/add-ons.php:37, templates/account/partials/addon.php:30 msgctxt "as download latest version" msgid "Download Latest" msgstr "" -#: includes/fs-plugin-info-dialog.php:788, templates/add-ons.php:329, templates/account/partials/addon.php:361, templates/account/partials/addon.php:417 +#: includes/fs-plugin-info-dialog.php:788, templates/add-ons.php:329, templates/account/partials/addon.php:417, templates/account/partials/addon.php:361 msgid "Activate this add-on" msgstr "" -#: includes/fs-plugin-info-dialog.php:790, templates/connect.php:444 +#: includes/fs-plugin-info-dialog.php:790, templates/connect.php:437 msgid "Activate Free Version" msgstr "" -#: includes/fs-plugin-info-dialog.php:791, templates/account.php:138, templates/add-ons.php:330, templates/account/partials/addon.php:53 +#: includes/fs-plugin-info-dialog.php:791, templates/account.php:134, templates/add-ons.php:330, templates/account/partials/addon.php:53 msgid "Activate" msgstr "" -#: includes/fs-plugin-info-dialog.php:1003 +#: includes/fs-plugin-info-dialog.php:999 msgctxt "Plugin installer section title" msgid "Description" msgstr "" -#: includes/fs-plugin-info-dialog.php:1004 +#: includes/fs-plugin-info-dialog.php:1000 msgctxt "Plugin installer section title" msgid "Installation" msgstr "" -#: includes/fs-plugin-info-dialog.php:1005 +#: includes/fs-plugin-info-dialog.php:1001 msgctxt "Plugin installer section title" msgid "FAQ" msgstr "" -#: includes/fs-plugin-info-dialog.php:1006, templates/plugin-info/description.php:55 +#: includes/fs-plugin-info-dialog.php:1002, templates/plugin-info/description.php:55 msgid "Screenshots" msgstr "" -#: includes/fs-plugin-info-dialog.php:1007 +#: includes/fs-plugin-info-dialog.php:1003 msgctxt "Plugin installer section title" msgid "Changelog" msgstr "" -#: includes/fs-plugin-info-dialog.php:1008 +#: includes/fs-plugin-info-dialog.php:1004 msgctxt "Plugin installer section title" msgid "Reviews" msgstr "" -#: includes/fs-plugin-info-dialog.php:1009 +#: includes/fs-plugin-info-dialog.php:1005 msgctxt "Plugin installer section title" msgid "Other Notes" msgstr "" -#: includes/fs-plugin-info-dialog.php:1024 +#: includes/fs-plugin-info-dialog.php:1020 msgctxt "Plugin installer section title" msgid "Features & Pricing" msgstr "" -#: includes/fs-plugin-info-dialog.php:1034 +#: includes/fs-plugin-info-dialog.php:1030 msgid "Plugin Install" msgstr "" -#: includes/fs-plugin-info-dialog.php:1106 +#: includes/fs-plugin-info-dialog.php:1102 msgctxt "e.g. Professional Plan" msgid "%s Plan" msgstr "" -#: includes/fs-plugin-info-dialog.php:1132 +#: includes/fs-plugin-info-dialog.php:1128 msgctxt "e.g. the best product" msgid "Best" msgstr "" -#: includes/fs-plugin-info-dialog.php:1138, includes/fs-plugin-info-dialog.php:1158 +#: includes/fs-plugin-info-dialog.php:1134, includes/fs-plugin-info-dialog.php:1154 msgctxt "as every month" msgid "Monthly" msgstr "" -#: includes/fs-plugin-info-dialog.php:1141 +#: includes/fs-plugin-info-dialog.php:1137 msgctxt "as once a year" msgid "Annual" msgstr "" -#: includes/fs-plugin-info-dialog.php:1144 +#: includes/fs-plugin-info-dialog.php:1140 msgid "Lifetime" msgstr "" -#: includes/fs-plugin-info-dialog.php:1158, includes/fs-plugin-info-dialog.php:1160, includes/fs-plugin-info-dialog.php:1162 +#: includes/fs-plugin-info-dialog.php:1154, includes/fs-plugin-info-dialog.php:1156, includes/fs-plugin-info-dialog.php:1158 msgctxt "e.g. billed monthly" msgid "Billed %s" msgstr "" -#: includes/fs-plugin-info-dialog.php:1160 +#: includes/fs-plugin-info-dialog.php:1156 msgctxt "as once a year" msgid "Annually" msgstr "" -#: includes/fs-plugin-info-dialog.php:1162 +#: includes/fs-plugin-info-dialog.php:1158 msgctxt "as once a year" msgid "Once" msgstr "" -#: includes/fs-plugin-info-dialog.php:1168 +#: includes/fs-plugin-info-dialog.php:1164 msgid "Single Site License" msgstr "" -#: includes/fs-plugin-info-dialog.php:1170 +#: includes/fs-plugin-info-dialog.php:1166 msgid "Unlimited Licenses" msgstr "" -#: includes/fs-plugin-info-dialog.php:1172 +#: includes/fs-plugin-info-dialog.php:1168 msgid "Up to %s Sites" msgstr "" -#: includes/fs-plugin-info-dialog.php:1182, templates/plugin-info/features.php:82 +#: includes/fs-plugin-info-dialog.php:1178, templates/plugin-info/features.php:82 msgctxt "as monthly period" msgid "mo" msgstr "" -#: includes/fs-plugin-info-dialog.php:1189, templates/plugin-info/features.php:80 +#: includes/fs-plugin-info-dialog.php:1185, templates/plugin-info/features.php:80 msgctxt "as annual period" msgid "year" msgstr "" -#: includes/fs-plugin-info-dialog.php:1243 +#: includes/fs-plugin-info-dialog.php:1239 msgctxt "noun" msgid "Price" msgstr "" -#: includes/fs-plugin-info-dialog.php:1291 +#. translators: %s: Discount (e.g. discount of $5 or 10%) +#: includes/fs-plugin-info-dialog.php:1287 msgid "Save %s" msgstr "" -#: includes/fs-plugin-info-dialog.php:1301 +#: includes/fs-plugin-info-dialog.php:1297 msgid "No commitment for %s - cancel anytime" msgstr "" -#: includes/fs-plugin-info-dialog.php:1304 +#: includes/fs-plugin-info-dialog.php:1300 msgid "After your free %s, pay as little as %s" msgstr "" -#: includes/fs-plugin-info-dialog.php:1315 +#: includes/fs-plugin-info-dialog.php:1311 msgid "Details" msgstr "" -#: includes/fs-plugin-info-dialog.php:1319, templates/account.php:125, templates/debug.php:232, templates/debug.php:269, templates/debug.php:518, templates/account/partials/addon.php:41 +#: includes/fs-plugin-info-dialog.php:1315, templates/account.php:121, templates/debug.php:232, templates/debug.php:269, templates/debug.php:518, templates/account/partials/addon.php:41 msgctxt "product version" msgid "Version" msgstr "" -#: includes/fs-plugin-info-dialog.php:1326 +#: includes/fs-plugin-info-dialog.php:1322 msgctxt "as the plugin author" msgid "Author" msgstr "" -#: includes/fs-plugin-info-dialog.php:1333 +#: includes/fs-plugin-info-dialog.php:1329 msgid "Last Updated" msgstr "" -#: includes/fs-plugin-info-dialog.php:1338, templates/account.php:544 +#. translators: %s: time period (e.g. "2 hours" ago) +#: includes/fs-plugin-info-dialog.php:1334, templates/account.php:540 msgctxt "x-ago" msgid "%s ago" msgstr "" -#: includes/fs-plugin-info-dialog.php:1347 +#: includes/fs-plugin-info-dialog.php:1343 msgid "Requires WordPress Version" msgstr "" -#: includes/fs-plugin-info-dialog.php:1350, includes/fs-plugin-info-dialog.php:1370 +#. translators: %s: Version number. +#: includes/fs-plugin-info-dialog.php:1346, includes/fs-plugin-info-dialog.php:1366 msgid "%s or higher" msgstr "" -#: includes/fs-plugin-info-dialog.php:1358 +#: includes/fs-plugin-info-dialog.php:1354 msgid "Compatible up to" msgstr "" -#: includes/fs-plugin-info-dialog.php:1366 +#: includes/fs-plugin-info-dialog.php:1362 msgid "Requires PHP Version" msgstr "" -#: includes/fs-plugin-info-dialog.php:1379 +#: includes/fs-plugin-info-dialog.php:1375 msgid "Downloaded" msgstr "" -#: includes/fs-plugin-info-dialog.php:1383 +#. translators: %s: 1 or One (Number of times downloaded) +#: includes/fs-plugin-info-dialog.php:1379 msgid "%s time" msgstr "" -#: includes/fs-plugin-info-dialog.php:1385 +#. translators: %s: Number of times downloaded +#: includes/fs-plugin-info-dialog.php:1381 msgid "%s times" msgstr "" -#: includes/fs-plugin-info-dialog.php:1396 +#: includes/fs-plugin-info-dialog.php:1392 msgid "WordPress.org Plugin Page" msgstr "" -#: includes/fs-plugin-info-dialog.php:1405 +#: includes/fs-plugin-info-dialog.php:1401 msgid "Plugin Homepage" msgstr "" -#: includes/fs-plugin-info-dialog.php:1414, includes/fs-plugin-info-dialog.php:1498 +#: includes/fs-plugin-info-dialog.php:1410, includes/fs-plugin-info-dialog.php:1494 msgid "Donate to this plugin" msgstr "" -#: includes/fs-plugin-info-dialog.php:1421 +#: includes/fs-plugin-info-dialog.php:1417 msgid "Average Rating" msgstr "" -#: includes/fs-plugin-info-dialog.php:1428 +#: includes/fs-plugin-info-dialog.php:1424 msgid "based on %s" msgstr "" -#: includes/fs-plugin-info-dialog.php:1432 +#. translators: %s: 1 or One +#: includes/fs-plugin-info-dialog.php:1428 msgid "%s rating" msgstr "" -#: includes/fs-plugin-info-dialog.php:1434 +#. translators: %s: Number larger than 1 +#: includes/fs-plugin-info-dialog.php:1430 msgid "%s ratings" msgstr "" -#: includes/fs-plugin-info-dialog.php:1449 +#. translators: %s: 1 or One +#: includes/fs-plugin-info-dialog.php:1445 msgid "%s star" msgstr "" -#: includes/fs-plugin-info-dialog.php:1451 +#. translators: %s: Number larger than 1 +#: includes/fs-plugin-info-dialog.php:1447 msgid "%s stars" msgstr "" -#: includes/fs-plugin-info-dialog.php:1463 +#. translators: %s: # of stars (e.g. 5 stars) +#: includes/fs-plugin-info-dialog.php:1459 msgid "Click to see reviews that provided a rating of %s" msgstr "" -#: includes/fs-plugin-info-dialog.php:1476 +#: includes/fs-plugin-info-dialog.php:1472 msgid "Contributors" msgstr "" -#: includes/fs-plugin-info-dialog.php:1517 +#: includes/fs-plugin-info-dialog.php:1513 msgid "This plugin requires a newer version of PHP." msgstr "" -#: includes/fs-plugin-info-dialog.php:1526 +#. translators: %s: URL to Update PHP page. +#: includes/fs-plugin-info-dialog.php:1522 msgid "<a href=\"%s\" target=\"_blank\">Click here to learn more about updating PHP</a>." msgstr "" -#: includes/fs-plugin-info-dialog.php:1540, includes/fs-plugin-info-dialog.php:1542 +#: includes/fs-plugin-info-dialog.php:1538, includes/fs-plugin-info-dialog.php:1536 msgid "Warning" msgstr "" -#: includes/fs-plugin-info-dialog.php:1540 -msgid "This plugin has not been tested with your current version of WordPress." +#: includes/fs-plugin-info-dialog.php:1538 +msgid "This plugin has not been marked as compatible with your version of WordPress." msgstr "" -#: includes/fs-plugin-info-dialog.php:1542 -msgid "This plugin has not been marked as compatible with your version of WordPress." +#: includes/fs-plugin-info-dialog.php:1536 +msgid "This plugin has not been tested with your current version of WordPress." msgstr "" -#: includes/fs-plugin-info-dialog.php:1561 +#: includes/fs-plugin-info-dialog.php:1557 msgid "Paid add-on must be deployed to Freemius." msgstr "" -#: includes/fs-plugin-info-dialog.php:1562 +#: includes/fs-plugin-info-dialog.php:1558 msgid "Add-on must be deployed to WordPress.org or Freemius." msgstr "" -#: includes/fs-plugin-info-dialog.php:1583 -msgid "Newer Version (%s) Installed" +#: includes/fs-plugin-info-dialog.php:1587 +msgid "Latest Version Installed" msgstr "" -#: includes/fs-plugin-info-dialog.php:1584 -msgid "Newer Free Version (%s) Installed" +#: includes/fs-plugin-info-dialog.php:1588 +msgid "Latest Free Version Installed" msgstr "" -#: includes/fs-plugin-info-dialog.php:1591 -msgid "Latest Version Installed" +#: includes/fs-plugin-info-dialog.php:1579 +msgid "Newer Version (%s) Installed" msgstr "" -#: includes/fs-plugin-info-dialog.php:1592 -msgid "Latest Free Version Installed" +#: includes/fs-plugin-info-dialog.php:1580 +msgid "Newer Free Version (%s) Installed" msgstr "" -#: templates/account.php:115, templates/forms/subscription-cancellation.php:96, templates/account/partials/addon.php:31, templates/account/partials/site.php:313 +#: templates/account.php:111, templates/forms/subscription-cancellation.php:96, templates/account/partials/addon.php:31, templates/account/partials/site.php:313 msgid "Downgrading your plan" msgstr "" -#: templates/account.php:116, templates/forms/subscription-cancellation.php:97, templates/account/partials/addon.php:32, templates/account/partials/site.php:314 +#: templates/account.php:112, templates/forms/subscription-cancellation.php:97, templates/account/partials/addon.php:32, templates/account/partials/site.php:314 msgid "Cancelling the subscription" msgstr "" #. translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription' -#: templates/account.php:118, templates/forms/subscription-cancellation.php:99, templates/account/partials/site.php:316 +#: templates/account.php:114, templates/forms/subscription-cancellation.php:99, templates/account/partials/addon.php:34, templates/account/partials/site.php:316 msgid "%1$s will immediately stop all future recurring payments and your %2$s plan license will expire in %3$s." msgstr "" -#: templates/account.php:119, templates/forms/subscription-cancellation.php:100, templates/account/partials/addon.php:35, templates/account/partials/site.php:317 +#: templates/account.php:115, templates/forms/subscription-cancellation.php:100, templates/account/partials/addon.php:35, templates/account/partials/site.php:317 msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price." msgstr "" -#: templates/account.php:120, templates/forms/subscription-cancellation.php:106, templates/account/partials/addon.php:36 +#: templates/account.php:116, templates/forms/subscription-cancellation.php:106, templates/account/partials/addon.php:36 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?" msgstr "" -#: templates/account.php:121, templates/forms/subscription-cancellation.php:101, templates/account/partials/addon.php:37, templates/account/partials/site.php:318 +#: templates/account.php:117, templates/forms/subscription-cancellation.php:101, templates/account/partials/addon.php:37, templates/account/partials/site.php:318 msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support." msgstr "" -#: templates/account.php:122, templates/forms/subscription-cancellation.php:102, templates/account/partials/addon.php:38, templates/account/partials/site.php:319 +#: templates/account.php:118, templates/forms/subscription-cancellation.php:102, templates/account/partials/addon.php:38, templates/account/partials/site.php:319 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features." msgstr "" #. translators: %s: Plan title (e.g. "Professional") -#: templates/account.php:124, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:40 +#: templates/account.php:120, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:40 msgid "Activate %s Plan" msgstr "" #. translators: %s: Time period (e.g. Auto renews in "2 months") -#: templates/account.php:127, templates/account/partials/addon.php:43, templates/account/partials/site.php:293 +#: templates/account.php:123, templates/account/partials/addon.php:43, templates/account/partials/site.php:293 msgid "Auto renews in %s" msgstr "" #. translators: %s: Time period (e.g. Expires in "2 months") -#: templates/account.php:129, templates/account/partials/addon.php:45, templates/account/partials/site.php:295 +#: templates/account.php:125, templates/account/partials/addon.php:45, templates/account/partials/site.php:295 msgid "Expires in %s" msgstr "" -#: templates/account.php:130 +#: templates/account.php:126 msgctxt "as synchronize license" msgid "Sync License" msgstr "" -#: templates/account.php:131, templates/account/partials/addon.php:46 +#: templates/account.php:127, templates/account/partials/addon.php:46 msgid "Cancel Trial" msgstr "" -#: templates/account.php:132, templates/account/partials/addon.php:47 +#: templates/account.php:128, templates/account/partials/addon.php:47 msgid "Change Plan" msgstr "" -#: templates/account.php:133, templates/account/partials/addon.php:48 +#: templates/account.php:129, templates/account/partials/addon.php:48 msgctxt "verb" msgid "Upgrade" msgstr "" -#: templates/account.php:135, templates/account/partials/addon.php:50, templates/account/partials/site.php:320 +#: templates/account.php:131, templates/account/partials/addon.php:50, templates/account/partials/site.php:320 msgctxt "verb" msgid "Downgrade" msgstr "" -#: templates/account.php:137, templates/add-ons.php:246, templates/plugin-info/features.php:72, templates/account/partials/addon.php:52, templates/account/partials/site.php:33 +#: templates/account.php:133, templates/add-ons.php:246, templates/plugin-info/features.php:72, templates/account/partials/addon.php:52, templates/account/partials/site.php:33 msgid "Free" msgstr "" -#: templates/account.php:139, templates/debug.php:412, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:54 +#: templates/account.php:135, templates/debug.php:412, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:54 msgctxt "as product pricing plan" msgid "Plan" msgstr "" -#: templates/account.php:140 +#: templates/account.php:136 msgid "Bundle Plan" msgstr "" -#: templates/account.php:272 +#: templates/account.php:268 msgid "Free Trial" msgstr "" -#: templates/account.php:283 +#: templates/account.php:279 msgid "Account Details" msgstr "" -#: templates/account.php:290, templates/forms/data-debug-mode.php:33 -msgid "Start Debug" +#: templates/account.php:288 +msgid "Stop Debug" msgstr "" -#: templates/account.php:292 -msgid "Stop Debug" +#: templates/account.php:286, templates/forms/data-debug-mode.php:33 +msgid "Start Debug" msgstr "" -#: templates/account.php:299 +#: templates/account.php:295 msgid "Billing & Invoices" msgstr "" -#: templates/account.php:322, templates/account/partials/addon.php:236, templates/account/partials/deactivate-license-button.php:35 +#: templates/account.php:318, templates/account/partials/addon.php:236, templates/account/partials/deactivate-license-button.php:35 msgid "Deactivate License" msgstr "" -#: templates/account.php:345, templates/forms/subscription-cancellation.php:125 +#: templates/account.php:341, templates/forms/subscription-cancellation.php:125 msgid "Are you sure you want to proceed?" msgstr "" -#: templates/account.php:345, templates/account/partials/addon.php:260 +#: templates/account.php:341, templates/account/partials/addon.php:260 msgid "Cancel Subscription" msgstr "" -#: templates/account.php:374, templates/account/partials/addon.php:345 +#: templates/account.php:370, templates/account/partials/addon.php:345 msgctxt "as synchronize" msgid "Sync" msgstr "" -#: templates/account.php:389, templates/debug.php:575 +#: templates/account.php:385, templates/debug.php:575 msgid "Name" msgstr "" -#: templates/account.php:395, templates/debug.php:576 +#: templates/account.php:391, templates/debug.php:576 msgid "Email" msgstr "" -#: templates/account.php:402, templates/debug.php:410, templates/debug.php:625 +#: templates/account.php:398, templates/debug.php:410, templates/debug.php:625 msgid "User ID" msgstr "" -#: templates/account.php:420, templates/account.php:738, templates/account.php:789, templates/debug.php:267, templates/debug.php:404, templates/debug.php:515, templates/debug.php:574, templates/debug.php:623, templates/debug.php:702, templates/account/payments.php:35, templates/debug/logger.php:21 +#: templates/account.php:416, templates/account.php:734, templates/account.php:785, templates/debug.php:267, templates/debug.php:404, templates/debug.php:515, templates/debug.php:574, templates/debug.php:623, templates/debug.php:702, templates/account/payments.php:35, templates/debug/logger.php:21 msgid "ID" msgstr "" -#: templates/account.php:427 +#: templates/account.php:423 msgid "Site ID" msgstr "" -#: templates/account.php:430 +#: templates/account.php:426 msgid "No ID" msgstr "" -#: templates/account.php:435, templates/debug.php:274, templates/debug.php:413, templates/debug.php:519, templates/debug.php:578, templates/account/partials/site.php:228 +#: templates/account.php:431, templates/debug.php:274, templates/debug.php:413, templates/debug.php:519, templates/debug.php:578, templates/account/partials/site.php:228 msgid "Public Key" msgstr "" -#: templates/account.php:441, templates/debug.php:414, templates/debug.php:520, templates/debug.php:579, templates/account/partials/site.php:241 +#: templates/account.php:437, templates/debug.php:414, templates/debug.php:520, templates/debug.php:579, templates/account/partials/site.php:241 msgid "Secret Key" msgstr "" -#: templates/account.php:444 +#: templates/account.php:440 msgctxt "as secret encryption key missing" msgid "No Secret" msgstr "" -#: templates/account.php:471, templates/account/partials/site.php:120, templates/account/partials/site.php:122 -msgid "Trial" +#: templates/account.php:494, templates/debug.php:631, templates/account/partials/site.php:262 +msgid "License Key" msgstr "" -#: templates/account.php:498, templates/debug.php:631, templates/account/partials/site.php:262 -msgid "License Key" +#: templates/account.php:467, templates/account/partials/site.php:122, templates/account/partials/site.php:120 +msgid "Trial" msgstr "" -#: templates/account.php:529 +#: templates/account.php:525 msgid "Join the Beta program" msgstr "" -#: templates/account.php:535 +#: templates/account.php:531 msgid "not verified" msgstr "" -#: templates/account.php:544, templates/account/partials/addon.php:195 -msgid "Expired" +#: templates/account.php:600 +msgid "Free version" msgstr "" -#: templates/account.php:602 +#: templates/account.php:598 msgid "Premium version" msgstr "" -#: templates/account.php:604 -msgid "Free version" +#: templates/account.php:540, templates/account/partials/addon.php:195 +msgid "Expired" msgstr "" -#: templates/account.php:616 +#: templates/account.php:612 msgid "Verify Email" msgstr "" -#: templates/account.php:630 -msgid "Download %s Version" +#: templates/account.php:689, templates/forms/user-change.php:27 +msgid "Change User" msgstr "" -#: templates/account.php:646 -msgid "Download Paid Version" +#: templates/account.php:676 +msgid "What is your %s?" msgstr "" -#: templates/account.php:664, templates/account.php:927, templates/account/partials/site.php:250, templates/account/partials/site.php:272 +#: templates/account.php:684, templates/account/billing.php:21 msgctxt "verb" -msgid "Show" +msgid "Edit" msgstr "" -#: templates/account.php:680 -msgid "What is your %s?" +#: templates/account.php:660, templates/account.php:923, templates/account/partials/site.php:250, templates/account/partials/site.php:272 +msgctxt "verb" +msgid "Show" msgstr "" -#: templates/account.php:688, templates/account/billing.php:21 -msgctxt "verb" -msgid "Edit" +#: templates/account.php:626 +msgid "Download %s Version" msgstr "" -#: templates/account.php:693, templates/forms/user-change.php:27 -msgid "Change User" +#: templates/account.php:642 +msgid "Download Paid Version" msgstr "" -#: templates/account.php:717 +#: templates/account.php:713 msgid "Sites" msgstr "" -#: templates/account.php:730 +#: templates/account.php:726 msgid "Search by address" msgstr "" -#: templates/account.php:739, templates/debug.php:407 +#: templates/account.php:735, templates/debug.php:407 msgid "Address" msgstr "" -#: templates/account.php:740 +#: templates/account.php:736 msgid "License" msgstr "" -#: templates/account.php:741 +#: templates/account.php:737 msgid "Plan" msgstr "" -#: templates/account.php:792 +#: templates/account.php:788 msgctxt "as software license" msgid "License" msgstr "" -#: templates/account.php:921 +#: templates/account.php:917 msgctxt "verb" msgid "Hide" msgstr "" -#: templates/account.php:943, templates/forms/data-debug-mode.php:31, templates/forms/deactivation/form.php:358, templates/forms/deactivation/form.php:389 +#: templates/account.php:939, templates/forms/data-debug-mode.php:31, templates/forms/deactivation/form.php:358, templates/forms/deactivation/form.php:389 msgid "Processing" msgstr "" -#: templates/account.php:946 +#: templates/account.php:942 msgid "Get updates for bleeding edge Beta versions of %s." msgstr "" -#: templates/account.php:1004 +#: templates/account.php:1000 msgid "Cancelling %s" msgstr "" -#: templates/account.php:1004, templates/account.php:1021, templates/forms/subscription-cancellation.php:27, templates/forms/deactivation/form.php:178 +#: templates/account.php:1000, templates/account.php:1017, templates/forms/subscription-cancellation.php:27, templates/forms/deactivation/form.php:178 msgid "trial" msgstr "" -#: templates/account.php:1019, templates/forms/deactivation/form.php:195 +#: templates/account.php:1015, templates/forms/deactivation/form.php:195 msgid "Cancelling %s..." msgstr "" -#: templates/account.php:1022, templates/forms/subscription-cancellation.php:28, templates/forms/deactivation/form.php:179 +#: templates/account.php:1018, templates/forms/subscription-cancellation.php:28, templates/forms/deactivation/form.php:179 msgid "subscription" msgstr "" -#: templates/account.php:1036 +#: templates/account.php:1032 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?" msgstr "" -#: templates/account.php:1110 +#: templates/account.php:1106 msgid "Disabling white-label mode" msgstr "" -#: templates/account.php:1111 +#: templates/account.php:1107 msgid "Enabling white-label mode" msgstr "" @@ -1489,11 +1509,12 @@ msgctxt "installed add-on" msgid "Installed" msgstr "" -#: templates/admin-notice.php:13, templates/forms/license-activation.php:243, templates/forms/resend-key.php:80 +#: templates/admin-notice.php:17, templates/forms/license-activation.php:245, templates/forms/resend-key.php:80 msgctxt "as close a window" msgid "Dismiss" msgstr "" +#. translators: %s: Number of seconds #: templates/auto-installation.php:45 msgid "%s sec" msgstr "" @@ -1523,143 +1544,144 @@ msgid "PCI compliant" msgstr "" #. translators: %s: name (e.g. Hey John,) -#: templates/connect.php:127 +#: templates/connect.php:118 msgctxt "greeting" msgid "Hey %s," msgstr "" -#: templates/connect.php:187 -msgid "Never miss an important update" +#. translators: %1$s: plugin name (e.g., "Awesome Plugin"); %2$s: version (e.g., "1.2.3") +#: templates/connect.php:186 +msgid "Thank you for updating to %1$s v%2$s!" msgstr "" -#: templates/connect.php:195 -msgid "Thank you for updating to %1$s v%2$s!" +#: templates/connect.php:178 +msgid "Never miss an important update" msgstr "" -#: templates/connect.php:205 +#: templates/connect.php:196 msgid "Allow & Continue" msgstr "" -#: templates/connect.php:209 -msgid "Re-send activation email" +#. translators: %s: module type (plugin, theme, or add-on) +#: templates/connect.php:236 +msgid "We have introduced this opt-in so you never miss an important update and help us make the %s more compatible with your site and better at doing what you need it to." msgstr "" -#: templates/connect.php:213 -msgid "Thanks %s!" +#: templates/connect.php:238 +msgid "Opt in to get email notifications for security & feature updates, educational content, and occasional offers, and to share some basic WordPress environment info." msgstr "" -#: templates/connect.php:214 -msgid "You should receive a confirmation email for %s to your mailbox at %s. Please make sure you click the button in that email to %s." +#: templates/connect.php:241 +msgid "If you skip this, that's okay! %1$s will still work just fine." msgstr "" -#: templates/connect.php:225 -msgid "Welcome to %s! To get started, please enter your license key:" +#: templates/connect.php:227 +msgid "Opt in to get email notifications for security & feature updates, educational content, and occasional offers, and to share some basic WordPress environment info. This will help us make the %s more compatible with your site and better at doing what you need it to." msgstr "" -#: templates/connect.php:236 -msgid "Opt in to get email notifications for security & feature updates, educational content, and occasional offers, and to share some basic WordPress environment info. This will help us make the %s more compatible with your site and better at doing what you need it to." +#: templates/connect.php:216 +msgid "Welcome to %s! To get started, please enter your license key:" msgstr "" -#. translators: %s: module type (plugin, theme, or add-on) -#: templates/connect.php:245 -msgid "We have introduced this opt-in so you never miss an important update and help us make the %s more compatible with your site and better at doing what you need it to." +#: templates/connect.php:200 +msgid "Re-send activation email" msgstr "" -#: templates/connect.php:247 -msgid "Opt in to get email notifications for security & feature updates, educational content, and occasional offers, and to share some basic WordPress environment info." +#: templates/connect.php:204 +msgid "Thanks %s!" msgstr "" -#: templates/connect.php:250 -msgid "If you skip this, that's okay! %1$s will still work just fine." +#: templates/connect.php:205 +msgid "You should receive a confirmation email for %s to your mailbox at %s. Please make sure you click the button in that email to %s." msgstr "" -#: templates/connect.php:280 +#: templates/connect.php:271 msgid "We're excited to introduce the Freemius network-level integration." msgstr "" -#: templates/connect.php:283 +#: templates/connect.php:285 +msgid "During the update process we detected %s site(s) in the network that are still pending your attention." +msgstr "" + +#: templates/connect.php:274 msgid "During the update process we detected %d site(s) that are still pending license activation." msgstr "" -#: templates/connect.php:285 +#: templates/connect.php:276 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button." msgstr "" -#: templates/connect.php:287 +#: templates/connect.php:278 msgid "%s's paid features" msgstr "" -#: templates/connect.php:292 +#: templates/connect.php:283 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page." msgstr "" -#: templates/connect.php:294 -msgid "During the update process we detected %s site(s) in the network that are still pending your attention." -msgstr "" - -#: templates/connect.php:303, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:42 +#: templates/connect.php:294, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:42 msgid "License key" msgstr "" -#: templates/connect.php:306, templates/forms/license-activation.php:22 +#: templates/connect.php:297, templates/forms/license-activation.php:22 msgid "Can't find your license key?" msgstr "" -#: templates/connect.php:369, templates/connect.php:693, templates/forms/deactivation/retry-skip.php:20 +#: templates/connect.php:360, templates/connect.php:690, templates/forms/deactivation/retry-skip.php:20 msgctxt "verb" msgid "Skip" msgstr "" -#: templates/connect.php:372 +#: templates/connect.php:363 msgid "Delegate to Site Admins" msgstr "" -#: templates/connect.php:372 +#: templates/connect.php:363 msgid "If you click it, this decision will be delegated to the sites administrators." msgstr "" -#: templates/connect.php:399 +#: templates/connect.php:392 msgid "License issues?" msgstr "" -#: templates/connect.php:423 -msgid "For delivery of security & feature updates, and license management, %s needs to" -msgstr "" - -#: templates/connect.php:428 +#: templates/connect.php:421 msgid "This will allow %s to" msgstr "" -#: templates/connect.php:443 -msgid "Don't have a license key?" +#: templates/connect.php:416 +msgid "For delivery of security & feature updates, and license management, %s needs to" msgstr "" -#: templates/connect.php:446 +#: templates/connect.php:439 msgid "Have a license key?" msgstr "" -#: templates/connect.php:454 +#: templates/connect.php:436 +msgid "Don't have a license key?" +msgstr "" + +#: templates/connect.php:447 msgid "Freemius is our licensing and software updates engine" msgstr "" -#: templates/connect.php:457 +#: templates/connect.php:450 msgid "Privacy Policy" msgstr "" -#: templates/connect.php:459 -msgid "License Agreement" +#: templates/connect.php:455 +msgid "Terms of Service" msgstr "" -#: templates/connect.php:459 -msgid "Terms of Service" +#: templates/connect.php:453 +msgid "License Agreement" msgstr "" -#: templates/connect.php:879 +#: templates/connect.php:876 msgctxt "as in the process of sending an email" msgid "Sending email" msgstr "" -#: templates/connect.php:880 +#: templates/connect.php:877 msgctxt "as activating plugin" msgid "Activating" msgstr "" @@ -1808,6 +1830,7 @@ msgstr "" msgid "Simulate Network Upgrade" msgstr "" +#. translators: %s: 'plugin' or 'theme' #: templates/debug.php:398 msgid "%s Installs" msgstr "" @@ -1919,6 +1942,7 @@ msgstr "" msgid "Timestamp" msgstr "" +#. translators: %s: Page name #: templates/secure-https-header.php:28 msgid "Secure HTTPS %s page, running from an external domain" msgstr "" @@ -1927,7 +1951,7 @@ msgstr "" msgid "Support" msgstr "" -#: includes/debug/class-fs-debug-bar-panel.php:48, templates/debug/api-calls.php:54, templates/debug/logger.php:62 +#: includes/debug/class-fs-debug-bar-panel.php:51, templates/debug/api-calls.php:54, templates/debug/logger.php:62 msgctxt "milliseconds" msgid "ms" msgstr "" @@ -1948,10 +1972,6 @@ msgstr "" msgid "products" msgstr "" -#: includes/managers/class-fs-clone-manager.php:1205 -msgid "%1$s has been placed into safe mode because we noticed that %2$s is an exact copy of %3$s." -msgstr "" - #: includes/managers/class-fs-clone-manager.php:1211 msgid "The products below have been placed into safe mode because we noticed that %2$s is an exact copy of %3$s:%1$s" msgstr "" @@ -1960,6 +1980,10 @@ msgstr "" msgid "The products below have been placed into safe mode because we noticed that %2$s is an exact copy of these sites:%3$s%1$s" msgstr "" +#: includes/managers/class-fs-clone-manager.php:1205 +msgid "%1$s has been placed into safe mode because we noticed that %2$s is an exact copy of %3$s." +msgstr "" + #: includes/managers/class-fs-clone-manager.php:1238 msgid "the above-mentioned sites" msgstr "" @@ -2062,6 +2086,7 @@ msgstr "" msgid "Homepage URL & title, WP & PHP versions, and site language" msgstr "" +#. translators: %s: 'Plugin' or 'Theme' #: includes/managers/class-fs-permission-manager.php:195 msgid "To provide additional functionality that's relevant to your website, avoid WordPress or PHP version incompatibilities that can break your website, and recognize which languages & regions the %s should be translated and tailored to." msgstr "" @@ -2070,6 +2095,7 @@ msgstr "" msgid "View Basic %s Info" msgstr "" +#. translators: %s: 'Plugin' or 'Theme' #: includes/managers/class-fs-permission-manager.php:210 msgid "Current %s & SDK versions, and if active or uninstalled" msgstr "" @@ -2078,9 +2104,7 @@ msgstr "" msgid "View License Essentials" msgstr "" -#: includes/managers/class-fs-permission-manager.php:262 -msgstr "" - +#. translators: %s: 'Plugin' or 'Theme' #: includes/managers/class-fs-permission-manager.php:272 msgid "To let you manage & control where the license is activated and ensure %s security & feature updates are only delivered to websites you authorize." msgstr "" @@ -2089,6 +2113,7 @@ msgstr "" msgid "View %s State" msgstr "" +#. translators: %s: 'Plugin' or 'Theme' #: includes/managers/class-fs-permission-manager.php:287 msgid "Is active, deactivated, or uninstalled" msgstr "" @@ -2109,6 +2134,7 @@ msgstr "" msgid "WordPress & PHP versions, site language & title" msgstr "" +#. translators: %s: 'Plugin' or 'Theme' #: includes/managers/class-fs-permission-manager.php:330 msgid "To avoid breaking your website due to WordPress or PHP version incompatibilities, and recognize which languages & regions the %s should be translated and tailored to." msgstr "" @@ -2308,143 +2334,143 @@ msgstr "" msgid "Next" msgstr "" -#: templates/forms/affiliation.php:83 +#: templates/forms/affiliation.php:86 msgid "Non-expiring" msgstr "" -#: templates/forms/affiliation.php:86 +#: templates/forms/affiliation.php:89 msgid "Apply to become an affiliate" msgstr "" -#: templates/forms/affiliation.php:108 -msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s." +#: templates/forms/affiliation.php:137 +msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support." msgstr "" -#: templates/forms/affiliation.php:123 -msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information." +#: templates/forms/affiliation.php:134 +msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days." msgstr "" -#: templates/forms/affiliation.php:126 +#: templates/forms/affiliation.php:131 msgid "Your affiliation account was temporarily suspended." msgstr "" -#: templates/forms/affiliation.php:129 -msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days." +#: templates/forms/affiliation.php:128 +msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information." msgstr "" -#: templates/forms/affiliation.php:132 -msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support." +#: templates/forms/affiliation.php:113 +msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s." msgstr "" -#: templates/forms/affiliation.php:145 +#: templates/forms/affiliation.php:150 msgid "Like the %s? Become our ambassador and earn cash ;-)" msgstr "" -#: templates/forms/affiliation.php:146 +#: templates/forms/affiliation.php:151 msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!" msgstr "" -#: templates/forms/affiliation.php:149 +#: templates/forms/affiliation.php:154 msgid "Program Summary" msgstr "" -#: templates/forms/affiliation.php:151 +#: templates/forms/affiliation.php:156 msgid "%s commission when a customer purchases a new license." msgstr "" -#: templates/forms/affiliation.php:153 +#: templates/forms/affiliation.php:158 msgid "Get commission for automated subscription renewals." msgstr "" -#: templates/forms/affiliation.php:156 +#: templates/forms/affiliation.php:161 msgid "%s tracking cookie after the first visit to maximize earnings potential." msgstr "" -#: templates/forms/affiliation.php:159 +#: templates/forms/affiliation.php:164 msgid "Unlimited commissions." msgstr "" -#: templates/forms/affiliation.php:161 +#: templates/forms/affiliation.php:166 msgid "%s minimum payout amount." msgstr "" -#: templates/forms/affiliation.php:162 +#: templates/forms/affiliation.php:167 msgid "Payouts are in USD and processed monthly via PayPal." msgstr "" -#: templates/forms/affiliation.php:163 +#: templates/forms/affiliation.php:168 msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days." msgstr "" -#: templates/forms/affiliation.php:166 +#: templates/forms/affiliation.php:171 msgid "Affiliate" msgstr "" -#: templates/forms/affiliation.php:169, templates/forms/resend-key.php:23 +#: templates/forms/affiliation.php:174, templates/forms/resend-key.php:23 msgid "Email address" msgstr "" -#: templates/forms/affiliation.php:173 +#: templates/forms/affiliation.php:178 msgid "Full name" msgstr "" -#: templates/forms/affiliation.php:177 +#: templates/forms/affiliation.php:182 msgid "PayPal account email address" msgstr "" -#: templates/forms/affiliation.php:181 +#: templates/forms/affiliation.php:186 msgid "Where are you going to promote the %s?" msgstr "" -#: templates/forms/affiliation.php:183 +#: templates/forms/affiliation.php:188 msgid "Enter the domain of your website or other websites from where you plan to promote the %s." msgstr "" -#: templates/forms/affiliation.php:185 +#: templates/forms/affiliation.php:190 msgid "Add another domain" msgstr "" -#: templates/forms/affiliation.php:189 +#: templates/forms/affiliation.php:194 msgid "Extra Domains" msgstr "" -#: templates/forms/affiliation.php:190 +#: templates/forms/affiliation.php:195 msgid "Extra domains where you will be marketing the product from." msgstr "" -#: templates/forms/affiliation.php:200 +#: templates/forms/affiliation.php:205 msgid "Promotion methods" msgstr "" -#: templates/forms/affiliation.php:203 +#: templates/forms/affiliation.php:208 msgid "Social media (Facebook, Twitter, etc.)" msgstr "" -#: templates/forms/affiliation.php:207 +#: templates/forms/affiliation.php:212 msgid "Mobile apps" msgstr "" -#: templates/forms/affiliation.php:211 +#: templates/forms/affiliation.php:216 msgid "Website, email, and social media statistics (optional)" msgstr "" -#: templates/forms/affiliation.php:214 +#: templates/forms/affiliation.php:219 msgid "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)." msgstr "" -#: templates/forms/affiliation.php:218 +#: templates/forms/affiliation.php:223 msgid "How will you promote us?" msgstr "" -#: templates/forms/affiliation.php:221 +#: templates/forms/affiliation.php:226 msgid "Please provide details on how you intend to promote %s (please be as specific as possible)." msgstr "" -#: templates/forms/affiliation.php:233, templates/forms/resend-key.php:22, templates/account/partials/disconnect-button.php:92 +#: templates/forms/affiliation.php:238, templates/forms/resend-key.php:22, templates/forms/subscription-cancellation.php:142, templates/account/partials/disconnect-button.php:92 msgid "Cancel" msgstr "" -#: templates/forms/affiliation.php:235 +#: templates/forms/affiliation.php:240 msgid "Become an affiliate" msgstr "" @@ -2525,10 +2551,14 @@ msgstr "" msgid "Agree & Activate License" msgstr "" -#: templates/forms/license-activation.php:204 +#: templates/forms/license-activation.php:206 msgid "Associate with the license owner's account." msgstr "" +#: templates/forms/optout.php:104 +msgid "Keep automatic updates" +msgstr "" + #: templates/forms/optout.php:44 msgid "Communication" msgstr "" @@ -2549,10 +2579,6 @@ msgstr "" msgid "Extensions" msgstr "" -#: templates/forms/optout.php:104 -msgid "Keep automatic updates" -msgstr "" - #: templates/forms/premium-versions-upgrade-handler.php:40 msgid "There is a new version of %s available." msgstr "" @@ -2614,10 +2640,12 @@ msgstr "" msgid "Cancel %s & Proceed" msgstr "" +#. translators: %1$s: Number of trial days; %2$s: Plan name; #: templates/forms/trial-start.php:22 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan." msgstr "" +#. translators: %s: Link to freemius.com #: templates/forms/trial-start.php:28 msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial." msgstr "" @@ -2646,14 +2674,6 @@ msgstr "" msgid "Beta" msgstr "" -#: templates/partials/network-activation.php:32 -msgid "Activate license on all sites in the network." -msgstr "" - -#: templates/partials/network-activation.php:33 -msgid "Apply on all sites in the network." -msgstr "" - #: templates/partials/network-activation.php:36 msgid "Activate license on all pending sites." msgstr "" @@ -2662,6 +2682,14 @@ msgstr "" msgid "Apply on all pending sites." msgstr "" +#: templates/partials/network-activation.php:32 +msgid "Activate license on all sites in the network." +msgstr "" + +#: templates/partials/network-activation.php:33 +msgid "Apply on all sites in the network." +msgstr "" + #: templates/partials/network-activation.php:45, templates/partials/network-activation.php:79 msgid "allow" msgstr "" @@ -2674,7 +2702,7 @@ msgstr "" msgid "skip" msgstr "" -#: templates/plugin-info/description.php:72, templates/plugin-info/screenshots.php:31 +#: templates/plugin-info/description.php:67, templates/plugin-info/screenshots.php:26 msgid "Click to view full-size screenshot %d" msgstr "" @@ -2695,27 +2723,24 @@ msgstr "" msgid "Last license" msgstr "" -#. translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription' -#: templates/account/partials/addon.php:34 -msgid "%1$s will immediately stop all future recurring payments and your %s plan license will expire in %s." +#: templates/account/partials/addon.php:200 +msgid "No expiration" msgstr "" #: templates/account/partials/addon.php:190 msgid "Cancelled" msgstr "" -#: templates/account/partials/addon.php:200 -msgid "No expiration" +#. translators: %s is replaced with the website's homepage address. +#: templates/account/partials/disconnect-button.php:78 +msgid "Disconnecting the website will permanently remove %s from your User Dashboard's account." msgstr "" #: templates/account/partials/disconnect-button.php:74 msgid "By disconnecting the website, previously shared diagnostic data about %1$s will be deleted and no longer visible to %2$s." msgstr "" -#: templates/account/partials/disconnect-button.php:78 -msgid "Disconnecting the website will permanently remove %s from your User Dashboard's account." -msgstr "" - +#. translators: %1$s is replaced by the paid plan name, %2$s is replaced with an anchor link with the text "User Dashboard". #: templates/account/partials/disconnect-button.php:84 msgid "If you wish to cancel your %1$s plan's subscription instead, please navigate to the %2$s and cancel it there." msgstr "" diff --git a/freemius/require.php b/freemius/require.php index c1f8366..cc194d2 100644 --- a/freemius/require.php +++ b/freemius/require.php @@ -19,6 +19,8 @@ require_once WP_FS__DIR_INCLUDES . '/class-fs-logger.php'; require_once WP_FS__DIR_INCLUDES . '/debug/debug-bar-start.php'; + require_once WP_FS__DIR_INCLUDES . '/class-fs-garbage-collector.php'; + // require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-abstract-manager.php'; require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-option-manager.php'; require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-gdpr-manager.php'; diff --git a/freemius/start.php b/freemius/start.php index 096f510..dbe49e9 100644 --- a/freemius/start.php +++ b/freemius/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.5.10'; + $this_sdk_version = '2.7.2'; #region SDK Selection Logic -------------------------------------------------------------------- @@ -46,6 +46,34 @@ */ $file_path = fs_normalize_path( __FILE__ ); $fs_root_path = dirname( $file_path ); + + // @todo: Remove this code after a few months when WP 6.3 usage is low enough. + global $wp_version; + + if ( + ! function_exists( 'wp_get_current_user' ) && + /** + * `get_stylesheet()` will rely on `wp_get_current_user()` when it is being filtered by `theme-previews.php`. That happens only when the site editor is loaded or when the site editor is sending REST requests. + * @see theme-previews.php:wp_get_theme_preview_path() + * + * @todo This behavior is already fixed in the core (WP 6.3.2+), and this code can be removed after a few months when WP 6.3 usage is low enough. + * @since WP 6.3.0 + */ + version_compare( $wp_version, '6.3', '>=' ) && + version_compare( $wp_version, '6.3.1', '<=' ) && + ( + 'site-editor.php' === basename( $_SERVER['SCRIPT_FILENAME'] ) || + ( + function_exists( 'wp_is_json_request' ) && + wp_is_json_request() && + ! empty( $_GET['wp_theme_preview'] ) + ) + ) + ) { + // Requiring this file since the call to get_stylesheet() below can trigger a call to wp_get_current_user() when previewing a theme. + require_once ABSPATH . 'wp-includes/pluggable.php'; + } + /** * Get the themes directory where the active theme is located (not passing the stylesheet will make WordPress * assume that the themes directory is inside `wp-content`. diff --git a/freemius/templates/account.php b/freemius/templates/account.php index ca27d07..d7f0642 100644 --- a/freemius/templates/account.php +++ b/freemius/templates/account.php @@ -22,8 +22,8 @@ * @var FS_Plugin_Tag $update */ $update = $fs->has_release_on_freemius() ? - $fs->get_update( false, false, WP_FS__TIME_24_HOURS_IN_SEC / 24 ) : - null; + $fs->get_update( false, false ) : + null; if ( is_object($update) ) { /** diff --git a/freemius/templates/account/partials/addon.php b/freemius/templates/account/partials/addon.php index e6d5657..9cc8e27 100644 --- a/freemius/templates/account/partials/addon.php +++ b/freemius/templates/account/partials/addon.php @@ -31,7 +31,7 @@ $downgrading_plan_text = fs_text_inline( 'Downgrading your plan', 'downgrading-plan', $slug ); $cancelling_subscription_text = fs_text_inline( 'Cancelling the subscription', 'cancelling-subscription', $slug ); /* translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription' */ - $downgrade_x_confirm_text = fs_text_inline( '%1$s will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug ); + $downgrade_x_confirm_text = fs_text_inline( '%1$s will immediately stop all future recurring payments and your %2$s plan license will expire in %3$s.', 'downgrade-x-confirm', $slug ); $prices_increase_text = fs_text_inline( 'Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price.', 'pricing-increase-warning', $slug ); $cancel_trial_confirm_text = fs_text_inline( 'Cancelling the trial will immediately block access to all premium features. Are you sure?', 'cancel-trial-confirm', $slug ); $after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.', 'after-downgrade-non-blocking', $slug ); @@ -240,19 +240,19 @@ true ); - $human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) ); - $downgrade_confirmation_message = sprintf( - $downgrade_x_confirm_text, - ( $fs_addon->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ), - $plan->title, - $human_readable_license_expiration - ); - $after_downgrade_message = ! $license->is_block_features ? sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs_addon->get_module_label( true ) ) : sprintf( $after_downgrade_blocking_text, $plan->title ); if ( ! $license->is_lifetime() && $is_active_subscription ) { + $human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) ); + $downgrade_confirmation_message = sprintf( + $downgrade_x_confirm_text, + ( $fs_addon->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ), + $plan->title, + $human_readable_license_expiration + ); + $buttons[] = fs_ui_get_action_button( $fs->get_id(), 'account', diff --git a/freemius/templates/checkout.php b/freemius/templates/checkout.php index 3e8da51..e43d842 100644 --- a/freemius/templates/checkout.php +++ b/freemius/templates/checkout.php @@ -39,7 +39,7 @@ wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'json2' ); - fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.min.js' ); + fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); fs_enqueue_local_style( 'fs_common', '/admin/common.css' ); diff --git a/freemius/templates/clone-resolution-js.php b/freemius/templates/clone-resolution-js.php index e8f4e9b..358a602 100644 --- a/freemius/templates/clone-resolution-js.php +++ b/freemius/templates/clone-resolution-js.php @@ -55,22 +55,32 @@ beforeSend: function() { $body.css( { cursor: 'wait' } ); - $cloneResolutionNotice.find( '.button' ).addClass( 'disabled' ); + $this.addClass( 'disabled' ); + + if ( $this.attr( 'id' ) === 'fs_temporary_duplicate_license_activation_link' ) { + $this.append( '<i class="fs-ajax-spinner"></i>' ); + } $( window ).on( 'beforeunload', beforeUnload ); }, success : function( resultObj ) { $( window ).off( 'beforeunload', beforeUnload ); - if ( resultObj.data.redirect_url && '' !== resultObj.data.redirect_url ) { + if ( + resultObj.data && + resultObj.data.redirect_url && + '' !== resultObj.data.redirect_url + ) { window.location = resultObj.data.redirect_url; } else { window.location.reload(); } }, - error : function() { + complete : function() { $body.css( { cursor: cursor } ); - $cloneResolutionNotice.find( '.button' ).removeClass( 'disabled' ); + $this.removeClass( 'disabled' ); + + $this.parent().find( '.fs-ajax-spinner' ).remove(); } } ); } ); diff --git a/freemius/templates/contact.php b/freemius/templates/contact.php index 5fdd6e3..79495ef 100644 --- a/freemius/templates/contact.php +++ b/freemius/templates/contact.php @@ -39,7 +39,7 @@ wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'json2' ); - fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.min.js' ); + fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); fs_enqueue_local_style( 'fs_checkout', '/admin/common.css' ); diff --git a/freemius/templates/forms/affiliation.php b/freemius/templates/forms/affiliation.php index 30a6181..a053d2d 100644 --- a/freemius/templates/forms/affiliation.php +++ b/freemius/templates/forms/affiliation.php @@ -69,10 +69,13 @@ $promotion_method_mobile_apps = in_array( 'mobile_apps', $promotion_methods ); } } else { - $current_user = Freemius::_get_current_wp_user(); - $full_name = trim( $current_user->user_firstname . ' ' . $current_user->user_lastname ); - $email_address = $current_user->user_email; - $domain = Freemius::get_unfiltered_site_url( null, true ); + if ( ! is_object( $user ) ) { + $current_user = Freemius::_get_current_wp_user(); + $full_name = trim( $current_user->user_firstname . ' ' . $current_user->user_lastname ); + $email_address = $current_user->user_email; + } + + $domain = Freemius::get_unfiltered_site_url( null, true ); } $affiliate_tracking = 30; diff --git a/freemius/templates/forms/license-activation.php b/freemius/templates/forms/license-activation.php index 2217c36..e1153db 100644 --- a/freemius/templates/forms/license-activation.php +++ b/freemius/templates/forms/license-activation.php @@ -52,8 +52,9 @@ if ( $is_network_activation ) { $all_sites = Freemius::get_sites(); - $subsite_data_by_install_id = array(); - $install_url_by_install_id = array(); + $all_site_details = array(); + $subsite_url_by_install_id = array(); + $install_url_by_install_id = array(); foreach ( $all_sites as $site ) { $site_details = $fs->get_site_info( $site ); @@ -66,9 +67,9 @@ $install = $fs->get_install_by_blog_id($blog_id); if ( is_object( $install ) ) { - if ( isset( $subsite_data_by_install_id[ $install->id ] ) ) { - $clone_subsite_data = $subsite_data_by_install_id[ $install->id ]; - $clone_install_url = $install_url_by_install_id[ $install->id ]; + if ( isset( $subsite_url_by_install_id[ $install->id ] ) ) { + $clone_subsite_url = $subsite_url_by_install_id[ $install->id ]; + $clone_install_url = $install_url_by_install_id[ $install->id ]; if ( /** @@ -77,7 +78,7 @@ * @author Leo Fajardo (@leorw) * @since 2.5.0 */ - fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_data['url'] ) ) || + fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_url ) ) || fs_strip_url_protocol( untrailingslashit( $install->url ) ) !== fs_strip_url_protocol( untrailingslashit( $site_details['url'] ) ) ) { continue; @@ -88,15 +89,17 @@ $site_details['license_id'] = $install->license_id; } - $subsite_data_by_install_id[ $install->id ] = $site_details; - $install_url_by_install_id[ $install->id ] = $install->url; + $subsite_url_by_install_id[ $install->id ] = $site_details['url']; + $install_url_by_install_id[ $install->id ] = $install->url; } + + $all_site_details[] = $site_details; } if ( $is_network_activation ) { $vars = array( 'id' => $fs->get_id(), - 'sites' => array_values( $subsite_data_by_install_id ), + 'sites' => $all_site_details, 'require_license_key' => true ); @@ -148,7 +151,7 @@ $license->get_html_escaped_masked_secret_key() ); - $license_input_html .= "<option data-id='{$license->id}' value='{$license->secret_key}' data-left='{$license->left()}'>{$label}</option>"; + $license_input_html .= "<option data-id='{$license->id}' value='{$license->id}' data-left='{$license->left()}'>{$label}</option>"; } $license_input_html .= '</select>'; @@ -175,7 +178,6 @@ class="fs-available-license-key" type="text" value="{$value}" data-id="{$available_license->id}" - data-license-key="{$available_license->secret_key}" data-left="{$available_license->left()}" readonly /> HTML; @@ -559,17 +561,17 @@ function registerEventHandlers() { return; } - var - licenseKey = ''; + var licenseKey = '', + licenseID = ''; if ( hasLicenseTypes ) { if ( isOtherLicenseKeySelected() ) { licenseKey = $otherLicenseKey.val(); } else { if ( ! hasLicensesDropdown ) { - licenseKey = $availableLicenseKey.data( 'license-key' ); + licenseID = $availableLicenseKey.data( 'id' ); } else { - licenseKey = $licensesDropdown.val(); + licenseID = $licensesDropdown.val(); } } } else { @@ -578,17 +580,22 @@ function registerEventHandlers() { disableActivateLicenseButton(); - if (0 === licenseKey.length) { + if ( 0 === licenseID.length && 0 === licenseKey.length ) { return; } var data = { action : '<?php echo $fs->get_ajax_action( 'activate_license' ) ?>', security : '<?php echo $fs->get_ajax_security( 'activate_license' ) ?>', - license_key: licenseKey, module_id : '<?php echo $fs->get_id() ?>' }; + if ( licenseID.length > 0 ) { + data.license_id = licenseID; + } else { + data.license_key = licenseKey; + } + if ( isNetworkActivation ) { var sites = []; diff --git a/freemius/templates/forms/subscription-cancellation.php b/freemius/templates/forms/subscription-cancellation.php index 2a1d591..7a02fde 100644 --- a/freemius/templates/forms/subscription-cancellation.php +++ b/freemius/templates/forms/subscription-cancellation.php @@ -139,7 +139,7 @@ + ' <div class="fs-modal-panel active">' + <?php echo json_encode( $subscription_cancellation_html ) ?> + '<p class="fs-price-increase-warning" style="display: none;">' + <?php echo json_encode( $prices_increase_text ) ?> + '</p></div>' + ' </div>' + ' <div class="fs-modal-footer">' - + ' <a href="#" class="button button-secondary button-close"><?php fs_esc_attr_echo( 'cancel', $slug ) ?></a>' + + ' <a href="#" class="button button-secondary button-close"><?php fs_esc_attr_echo_inline( 'Cancel', 'cancel', $slug ) ?></a>' + ' <a href="#" class="button button-primary button-deactivate disabled"><?php fs_esc_attr_echo_inline( 'Proceed', 'proceed', $slug ) ?></a>' + ' </div>' + ' </div>' @@ -194,7 +194,7 @@ function registerEventHandlers() { $modal.find('.fs-price-increase-warning').show(); } else { - $primaryButton.html( <?php echo fs_json_encode_echo_inline( 'Proceed', 'proceed', $slug ) ?> ); + $primaryButton.html( <?php fs_json_encode_echo_inline( 'Proceed', 'proceed', $slug ) ?> ); $modal.find('.fs-price-increase-warning').hide(); } @@ -271,7 +271,7 @@ function showMessage(message) { function updateButtonLabels() { $modal.find('.button-primary').text( <?php fs_json_encode_echo_inline( 'Proceed', 'proceed', $slug ) ?> ); - $modal.find('.button-secondary').text( <?php fs_json_encode_echo( 'cancel', $slug ) ?> ); + $modal.find('.button-secondary').text( <?php fs_json_encode_echo_inline( 'Cancel', 'cancel', $slug ) ?> ); } })( jQuery ); </script> \ No newline at end of file diff --git a/freemius/templates/powered-by.php b/freemius/templates/powered-by.php index fc10b0b..e925b0c 100644 --- a/freemius/templates/powered-by.php +++ b/freemius/templates/powered-by.php @@ -36,7 +36,7 @@ if ( ! $fs->is_whitelabeled() && ! $fs->apply_filters( 'hide_freemius_powered_by', false ) ) { wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'json2' ); - fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.min.js' ); + fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); ?> <div id="pframe"></div> diff --git a/freemius/templates/pricing.php b/freemius/templates/pricing.php index 842e4fe..05879a5 100644 --- a/freemius/templates/pricing.php +++ b/freemius/templates/pricing.php @@ -39,7 +39,7 @@ wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'json2' ); - fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.min.js' ); + fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); fs_enqueue_local_style( 'fs_common', '/admin/common.css' ); diff --git a/includes/activity-report-email/class-password-protected-activity-logs.php b/includes/activity-report-email/class-password-protected-activity-logs.php new file mode 100644 index 0000000..17f6903 --- /dev/null +++ b/includes/activity-report-email/class-password-protected-activity-logs.php @@ -0,0 +1,241 @@ +<?php + +defined( 'ABSPATH' ) || exit; + +if ( ! class_exists( 'Password_Protected_Activity_Logs' ) ) { + class Password_Protected_Activity_Logs { + /** + * table + * + * @var mixed + */ + private static $table; + /** + * now + * + * @var int + */ + public static $now = 0; + /** + * Method __construct + */ + public function __construct() { + self::$now = current_time( 'timestamp' ); + self::$table = 'pp_activity_logs'; + $database_updated = get_option( 'pp_activity_logs_db_updated' ); + if ( ! $database_updated ) { + if ( ! function_exists( 'maybe_add_column' ) ) { + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); + } + global $wpdb; + $table_name = $wpdb->prefix . self::$table; + $used_password_col = maybe_add_column( + $table_name, + 'used_password', + 'ALTER TABLE ' . $table_name . ' ADD `used_password` VARCHAR ( 255 ) NULL AFTER `status`' + ); + $password_id_col = maybe_add_column( + $table_name, + 'password_id', + 'ALTER TABLE ' . $table_name . ' ADD `password_id` VARCHAR( 255 ) NULL AFTER `id`' + ); + $object_type_col = maybe_add_column( + $table_name, + 'object_type', + 'ALTER TABLE ' . $table_name . ' ADD `object_type` VARCHAR( 255 ) NULL AFTER `status`' + ); + + if ( $used_password_col && $password_id_col && $object_type_col ) { + update_option( 'pp_activity_logs_db_updated', true ); + } + } + } + + /** + * Method get_items + * + * @return array|object|stdClass[]|null + */ + public static function get_items() { + + global $wpdb; + $table_name = $wpdb->prefix . self::$table; + + $search_term = self::check_for_search(); + $filter = self::check_for_filter(); + $timestamp = self::get_time_from_keyword( $filter ); + + + if( $filter != NULL && !empty( $timestamp ) ) + $query = " WHERE `created_at` BETWEEN " . reset( $timestamp ) . " AND " . end( $timestamp ); + else + $query = ""; + + if( $search_term == NULL ) { + $search = $query . " ORDER BY `id` DESC"; + } else { + $query = empty($query) ? '' : str_replace( "WHERE", "and", $query ); + $search = "WHERE CONCAT_WS( ' ', `ip`, `browser`, `status` ) LIKE '%$search_term%'" . $query; + } + + $logs = $wpdb->get_results( + " SELECT * FROM $table_name " . $search, + ARRAY_A + ); + + if( !is_wp_error( $logs ) && count( $logs ) > 0 ) + return $logs; + else + return array(); + } + + /** + * Method add_item + * + * @param $request $request + * + * @return bool|int|mysqli_result|null + */ + public static function add_item( $request ) { + global $wpdb; + $table_name = $wpdb->prefix . self::$table; + + $data = array( + 'ip' => $request['ip'], + 'browser' => $request['browser'], + 'status' => $request['status'], + 'created_at' => $request['created_at'], + 'used_password' => $request['used_password'], + 'password_id' => $request['password_id'], + 'object_type' => $request['object_type'], + ); + $format = array( '%s', '%s', '%s', '%s' ); + return $wpdb->insert( $table_name, $data, $format ); + } + + /** + * delete_item + * + * @param mixed $id + * + * @return bool|int|mysqli_result|null + */ + public static function delete_item( $id ) { + global $wpdb; + + return $wpdb->delete( + $wpdb->prefix . self::$table, + ['id' => $id], + ['%d'] + ); + } + + /** + * delete_items + * + * @param mixed $ids + */ + public static function delete_items( $ids ) { + global $wpdb; + + $table_name = $wpdb->prefix . self::$table; + $wpdb->query( "DELETE FROM `{$table_name}` WHERE ID IN( $ids )" ); + } + + /** + * delete_all_items + */ + public static function delete_all_items() { + global $wpdb; + $table_name = $wpdb->prefix . self::$table; + $wpdb->query("TRUNCATE TABLE $table_name"); + } + + /** + * check_for_search + * + * @return string|null + */ + public static function check_for_search() { + if( isset( $_POST['s'] ) ) { + if ( ! isset( $_POST['search_activity_logs_nonce'] ) || ! wp_verify_nonce( $_POST['search_activity_logs_nonce'], 'password_protected_search_activity_logs' ) ) { + wp_die('Sorry, your nonce did not verify.'); + } + return trim( sanitize_text_field( $_POST['s'] ) ); + + } else { + return null; + } + } + + /** + * check_for_filter + * + * @return string|null + */ + public static function check_for_filter() { + if( isset( $_GET['show_logs'] ) ) { + + $nonce = sanitize_text_field( $_GET['_wpnonce'] ); + if( ! wp_verify_nonce( $nonce, 'activity-logs-filter' ) ) { + wp_die( __( 'Security check: Your nonce did not verify!', 'password-protected-pro' ) ); + } else { + return sanitize_text_field( $_GET['show_logs'] ); + } + } + return null; + } + + /** + * get_time_from_keyword + * + * @param mixed $keyword + * + * @return array + */ + public static function get_time_from_keyword( $keyword = '' ) { + + $today = strtotime( date( 'Y-m-d' ) . ' midnight', self::$now ); + $todays_date = date( 'd', self::$now ); + $weekday = date( 'w', self::$now ); + $result = array(); + + $keyword = strtolower( (string) $keyword ); + + // Today + if ( $keyword === 'today' ) { + $result[] = $today; + $result[] = self::$now; + } + + // Yesterday + elseif ( $keyword === 'yesterday' ) { + $result[] = strtotime( '-1 day midnight', self::$now ); + $result[] = strtotime( 'today midnight', self::$now ); + } + + // This week + elseif ( $keyword === 'thisweek' ) { + + $thisweek = strtotime( '-' . ( $weekday+1 ) . ' days midnight', self::$now ); + if ( get_option( 'start_of_week' ) == $weekday ) + $thisweek = $today; + + $result[] = $thisweek; + $result[] = self::$now; + + } + + // This month + elseif ( $keyword === 'thismonth' ) { + $result[] = strtotime( date( 'Y-m-01' ) . ' midnight', self::$now ); + $result[] = self::$now; + } + + return $result; + + } + } +} + +new Password_Protected_Activity_Logs(); \ No newline at end of file diff --git a/includes/activity-report-email/class-password-protected-activity-report-settings.php b/includes/activity-report-email/class-password-protected-activity-report-settings.php new file mode 100644 index 0000000..e8c8b25 --- /dev/null +++ b/includes/activity-report-email/class-password-protected-activity-report-settings.php @@ -0,0 +1,223 @@ +<?php +/** + * Class Password Protected Activity Report Settings + * + * @package Password Protected Pro + */ + +defined( 'ABSPATH' ) || exit; + +if ( ! class_exists( 'Password_protected_Activity_Report_Settings' ) ) { + class Password_protected_Activity_Report_Settings { + private static $instance; + + private function __construct() { + add_action( 'admin_init', array( $this, 'update_database' ), -1 ); + add_action( 'admin_init', array( $this, 'settings_fields' ), 10 ); + add_action( 'password_protected_subtab_activity-report_content', array( $this, 'activity_report' ) ); + + if ( self::is_activity_report_enabled() ) { + if ( ! class_exists( 'Password_Protected_Pro' ) ) { + require_once PASSWORD_PROTECTED_DIR . 'includes/activity-report-email/class-password-protected-activity-logs.php'; + + add_action( 'password_protected_success_login_attempt', array( $this, 'success_attempt' ), 10, 3 ); + add_action( 'password_protected_failure_login_attempt', array( $this, 'failure_attempt' ), 10, 3 ); + add_action( 'password_protected_after_login_form', array( $this, 'login_enqueue_scripts' ) ); + add_action( 'password_protected_below_password_field', array( $this, 'add_new_field_after_password_field' ) ); + } + + require_once PASSWORD_PROTECTED_DIR . 'includes/activity-report-email/class-password-protected-send-email-notification.php'; + } + } + + public function update_database() { + $plugin_updated = get_option( 'password_protected_1.5_update_database', false ); + if ( ! $plugin_updated ) { + global $wpdb; + $table_name = $wpdb->prefix . 'pp_activity_logs'; + $charset_collate = $wpdb->get_charset_collate(); + if ( ! function_exists( 'maybe_create_table' ) ) { + require_once ABSPATH . 'wp-admin/includes/upgrade.php'; + } + + $sql = 'CREATE TABLE `' . $table_name . '` ( + `id` MEDIUMINT ( 9 ) NOT NULL AUTO_INCREMENT, + `ip` VARCHAR ( 55 ) NOT NULL, + `browser` TEXT NOT NULL, + `status` TINYTEXT NOT NULL, + `created_at` VARCHAR ( 55 ) NOT NULL, + PRIMARY KEY ( `id` ) + ) ' . $charset_collate . ';'; + + maybe_create_table( $table_name, $sql ); + update_option( 'password_protected_1.5_update_database', true ); + } + } + + public function settings_fields() { + register_setting( + 'password_protected_activity_report', + 'password_protected_activity_report_enable', + array( + 'sanitize_callback' => array( $this, 'sanitize_report_fields' ), + ) + ); + + add_settings_section( + 'password_protected_activity_report', + __( 'Password Activity Report via Email', 'password-protected' ), + '__return_null', + 'admin.php?page=password-protected&tab=activity-report', + array() + ); + + add_settings_field( + 'password_protected_activity_report', + __( 'Enable Activity Report', 'password-protected' ), + array( $this, 'activity_report_field_callback' ), + 'admin.php?page=password-protected&tab=activity-report', + 'password_protected_activity_report', + array( + 'label_for' => 'password_protected_activity_report', + ) + ); + } + + public function sanitize_report_fields( $fields ) { + if ( empty( $fields ) ) { + return 'no'; + } + + return $fields; + } + + public function activity_report_field_callback( $args ) { + $checked = get_option( 'password_protected_activity_report_enable', 'no' ); + $checked = 'yes' === $checked ? 'checked' : ''; + echo '<div class="pp-toggle-wrapper"> + <input id="' . esc_attr( $args['label_for'] ) . '" value="yes" name="password_protected_activity_report_enable" type="checkbox" ' . $checked . ' /> + <label for="' . esc_attr( $args['label_for'] ) . '" class="pp-toggle"> + <span class="pp-toggle-slider"></span> + </label> + </div> + <p class="description"> + <label for="' . esc_attr( $args['label_for'] ) . '"> + ' . __( 'Enable this option to receive weekly activity report on your email.', 'password-protected' ) . ' + </label> + </p>'; + } + + public function add_activity_report_tab( $tabs ) { + $tabs['activity-report'] = __( 'Activity Report', 'password-protected' ); + return $tabs; + } + + public function activity_report() { + echo '<form action="options.php" method="post" enctype="multipart/form-data">'; + + settings_fields( 'password_protected_activity_report' ); + do_settings_sections( 'admin.php?page=password-protected&tab=activity-report' ); + + submit_button(); + + echo '</form>'; + } + + public function success_attempt( $form_type, $password, $password_id ) { + $this->log_password_attempt( "Success", $form_type, $password, $password_id ); + } + + public function failure_attempt( $form_type, $password, $password_id ) { + $this->log_password_attempt( "Failure", $form_type, $password, $password_id ); + } + + public function login_enqueue_scripts() { + global $Password_Protected; + wp_enqueue_script( 'password-protected-detect', PASSWORD_PROTECTED_URL . 'assets/js/detect.min.js', array( 'jquery' ), $Password_Protected->version, true ); + wp_enqueue_script( 'password-protected-compatibility', PASSWORD_PROTECTED_URL . 'assets/js/compatibility.js', array( 'password-protected-detect' ), $Password_Protected->version, true ); + } + + public function add_new_field_after_password_field() { + echo '<input type="hidden" name="password_protected_user_agent" value="" />'; + } + + private function log_password_attempt( $success_or_failure, $form_type, $password, $password_id ) { + $log = $this->prepare_entry_log(); + extract( $log ); + Password_Protected_Activity_Logs::add_item( + array( + 'ip' => $IP, + 'browser' => $browser, + 'status' => $success_or_failure, + 'created_at' => current_time( "timestamp" ), + 'password_id' => $password_id, + 'object_type' => $form_type, + 'used_password' => $password, + ) + ); + } + + private function prepare_entry_log() { + $IP = self::get_client_ip(); + $browser = self::get_browser(); + return compact( 'IP', 'browser' ); + } + + public static function get_client_ip() { + $ipaddress = 'UNKNOWN'; + $keys = array( + 'HTTP_CLIENT_IP', + 'HTTP_X_FORWARDED_FOR', + 'HTTP_X_FORWARDED', + 'HTTP_FORWARDED_FOR', + 'HTTP_FORWARDED', + 'REMOTE_ADDR', + ); + + foreach ( $keys as $key ) { + if ( isset( $_SERVER[ $key ] ) ) { + $ipaddress = sanitize_text_field( wp_unslash( $_SERVER[ $key ] ) ); + break; + } + } + + if ( '::1' === $ipaddress ) { + $ipaddress = '127.0.1.6'; + } + + return $ipaddress; + } + + public static function get_browser() { + if ( isset( $_POST['password_protected_user_agent'] ) ) { + return sanitize_text_field( wp_unslash( $_POST['password_protected_user_agent'] ) ); + } + + return 'UNKNOWN'; + } + + public static function is_activity_report_enabled() { + return 'yes' === get_option( 'password_protected_activity_report_enable', 'no' ); + } + + public static function get_report_interval() { + $interval = apply_filters( 'password_protected_activity_report_interval', 7 ); + if ( ! $interval ) { + $interval = 7; + } + + $day_into_seconds = 60*60*24; + return $day_into_seconds * $interval; + } + + public static function get_instance() { + if ( is_null( self::$instance ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + } +} + +Password_protected_Activity_Report_Settings::get_instance(); diff --git a/includes/activity-report-email/class-password-protected-send-email-notification.php b/includes/activity-report-email/class-password-protected-send-email-notification.php new file mode 100644 index 0000000..511b2f1 --- /dev/null +++ b/includes/activity-report-email/class-password-protected-send-email-notification.php @@ -0,0 +1,90 @@ +<?php + + +defined( 'ABSPATH' ) || exit; + +if ( ! class_exists( 'Password_Protected_Send_Email_Notification' ) ) { + class Password_Protected_Send_Email_Notification { + private static $instance; + + private function __construct() { + add_filter( 'cron_schedules', array( $this, 'cron_schedules' ) ); + add_action( 'init', array( $this, 'init_cron' ) ); + add_action( 'password_protected_email_notification_hook', array( $this, 'send_email_notification' ) ); + } + + public function cron_schedules( $schedules ) { + $schedules['password_protected_email_notification'] = array( + 'interval' => Password_protected_Activity_Report_Settings::get_report_interval(), + 'display' => __( 'Password Protected Email Notification Interval', 'password-protected' ), + ); + return $schedules; + } + + public function init_cron() { + if ( ! wp_next_scheduled( 'password_protected_email_notification_hook' ) ) { + wp_schedule_event( time(), 'password_protected_email_notification', 'password_protected_email_notification_hook' ); + } + } + + public function send_email_notification() { + global $wpdb; + $timestamps = Password_Protected_Activity_Logs::get_time_from_keyword( 'thisweek' ); + $sql = 'SELECT + SUM( IF ( `status` = %s, 1, 0 ) ) as success, + SUM( IF ( `status` = %s, 1, 0 ) ) as failed + FROM %i WHERE created_at between %d and %d;'; + $sql = $wpdb->prepare( $sql, 'Success', 'Failure', $wpdb->prefix . 'pp_activity_logs', $timestamps[0], $timestamps[1] ); + $results = $wpdb->get_row( $sql, ARRAY_A ); + + $success_attempts = + $failed_attempts = 0; + if ( is_array( $results ) ) { + if ( isset( $results['success'] ) ) { + $success_attempts = absint( $results['success'] ); + } + + if ( isset( $results['failed'] ) ) { + $failed_attempts = absint( $results['failed'] ); + } + } + + $total_attempts = $success_attempts + $failed_attempts; + + $template = $this->get_template( $success_attempts, $failed_attempts, $total_attempts, $timestamps ); + $headers = $this->get_html_headers(); + $subject = sprintf( + '[ %s, %s ]', + get_bloginfo( 'name' ), + __( 'Password Protected Activity Log Notification', 'password-protected' ) + ); + + return wp_mail( get_option( 'admin_email' ), $subject, $template, $headers ); + } + + private function get_template( $success, $failed, $total, $time ) { + ob_start(); + require_once PASSWORD_PROTECTED_DIR . 'templates/emails/activity-notification.php'; + return ob_get_clean(); + } + private function get_html_headers() { + $headers = array( + 'Content-type: text/html', + ); + + return implode( "\r\n", apply_filters( 'password_protected_email_headers', $headers ) ); + } + + public static function get_instance() { + if ( is_null( self::$instance ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + } +} + +Password_Protected_Send_Email_Notification::get_instance(); + +#F03B3E, #04AA5E, #4685EC, #CA1329, #FBBA40 \ No newline at end of file diff --git a/includes/freemius.php b/includes/freemius.php index 65b1a3b..2c94465 100644 --- a/includes/freemius.php +++ b/includes/freemius.php @@ -33,6 +33,7 @@ function pp_free_fs() { 'menu' => array( 'slug' => 'password-protected', 'support' => false, + 'contact' => false, ), ) ); diff --git a/password-protected.php b/password-protected.php index a66a307..d8fe5aa 100644 --- a/password-protected.php +++ b/password-protected.php @@ -3,10 +3,10 @@ Plugin Name: Password Protected Plugin URI: https://wordpress.org/plugins/password-protected/ Description: A very simple way to quickly password protect your WordPress site with a single password. Please note: This plugin does not restrict access to uploaded files and images and does not work with some caching setups. -Version: 2.6.5.1 -Author: WPExperts +Version: 2.7.2 +Author: Password Protected Text Domain: password-protected -Author URI: https://passwordwp.com/ +Author URI: https://passwordprotectedwp.com/ License: GPLv2 */ /* @@ -40,7 +40,7 @@ class Password_Protected { - var $version = '2.6.5.1'; + var $version = '2.7.2'; var $admin = null; var $errors = null; var $admin_caching = null; @@ -62,7 +62,7 @@ public function __construct() { add_action( 'init', array( $this, 'maybe_process_logout' ), 1 ); add_action( 'init', array( $this, 'maybe_process_login' ), 1 ); add_action( 'wp', array( $this, 'disable_feeds' ) ); - add_action( 'template_redirect', array( $this, 'maybe_show_login' ), -1 ); + add_action( 'template_redirect', array( $this, 'maybe_show_login' ), -10 ); add_filter( 'pre_option_password_protected_status', array( $this, 'allow_feeds' ) ); add_filter( 'pre_option_password_protected_status', array( $this, 'allow_administrators' ) ); add_filter( 'pre_option_password_protected_status', array( $this, 'allow_users' ) ); @@ -99,6 +99,7 @@ public function __construct() { new Password_Protected_reCAPTCHA(); include_once dirname( __FILE__ ) . '/includes/transient-functions.php'; + include_once dirname( __FILE__ ) . '/includes/activity-report-email/class-password-protected-activity-report-settings.php'; } /** @@ -314,10 +315,13 @@ public function maybe_process_login() { $default_password = get_option( 'password_protected_password' ); $auth = false; + $p_id = 0; if ( empty( $default_password ) ) { - $auth = $this->password_protected_check_pro_password( $password_protected_pwd ); + $authentication = $this->password_protected_check_pro_password( $password_protected_pwd ); + $auth = $authentication['auth']; + $p_id = $authentication['p_id']; } else { @@ -327,7 +331,9 @@ public function maybe_process_login() { if ( ! $auth ) { - $auth = $this->password_protected_check_pro_password( $password_protected_pwd ); + $authentication = $this->password_protected_check_pro_password( $password_protected_pwd ); + $auth = $authentication['auth']; + $p_id = $authentication['p_id']; } } @@ -336,13 +342,13 @@ public function maybe_process_login() { if( count( @$this->errors->errors ) > 0 ) return; - $this->password_protected_process_login( $auth ); + $this->password_protected_process_login( $auth, $password_protected_pwd, $p_id ); } } - private function password_protected_process_login( bool $auth ) { + public function password_protected_process_login( bool $auth, $requested_password, $password_id ) { if( $auth ) $throttle = apply_filters( 'password_protected_check_for_throttling', true ); @@ -350,7 +356,7 @@ private function password_protected_process_login( bool $auth ) { if( $auth && $throttle ) { - do_action( 'password_protected_success_login_attempt' ); + do_action( 'password_protected_success_login_attempt', 'global', $requested_password, $password_id ); $remember = isset( $_REQUEST['password_protected_rememberme'] ) ? boolval( $_REQUEST['password_protected_rememberme'] ) : false; if ( ! $this->allow_remember_me() ) { @@ -359,7 +365,7 @@ private function password_protected_process_login( bool $auth ) { $this->set_auth_cookie( $remember ); $redirect_to = isset( $_REQUEST['redirect_to'] ) ? esc_url($_REQUEST['redirect_to']) : ''; - $redirect_to = apply_filters( 'password_protected_login_redirect', $redirect_to ); + $redirect_to = apply_filters( 'password_protected_login_redirect', $redirect_to, $requested_password ); if ( ! empty( $redirect_to ) ) { $this->safe_redirect( remove_query_arg( 'password-protected', $redirect_to ) ); @@ -372,7 +378,7 @@ private function password_protected_process_login( bool $auth ) { exit; } } else { - do_action( 'password_protected_failure_login_attempt' ); + do_action( 'password_protected_failure_login_attempt', 'global', $requested_password, $password_id ); // ... otherwise incorrect password $this->clear_auth_cookie(); @@ -390,12 +396,12 @@ private function password_protected_process_login( bool $auth ) { * @param mixed $requested_password * @return void */ - private function password_protected_check_pro_password( $requested_password ) { + public function password_protected_check_pro_password( $requested_password ) { $pro_passwords = apply_filters( 'password_protected_passwords', array() ); $pro_passwords = array_filter( $pro_passwords ); - $auth = false; + $p_id = 0; if( is_array( $pro_passwords ) && count( $pro_passwords ) > 0 ) { @@ -404,7 +410,7 @@ private function password_protected_check_pro_password( $requested_password ) { if ( ( hash_equals( $p, $this->encrypt_password( $requested_password ) ) && $pro_passwords != '' ) || apply_filters( 'password_protected_process_login', false, $requested_password ) ) { $auth = apply_filters( 'password_protected_login_password_matched', $p, $this->errors ); - + $p_id = $i; break; } @@ -417,7 +423,10 @@ private function password_protected_check_pro_password( $requested_password ) { } - return $auth; + return array( + 'auth' => $auth, + 'p_id' => $p_id, + ); } /** @@ -611,7 +620,7 @@ public function get_hashed_password() { * @param string $scheme Cookie scheme. * @return boolean Validation successful? */ - public function validate_auth_cookie( $cookie = '', $scheme = '' ) { + public function validate_auth_cookie( $cookie = '', $scheme = '', $hashed_password = '' ) { if ( ! $cookie_elements = $this->parse_auth_cookie( $cookie, $scheme ) ) { do_action( 'password_protected_auth_cookie_malformed', $cookie, $scheme ); @@ -633,7 +642,10 @@ public function validate_auth_cookie( $cookie = '', $scheme = '' ) { return false; } - $key = md5( $this->get_site_id() . $this->get_hashed_password() . '|' . $expiration ); + if ( empty( $hashed_password ) ) { + $hashed_password = $this->get_hashed_password(); + } + $key = md5( $this->get_site_id() . $hashed_password . '|' . $expiration ); // need to modify $hash = hash_hmac( 'md5', $this->get_site_id() . '|' . $expiration, $key ); if ( $hmac != $hash ) { @@ -656,9 +668,12 @@ public function validate_auth_cookie( $cookie = '', $scheme = '' ) { * @param string $scheme Cookie scheme. * @return string Cookie. */ - public function generate_auth_cookie( $expiration, $scheme = 'auth' ) { + public function generate_auth_cookie( $expiration, $scheme = 'auth', $hashed_password = '' ) { - $key = md5( $this->get_site_id() . $this->get_hashed_password() . '|' . $expiration ); + if ( empty( $hashed_password ) ) { + $hashed_password = $this->get_hashed_password(); + } + $key = md5( $this->get_site_id() . $hashed_password . '|' . $expiration ); // need to modify $hash = hash_hmac( 'md5', $this->get_site_id() . '|' . $expiration, $key ); $cookie = $this->get_site_id() . '|' . $expiration . '|' . $hash; @@ -841,7 +856,7 @@ public function login_messages() { } if ( ! empty( $errors ) ) { - echo '<div id="login_error">' . apply_filters( 'password_protected_login_errors', $errors ) . "</div>\n"; + echo '<div id="login_error" class="notice notice-error">' . apply_filters( 'password_protected_login_errors', $errors ) . "</div>\n"; } if ( ! empty( $messages ) ) { echo '<p class="message">' . apply_filters( 'password_protected_login_messages', $messages ) . "</p>\n"; @@ -921,14 +936,25 @@ static function is_plugin_supported() { * @return WP_Error|boolean */ public function only_allow_logged_in_rest_access( $access ) { + if ( $this->is_active() ) { + if ( is_user_logged_in() ) { + global $current_user; + if ( $current_user->has_cap( 'edit_posts' ) || $current_user->has_cap( 'edit_pages' ) ) { + return $access; + } + } + + if ( $this->is_user_logged_in() ) { + return $access; + } - // If user is not logged in - if ( $this->is_active() && ! $this->is_user_logged_in() && ! is_user_logged_in() && ! (bool) get_option( 'password_protected_rest' ) ) { + if ( get_option( 'password_protected_rest' ) ) { + return $access; + } return new WP_Error( 'rest_cannot_access', __( 'Only authenticated users can access the REST API.', 'password-protected' ), array( 'status' => rest_authorization_required_code() ) ); } return $access; - } /** @@ -937,8 +963,9 @@ public function only_allow_logged_in_rest_access( $access ) { */ public function password_protected_above_password_field() { $text = get_option('password_protected_text_above_password'); - if( !empty($text) ) - echo '<div class="password-protected-text-above" style="width:100%;">' . esc_attr( $text ) . '</div>'; + if( ! empty( $text ) ) { + echo '<div class="password-protected-text-above" style="width:100%;">' . wp_kses_post( $text ) . '</div>'; + } } /** @@ -947,8 +974,9 @@ public function password_protected_above_password_field() { */ public function password_protected_below_password_field() { $text = get_option('password_protected_text_below_password'); - if( !empty($text) ) - echo '<div class="password-protected-text-below" style="width:100%">' . esc_attr( $text ) . '</div>'; + if( ! empty( $text ) ) { + echo '<div class="password-protected-text-below" style="width:100%">' . wp_kses_post( $text ) . '</div>'; + } } } diff --git a/readme.txt b/readme.txt index 03d3b6c..d268e41 100644 --- a/readme.txt +++ b/readme.txt @@ -1,85 +1,223 @@ -=== Password Protected - Ultimate Plugin to Password Protect Your WordPress Content with Ease === +=== Password Protected - Ultimate Plugin to Protect WordPress Site, Pages & WooCommerce Store === Contributors: wpexpertsio Tags: password, maintenance mode, coming soon page, password protect, login Requires at least: 4.6 -Tested up to: 6.4.1 +Tested up to: 6.5.3 Requires PHP: 5.6 -Stable tag: 2.6.5.1 +Stable tag: 2.7.2 License: GPLv2 or later -The ultimate password protection plugin that protects your WordPress site with a single password. +Protect your WordPress site, pages, posts, WooCommerce products, and categories with single or multiple passwords. == Description == [Live Demo](https://tastewp.com/new/?pre-installed-plugin-slug=password-protected) -Password Protected for WordPress allows you to secure your website with a single password. The ultimate password protection plugin protects your WordPress categories, posts, products, and more with the simplest of ease. +Do you want to password protect your WordPress site to secure WordPress pages, posts, categories, etc? If so, then you need to install ✨**the Password Protected plugin**✨. -Password Protected does not protect images or uploaded files, so if you enter an exact URL of an image file, it will still be accessible. +Password Protected is a robust password protection plugin for WordPress that empowers you to secure your WordPress categories, posts, WooCommerce products, and even WordPress login (wp-admin) page with unparalleled ease. -= Password Protected Features = +Additionally, you can secure the password protected screen from WordPress attacks such as a WordPress brute force attack with the limit login feature. -* Easy to set up - Password protect your WordPress site with a single password. -* Set a description - Display text (description or instructions) above or below the password field. -* reCaptcha v2/v3 - You can enable Google reCAPTCHA v2 or V3 to increase bot security measures. -* Allow administrators - Option to allow administrators access without entering the password. -* Allow logged-in users - Option to give logged-in users access to the website. -* Allow RSS Feeds - Option to allow access to feeds. -* Allow Rest API Access - Allow admin to access pages and posts. -* Customization – Customize the password-protected screen, including the background, font, logo, and colors (using [Login Designer](https://wp.org/plugins/login-designer)) -> Please note, this plugin works by setting a cookie to allow access to the site. If you are using a caching plugin or web hosting such as WP Engine that has in-built caching, you will need to configure the caching service to be disabled if the Password Protected cookie is set. +Therefore, the [Password Protected WordPress plugin](https://passwordprotectedwp.com/) ensures comprehensive security, covering everything from WordPress pages to WooCommerce products, all with a user-friendly interface. -= Password Protected Pro = -[Password Protected Pro](https://passwordwp.com/pricing/?utm_source=wp_org&utm_medium=readme) is a [Kinsta recommended plugin](https://kinsta.com/blog/password-protect-wordpress-site/) that offers powerful features that will take your WordPress website password protected to the next level. +== Why Do You Need to Password Protect WordPress Site? == -* Exclude page posts & post types - Option to exclude specific pages and post types from password protection. -* Limit login attempts - Limit the user’s attempts to enter a password for a specified interval. -* Lockdown time - Set a time (in minutes) during which users can not enter the password after their login attempts are limited. -* Usage limits - Set a usage limit after which a password can not be used. -* Status control - You can change the status of the password (Active, Deactivated, Expired). -* Manage multiple passwords - Edit, activate, deactivate, or delete passwords (individual or bulk action). -* Set Expiry Dates - Options to select the expiry date for specific passwords -* Activity Log Reports - View the Activity Logs of each user, including their IP address, browser, status, date, and time of password attempts. -* Priority Support - Our team of support professionals will make sure to handle your queries on high priority. +With the rapidly rising number of cyber threats, having an effective WordPress security system for your website is essential. -= Detect hackers and bots from abusing password protection with reCAPTCHA = -Google reCAPTCHA v2 or v3 empowers your WordPress website to prevent password abuse against automated software, bots, hackers, etc. This anti-spam tool will allow any real user to access your website easily. +Whether you're a blogger, a business owner, or a developer, protecting sensitive information and controlling who can access the content you have created is essential. This is where the Password Protected plugin comes in. -= Password protect any post type = -You can include or exclude any post type from password protection. All of this can be done from the back end using a single password. +**For example**, imagine you're a photographer showcasing your portfolio. By using the Password Protect WordPress plugin, you can share your work securely with potential clients. Simply password protect your portfolio page, and only those with the password can view it. It's an easy way to keep your photos private until you're ready to share them publicly. -= Password protect your WordPress site with a single password = -Password Protected has the ability to secure your entire website with a single password. Everything from pages to posts will also be protected. -= Display password protected content in RSS feeds = -You can allow RSS feeds to show a login page after which user accessing the feed can view the password protected content. Disabling the option will restrict any user's access to the website even if the RSS feed is public. +### What Makes the Password Protected Plugin Stand Out! 😎 -= Password usage limits and complexities = -Limits users from entering the password using Password Protected’s Usage Limit counter. Password greater than that limit can not be applicable on the login page. +Wouldn't you like to have WordPress password protection that gives you peace of mind and immense security for your WordPress site❓ -Usage limits can also be restricted by setting a password expiry from the calendar settings. This prevents users from re-using any given password. Regular password changes mitigate the risk of any security breach. +Here are some of the features of the password protect WordPress plugin that gives so much control over your WordPress content protection while protecting your site from unauthorized access. -Limiting password attempts prevents security issues like the Brute Force attack, where hackers keep trying to guess your password until they get it right. A complimentary solution to this feature is the Lockdown Timer, which resets the user’s right to log in after exceeding their login attempt limit. -= Monitor and review activity logs for Password Protected = -Password Protected’s Activity Log is similar to an audit log that gives you a record of the events that have taken place on your website. To provide you with a better understanding, here is a list of the details you will find in the activity log: +== ⚡ Password Protect Entire WordPress Site With These Features: == -* Filter options for passwords used in a specific range (All-time, Today, Yesterday, This Week, This Month) -* IP addresses of the system from where the passwords were attempted. -* Country names from where the passwords were attempted. -* Browser names where the password was attempted. -* Status of the password attempts (successful or failed) +**✅ Complete Site Protection —💯% FREE** -The admin can also perform the search operation on the activity log. You can search by IP, Country, Browser, and Status. For e.g., searching Success will search all the passwords with successful attempts, and searching Failure will search all the orders with failed attempts. +Want to protect your entire WordPress site? Password Protected plugin makes it easy! + +With a single master password, password protect entire WordPress site to prevent unauthorized access. Also, set how long you want to use the password, define protected permission, and much more. + +**✅ Passwordless Admin Access** + +As an admin, you probably don't want the hassle of entering additional passwords to access your site. Right? + +Don't worry. With the Password Protected plugin, you can simplify the login process for administrators with Passwordless Admin Access. This time-saving functionality enhances efficiency and security by eliminating the need for administrators to manage passwords or risk exposure to unauthorized access attempts. + +**✅ Add Google Recaptcha** + +Make your password protected screen more secure by integrating Google reCaptcha. The plugin supports both Google reCAPTCHA v2 and v3. + +Google reCAPTCHA prevents automated bots and spam by presenting users with challenges that only humans can solve, such as identifying objects in images or solving puzzles. + +**✅ IP Address Whitelisting** + +You can specify which IP addresses can access password protected content with IP Address Whitelisting. + +This feature adds an extra layer of security by preventing unauthorized access from IP addresses not included on the whitelist so that only approved users can access protected content. + +**✅ Specific Post/Page Protection** + +Do you have premium content or sensitive information that you want to restrict access to? With the Password Protected plugin, you can easily password protect WordPress pages or posts so that only authorized users can view them. This feature allows you to offer exclusive content to subscribers or conduct private testing before publication. + +Check out our guide on how to [password protect WordPress page](https://passwordprotectedwp.com/wordpress-password-protect-page/) the right way. + +**✅ User Role Whitelisting** + +If you are looking for simplified access control based on user roles. The User Role Whitelisting is the solution you need. By whitelisting certain user roles for your WordPress site, such as administrators, editors, or subscribers, you can ensure that authorized users can view protected content without entering a password. + +**✅ WP-Admin Protection** + +Password protect wp-login (WordPress admin login page) against unauthorized access. This feature adds an extra layer of security by requiring a password to access the WP-admin dashboard, giving you greater protection against unauthorized login attempts and a [WordPress brute force attack](https://passwordprotectedwp.com/wordpress-brute-force-attack/). + +When you password protect WordPress login page (WP-admin area), it prevents unauthorized users from accessing sensitive site settings, user data, and administrative functions. This is particularly important for sites with multiple administrators or contributors, as it helps prevent unauthorized changes to site settings or content. + +**✅ Password Attempt Activity Report (Weekly)** + +Gain valuable insights into user interactions with your protected content through our exclusive Password Attempt Activity Report. This report will provide a comprehensive overview of login attempts, including successful and failed tries, browsers utilized, and recent activity logs. Whether using the Free or Pro version, this report enables you to track login attempts and user activity efficiently. + +**✅ Custom Post Type Protection** + +Extend your site's security beyond standard posts and pages. Password Protected plugin allows you to secure any custom post type, such as portfolios, testimonials, or products. The feature is extremely useful for businesses or creatives looking to share proprietary content or offer exclusive access to certain areas of their site. + +**✅ Category/Taxonomy Protection** + +Password protect WordPress categories to take control of your site's organization and access. Using single or multiple passwords, you can lock specific categories or taxonomies, along with related post tags. + +This functionality is ideal for websites with diverse content categories or membership tiers. By restricting access to certain categories, you can create exclusive areas for different user groups or offer premium content to subscribers. + +**✅ Certain Page/Posts Exclusions** + +Maintain flexibility in your WordPress site's accessibility by excluding specific pages, posts, and post types from password protection. Whether it's your homepage, contact page, or landing page, you can ensure that certain content remains accessible to all visitors while securing entire website content with a password. + +**✅ Limit Login Attempts** + +Set up a limit for login attempts to protect your WordPress password protected screen against the most common WordPress attacks, such as brute force attacks. The Password Protected [limit login attempts](https://passwordprotectedwp.com/limit-login-attempts/) feature is a proactive measure that mitigates the risk of unauthorized access and strengthens overall site security. + +**✅ Password Expiration and Usage Limit** + +If you want to password protect WordPress pages/posts for a certain period, set expiration dates and impose usage limits to restrict the number of times a user can use the password. This will make your site more secure and make it easier to manage user access. + +**✅ Bypass URL** + +Want to share password protected content with someone without sharing the password? The Bypass URL feature enables you to do just that. You can create unique URLs that remain accessible to the users without requiring a password. + +**✅ Detailed Activity Logs** + +Stay informed and vigilant with detailed activity logs for every password attempt. This feature provides comprehensive insights into site activity, including IP addresses, dates, times, and login statuses, so you can easily monitor and review user interactions. + +**✅ Lock Screen Customization** + +Make a lasting impression on visitors with a personalized and professional lock screen. With our Login Designer plugin, you can customize the appearance of your password-protected screen to align with your brand identity and aesthetics. + +With options to customize the background, logo, and other elements of the lock screen, you can create a cohesive and visually appealing experience for users seeking access to your protected content. + +**✅ Multiple Password Management** + +Experience unmatched flexibility and control over access permissions with Multiple Password Management. You can create unlimited passwords for any lock screen. It is also easy to activate or deactivate multiple passwords for various purposes, from testing to membership management. + +== 🎉 5 Key Reasons Why You Should Opt for Password Protected Pro == + +⚡ **Reason #1: Boost Your WordPress Site's Security With Ease** + +Upgrade your site's security with [Password Protected Pro](https://passwordprotectedwp.com/pricing/?utm_source=wp_org&utm_medium=readme) and get comprehensive password protection. + +Easily password protect WordPress website. From specific page/post protection to WP-Admin protection and user role whitelisting, Password Protected Pro empowers you to easily secure your site against unauthorized access. + +With intuitive password management features like multiple password management and detailed activity logs, maintaining security protocols becomes a seamless task, allowing you to focus on your core business objectives without compromising on protection. + +⚡ **Reason #2: Better User Experience and Accessibility** + +Unlock unparalleled flexibility in access control with Password Protected Pro's advanced features. Whether you're offering exclusive content to subscribers or conducting private testing before publication, specific page/post protection ensures that only authorized users can access sensitive information. + +Meanwhile, features like Bypass URLs and certain page/post exclusions allow you to maintain accessibility for public-facing content, striking the perfect balance between security and user experience. + +⚡ **Reason #3: Gain Valuable Insights and Oversight** + +Stay informed and vigilant with Password Protected Pro's weekly comprehensive activity reporting and logging capabilities. With the password attempt activity report, including detailed activity logs, you gain valuable insights into user interactions, login attempts, and site activity. + +This actionable data enables you to monitor access patterns, detect potential security threats, and optimize your access control strategy accordingly. + +By leveraging this insight, you can proactively enhance site security, mitigate risks, and ensure compliance with privacy regulations, fostering trust and confidence among your user base. + +⚡ **Reason #4: Simplified Password Management and Administration** + +Automate password management with Password Protected Pro's user-friendly interface and intuitive tools. + +With features like password expiration and usage limits, limit login attempts, and passwordless admin access, you can automate routine tasks, reduce administrative overhead, and ensure a smooth user experience. + +With simplified access control and administration, Password Protected Pro frees up your valuable time and resources so you can focus on your core business objectives while maintaining the highest standards of security and compliance. + +⚡ **Reason #5: Easy Membership Management** + +If you manage a membership site or subscription-based platform, Password Protected Pro offers the features you need to provide exclusive access to your users to maximize revenue. + +With features like user role whitelisting and multiple password management, you can conveniently control access permissions for your WordPress content. By simplifying [WordPress content protection](https://passwordprotectedwp.com/content-locking-in-wordpress/) and ensuring seamless access for paying members, you can enhance user experience, retain subscribers, and drive sustained revenue growth. + +== 🎉 Use Cases for WordPress Password Protection == + +⚡ **Use Case #1: Offer Premium Content to Your Subscribers** + +Unlock the potential of your premium content by offering exclusive access to subscribers with Password Protected plugin. You can securely share articles, e-books, podcasts, and reports while tracking password usage and preventing unauthorized sharing. + +With the ability to generate multiple passwords, you can ensure that only paying subscribers enjoy your valuable content. + +⚡ **Use Case #2: Give Clients Exclusive Access to Your Portfolio** + +Securely showcase your portfolio to clients with Password Protected, safeguarding your work from unauthorized access. Generate unique passwords for each client, ensuring personalized access while impressing them with a custom lock screen. + +With Password Protected, you can maintain confidentiality and professionalism while sharing your creative endeavors. + +⚡ **Use Case #3: Keep Under Maintenance Pages Private** + +Maintain confidentiality and control over your unfinished website pages with Password Protected plugin. If you are working on a new website or updating existing pages, you can password protect entire WordPress site or specific pages. + +Generate temporary passwords with limited usage, providing secure access to administrators while keeping your work private until it's ready for public viewing. + +⚡ **Use Case #4: Create a Private Family Blog** + +Set up a secure and private space for your family to connect and share precious moments. Post family photos, videos, stories, and updates without worrying about unauthorized access. + +With the [Password Protected](https://passwordprotectedwp.com/) plugin, you can generate unique passwords for each family member and friend, ensuring that only those you trust can access your family blog. + +⚡ **Use Case #5: Provide Exclusive Access to Virtual Events** + +Host exclusive virtual events and password-protect your site pages/posts with Password Protected. Generate unique passwords for each participant and customize the lock screen to enhance professionalism. + +By offering exclusive access to virtual events, you can increase membership and engagement while providing a secure and memorable experience for participants. + +⚡ **Use Case #6: Create Member-Only WooCommerce Products** + +Get more sales and customer loyalty by offering member-only WooCommerce products with Password Protected. Securely password protect WooCommerce products or categories, assigning multiple passwords for different offerings. + +Whether it's special deals, discounts, or bonuses, the Password Protected plugin enables you to offer exclusive products to your valued members, driving sales and fostering a sense of exclusivity. + +Check out our detailed guide on how to [password protect WooCommerce products](https://passwordprotectedwp.com/password-protect-woocommerce-products/) and [WooCommerce shop page](https://passwordprotectedwp.com/password-protect-woocommerce-shop-page/). + +== Need Help? Get Expert Assistance == + +Can't figure out how to implement password protection for your WordPress site? We've got you covered around the clock. + +Whether it's troubleshooting technical issues, setting up password protection, or exploring advanced features, our dedicated support team is here to assist you every step of the way. + +So, don't hesitate to [reach out for prompt and reliable guidance](https://objectsws.atlassian.net/servicedesk/customer/portal/18). Contact us now to experience smooth and hassle-free service 😀. + +== Documentation and support == + +👉 To learn more, check out Password Protected [Technical Documentation](https://passwordprotectedwp.com/documentation/?utm_source=wp_org&utm_medium=readme) + +👉 Open a support ticket [here](https://objectsws.atlassian.net/servicedesk/customer/portal/18). -= Documentation and support = -* Password Protected [Technical Documentation](https://passwordwp.com/documentation/?utm_source=wp_org&utm_medium=readme) -* You can open a support ticket [here](https://objectsws.atlassian.net/servicedesk/customer/portal/18) -= Translations = -If you would like to translate this plugin, you can easily contribute to the [Translating WordPress](https://translate.wordpress.org/projects/wp-plugins/password-protected/) page. The stable plugin needs to be 95% translated for a language file to be available to download/update via WordPress. == Installation == @@ -95,9 +233,6 @@ If you are upgrading manually via FTP rather that through the WordPress automati == Frequently Asked Questions == -= How can I change the WordPress logo to a different image? = -Install and configure the [Login Logo](https://wordpress.org/plugins/login-logo/) plugin by Mark Jaquith or the [Uber Login Logo](https://wordpress.org/plugins/uber-login-logo/) plugin. This will change the logo on your password entry page AND also your admin login page. - = How can I enable feeds while the site is password protected? = In the settings, check the 'Allow Feeds' checkbox. @@ -116,9 +251,6 @@ If you go to your WordPress admin login page `/wp-login.php` and it shows the ad If the admin login screen insteads shows the Password Protected field, you will need to access your site via SFTP/SSH and delete the Password Protected plugin folder in the plugins folder `wp-content/plugins/password-protected`. -= How can I redirect to a different domain name when logging out? = -If passing a redirect URL using 'redirect_to' when logging out you need you may need to use the [allowed domain names](https://codex.wordpress.org/Plugin_API/Filter_Reference/allowed_redirect_hosts) filter to allow redirecting to an external domain. - = Where can I report bugs and issues? = Please log issues and bugs on the plugin's [GitHub page](https://github.com/benhuson/password-protected/issues). You can also submit suggested enhancements if you like. @@ -131,13 +263,46 @@ If you would like to translate this plugin you can easily contribute at the [Tra == Screenshots == -1. Login page perfectly mimicks the WordPress login. -2. Login page with reCaptcha v3 -3. Login page with reCaptcha v2 -4. Password Protected general settings page. -4. Password Protected advanced settings page. +1. Enable complete sitewide protection, whitelist IP address, and allow passwordless access. +2. Exclude pages, posts, and post types from protection. +3. Enable and create a bypass URL to get password free access with that link. +4. Create and manage multiple passwords for your protected site and content. +5. Enable and password protect specific or all pages, posts, and post types. +6. Enable and select user roles that should be whitelisted. +7. Google reCaptcha v2 and v3 settings. +8. The protected screen perfectly mimics the WordPress login. +9. The protected screen with reCaptcha v3. +10. The protected screen with reCaptcha v2. +11. Password Protect your WP login/WP admin. +12. Limit password attempts to enhance your WordPress site protection. +13. Stay informed with detailed activity logs for every password attempt. +14. Gain valuable insights through our exclusive Password Attempt Activity Report. + == Changelog == += 2.7.2 = +- Fix: Updated depreciated PHP function to make it compatible with the latest PHP version. +- Added: Login designer compatibility banner. +- Improvement: Implement few UI tweaks. + += 2.7.1 = +- Fixed - Disabled activity report by default. + += 2.7 = +- New: Added Password Activity Report to provide weekly insights on access attempts to your protected sites. +- New: Added Categoric Tabs and Sub-Tabs User Interface for easy navigation and better user experience. + += 2.6.8 = +- Fix: Gutenberg compatibility issue fixed - REST API was getting blocked + += 2.6.7 = +- Security: Patched two security improvements suggested by Wordfence team. +- Fix: Updated depreciated PHP function to make it compatible with the latest PHP version. +- Compatibility: Improved compatibility with Elementor. + += 2.6.6 = +- Improvement - Added support for HTML in the above and bottom text displayed in the password screen. + = 2.6.5.1 = - Ensured seamless compatibility with the latest WordPress version @@ -205,7 +370,7 @@ If you would like to translate this plugin you can easily contribute at the [Tra - Update Portuguese translation. Props [Jonathan Hult](https://github.com/jhult). - Update Russian translation. Props [Alexey Chumakov](https://github.com/achumakov). -= 2.2.4 = += 2.2.4 = - Check that `$_SERVER['REMOTE_ADDR']` is set. = 2.2.3 = diff --git a/templates/emails/activity-notification.php b/templates/emails/activity-notification.php new file mode 100644 index 0000000..fb425fd --- /dev/null +++ b/templates/emails/activity-notification.php @@ -0,0 +1,225 @@ +<?php +/** + * Email Template for Activity report + * + * @package Password Protected Pro + */ + +defined( 'ABSPATH' ) || exit; + +$has_pro = class_exists( 'Password_Protected_pro' ); +$image_url = PASSWORD_PROTECTED_URL . 'assets/images/'; +?> +<!DOCTYPE html> +<html <?php language_attributes(); ?>> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="ie=edge"> + <title><?php bloginfo( 'name' ) ?></title> + <style id="admin-email-notification--text-css" type="text/css"> + * { + padding: 0; + margin: 0; + } + </style> +</head> +<body> +<table style="width: 100%;height: 100vh;background: #000;"> + <tr> + <td style=""> + <table style="width: 471px;height: 557px;margin: 0 auto;padding: 20px;background: #fff;"> + <tr> + <td style="vertical-align: top;width: 100%;"> + <div style="text-align: center;"> + <img src="<?php echo esc_url( PASSWORD_PROTECTED_URL ) ?>assets/images/cropped-logo.png" alt=""> + </div> + <div style="width: 424px;height: 60px;line-height: 15px;"> + <p style="font-size: 12px;font-weight: 400;font-family: Inter,serif;line-height: 25px"> + <?php + printf( __( 'Hi %1$s,', 'password-protected' ), '<b>' . get_option( 'admin_email' ) . '</b>' ); + ?> + </p> + <p style="font-size: 12px;font-weight: 400;font-family: Inter,serif;line-height: 25px"> + <?php + printf( + __( 'Here is a quick overview of who is accessing your site %1$s to %2$s', 'password-protected' ), + '<b>' . esc_attr( gmdate( 'd-M', $time[0] ) ). '</b>', + '<b>' . esc_attr( gmdate( 'd-M', $time[1] ) ) . '</b>', + ); + ?> + </p> + </div> + </td> + </tr> + <tr> + <td style="vertical-align: middle;width: 100%;"> + <div style="width: 336px;margin: 0 auto;"> + + <div style="padding: 5px 0;margin:0 5px;width: 100px;height: 120px;float: left;border: 1px solid #BEB8E4;background: #ECE8F9;border-radius: 5px;"> + <table style="width: 100%;height: 100%;"> + <tr> + <td style="vertical-align: top"> + <div style="width: 38px;height: 38px;border-radius: 50px;background: #BEB8E4; margin: auto"> + <div style="line-height: 38px;text-align:center;"> + <img src="<?php echo esc_url( $image_url ); ?>total-attempts.png" /> + </div> + </div> + </td> + </tr> + <tr> + <td style="font-family: Inter,serif;font-weight: 400;font-size: 12px;line-height: 14px;text-align:center;color: #151D48; vertical-align: middle;"> + <p><?php esc_html_e( 'Total', 'password-protected' ); ?></p> + <p><?php esc_html_e( 'Attempts', 'password-protected' ); ?></p> + </td> + </tr> + <tr> + <td > + <h3 style="font-family: Inter,serif;font-weight: 700;font-size: 24px;line-height: 29px;color: #151D48;vertical-align: bottom;text-align:center;"><?php echo esc_html( $total ); ?></h3> + </td> + </tr> + </table> + </div> + <div style="padding: 5px 0;margin:0 5px;width: 100px;height: 120px;float: left;border: 1px solid #26E2AA;background: #EAFFF6;border-radius: 5px;"> + <table style="width: 100%;height: 100%;"> + <tr> + <td style="vertical-align: top;"> + <div style="width: 38px;height: 38px;border-radius: 50px;background: #26e2c0; margin: auto"> + <div style="line-height: 38px;text-align:center;"> + <img src="<?php echo esc_url( $image_url ) ?>success.png" alt=""> + </div> + </div> + </td> + </tr> + <tr> + <td style="font-family: Inter,serif;font-weight: 400;font-size: 12px;line-height: 14px;text-align:center;color: #151D48; vertical-align: middle;"> + <p><?php esc_html_e( 'Successful', 'password-protected' ); ?></p> + <p><?php esc_html_e( 'Attempts', 'password-protected' ); ?></p> + </td> + </tr> + <tr> + <td > + <h3 style="font-family: Inter,serif;font-weight: 700;font-size: 24px;line-height: 29px;color: #151D48;vertical-align: bottom;text-align:center;"><?php echo esc_html( $success ); ?></h3> + </td> + </tr> + </table> + </div> + <div style="padding: 5px 0;margin:0 5px;width: 100px;height: 120px;float: left;border: 1px solid #E4B8D2;background: #F9E8F0;border-radius: 5px;"> + <table style="width: 100%;height: 100%;"> + <tr> + <td style="vertical-align: top"> + <div style="width: 38px;height: 38px;border-radius: 50px;background: #e4b8d0; margin: auto"> + <div style="line-height: 38px;text-align:center;"> + <img src="<?php echo esc_url( $image_url ); ?>failed.png" alt=""> + </div> + </div> + </td> + </tr> + <tr> + <td style="font-family: Inter,serif;font-weight: 400;font-size: 12px;line-height: 14px;text-align:center;color: #151D48; vertical-align: middle;"> + <p><?php esc_html_e( 'Failed', 'password-protected' ) ?></p> + <p><?php esc_html_e( 'Attempts', 'password-protected' ) ?></p> + </td> + </tr> + <tr> + <td > + <h3 style="font-family: Inter,serif;font-weight: 700;font-size: 24px;line-height: 29px;color: #151D48;vertical-align: bottom;text-align:center;"><?php echo esc_html( $failed ); ?></h3> + </td> + </tr> + </table> + </div> + + <div style="clear:both;display:table;"></div> + </div> + + <?php if ( ! $has_pro ) : ?> + <div style="margin: 20px 0"> + <div style="width: 424px;height: 257px;border-radius: 10px;border: 1px solid #CDCDCD;overflow: hidden"> + <div style="width: 100%;height: 33px;background: #F9AA39;"> + <p style="font-family: Inter,serif;font-weight: 600;line-height: 32px;font-size: 14px;color: #fff;padding: 0 15px"> + <img src="<?php esc_url( $image_url ); ?>chart.png" alt=""> + <?php esc_html_e( 'Want more insights about your visitors?', 'password-protected' ); ?> + </p> + </div> + <div style="border-bottom: 1px solid #CDCDCD;"> + <p style="text-align:center;font-family: Inter,serif;font-weight: 700;font-size: 13px;line-height: 16px;color: #8076FF;padding:5px 0;"> + <?php esc_html_e( 'Get the Password Protected PRO and see,', 'password-protected' ); ?> + </p> + </div> + + <div style="padding: 5px 15px;"> + <div style="display: inline-block;"> + <img src="<?php echo esc_url( $image_url ); ?>check.png" style="margin-bottom: -1px;" alt=""> + </div> + <div style="display: inline-block;font-family: Inter,serif;font-weight: 400;font-size: 11px;line-height: 20px;"> + <?php esc_html_e( 'Protect Specific Post Types', 'password-protected' ); ?> + </div> + </div> + <div style="padding: 5px 15px;border-top: 1px solid #CDCDCD;border-bottom: 1px solid #CDCDCD;"> + <div style="display: inline-block;"> + <img src="<?php echo esc_url( $image_url ); ?>check.png" style="margin-bottom: -1px;" alt=""> + </div> + <div style="display: inline-block;font-family: Inter,serif;font-weight: 400;font-size: 11px;line-height: 20px;"> + <?php esc_html_e( 'Protect Specific Categories / Taxonomies', 'password-protected' ); ?> + </div> + </div> + <div style="padding: 5px 15px;"> + <div style="display: inline-block;"> + <img src="<?php echo esc_url( $image_url ); ?>check.png" style="margin-bottom: -1px;" alt=""> + </div> + <div style="display: inline-block;font-family: Inter,serif;font-weight: 400;font-size: 11px;line-height: 20px;"> + <?php esc_html_e( 'Display Activity Log for Each Password Attempt', 'password-protected' ); ?> + </div> + </div> + <div style="padding: 5px 15px;border-top: 1px solid #CDCDCD;border-bottom: 1px solid #CDCDCD;"> + <div style="display: inline-block;"> + <img src="<?php echo esc_url( $image_url ); ?>check.png" style="margin-bottom: -1px;" alt=""> + </div> + <div style="display: inline-block;font-family: Inter,serif;font-weight: 400;font-size: 11px;line-height: 20px;"> + <?php esc_html_e( 'Set a Password Expiration Date and Usage Limit', 'password-protected' ); ?> + </div> + </div> + <div style="padding: 5px 15px;"> + <div style="display: inline-block;"> + <img src="<?php echo esc_url( $image_url ); ?>check.png" style="margin-bottom: -1px;" alt=""> + </div> + <div style="display: inline-block;font-family: Inter,serif;font-weight: 400;font-size: 11px;line-height: 20px;"> + <?php esc_html_e( 'Get a Bypass URL to Access your WordPress Site without a Password', 'password-protected' ); ?> + </div> + </div> + + <div style="border-top: 1px solid #CDCDCD;"> + <div style="padding: 10px;"> + <a href="https://passwordprotectedwp.com/pricing/?utm_source=plugin&utm_medium=email_template" style="display: block;width: 120px;height: 22px;background-color:#F9AA39;font-weight: 500;font-size: 10px;font-family: Inter,serif;border-radius: 10px;color: #fff;text-decoration: none;"> + <span style="line-height: 20px;padding: 0 5px 0 10px;display: inline-block;"> + <?php esc_html_e( 'Upgrade to PRO', 'password-protected' ); ?> + </span> + <span style="line-height: 20px;display: inline-block;">></span> + </a> + </div> + </div> + </div> + </div> + <?php else : ?> + <?php do_action( 'password_protected_pro_email_notification_template', 'items_table' ); ?> + <?php endif; ?> + </td> + </tr> + <tr> + <td style="vertical-align: bottom;width: 100%;"> + <p style="font-family: Inter,serif;font-size: 12px;line-height: 15px;font-weight: 500;color: #8076FF;text-align:center;"> + <?php + printf( + __( 'This email was autogenerated and sent from %1$s.', 'password-protected' ), + '<a href="' . esc_url( site_url() ) . '">' . esc_attr( get_bloginfo( 'name' ) ) . '</a>' + ); + ?> + </p> + </td> + </tr> + </table> + </td> + </tr> +</table> +</body> +</html> \ No newline at end of file diff --git a/theme/password-protected-login.php b/theme/password-protected-login.php index 3f3beb3..f6193b6 100644 --- a/theme/password-protected-login.php +++ b/theme/password-protected-login.php @@ -133,7 +133,7 @@ function wp_login_viewport_meta() { <p> <label for="password_protected_pass"><?php echo esc_attr( apply_filters( 'password_protected_login_password_title', __( 'Password', 'password-protected' ) ) ); ?></label> - <input type="password" name="password_protected_pwd" id="password_protected_pass" class="input" value="" size="20" tabindex="20" /> + <input type="password" name="password_protected_pwd" id="password_protected_pass" class="input" value="" size="20" tabindex="20" autocomplete="false" /> </p> <?php do_action('password_protected_after_password_field'); ?> <?php if ( $Password_Protected->allow_remember_me() ) : ?>