Changeset 3229077
- Timestamp:
- 01/27/2025 04:54:07 AM (13 months ago)
- Location:
- content-restrictor-for-divi
- Files:
-
- 293 added
- 18 edited
-
tags/1.5.2 (added)
-
tags/1.5.2/content-restrictor-for-divi.php (added)
-
tags/1.5.2/freemius (added)
-
tags/1.5.2/freemius.php (added)
-
tags/1.5.2/freemius/LICENSE.txt (added)
-
tags/1.5.2/freemius/assets (added)
-
tags/1.5.2/freemius/assets/css (added)
-
tags/1.5.2/freemius/assets/css/admin (added)
-
tags/1.5.2/freemius/assets/css/admin/account.css (added)
-
tags/1.5.2/freemius/assets/css/admin/add-ons.css (added)
-
tags/1.5.2/freemius/assets/css/admin/affiliation.css (added)
-
tags/1.5.2/freemius/assets/css/admin/checkout.css (added)
-
tags/1.5.2/freemius/assets/css/admin/clone-resolution.css (added)
-
tags/1.5.2/freemius/assets/css/admin/common.css (added)
-
tags/1.5.2/freemius/assets/css/admin/connect.css (added)
-
tags/1.5.2/freemius/assets/css/admin/debug.css (added)
-
tags/1.5.2/freemius/assets/css/admin/dialog-boxes.css (added)
-
tags/1.5.2/freemius/assets/css/admin/gdpr-optin-notice.css (added)
-
tags/1.5.2/freemius/assets/css/admin/index.php (added)
-
tags/1.5.2/freemius/assets/css/admin/optout.css (added)
-
tags/1.5.2/freemius/assets/css/admin/plugins.css (added)
-
tags/1.5.2/freemius/assets/css/customizer.css (added)
-
tags/1.5.2/freemius/assets/css/index.php (added)
-
tags/1.5.2/freemius/assets/img (added)
-
tags/1.5.2/freemius/assets/img/index.php (added)
-
tags/1.5.2/freemius/assets/img/plugin-icon.png (added)
-
tags/1.5.2/freemius/assets/img/theme-icon.png (added)
-
tags/1.5.2/freemius/assets/index.php (added)
-
tags/1.5.2/freemius/assets/js (added)
-
tags/1.5.2/freemius/assets/js/index.php (added)
-
tags/1.5.2/freemius/assets/js/jquery.form.js (added)
-
tags/1.5.2/freemius/assets/js/nojquery.ba-postmessage.js (added)
-
tags/1.5.2/freemius/assets/js/postmessage.js (added)
-
tags/1.5.2/freemius/assets/js/pricing (added)
-
tags/1.5.2/freemius/assets/js/pricing/14fb1bd5b7c41648488b06147f50a0dc.svg (added)
-
tags/1.5.2/freemius/assets/js/pricing/178afa6030e76635dbe835e111d2c507.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/27b5a722a5553d9de0170325267fccec.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/4375c4a3ddc6f637c2ab9a2d7220f91e.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/4529cac82a2d1f300d3c4702b7b5e8f3.svg (added)
-
tags/1.5.2/freemius/assets/js/pricing/5480ed23b199531a8cbc05924f26952b.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/b4f3b958f4a019862d81b15f3f8eee3a.svg (added)
-
tags/1.5.2/freemius/assets/js/pricing/c03f665db27af43971565560adfba594.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/cb5fc4f6ec7ada72e986f6e7dde365bf.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/dd89563360f0272635c8f0ab7d7f1402.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/e366d70661d8ad2493bd6afbd779f125.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/f18006f6535a1a6e9c6bfbffafe6f18a.svg (added)
-
tags/1.5.2/freemius/assets/js/pricing/f3aac72a8e63997d6bb888f816457e9b.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/f928f1be99776af83e8e6be4baf8ffe7.svg (added)
-
tags/1.5.2/freemius/assets/js/pricing/fde48e4609a6ddc11d639fc2421f2afd.png (added)
-
tags/1.5.2/freemius/assets/js/pricing/freemius-pricing.js (added)
-
tags/1.5.2/freemius/assets/js/pricing/freemius-pricing.js.LICENSE.txt (added)
-
tags/1.5.2/freemius/config.php (added)
-
tags/1.5.2/freemius/includes (added)
-
tags/1.5.2/freemius/includes/class-freemius-abstract.php (added)
-
tags/1.5.2/freemius/includes/class-freemius.php (added)
-
tags/1.5.2/freemius/includes/class-fs-admin-notices.php (added)
-
tags/1.5.2/freemius/includes/class-fs-api.php (added)
-
tags/1.5.2/freemius/includes/class-fs-garbage-collector.php (added)
-
tags/1.5.2/freemius/includes/class-fs-lock.php (added)
-
tags/1.5.2/freemius/includes/class-fs-logger.php (added)
-
tags/1.5.2/freemius/includes/class-fs-options.php (added)
-
tags/1.5.2/freemius/includes/class-fs-plugin-updater.php (added)
-
tags/1.5.2/freemius/includes/class-fs-security.php (added)
-
tags/1.5.2/freemius/includes/class-fs-storage.php (added)
-
tags/1.5.2/freemius/includes/class-fs-user-lock.php (added)
-
tags/1.5.2/freemius/includes/customizer (added)
-
tags/1.5.2/freemius/includes/customizer/class-fs-customizer-support-section.php (added)
-
tags/1.5.2/freemius/includes/customizer/class-fs-customizer-upsell-control.php (added)
-
tags/1.5.2/freemius/includes/customizer/index.php (added)
-
tags/1.5.2/freemius/includes/debug (added)
-
tags/1.5.2/freemius/includes/debug/class-fs-debug-bar-panel.php (added)
-
tags/1.5.2/freemius/includes/debug/debug-bar-start.php (added)
-
tags/1.5.2/freemius/includes/debug/index.php (added)
-
tags/1.5.2/freemius/includes/entities (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-affiliate-terms.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-affiliate.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-billing.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-entity.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-payment.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-plugin-info.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-plugin-license.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-plugin-plan.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-plugin-tag.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-plugin.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-pricing.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-scope-entity.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-site.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-subscription.php (added)
-
tags/1.5.2/freemius/includes/entities/class-fs-user.php (added)
-
tags/1.5.2/freemius/includes/entities/index.php (added)
-
tags/1.5.2/freemius/includes/fs-core-functions.php (added)
-
tags/1.5.2/freemius/includes/fs-essential-functions.php (added)
-
tags/1.5.2/freemius/includes/fs-html-escaping-functions.php (added)
-
tags/1.5.2/freemius/includes/fs-plugin-info-dialog.php (added)
-
tags/1.5.2/freemius/includes/index.php (added)
-
tags/1.5.2/freemius/includes/l10n.php (added)
-
tags/1.5.2/freemius/includes/managers (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-admin-menu-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-admin-notice-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-cache-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-checkout-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-clone-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-contact-form-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-debug-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-gdpr-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-key-value-storage.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-license-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-option-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-permission-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-plan-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/class-fs-plugin-manager.php (added)
-
tags/1.5.2/freemius/includes/managers/index.php (added)
-
tags/1.5.2/freemius/includes/sdk (added)
-
tags/1.5.2/freemius/includes/sdk/Exceptions (added)
-
tags/1.5.2/freemius/includes/sdk/Exceptions/ArgumentNotExistException.php (added)
-
tags/1.5.2/freemius/includes/sdk/Exceptions/EmptyArgumentException.php (added)
-
tags/1.5.2/freemius/includes/sdk/Exceptions/Exception.php (added)
-
tags/1.5.2/freemius/includes/sdk/Exceptions/InvalidArgumentException.php (added)
-
tags/1.5.2/freemius/includes/sdk/Exceptions/OAuthException.php (added)
-
tags/1.5.2/freemius/includes/sdk/Exceptions/index.php (added)
-
tags/1.5.2/freemius/includes/sdk/FreemiusBase.php (added)
-
tags/1.5.2/freemius/includes/sdk/FreemiusWordPress.php (added)
-
tags/1.5.2/freemius/includes/sdk/LICENSE.txt (added)
-
tags/1.5.2/freemius/includes/sdk/index.php (added)
-
tags/1.5.2/freemius/includes/supplements (added)
-
tags/1.5.2/freemius/includes/supplements/fs-essential-functions-1.1.7.1.php (added)
-
tags/1.5.2/freemius/includes/supplements/fs-essential-functions-2.2.1.php (added)
-
tags/1.5.2/freemius/includes/supplements/fs-migration-2.5.1.php (added)
-
tags/1.5.2/freemius/includes/supplements/index.php (added)
-
tags/1.5.2/freemius/index.php (added)
-
tags/1.5.2/freemius/languages (added)
-
tags/1.5.2/freemius/languages/freemius-cs_CZ.mo (added)
-
tags/1.5.2/freemius/languages/freemius-da_DK.mo (added)
-
tags/1.5.2/freemius/languages/freemius-de_DE.mo (added)
-
tags/1.5.2/freemius/languages/freemius-es_ES.mo (added)
-
tags/1.5.2/freemius/languages/freemius-fr_FR.mo (added)
-
tags/1.5.2/freemius/languages/freemius-he_IL.mo (added)
-
tags/1.5.2/freemius/languages/freemius-hu_HU.mo (added)
-
tags/1.5.2/freemius/languages/freemius-it_IT.mo (added)
-
tags/1.5.2/freemius/languages/freemius-ja.mo (added)
-
tags/1.5.2/freemius/languages/freemius-nl_NL.mo (added)
-
tags/1.5.2/freemius/languages/freemius-ru_RU.mo (added)
-
tags/1.5.2/freemius/languages/freemius-ta.mo (added)
-
tags/1.5.2/freemius/languages/freemius-zh_CN.mo (added)
-
tags/1.5.2/freemius/languages/freemius.pot (added)
-
tags/1.5.2/freemius/languages/index.php (added)
-
tags/1.5.2/freemius/require.php (added)
-
tags/1.5.2/freemius/start.php (added)
-
tags/1.5.2/freemius/templates (added)
-
tags/1.5.2/freemius/templates/account (added)
-
tags/1.5.2/freemius/templates/account.php (added)
-
tags/1.5.2/freemius/templates/account/billing.php (added)
-
tags/1.5.2/freemius/templates/account/index.php (added)
-
tags/1.5.2/freemius/templates/account/partials (added)
-
tags/1.5.2/freemius/templates/account/partials/activate-license-button.php (added)
-
tags/1.5.2/freemius/templates/account/partials/addon.php (added)
-
tags/1.5.2/freemius/templates/account/partials/deactivate-license-button.php (added)
-
tags/1.5.2/freemius/templates/account/partials/disconnect-button.php (added)
-
tags/1.5.2/freemius/templates/account/partials/index.php (added)
-
tags/1.5.2/freemius/templates/account/partials/site.php (added)
-
tags/1.5.2/freemius/templates/account/payments.php (added)
-
tags/1.5.2/freemius/templates/add-ons.php (added)
-
tags/1.5.2/freemius/templates/add-trial-to-pricing.php (added)
-
tags/1.5.2/freemius/templates/admin-notice.php (added)
-
tags/1.5.2/freemius/templates/ajax-loader.php (added)
-
tags/1.5.2/freemius/templates/api-connectivity-message-js.php (added)
-
tags/1.5.2/freemius/templates/auto-installation.php (added)
-
tags/1.5.2/freemius/templates/checkout (added)
-
tags/1.5.2/freemius/templates/checkout.php (added)
-
tags/1.5.2/freemius/templates/checkout/frame.php (added)
-
tags/1.5.2/freemius/templates/checkout/process-redirect.php (added)
-
tags/1.5.2/freemius/templates/checkout/redirect.php (added)
-
tags/1.5.2/freemius/templates/clone-resolution-js.php (added)
-
tags/1.5.2/freemius/templates/connect (added)
-
tags/1.5.2/freemius/templates/connect.php (added)
-
tags/1.5.2/freemius/templates/connect/index.php (added)
-
tags/1.5.2/freemius/templates/connect/permission.php (added)
-
tags/1.5.2/freemius/templates/connect/permissions-group.php (added)
-
tags/1.5.2/freemius/templates/contact.php (added)
-
tags/1.5.2/freemius/templates/debug (added)
-
tags/1.5.2/freemius/templates/debug.php (added)
-
tags/1.5.2/freemius/templates/debug/api-calls.php (added)
-
tags/1.5.2/freemius/templates/debug/index.php (added)
-
tags/1.5.2/freemius/templates/debug/logger.php (added)
-
tags/1.5.2/freemius/templates/debug/plugins-themes-sync.php (added)
-
tags/1.5.2/freemius/templates/debug/scheduled-crons.php (added)
-
tags/1.5.2/freemius/templates/email.php (added)
-
tags/1.5.2/freemius/templates/forms (added)
-
tags/1.5.2/freemius/templates/forms/affiliation.php (added)
-
tags/1.5.2/freemius/templates/forms/data-debug-mode.php (added)
-
tags/1.5.2/freemius/templates/forms/deactivation (added)
-
tags/1.5.2/freemius/templates/forms/deactivation/contact.php (added)
-
tags/1.5.2/freemius/templates/forms/deactivation/form.php (added)
-
tags/1.5.2/freemius/templates/forms/deactivation/index.php (added)
-
tags/1.5.2/freemius/templates/forms/deactivation/retry-skip.php (added)
-
tags/1.5.2/freemius/templates/forms/email-address-update.php (added)
-
tags/1.5.2/freemius/templates/forms/index.php (added)
-
tags/1.5.2/freemius/templates/forms/license-activation.php (added)
-
tags/1.5.2/freemius/templates/forms/optout.php (added)
-
tags/1.5.2/freemius/templates/forms/premium-versions-upgrade-handler.php (added)
-
tags/1.5.2/freemius/templates/forms/premium-versions-upgrade-metadata.php (added)
-
tags/1.5.2/freemius/templates/forms/resend-key.php (added)
-
tags/1.5.2/freemius/templates/forms/subscription-cancellation.php (added)
-
tags/1.5.2/freemius/templates/forms/trial-start.php (added)
-
tags/1.5.2/freemius/templates/forms/user-change.php (added)
-
tags/1.5.2/freemius/templates/gdpr-optin-js.php (added)
-
tags/1.5.2/freemius/templates/index.php (added)
-
tags/1.5.2/freemius/templates/js (added)
-
tags/1.5.2/freemius/templates/js/index.php (added)
-
tags/1.5.2/freemius/templates/js/jquery.content-change.php (added)
-
tags/1.5.2/freemius/templates/js/open-license-activation.php (added)
-
tags/1.5.2/freemius/templates/js/permissions.php (added)
-
tags/1.5.2/freemius/templates/js/style-premium-theme.php (added)
-
tags/1.5.2/freemius/templates/partials (added)
-
tags/1.5.2/freemius/templates/partials/index.php (added)
-
tags/1.5.2/freemius/templates/partials/network-activation.php (added)
-
tags/1.5.2/freemius/templates/plugin-icon.php (added)
-
tags/1.5.2/freemius/templates/plugin-info (added)
-
tags/1.5.2/freemius/templates/plugin-info/description.php (added)
-
tags/1.5.2/freemius/templates/plugin-info/features.php (added)
-
tags/1.5.2/freemius/templates/plugin-info/index.php (added)
-
tags/1.5.2/freemius/templates/plugin-info/screenshots.php (added)
-
tags/1.5.2/freemius/templates/pricing.php (added)
-
tags/1.5.2/freemius/templates/secure-https-header.php (added)
-
tags/1.5.2/freemius/templates/sticky-admin-notice-js.php (added)
-
tags/1.5.2/freemius/templates/tabs-capture-js.php (added)
-
tags/1.5.2/freemius/templates/tabs.php (added)
-
tags/1.5.2/includes (added)
-
tags/1.5.2/includes/DiviContentRestrictorExtension.php (added)
-
tags/1.5.2/includes/classes (added)
-
tags/1.5.2/includes/classes/Divi (added)
-
tags/1.5.2/includes/classes/Divi/BoxShadow.php (added)
-
tags/1.5.2/includes/classes/Divi/Builder.php (added)
-
tags/1.5.2/includes/classes/Divi/Section.php (added)
-
tags/1.5.2/includes/classes/Loader.php (added)
-
tags/1.5.2/includes/classes/Restrictors (added)
-
tags/1.5.2/includes/classes/Restrictors/LoggedInUser.php (added)
-
tags/1.5.2/includes/classes/WP (added)
-
tags/1.5.2/includes/classes/WP/Bootstrap.php (added)
-
tags/1.5.2/includes/loader.js (added)
-
tags/1.5.2/readme.txt (added)
-
tags/1.5.2/scripts (added)
-
tags/1.5.2/scripts/builder-bundle.min.js (added)
-
tags/1.5.2/scripts/frontend-bundle.min.js (added)
-
tags/1.5.2/styles (added)
-
tags/1.5.2/styles/backend-style.min.css (added)
-
tags/1.5.2/styles/style-dbp.min.css (added)
-
tags/1.5.2/styles/style.min.css (added)
-
tags/1.5.2/vendor (added)
-
tags/1.5.2/vendor/autoload.php (added)
-
tags/1.5.2/vendor/composer (added)
-
tags/1.5.2/vendor/composer/ClassLoader.php (added)
-
tags/1.5.2/vendor/composer/InstalledVersions.php (added)
-
tags/1.5.2/vendor/composer/LICENSE (added)
-
tags/1.5.2/vendor/composer/autoload_classmap.php (added)
-
tags/1.5.2/vendor/composer/autoload_namespaces.php (added)
-
tags/1.5.2/vendor/composer/autoload_psr4.php (added)
-
tags/1.5.2/vendor/composer/autoload_real.php (added)
-
tags/1.5.2/vendor/composer/autoload_static.php (added)
-
tags/1.5.2/vendor/composer/installed.json (added)
-
tags/1.5.2/vendor/composer/installed.php (added)
-
tags/1.5.2/vendor/wpt00ls (added)
-
tags/1.5.2/vendor/wpt00ls/container (added)
-
tags/1.5.2/vendor/wpt00ls/container/.gitignore (added)
-
tags/1.5.2/vendor/wpt00ls/container/LICENSE (added)
-
tags/1.5.2/vendor/wpt00ls/container/README.md (added)
-
tags/1.5.2/vendor/wpt00ls/container/composer.json (added)
-
tags/1.5.2/vendor/wpt00ls/container/src (added)
-
tags/1.5.2/vendor/wpt00ls/container/src/ContainerExceptionInterface.php (added)
-
tags/1.5.2/vendor/wpt00ls/container/src/ContainerInterface.php (added)
-
tags/1.5.2/vendor/wpt00ls/container/src/NotFoundExceptionInterface.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/.gitignore (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/.php_cs.dist (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/CHANGELOG (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/LICENSE (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/README.rst (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/composer.json (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/phpunit.xml.dist (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Container.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Exception (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Exception/ExpectedInvokableException.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Exception/FrozenServiceException.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Exception/UnknownIdentifierException.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Psr11 (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Psr11/Container.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/Psr11/ServiceLocator.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/ServiceIterator.php (added)
-
tags/1.5.2/vendor/wpt00ls/pimple/src/Pimple/ServiceProviderInterface.php (added)
-
tags/1.5.2/wp-cli.local.yml (added)
-
trunk/content-restrictor-for-divi.php (modified) (2 diffs)
-
trunk/freemius/assets/css/admin/common.css (modified) (1 diff)
-
trunk/freemius/includes/class-freemius.php (modified) (14 diffs)
-
trunk/freemius/includes/class-fs-plugin-updater.php (modified) (2 diffs)
-
trunk/freemius/includes/entities/class-fs-plugin-plan.php (modified) (1 diff)
-
trunk/freemius/includes/entities/class-fs-site.php (modified) (4 diffs)
-
trunk/freemius/includes/entities/class-fs-user.php (modified) (1 diff)
-
trunk/freemius/includes/managers/class-fs-admin-menu-manager.php (modified) (1 diff)
-
trunk/freemius/includes/managers/class-fs-admin-notice-manager.php (modified) (1 diff)
-
trunk/freemius/start.php (modified) (10 diffs)
-
trunk/freemius/templates/forms/license-activation.php (modified) (1 diff)
-
trunk/freemius/templates/pricing.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/LICENSE (modified) (2 diffs)
-
trunk/vendor/composer/autoload_real.php (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
content-restrictor-for-divi/trunk/content-restrictor-for-divi.php
r3180628 r3229077 7 7 * Text Domain: divi-content-restrictor 8 8 * Domain Path: /languages 9 * Version: 1.5. 19 * Version: 1.5.2 10 10 * 11 11 * @package Divi_Content_Restrictor … … 17 17 $loader = \WPT\RestrictContent\Loader::getInstance(); 18 18 $loader['plugin_name'] = 'Divi Content Restrictor'; 19 $loader['plugin_version'] = '1.5. 1';19 $loader['plugin_version'] = '1.5.2'; 20 20 $loader['plugin_dir'] = __DIR__; 21 21 $loader['plugin_slug'] = basename( __DIR__ ); -
content-restrictor-for-divi/trunk/freemius/assets/css/admin/common.css
r3180628 r3229077 1 .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;left:160px;opacity:.95;padding:10px 20px;position:fixed;right:0;top:32px;z-index:9989}.fs-secure-notice:hover{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}1 .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-notice-body .fs-trial-message-container{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.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;left:160px;opacity:.95;padding:10px 20px;position:fixed;right:0;top:32px;z-index:9989}.fs-secure-notice:hover{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} -
content-restrictor-for-divi/trunk/freemius/includes/class-freemius.php
r3180628 r3229077 109 109 */ 110 110 private $_enable_anonymous = true; 111 112 /** 113 * @since 2.9.1 114 * @var string|null Hints the SDK whether the plugin supports parallel activation mode, preventing the auto-deactivation of the free version when the premium version is activated, and vice versa. 115 */ 116 private $_premium_plugin_basename_from_parallel_activation; 111 117 112 118 /** … … 1652 1658 } 1653 1659 } 1660 1661 if ( 1662 $this->is_user_in_admin() && 1663 $this->is_parallel_activation() && 1664 $this->_premium_plugin_basename !== $this->_premium_plugin_basename_from_parallel_activation 1665 ) { 1666 $this->_premium_plugin_basename = $this->_premium_plugin_basename_from_parallel_activation; 1667 1668 register_activation_hook( 1669 dirname( $this->_plugin_dir_path ) . '/' . $this->_premium_plugin_basename, 1670 array( &$this, '_activate_plugin_event_hook' ) 1671 ); 1672 } 1673 } 1674 1675 /** 1676 * Determines if a plugin is running in parallel activation mode. 1677 * 1678 * @author Leo Fajardo (@leorw) 1679 * @since 2.9.1 1680 * 1681 * @return bool 1682 */ 1683 private function is_parallel_activation() { 1684 return ! empty( $this->_premium_plugin_basename_from_parallel_activation ); 1654 1685 } 1655 1686 … … 5156 5187 new FS_Plugin(); 5157 5188 5189 $is_premium = $this->get_bool_option( $plugin_info, 'is_premium', true ); 5158 5190 $premium_suffix = $this->get_option( $plugin_info, 'premium_suffix', '(Premium)' ); 5191 5192 $module_type = $this->get_option( $plugin_info, 'type', $this->_module_type ); 5193 5194 $parallel_activation = $this->get_option( $plugin_info, 'parallel_activation' ); 5195 5196 if ( 5197 ! $is_premium && 5198 is_array( $parallel_activation ) && 5199 ( WP_FS__MODULE_TYPE_PLUGIN === $module_type ) && 5200 $this->get_bool_option( $parallel_activation, 'enabled' ) 5201 ) { 5202 $premium_basename = $this->get_option( $parallel_activation, 'premium_version_basename' ); 5203 5204 if ( empty( $premium_basename ) ) { 5205 throw new Exception('You need to specify the premium version basename to enable parallel version activation.'); 5206 } 5207 5208 $this->_premium_plugin_basename_from_parallel_activation = $premium_basename; 5209 5210 if ( is_plugin_active( $premium_basename ) ) { 5211 $is_premium = true; 5212 } 5213 } 5159 5214 5160 5215 $plugin->update( array( 5161 5216 'id' => $id, 5162 'type' => $ this->get_option( $plugin_info, 'type', $this->_module_type ),5217 'type' => $module_type, 5163 5218 'public_key' => $public_key, 5164 5219 'slug' => $this->_slug, … … 5168 5223 'title' => $this->get_plugin_name( $premium_suffix ), 5169 5224 'file' => $this->_plugin_basename, 5170 'is_premium' => $ this->get_bool_option( $plugin_info, 'is_premium', true ),5225 'is_premium' => $is_premium, 5171 5226 'premium_suffix' => $premium_suffix, 5172 5227 'is_live' => $this->get_bool_option( $plugin_info, 'is_live', true ), … … 5237 5292 } else { 5238 5293 $this->_enable_anonymous = $this->get_bool_option( $plugin_info, 'enable_anonymous', true ); 5239 $this->_anonymous_mode = $this->get_bool_option( $plugin_info, 'anonymous_mode', false ); 5294 $this->_anonymous_mode = ( 5295 $this->get_bool_option( $plugin_info, 'anonymous_mode', false ) || 5296 ( 5297 $this->apply_filters( 'playground_anonymous_mode', true ) && 5298 ! empty( $_SERVER['HTTP_HOST'] ) && 5299 FS_Site::is_playground_wp_environment_by_host( $_SERVER['HTTP_HOST'] ) 5300 ) 5301 ); 5240 5302 } 5241 5303 $this->_permissions = $this->get_option( $plugin_info, 'permissions', array() ); … … 5445 5507 if ( $this->is_registered() ) { 5446 5508 // Schedule code type changes event. 5447 $this-> schedule_install_sync();5509 $this->maybe_schedule_install_sync_cron(); 5448 5510 } 5449 5511 … … 6509 6571 6510 6572 /** 6573 * Instead of running blocking install sync event, execute non blocking scheduled cron job. 6574 * 6575 * @param int $except_blog_id Since 2.0.0 when running in a multisite network environment, the cron execution is consolidated. This param allows excluding specified blog ID from being the cron job executor. 6576 * 6577 * @author Leo Fajardo (@leorw) 6578 * @since 2.9.1 6579 */ 6580 private function maybe_schedule_install_sync_cron( $except_blog_id = 0 ) { 6581 if ( ! $this->is_user_in_admin() ) { 6582 return; 6583 } 6584 6585 if ( $this->is_clone() ) { 6586 return; 6587 } 6588 6589 if ( 6590 // The event has been properly scheduled, so no need to reschedule it. 6591 is_numeric( $this->next_install_sync() ) 6592 ) { 6593 return; 6594 } 6595 6596 $this->schedule_cron( 'install_sync', 'install_sync', 'single', WP_FS__SCRIPT_START_TIME, false, $except_blog_id ); 6597 } 6598 6599 /** 6511 6600 * @author Vova Feldman (@svovaf) 6512 6601 * @since 1.1.7.3 … … 6603 6692 private function get_install_sync_cron_blog_id() { 6604 6693 return $this->get_cron_blog_id( 'install_sync' ); 6605 }6606 6607 /**6608 * Instead of running blocking install sync event, execute non blocking scheduled wp-cron.6609 *6610 * @author Vova Feldman (@svovaf)6611 * @since 1.1.7.36612 *6613 * @param int $except_blog_id Since 2.0.0 when running in a multisite network environment, the cron execution is consolidated. This param allows excluding excluded specified blog ID from being the cron executor.6614 */6615 private function schedule_install_sync( $except_blog_id = 0 ) {6616 if ( $this->is_clone() ) {6617 return;6618 }6619 6620 $this->schedule_cron( 'install_sync', 'install_sync', 'single', WP_FS__SCRIPT_START_TIME, false, $except_blog_id );6621 6694 } 6622 6695 … … 7412 7485 if ( 7413 7486 is_plugin_active( $other_version_basename ) && 7414 $this->apply_filters( 'deactivate_on_activation', true)7487 $this->apply_filters( 'deactivate_on_activation', ! $this->is_parallel_activation() ) 7415 7488 ) { 7416 7489 deactivate_plugins( $other_version_basename ); … … 7426 7499 // Schedule re-activation event and sync. 7427 7500 // $this->sync_install( array(), true ); 7428 $this-> schedule_install_sync();7501 $this->maybe_schedule_install_sync_cron(); 7429 7502 7430 7503 // If activating the premium module version, add an admin notice to congratulate for an upgrade completion. … … 8617 8690 } 8618 8691 8619 $this-> schedule_install_sync();8692 $this->maybe_schedule_install_sync_cron(); 8620 8693 // $this->sync_install( array(), true ); 8621 8694 } … … 15975 16048 $context_blog_id == $this->get_install_sync_cron_blog_id() 15976 16049 ) { 15977 $this-> schedule_install_sync( $context_blog_id );16050 $this->maybe_schedule_install_sync_cron( $context_blog_id ); 15978 16051 } 15979 16052 } … … 23928 24001 // Start trial button. 23929 24002 $button = ' ' . sprintf( 23930 '< a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',24003 '<div><a class="button button-primary" href="%s">%s ➜</a></div>', 23931 24004 $trial_url, 23932 24005 $this->get_text_x_inline( 'Start free trial', 'call to action', 'start-free-trial' ) 23933 24006 ); 23934 24007 24008 $message_text = $this->apply_filters( 'trial_promotion_message', "{$message} {$cc_string}" ); 24009 23935 24010 $this->_admin_notices->add_sticky( 23936 $this->apply_filters( 'trial_promotion_message', "{$message} {$cc_string} {$button}" ),24011 "<div class=\"fs-trial-message-container\"><div>{$message_text}</div> {$button}</div>", 23937 24012 'trial_promotion', 23938 24013 '', … … 25404 25479 25405 25480 // Locate the main assets folder. 25406 if ( 1 < count( $fs_active_plugins->plugins ) ) {25481 if ( ! empty( $fs_active_plugins->plugins ) ) { 25407 25482 $plugin_or_theme_img_dir = ( $this->is_plugin() ? WP_PLUGIN_DIR : get_theme_root( get_stylesheet() ) ); 25408 25483 -
content-restrictor-for-divi/trunk/freemius/includes/class-fs-plugin-updater.php
r3180628 r3229077 543 543 global $wp_current_filter; 544 544 545 $current_plugin_version = $this->_fs->get_plugin_version(); 546 547 if ( ! empty( $wp_current_filter ) && 'upgrader_process_complete' === $wp_current_filter[0] ) { 548 if ( 549 is_null( $this->_update_details ) || 550 ( is_object( $this->_update_details ) && $this->_update_details->new_version !== $current_plugin_version ) 551 ) { 552 /** 553 * After an update, clear the stored update details and reparse the plugin's main file in order to get 554 * the updated version's information and prevent the previous update information from showing up on the 555 * updates page. 556 * 557 * @author Leo Fajardo (@leorw) 558 * @since 2.3.1 559 */ 560 $this->_update_details = null; 561 $current_plugin_version = $this->_fs->get_plugin_version( true ); 562 } 545 if ( ! empty( $wp_current_filter ) && in_array( 'upgrader_process_complete', $wp_current_filter ) ) { 546 return $transient_data; 563 547 } 564 548 … … 569 553 fs_request_get_bool( 'force-check' ), 570 554 FS_Plugin_Updater::UPDATES_CHECK_CACHE_EXPIRATION, 571 $ current_plugin_version555 $this->_fs->get_plugin_version() 572 556 ); 573 557 -
content-restrictor-for-divi/trunk/freemius/includes/entities/class-fs-plugin-plan.php
r3180628 r3229077 14 14 * Class FS_Plugin_Plan 15 15 * 16 * @property FS_Pricing[] $pricing17 16 */ 18 17 class FS_Plugin_Plan extends FS_Entity { -
content-restrictor-for-divi/trunk/freemius/includes/entities/class-fs-site.php
r3180628 r3229077 11 11 } 12 12 13 /**14 * @property int $blog_id15 */16 #[AllowDynamicProperties]17 13 class FS_Site extends FS_Scope_Entity { 18 14 /** … … 20 16 */ 21 17 public $site_id; 18 /** 19 * @var int 20 */ 21 public $blog_id; 22 22 /** 23 23 * @var number … … 191 191 // Kinsta 192 192 ( 193 ( fs_starts_with( $subdomain, 'st aging-' ) || fs_starts_with( $subdomain, 'env-' ) ) &&193 ( fs_starts_with( $subdomain, 'stg-' ) || fs_starts_with( $subdomain, 'staging-' ) || fs_starts_with( $subdomain, 'env-' ) ) && 194 194 ( fs_ends_with( $subdomain, '.kinsta.com' ) || fs_ends_with( $subdomain, '.kinsta.cloud' ) ) 195 195 ) || … … 209 209 } 210 210 211 /** 212 * @author Leo Fajardo (@leorw) 213 * @since 2.9.1 214 * 215 * @param string $host 216 * 217 * @return bool 218 */ 219 static function is_playground_wp_environment_by_host( $host ) { 220 // Services aimed at providing a WordPress sandbox environment. 221 $sandbox_wp_environment_domains = array( 222 // InstaWP 223 'instawp.xyz', 224 225 // TasteWP 226 'tastewp.com', 227 228 // WordPress Playground 229 'playground.wordpress.net', 230 ); 231 232 foreach ( $sandbox_wp_environment_domains as $domain) { 233 if ( 234 ( $host === $domain ) || 235 fs_ends_with( $host, '.' . $domain ) || 236 fs_ends_with( $host, '-' . $domain ) 237 ) { 238 return true; 239 } 240 } 241 242 return false; 243 } 244 211 245 function is_localhost() { 212 246 return ( WP_FS__IS_LOCALHOST_FOR_SERVER || self::is_localhost_by_address( $this->url ) ); -
content-restrictor-for-divi/trunk/freemius/includes/entities/class-fs-user.php
r2908310 r3229077 49 49 } 50 50 51 /** 52 * This method removes the deprecated 'is_beta' property from the serialized data. 53 * Should clean up the serialized data to avoid PHP 8.2 warning on next execution. 54 * 55 * @return void 56 */ 57 function __wakeup() { 58 if ( property_exists( $this, 'is_beta' ) ) { 59 // If we enter here, and we are running PHP 8.2, we already had the warning. But we sanitize data for next execution. 60 unset( $this->is_beta ); 61 } 62 } 63 51 64 function get_name() { 52 65 return trim( ucfirst( trim( is_string( $this->first ) ? $this->first : '' ) ) . ' ' . ucfirst( trim( is_string( $this->last ) ? $this->last : '' ) ) ); -
content-restrictor-for-divi/trunk/freemius/includes/managers/class-fs-admin-menu-manager.php
r2454306 r3229077 700 700 } 701 701 702 $menu_slug = $menu['menu'][2]; 702 703 $parent_slug = isset( $menu['parent_slug'] ) ? 703 $menu['parent_slug'] : 704 'admin.php'; 705 706 return admin_url( 707 $parent_slug . 708 ( false === strpos( $parent_slug, '?' ) ? '?' : '&' ) . 709 'page=' . 710 $menu['menu'][2] 711 ); 704 $menu['parent_slug'] : 705 'admin.php'; 706 707 if ( fs_apply_filter( $this->_module_unique_affix, 'enable_cpt_advanced_menu_logic', false ) ) { 708 $parent_slug = 'admin.php'; 709 710 /** 711 * This line and the `if` block below it are based on the `menu_page_url()` function of WordPress. 712 * 713 * @author Leo Fajardo (@leorw) 714 * @since 2.10.2 715 */ 716 global $_parent_pages; 717 718 if ( ! empty( $_parent_pages[ $menu_slug ] ) ) { 719 $_parent_slug = $_parent_pages[ $menu_slug ]; 720 $parent_slug = isset( $_parent_pages[ $_parent_slug ] ) ? 721 $parent_slug : 722 $menu['parent_slug']; 723 } 724 } 725 726 return admin_url( 727 $parent_slug . 728 ( false === strpos( $parent_slug, '?' ) ? '?' : '&' ) . 729 'page=' . 730 $menu_slug 731 ); 712 732 } 713 733 -
content-restrictor-for-divi/trunk/freemius/includes/managers/class-fs-admin-notice-manager.php
r2908310 r3229077 195 195 */ 196 196 static function _add_sticky_dismiss_javascript() { 197 $sticky_admin_notice_js_template_name = 'sticky-admin-notice-js.php'; 198 199 if ( ! file_exists( fs_get_template_path( $sticky_admin_notice_js_template_name ) ) ) { 200 return; 201 } 202 197 203 $params = array(); 198 fs_require_once_template( 'sticky-admin-notice-js.php', $params );204 fs_require_once_template( $sticky_admin_notice_js_template_name, $params ); 199 205 } 200 206 -
content-restrictor-for-divi/trunk/freemius/start.php
r3180628 r3229077 16 16 * @var string 17 17 */ 18 $this_sdk_version = '2. 9.0';18 $this_sdk_version = '2.11.0'; 19 19 20 20 #region SDK Selection Logic -------------------------------------------------------------------- … … 37 37 } 38 38 39 /** 39 /** 40 * We updated the logic to support SDK loading from a subfolder of a theme as well as from a parent theme 41 * If the SDK is found in the active theme, it sets the relative path accordingly. 42 * If not, it checks the parent theme and sets the relative path if found there. 43 * This allows the SDK to be loaded from composer dependencies or from a custom `vendor/freemius` folder. 44 * 45 * @author Daniele Alessandra (@DanieleAlessandra) 46 * @since 2.9.0.5 47 * 48 * 40 49 * This complex logic fixes symlink issues (e.g. with Vargant). The logic assumes 41 50 * that if it's a file from an SDK running in a theme, the location of the SDK … … 84 93 $themes_directory = get_theme_root( get_stylesheet() ); 85 94 $themes_directory_name = basename( $themes_directory ); 86 $theme_candidate_basename = basename( dirname( $fs_root_path ) ) . '/' . basename( $fs_root_path ); 87 88 if ( $file_path == fs_normalize_path( realpath( trailingslashit( $themes_directory ) . $theme_candidate_basename . '/' . basename( $file_path ) ) ) 89 ) { 90 $this_sdk_relative_path = '../' . $themes_directory_name . '/' . $theme_candidate_basename; 91 $is_theme = true; 92 } else { 93 $this_sdk_relative_path = plugin_basename( $fs_root_path ); 94 $is_theme = false; 95 } 95 96 // This change ensures that the condition works even if the SDK is located in a subdirectory (e.g., vendor) 97 $theme_candidate_sdk_basename = str_replace( $themes_directory . '/' . get_stylesheet() . '/', '', $fs_root_path ); 98 99 // Check if the current file is part of the active theme. 100 $is_current_sdk_from_active_theme = $file_path == $themes_directory . '/' . get_stylesheet() . '/' . $theme_candidate_sdk_basename . '/' . basename( $file_path ); 101 $is_current_sdk_from_parent_theme = false; 102 103 // Check if the current file is part of the parent theme. 104 if ( ! $is_current_sdk_from_active_theme ) { 105 $theme_candidate_sdk_basename = str_replace( $themes_directory . '/' . get_template() . '/', 106 '', 107 $fs_root_path ); 108 $is_current_sdk_from_parent_theme = $file_path == $themes_directory . '/' . get_template() . '/' . $theme_candidate_sdk_basename . '/' . basename( $file_path ); 109 } 110 111 $theme_name = null; 112 if ( $is_current_sdk_from_active_theme ) { 113 $theme_name = get_stylesheet(); 114 $this_sdk_relative_path = '../' . $themes_directory_name . '/' . $theme_name . '/' . $theme_candidate_sdk_basename; 115 $is_theme = true; 116 } else if ( $is_current_sdk_from_parent_theme ) { 117 $theme_name = get_template(); 118 $this_sdk_relative_path = '../' . $themes_directory_name . '/' . $theme_name . '/' . $theme_candidate_sdk_basename; 119 $is_theme = true; 120 } else { 121 $this_sdk_relative_path = plugin_basename( $fs_root_path ); 122 $is_theme = false; 123 124 /** 125 * If this file was included from another plugin with lower SDK version, and if this plugin is symlinked, then we need to get the actual plugin path, 126 * as the value right now will be wrong, it will only remove the directory separator from the file_path. 127 * 128 * The check of `fs_find_direct_caller_plugin_file` determines that this file was indeed included by a different plugin than the main plugin. 129 */ 130 if ( DIRECTORY_SEPARATOR . $this_sdk_relative_path === $fs_root_path && function_exists( 'fs_find_direct_caller_plugin_file' ) ) { 131 $original_plugin_dir_name = dirname( fs_find_direct_caller_plugin_file( $file_path ) ); 132 133 // Remove everything before the original plugin directory name. 134 $this_sdk_relative_path = substr( $this_sdk_relative_path, strpos( $this_sdk_relative_path, $original_plugin_dir_name ) ); 135 136 unset( $original_plugin_dir_name ); 137 } 138 } 96 139 97 140 if ( ! isset( $fs_active_plugins ) ) { … … 177 220 ) { 178 221 if ( $is_theme ) { 179 $plugin_path = basename( dirname( $this_sdk_relative_path ) ); 222 // Saving relative path and not only directory name as it could be a subfolder 223 $plugin_path = $theme_name; 180 224 } else { 181 225 $plugin_path = plugin_basename( fs_find_direct_caller_plugin_file( $file_path ) ); … … 226 270 $is_newest_sdk_type_theme = ( isset( $fs_newest_sdk->type ) && 'theme' === $fs_newest_sdk->type ); 227 271 228 if ( ! $is_newest_sdk_type_theme ) { 229 $is_newest_sdk_plugin_active = is_plugin_active( $fs_newest_sdk->plugin_path ); 230 } else { 231 $current_theme = wp_get_theme(); 232 $is_newest_sdk_plugin_active = ( $current_theme->stylesheet === $fs_newest_sdk->plugin_path ); 272 /** 273 * @var bool $is_newest_sdk_module_active 274 * True if the plugin with the newest SDK is active. 275 * True if the newest SDK is part of the current theme or current theme's parent. 276 * False otherwise. 277 */ 278 if ( ! $is_newest_sdk_type_theme ) { 279 $is_newest_sdk_module_active = is_plugin_active( $fs_newest_sdk->plugin_path ); 280 } else { 281 $current_theme = wp_get_theme(); 282 // Detect if current theme is the one registered as newer SDK 283 $is_newest_sdk_module_active = ( 284 strpos( 285 $fs_newest_sdk->plugin_path, 286 '../' . $themes_directory_name . '/' . $current_theme->get_stylesheet() . '/' 287 ) === 0 288 ); 233 289 234 290 $current_theme_parent = $current_theme->parent(); … … 238 294 * from happening by keeping the SDK info stored in the `fs_active_plugins` option. 239 295 */ 240 if ( ! $is_newest_sdk_plugin_active && $current_theme_parent instanceof WP_Theme ) { 241 $is_newest_sdk_plugin_active = ( $fs_newest_sdk->plugin_path === $current_theme_parent->stylesheet ); 296 if ( ! $is_newest_sdk_module_active && $current_theme_parent instanceof WP_Theme ) { 297 // Detect if current theme parent is the one registered as newer SDK 298 $is_newest_sdk_module_active = ( 299 strpos( 300 $fs_newest_sdk->plugin_path, 301 '../' . $themes_directory_name . '/' . $current_theme_parent->get_stylesheet() . '/' 302 ) === 0 303 ); 242 304 } 243 305 } 244 306 245 307 if ( $is_current_sdk_newest && 246 ! $is_newest_sdk_ plugin_active &&308 ! $is_newest_sdk_module_active && 247 309 ! $fs_active_plugins->newest->in_activation 248 310 ) { … … 263 325 } 264 326 265 $is_newest_sdk_path_valid = ( $is_newest_sdk_ plugin_active || $fs_active_plugins->newest->in_activation ) && file_exists( $sdk_starter_path );327 $is_newest_sdk_path_valid = ( $is_newest_sdk_module_active || $fs_active_plugins->newest->in_activation ) && file_exists( $sdk_starter_path ); 266 328 267 329 if ( ! $is_newest_sdk_path_valid && ! $is_current_sdk_newest ) { … … 270 332 } 271 333 272 if ( ! ( $is_newest_sdk_ plugin_active || $fs_active_plugins->newest->in_activation ) ||334 if ( ! ( $is_newest_sdk_module_active || $fs_active_plugins->newest->in_activation ) || 273 335 ! $is_newest_sdk_path_valid || 274 336 // Is newest SDK downgraded. … … 285 347 fs_fallback_to_newest_active_sdk(); 286 348 } else { 287 if ( $is_newest_sdk_ plugin_active &&349 if ( $is_newest_sdk_module_active && 288 350 $this_sdk_relative_path == $fs_active_plugins->newest->sdk_path && 289 351 ( $fs_active_plugins->newest->in_activation || … … 314 376 } 315 377 316 if ( version_compare( $this_sdk_version, $fs_active_plugins->newest->version, '<' ) ) {378 if ( isset( $fs_active_plugins->newest ) && version_compare( $this_sdk_version, $fs_active_plugins->newest->version, '<' ) ) { 317 379 $newest_sdk = $fs_active_plugins->plugins[ $fs_active_plugins->newest->sdk_path ]; 318 380 -
content-restrictor-for-divi/trunk/freemius/templates/forms/license-activation.php
r3180628 r3229077 570 570 } else { 571 571 if ( ! hasLicensesDropdown ) { 572 licenseID = $availableLicenseKey.data( 'id' ) ;572 licenseID = $availableLicenseKey.data( 'id' ).toString(); 573 573 } else { 574 574 licenseID = $licensesDropdown.val(); -
content-restrictor-for-divi/trunk/freemius/templates/pricing.php
r3180628 r3229077 70 70 wp_enqueue_script( 'freemius-pricing', $pricing_js_url ); 71 71 72 $pricing_css_path = $fs->apply_filters( 'pricing/css_path', null ); 73 if ( is_string( $pricing_css_path ) ) { 74 wp_enqueue_style( 'freemius-pricing', fs_asset_url( $pricing_css_path ) ); 75 } 76 72 77 $has_tabs = $fs->_add_tabs_before_content(); 73 78 … … 96 101 'show_annual_in_monthly' => $fs->apply_filters( 'pricing/show_annual_in_monthly', true ), 97 102 'license' => $fs->has_active_valid_license() ? $fs->_get_license() : null, 103 'plugin_icon' => $fs->get_local_icon_url(), 104 'disable_single_package' => $fs->apply_filters( 'pricing/disable_single_package', false ), 98 105 ), $query_params ); 99 106 -
content-restrictor-for-divi/trunk/readme.txt
r3180628 r3229077 3 3 Tags: divi restrict content, divi content access control 4 4 Requires at least: 4.5 5 Tested up to: 6. 6.26 Stable tag: 1.5. 15 Tested up to: 6.7.1 6 Stable tag: 1.5.2 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 77 77 == Changelog == 78 78 79 = 1.5.2 = 80 * Updated: Freemius SDK 81 79 82 = 1.5.1 = 80 83 * Updated: Freemius SDK -
content-restrictor-for-divi/trunk/vendor/autoload.php
r3180628 r3229077 23 23 require_once __DIR__ . '/composer/autoload_real.php'; 24 24 25 return ComposerAutoloaderInit db91e1bb0d7946ddb0c803fb7d75be17::getLoader();25 return ComposerAutoloaderInit124f8aaf61a88607d3ea6acff3085931::getLoader(); -
content-restrictor-for-divi/trunk/vendor/composer/LICENSE
r3180628 r3229077 1 1 2 Copyright (c) Nils Adermann, Jordi Boggiano 2 3 … … 18 19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 20 THE SOFTWARE. 21 -
content-restrictor-for-divi/trunk/vendor/composer/autoload_real.php
r3180628 r3229077 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit db91e1bb0d7946ddb0c803fb7d75be175 class ComposerAutoloaderInit124f8aaf61a88607d3ea6acff3085931 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit db91e1bb0d7946ddb0c803fb7d75be17', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInit124f8aaf61a88607d3ea6acff3085931', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 27 spl_autoload_unregister(array('ComposerAutoloaderInit db91e1bb0d7946ddb0c803fb7d75be17', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInit124f8aaf61a88607d3ea6acff3085931', 'loadClassLoader')); 28 28 29 29 require __DIR__ . '/autoload_static.php'; 30 call_user_func(\Composer\Autoload\ComposerStaticInit db91e1bb0d7946ddb0c803fb7d75be17::getInitializer($loader));30 call_user_func(\Composer\Autoload\ComposerStaticInit124f8aaf61a88607d3ea6acff3085931::getInitializer($loader)); 31 31 32 32 $loader->register(true); -
content-restrictor-for-divi/trunk/vendor/composer/autoload_static.php
r3180628 r3229077 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit db91e1bb0d7946ddb0c803fb7d75be177 class ComposerStaticInit124f8aaf61a88607d3ea6acff3085931 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 38 38 { 39 39 return \Closure::bind(function () use ($loader) { 40 $loader->prefixLengthsPsr4 = ComposerStaticInit db91e1bb0d7946ddb0c803fb7d75be17::$prefixLengthsPsr4;41 $loader->prefixDirsPsr4 = ComposerStaticInit db91e1bb0d7946ddb0c803fb7d75be17::$prefixDirsPsr4;42 $loader->classMap = ComposerStaticInit db91e1bb0d7946ddb0c803fb7d75be17::$classMap;40 $loader->prefixLengthsPsr4 = ComposerStaticInit124f8aaf61a88607d3ea6acff3085931::$prefixLengthsPsr4; 41 $loader->prefixDirsPsr4 = ComposerStaticInit124f8aaf61a88607d3ea6acff3085931::$prefixDirsPsr4; 42 $loader->classMap = ComposerStaticInit124f8aaf61a88607d3ea6acff3085931::$classMap; 43 43 44 44 }, null, ClassLoader::class); -
content-restrictor-for-divi/trunk/vendor/composer/installed.php
r3180628 r3229077 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' cc39fad9d5be471027404f5e9b61d794e61919f0',6 'reference' => '8b302702ffbc083e0010acdeb83e458a9351de84', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 36 36 'pretty_version' => 'dev-main', 37 37 'version' => 'dev-main', 38 'reference' => ' cc39fad9d5be471027404f5e9b61d794e61919f0',38 'reference' => '8b302702ffbc083e0010acdeb83e458a9351de84', 39 39 'type' => 'library', 40 40 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.