Changeset 3252128
- Timestamp:
- 03/07/2025 11:42:21 AM (11 months ago)
- Location:
- addons-for-elementor/trunk
- Files:
-
- 25 added
- 26 edited
-
addons-for-elementor.php (modified) (2 diffs)
-
freemius/assets/css/admin/checkout.css (modified) (1 diff)
-
freemius/assets/css/admin/common.css (modified) (1 diff)
-
freemius/assets/css/admin/dialog-boxes.css (modified) (1 diff)
-
freemius/assets/js/jquery.form.js (added)
-
freemius/assets/js/pricing (added)
-
freemius/assets/js/pricing/14fb1bd5b7c41648488b06147f50a0dc.svg (added)
-
freemius/assets/js/pricing/178afa6030e76635dbe835e111d2c507.png (added)
-
freemius/assets/js/pricing/27b5a722a5553d9de0170325267fccec.png (added)
-
freemius/assets/js/pricing/4375c4a3ddc6f637c2ab9a2d7220f91e.png (added)
-
freemius/assets/js/pricing/4529cac82a2d1f300d3c4702b7b5e8f3.svg (added)
-
freemius/assets/js/pricing/5480ed23b199531a8cbc05924f26952b.png (added)
-
freemius/assets/js/pricing/b4f3b958f4a019862d81b15f3f8eee3a.svg (added)
-
freemius/assets/js/pricing/c03f665db27af43971565560adfba594.png (added)
-
freemius/assets/js/pricing/cb5fc4f6ec7ada72e986f6e7dde365bf.png (added)
-
freemius/assets/js/pricing/dd89563360f0272635c8f0ab7d7f1402.png (added)
-
freemius/assets/js/pricing/e366d70661d8ad2493bd6afbd779f125.png (added)
-
freemius/assets/js/pricing/f18006f6535a1a6e9c6bfbffafe6f18a.svg (added)
-
freemius/assets/js/pricing/f3aac72a8e63997d6bb888f816457e9b.png (added)
-
freemius/assets/js/pricing/f928f1be99776af83e8e6be4baf8ffe7.svg (added)
-
freemius/assets/js/pricing/fde48e4609a6ddc11d639fc2421f2afd.png (added)
-
freemius/assets/js/pricing/freemius-pricing.js (added)
-
freemius/assets/js/pricing/freemius-pricing.js.LICENSE.txt (added)
-
freemius/includes/class-freemius.php (modified) (41 diffs)
-
freemius/includes/class-fs-api.php (modified) (1 diff)
-
freemius/includes/class-fs-plugin-updater.php (modified) (2 diffs)
-
freemius/includes/class-fs-security.php (modified) (1 diff)
-
freemius/includes/entities/class-fs-plugin-plan.php (modified) (1 diff)
-
freemius/includes/entities/class-fs-site.php (modified) (4 diffs)
-
freemius/includes/entities/class-fs-user.php (modified) (1 diff)
-
freemius/includes/managers/class-fs-admin-menu-manager.php (modified) (1 diff)
-
freemius/includes/managers/class-fs-admin-notice-manager.php (modified) (1 diff)
-
freemius/includes/managers/class-fs-checkout-manager.php (added)
-
freemius/includes/managers/class-fs-contact-form-manager.php (added)
-
freemius/languages/freemius-de_DE.mo (modified) (previous)
-
freemius/languages/freemius.pot (modified) (14 diffs)
-
freemius/require.php (modified) (1 diff)
-
freemius/start.php (modified) (10 diffs)
-
freemius/templates/account.php (modified) (1 diff)
-
freemius/templates/add-ons.php (modified) (1 diff)
-
freemius/templates/checkout (added)
-
freemius/templates/checkout.php (modified) (2 diffs)
-
freemius/templates/checkout/frame.php (added)
-
freemius/templates/checkout/process-redirect.php (added)
-
freemius/templates/checkout/redirect.php (added)
-
freemius/templates/contact.php (modified) (4 diffs)
-
freemius/templates/forms/affiliation.php (modified) (1 diff)
-
freemius/templates/forms/license-activation.php (modified) (1 diff)
-
freemius/templates/pricing.php (modified) (5 diffs)
-
plugin.php (modified) (2 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
addons-for-elementor/trunk/addons-for-elementor.php
r3186964 r3252128 9 9 * License: GPL3 10 10 * License URI: https://www.gnu.org/licenses/gpl-3.0.txt 11 * Version: 8. 711 * Version: 8.8 12 12 * Text Domain: livemesh-el-addons 13 13 * Domain Path: languages 14 * Elementor tested up to: 3.2 6.015 * Elementor Pro tested up to: 3.2 6.014 * Elementor tested up to: 3.28.0 15 * Elementor Pro tested up to: 3.28.0 16 16 * 17 17 * Livemesh Addons for Elementor is distributed under the terms of the GNU … … 37 37 if ( !function_exists( 'lae_fs' ) ) { 38 38 // Plugin version 39 define( 'LAE_VERSION', '8. 7' );39 define( 'LAE_VERSION', '8.8' ); 40 40 // Plugin Root File 41 41 define( 'LAE_PLUGIN_FILE', __FILE__ ); -
addons-for-elementor/trunk/freemius/assets/css/admin/checkout.css
r3176041 r3252128 1 @media screen and (max-width:782px){#wpbody-content{padding-bottom:0!important}}1 .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;animation-name:bounce_ajaxLoader;background-color:#fff;height:20px;position:absolute;top:0;transform:scale(.3);width:20px}.fs-ajax-loader .fs-ajax-loader-bar-1{animation-delay:.6s;left:0}.fs-ajax-loader .fs-ajax-loader-bar-2{animation-delay:.75s;left:19px}.fs-ajax-loader .fs-ajax-loader-bar-3{animation-delay:.9s;left:38px}.fs-ajax-loader .fs-ajax-loader-bar-4{animation-delay:1.05s;left:57px}.fs-ajax-loader .fs-ajax-loader-bar-5{animation-delay:1.2s;left:76px}.fs-ajax-loader .fs-ajax-loader-bar-6{animation-delay:1.35s;left:95px}.fs-ajax-loader .fs-ajax-loader-bar-7{animation-delay:1.5s;left:114px}.fs-ajax-loader .fs-ajax-loader-bar-8{animation-delay:1.65s;left:133px}@keyframes bounce_ajaxLoader{0%{background-color:#0074a3;transform:scale(1)}to{background-color:#fff;transform:scale(.3)}}@media screen and (max-width:782px){#wpbody-content{padding-bottom:0!important}}.fs-checkout-process-redirect{padding:40px;text-align:center} -
addons-for-elementor/trunk/freemius/assets/css/admin/common.css
r3176041 r3252128 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} -
addons-for-elementor/trunk/freemius/assets/css/admin/dialog-boxes.css
r3176041 r3252128 1 .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{font-size:16px;line-height:1.5em;margin-bottom:0;margin-top:10px}#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;animation-name:bounce_ajaxLoader;background-color:# 0074a3;height:20px;position:absolute;top:0;transform:scale(.3);width:20px}.fs-ajax-loader .fs-ajax-loader-bar-1{animation-delay:.6s;left:0}.fs-ajax-loader .fs-ajax-loader-bar-2{animation-delay:.75s;left:19px}.fs-ajax-loader .fs-ajax-loader-bar-3{animation-delay:.9s;left:38px}.fs-ajax-loader .fs-ajax-loader-bar-4{animation-delay:1.05s;left:57px}.fs-ajax-loader .fs-ajax-loader-bar-5{animation-delay:1.2s;left:76px}.fs-ajax-loader .fs-ajax-loader-bar-6{animation-delay:1.35s;left:95px}.fs-ajax-loader .fs-ajax-loader-bar-7{animation-delay:1.5s;left:114px}.fs-ajax-loader .fs-ajax-loader-bar-8{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}1 .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{font-size:16px;line-height:1.5em;margin-bottom:0;margin-top:10px}#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;animation-name:bounce_ajaxLoader;background-color:#fff;height:20px;position:absolute;top:0;transform:scale(.3);width:20px}.fs-ajax-loader .fs-ajax-loader-bar-1{animation-delay:.6s;left:0}.fs-ajax-loader .fs-ajax-loader-bar-2{animation-delay:.75s;left:19px}.fs-ajax-loader .fs-ajax-loader-bar-3{animation-delay:.9s;left:38px}.fs-ajax-loader .fs-ajax-loader-bar-4{animation-delay:1.05s;left:57px}.fs-ajax-loader .fs-ajax-loader-bar-5{animation-delay:1.2s;left:76px}.fs-ajax-loader .fs-ajax-loader-bar-6{animation-delay:1.35s;left:95px}.fs-ajax-loader .fs-ajax-loader-bar-7{animation-delay:1.5s;left:114px}.fs-ajax-loader .fs-ajax-loader-bar-8{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} -
addons-for-elementor/trunk/freemius/includes/class-freemius.php
r3176041 r3252128 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 /** … … 380 386 #endregion 381 387 382 /**383 * @author Leo Fajardo (@leorw)384 * @since 2.3.1385 *386 * @var boolean|null387 */388 private $_use_external_pricing = null;389 388 /** 390 389 * @author Leo Fajardo (@leorw) … … 1381 1380 1382 1381 /** 1383 * Opens the support forum subemenu item in a new browser page. 1384 * 1385 * @author Vova Feldman (@svovaf) 1382 * Modifies all external links in the submenu by altering their href, and also opens them in new tab if needed. 1383 * 1384 * @author Vova Feldman (@svovaf) 1385 * @author Swashata Ghosh (@swashata) 1386 1386 * @since 2.1.4 1387 1387 */ 1388 static function _ open_support_forum_in_new_page() {1388 static function _handle_submenu_external_link() { 1389 1389 ?> 1390 1390 <script type="text/javascript"> 1391 (function ($) { 1392 $('.fs-submenu-item.wp-support-forum').parent().attr( { target: '_blank', rel: 'noopener noreferrer' } ); 1393 })(jQuery); 1391 (function ( $ ) { 1392 $( '.fs-submenu-item' ).each( function () { 1393 var $this = $( this ), 1394 $parent = $this.parent(), 1395 externalLink = $this.data( 'fs-external-url' ), 1396 isOpensInNewTab = $this.data( 'fs-new-tab' ); 1397 1398 if ( externalLink ) { 1399 $parent.attr( 'href', externalLink ); 1400 } 1401 1402 if ( isOpensInNewTab ) { 1403 $parent.attr( { target: '_blank', rel: 'noopener noreferrer' } ); 1404 } 1405 } ); 1406 } )( jQuery ); 1394 1407 </script> 1395 1408 <?php … … 1488 1501 1489 1502 add_action( 'init', array( &$this, '_maybe_add_gdpr_optin_ajax_handler') ); 1490 add_action( 'init', array( &$this, '_ maybe_add_pricing_ajax_handler' ) );1503 add_action( 'init', array( &$this, '_add_pricing_ajax_handler' ) ); 1491 1504 } 1492 1505 … … 1645 1658 } 1646 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 ); 1647 1685 } 1648 1686 … … 3430 3468 add_action( 'init', array( $clone_manager, '_init' ) ); 3431 3469 3432 add_action( 'admin_footer', array( 'Freemius', '_ open_support_forum_in_new_page' ) );3470 add_action( 'admin_footer', array( 'Freemius', '_handle_submenu_external_link' ) ); 3433 3471 3434 3472 if ( self::is_plugins_page() || self::is_themes_page() ) { … … 5149 5187 new FS_Plugin(); 5150 5188 5189 $is_premium = $this->get_bool_option( $plugin_info, 'is_premium', true ); 5151 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 } 5152 5214 5153 5215 $plugin->update( array( 5154 5216 'id' => $id, 5155 'type' => $ this->get_option( $plugin_info, 'type', $this->_module_type ),5217 'type' => $module_type, 5156 5218 'public_key' => $public_key, 5157 5219 'slug' => $this->_slug, … … 5161 5223 'title' => $this->get_plugin_name( $premium_suffix ), 5162 5224 'file' => $this->_plugin_basename, 5163 'is_premium' => $ this->get_bool_option( $plugin_info, 'is_premium', true ),5225 'is_premium' => $is_premium, 5164 5226 'premium_suffix' => $premium_suffix, 5165 5227 'is_live' => $this->get_bool_option( $plugin_info, 'is_live', true ), … … 5230 5292 } else { 5231 5293 $this->_enable_anonymous = $this->get_bool_option( $plugin_info, 'enable_anonymous', true ); 5232 $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 ); 5233 5302 } 5234 5303 $this->_permissions = $this->get_option( $plugin_info, 'permissions', array() ); … … 5438 5507 if ( $this->is_registered() ) { 5439 5508 // Schedule code type changes event. 5440 $this-> schedule_install_sync();5509 $this->maybe_schedule_install_sync_cron(); 5441 5510 } 5442 5511 … … 6502 6571 6503 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 /** 6504 6600 * @author Vova Feldman (@svovaf) 6505 6601 * @since 1.1.7.3 … … 6596 6692 private function get_install_sync_cron_blog_id() { 6597 6693 return $this->get_cron_blog_id( 'install_sync' ); 6598 }6599 6600 /**6601 * Instead of running blocking install sync event, execute non blocking scheduled wp-cron.6602 *6603 * @author Vova Feldman (@svovaf)6604 * @since 1.1.7.36605 *6606 * @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.6607 */6608 private function schedule_install_sync( $except_blog_id = 0 ) {6609 if ( $this->is_clone() ) {6610 return;6611 }6612 6613 $this->schedule_cron( 'install_sync', 'install_sync', 'single', WP_FS__SCRIPT_START_TIME, false, $except_blog_id );6614 6694 } 6615 6695 … … 7405 7485 if ( 7406 7486 is_plugin_active( $other_version_basename ) && 7407 $this->apply_filters( 'deactivate_on_activation', true)7487 $this->apply_filters( 'deactivate_on_activation', ! $this->is_parallel_activation() ) 7408 7488 ) { 7409 7489 deactivate_plugins( $other_version_basename ); … … 7419 7499 // Schedule re-activation event and sync. 7420 7500 // $this->sync_install( array(), true ); 7421 $this-> schedule_install_sync();7501 $this->maybe_schedule_install_sync_cron(); 7422 7502 7423 7503 // If activating the premium module version, add an admin notice to congratulate for an upgrade completion. … … 8610 8690 } 8611 8691 8612 $this-> schedule_install_sync();8692 $this->maybe_schedule_install_sync_cron(); 8613 8693 // $this->sync_install( array(), true ); 8614 8694 } … … 13597 13677 function get_pricing_js_path() { 13598 13678 if ( ! isset( $this->_pricing_js_path ) ) { 13599 $pricing_js_path = $this->apply_filters( 'freemius_pricing_js_path', '' ); 13600 13679 $default_path = WP_FS__DIR_JS . '/pricing/freemius-pricing.js'; 13680 13681 $pricing_js_path = $this->apply_filters( 'freemius_pricing_js_path', $default_path ); 13682 13683 // Backward compatibility for people who placed the freemius-pricing inside `includes` directory. Let it take more preference than the default path. 13601 13684 if ( empty( $pricing_js_path ) ) { 13602 13685 global $fs_active_plugins; … … 13617 13700 } 13618 13701 13702 // If it is still empty, load the default pricing JS. 13703 if ( ! file_exists( $pricing_js_path ) ) { 13704 $pricing_js_path = $default_path; 13705 } 13706 13619 13707 $this->_pricing_js_path = $pricing_js_path; 13620 13708 } … … 13627 13715 * @since 2.3.1 13628 13716 * 13717 * @deprecated Since v2.9.0 we have removed the iFrame based pricing. This will always return `false`. 13718 * 13629 13719 * @return bool 13630 13720 */ 13631 13721 function should_use_external_pricing() { 13632 if ( is_null( $this->_use_external_pricing ) ) { 13633 $pricing_js_path = $this->get_pricing_js_path(); 13634 13635 $this->_use_external_pricing = ( empty( $pricing_js_path ) || ! file_exists( $pricing_js_path ) ); 13636 } 13637 13638 return $this->_use_external_pricing; 13722 return false; 13639 13723 } 13640 13724 … … 15964 16048 $context_blog_id == $this->get_install_sync_cron_blog_id() 15965 16049 ) { 15966 $this-> schedule_install_sync( $context_blog_id );16050 $this->maybe_schedule_install_sync_cron( $context_blog_id ); 15967 16051 } 15968 16052 } … … 18000 18084 * @author Leo Fajardo (@leorw) 18001 18085 */ 18086 $user = $this->_user; 18087 18002 18088 $this->_user = null; 18003 18089 18004 18090 fs_redirect( $this->get_activation_url( array( 'error' => $result->error->message ) ) ); 18091 18092 /** 18093 * Restore the user after the redirect, this is relevant when there are cases where the redirect will choose not to do anything. 18094 */ 18095 $this->_user = $user; 18005 18096 } 18006 18097 } … … 18767 18858 if (! WP_FS__DEMO_MODE && ! $this->is_whitelabeled() ) { 18768 18859 // Add contact page. 18769 $this->add_submenu_item( 18770 $this->get_text_inline( 'Contact Us', 'contact-us' ), 18771 array( &$this, '_contact_page_render' ), 18772 $this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Contact Us', 'contact-us' ), 18773 'manage_options', 18774 'contact', 18775 'Freemius::_clean_admin_content_section', 18776 WP_FS__DEFAULT_PRIORITY, 18777 $this->is_submenu_item_visible( 'contact' ) 18778 ); 18860 if ( $this->is_premium() ) { 18861 $this->add_submenu_item( 18862 $this->get_text_inline( 'Contact Us', 'contact-us' ), 18863 array( &$this, '_contact_page_render' ), 18864 $this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Contact Us', 'contact-us' ), 18865 'manage_options', 18866 'contact', 18867 'Freemius::_clean_admin_content_section', 18868 WP_FS__DEFAULT_PRIORITY, 18869 $this->is_submenu_item_visible( 'contact' ) 18870 ); 18871 } else { 18872 $this->add_submenu_link_item( 18873 $this->get_text_inline( 'Contact Us', 'contact-us' ), 18874 FS_Contact_Form_Manager::instance()->get_standalone_link( $this ), 18875 'contact', 18876 'manage_options', 18877 WP_FS__DEFAULT_PRIORITY, 18878 $this->is_submenu_item_visible( 'contact' ), 18879 'fs_external_contact', 18880 true 18881 ); 18882 } 18779 18883 } 18780 18884 … … 18878 18982 */ 18879 18983 private function embed_submenu_items() { 18880 $item_ template = $this->_menu->is_top_level() ?18881 '<span class="fs-submenu-item %s %s %s">%s</span>' : 18882 '<span class="fs-submenu-item fs-sub %s %s %s">%s</span>';18984 $item_classes = $this->_menu->is_top_level() ? 'fs-submenu-item' : 'fs-submenu-item fs-sub'; 18985 18986 $item_template = '<span class="' . $item_classes . ' %1$s %2$s %3$s" data-fs-external-url="%5$s" data-fs-new-tab="%6$s">%4$s</span>'; 18883 18987 18884 18988 $top_level_menu_capability = $this->get_top_level_menu_capability(); … … 18897 19001 $item['menu_slug'], 18898 19002 ! empty( $item['class'] ) ? $item['class'] : '', 18899 $item['menu_title'] 19003 $item['menu_title'], 19004 esc_attr( isset( $item['url'] ) ? $item['url'] : '' ), 19005 esc_attr( isset( $item['new_tab'] ) ? 'true' : 'false' ) 18900 19006 ); 18901 19007 … … 19053 19159 null, 19054 19160 50, 19055 $this->is_submenu_item_visible( 'support' ) 19161 $this->is_submenu_item_visible( 'support' ), 19162 '', 19163 true 19056 19164 ); 19057 19165 } … … 19132 19240 * @param bool $show_submenu 19133 19241 * @param string $class 19242 * @param bool $new_tab 19134 19243 */ 19135 19244 function add_submenu_link_item( … … 19140 19249 $priority = WP_FS__DEFAULT_PRIORITY, 19141 19250 $show_submenu = true, 19142 $class = '' 19251 $class = '', 19252 $new_tab = false 19143 19253 ) { 19144 19254 $this->_logger->entrance( 'Title = ' . $menu_title . '; Url = ' . $url ); … … 19155 19265 $priority, 19156 19266 $show_submenu, 19157 $class 19267 $class, 19268 $new_tab 19158 19269 ); 19159 19270 … … 19176 19287 'show_submenu' => $show_submenu, 19177 19288 'class' => $class, 19289 'new_tab' => $new_tab, 19178 19290 ); 19179 19291 } … … 21687 21799 * 21688 21800 * @param bool|string $plan_name 21801 * @param bool $add_sticky_notice 21689 21802 * 21690 21803 * @return bool If trial was successfully started. 21691 21804 */ 21692 function start_trial( $plan_name = false ) {21805 function start_trial( $plan_name = false, $add_sticky_notice = false ) { 21693 21806 $this->_logger->entrance(); 21694 21807 … … 21701 21814 sprintf( $this->get_text_inline( 'You are already running the %s in a trial mode.', 'in-trial-mode' ), $this->_module_type ), 21702 21815 $oops_text, 21703 'error' 21816 'error', 21817 $add_sticky_notice 21704 21818 ); 21705 21819 … … 21707 21821 } 21708 21822 21709 if ( $this->_site->is_trial_utilized() ) {21823 if ( $this->_site->is_trial_utilized() && ! $this->is_payments_sandbox() ) { 21710 21824 // Trial was already utilized. 21711 21825 $this->_admin_notices->add( 21712 21826 $this->get_text_inline( 'You already utilized a trial before.', 'trial-utilized' ), 21713 21827 $oops_text, 21714 'error' 21828 'error', 21829 $add_sticky_notice 21715 21830 ); 21716 21831 … … 21726 21841 sprintf( $this->get_text_inline( 'Plan %s do not exist, therefore, can\'t start a trial.', 'trial-plan-x-not-exist' ), $plan_name ), 21727 21842 $oops_text, 21728 'error' 21843 'error', 21844 $add_sticky_notice 21729 21845 ); 21730 21846 … … 21737 21853 sprintf( $this->get_text_inline( 'Plan %s does not support a trial period.', 'plan-x-no-trial' ), $plan_name ), 21738 21854 $oops_text, 21739 'error' 21855 'error', 21856 $add_sticky_notice 21740 21857 ); 21741 21858 … … 21748 21865 sprintf( $this->get_text_inline( 'None of the %s\'s plans supports a trial period.', 'no-trials' ), $this->_module_type ), 21749 21866 $oops_text, 21750 'error' 21867 'error', 21868 $add_sticky_notice 21751 21869 ); 21752 21870 … … 21759 21877 } 21760 21878 21761 $api = $this->get_api_site_scope(); 21762 $plan = $api->call( "plans/{$plan->id}/trials.json", 'post' ); 21763 21764 if ( ! $this->is_api_result_entity( $plan ) ) { 21879 $trial_params = array(); 21880 21881 if ( $this->is_payments_sandbox() ) { 21882 $trial_params['trial_timestamp'] = time(); 21883 $trial_params['trial_token'] = FS_Security::instance()->get_trial_token( 21884 $this->get_plugin(), 21885 $plan, 21886 $trial_params['trial_timestamp'] 21887 ); 21888 } 21889 21890 $api = $this->get_api_site_scope(); 21891 $trial = $api->call( "plans/{$plan->id}/trials.json", 'post', $trial_params ); 21892 21893 if ( ! $this->is_api_result_entity( $trial ) ) { 21765 21894 // Some API error while trying to start the trial. 21766 21895 $this->_admin_notices->add( 21767 $this->get_api_error_message( $ plan),21896 $this->get_api_error_message( $trial ), 21768 21897 $oops_text, 21769 'error' 21898 'error', 21899 $add_sticky_notice 21770 21900 ); 21771 21901 … … 22007 22137 if ( true === $fetch_readme ) { 22008 22138 $latest_version_endpoint = add_query_arg( 'readme', 'true', $latest_version_endpoint ); 22139 22140 // Don't cache the API response when fetching readme information. 22141 $expiration = null; 22009 22142 } 22010 22143 … … 23248 23381 $this->_logger->entrance(); 23249 23382 23383 fs_enqueue_local_style( 'fs_common', '/admin/common.css' ); 23384 fs_enqueue_local_style( 'fs_checkout', '/admin/checkout.css' ); 23385 23250 23386 $vars = array( 'id' => $this->_module_id ); 23251 23387 … … 23261 23397 * @since 2.3.1 23262 23398 */ 23263 function _maybe_add_pricing_ajax_handler() { 23264 if ( ! $this->should_use_external_pricing() ) { 23265 $this->add_ajax_action( 'pricing_ajax_action', array( &$this, '_fs_pricing_ajax_action_handler' ) ); 23266 } 23399 function _add_pricing_ajax_handler() { 23400 $this->add_ajax_action( 'pricing_ajax_action', array( &$this, '_fs_pricing_ajax_action_handler' ) ); 23267 23401 } 23268 23402 … … 23314 23448 break; 23315 23449 case 'start_trial': 23316 $result = $this->opt_in( 23317 false, 23318 false, 23319 false, 23320 false, 23321 false, 23322 fs_request_get( 'plan_id' ) 23323 ); 23450 $trial_plan_id = fs_request_get( 'plan_id' ); 23451 23452 if ( $this->is_registered() && $this->is_tracking_allowed() ) { 23453 $plan = $this->_get_plan_by_id( $trial_plan_id ); 23454 23455 if ( ! $plan ) { 23456 $this->shoot_ajax_failure( 'Invalid plan ID.' ); 23457 return; 23458 } 23459 23460 $result = $this->start_trial( $plan->name, true ); 23461 } else { 23462 // @todo - This fails for sandbox trial at the moment if the trial was already utilized. 23463 $result = $this->opt_in( 23464 false, 23465 false, 23466 false, 23467 false, 23468 false, 23469 $trial_plan_id 23470 ); 23471 } 23324 23472 } 23325 23473 … … 23853 24001 // Start trial button. 23854 24002 $button = ' ' . sprintf( 23855 '< 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>', 23856 24004 $trial_url, 23857 24005 $this->get_text_x_inline( 'Start free trial', 'call to action', 'start-free-trial' ) 23858 24006 ); 23859 24007 24008 $message_text = $this->apply_filters( 'trial_promotion_message', "{$message} {$cc_string}" ); 24009 23860 24010 $this->_admin_notices->add_sticky( 23861 $this->apply_filters( 'trial_promotion_message', "{$message} {$cc_string} {$button}" ),24011 "<div class=\"fs-trial-message-container\"><div>{$message_text}</div> {$button}</div>", 23862 24012 'trial_promotion', 23863 24013 '', … … 25329 25479 25330 25480 // Locate the main assets folder. 25331 if ( 1 < count( $fs_active_plugins->plugins ) ) {25481 if ( ! empty( $fs_active_plugins->plugins ) ) { 25332 25482 $plugin_or_theme_img_dir = ( $this->is_plugin() ? WP_PLUGIN_DIR : get_theme_root( get_stylesheet() ) ); 25333 25483 -
addons-for-elementor/trunk/freemius/includes/class-fs-api.php
r3176041 r3252128 356 356 } 357 357 358 self::$_cache->set( $cache_key, $result, $expiration ); 358 if ( is_numeric( $expiration ) ) { 359 self::$_cache->set( $cache_key, $result, $expiration ); 360 } 359 361 360 362 $cached_result = $result; -
addons-for-elementor/trunk/freemius/includes/class-fs-plugin-updater.php
r3176041 r3252128 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 -
addons-for-elementor/trunk/freemius/includes/class-fs-security.php
r1898368 r3252128 83 83 ); 84 84 } 85 86 /** 87 * Gets a sandbox trial token for a given plugin, plan, and trial timestamp. 88 * 89 * @param FS_Plugin $plugin 90 * @param FS_Plugin_Plan $plan 91 * @param int $trial_timestamp 92 * 93 * @return string 94 */ 95 function get_trial_token( FS_Plugin $plugin, FS_Plugin_Plan $plan, $trial_timestamp ) { 96 return md5( 97 $plugin->secret_key . $plugin->public_key . 98 $plan->trial_period . 99 $plan->id . 100 $trial_timestamp 101 ); 102 } 85 103 } -
addons-for-elementor/trunk/freemius/includes/entities/class-fs-plugin-plan.php
r3176041 r3252128 14 14 * Class FS_Plugin_Plan 15 15 * 16 * @property FS_Pricing[] $pricing17 16 */ 18 17 class FS_Plugin_Plan extends FS_Entity { -
addons-for-elementor/trunk/freemius/includes/entities/class-fs-site.php
r3176041 r3252128 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 ) ); -
addons-for-elementor/trunk/freemius/includes/entities/class-fs-user.php
r2872447 r3252128 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 : '' ) ) ); -
addons-for-elementor/trunk/freemius/includes/managers/class-fs-admin-menu-manager.php
r2390129 r3252128 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 -
addons-for-elementor/trunk/freemius/includes/managers/class-fs-admin-notice-manager.php
r2872447 r3252128 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 -
addons-for-elementor/trunk/freemius/languages/freemius.pot
r3176041 r3252128 9 9 "Language-Team: Freemius Team <[email protected]>\n" 10 10 "Last-Translator: Vova Feldman <[email protected]>\n" 11 "POT-Creation-Date: 2024- 04-22 10:16+0000\n"11 "POT-Creation-Date: 2024-10-20 12:05+0000\n" 12 12 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n" 13 13 "X-Poedit-Basepath: ..\n" … … 18 18 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 19 20 #: includes/class-freemius.php:17 81, templates/account.php:94320 #: includes/class-freemius.php:1790, templates/account.php:943 21 21 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." 22 22 msgstr "" 23 23 24 #: includes/class-freemius.php:17 8824 #: includes/class-freemius.php:1797 25 25 msgid "Would you like to proceed with the update?" 26 26 msgstr "" 27 27 28 #: includes/class-freemius.php:20 1328 #: includes/class-freemius.php:2022 29 29 msgid "Freemius SDK couldn't find the plugin's main file. Please contact [email protected] with the current error." 30 30 msgstr "" 31 31 32 #: includes/class-freemius.php:20 15, includes/fs-plugin-info-dialog.php:151332 #: includes/class-freemius.php:2024, includes/fs-plugin-info-dialog.php:1513 33 33 msgid "Error" 34 34 msgstr "" 35 35 36 #: includes/class-freemius.php:24 6136 #: includes/class-freemius.php:2470 37 37 msgid "I found a better %s" 38 38 msgstr "" 39 39 40 #: includes/class-freemius.php:24 6340 #: includes/class-freemius.php:2472 41 41 msgid "What's the %s's name?" 42 42 msgstr "" 43 43 44 #: includes/class-freemius.php:24 6944 #: includes/class-freemius.php:2478 45 45 msgid "It's a temporary %s - I'm troubleshooting an issue" 46 46 msgstr "" 47 47 48 #: includes/class-freemius.php:24 7148 #: includes/class-freemius.php:2480 49 49 msgid "Deactivation" 50 50 msgstr "" 51 51 52 #: includes/class-freemius.php:24 7252 #: includes/class-freemius.php:2481 53 53 msgid "Theme Switch" 54 54 msgstr "" 55 55 56 #: includes/class-freemius.php:24 81, templates/forms/resend-key.php:24, templates/forms/user-change.php:2956 #: includes/class-freemius.php:2490, templates/forms/resend-key.php:24, templates/forms/user-change.php:29 57 57 msgid "Other" 58 58 msgstr "" 59 59 60 #: includes/class-freemius.php:24 8960 #: includes/class-freemius.php:2498 61 61 msgid "I no longer need the %s" 62 62 msgstr "" 63 63 64 #: includes/class-freemius.php:2 49664 #: includes/class-freemius.php:2505 65 65 msgid "I only needed the %s for a short period" 66 66 msgstr "" 67 67 68 #: includes/class-freemius.php:25 0268 #: includes/class-freemius.php:2511 69 69 msgid "The %s broke my site" 70 70 msgstr "" 71 71 72 #: includes/class-freemius.php:25 0972 #: includes/class-freemius.php:2518 73 73 msgid "The %s suddenly stopped working" 74 74 msgstr "" 75 75 76 #: includes/class-freemius.php:25 1976 #: includes/class-freemius.php:2528 77 77 msgid "I can't pay for it anymore" 78 78 msgstr "" 79 79 80 #: includes/class-freemius.php:25 2180 #: includes/class-freemius.php:2530 81 81 msgid "What price would you feel comfortable paying?" 82 82 msgstr "" 83 83 84 #: includes/class-freemius.php:25 2784 #: includes/class-freemius.php:2536 85 85 msgid "I don't like to share my information with you" 86 86 msgstr "" 87 87 88 #: includes/class-freemius.php:25 4888 #: includes/class-freemius.php:2557 89 89 msgid "The %s didn't work" 90 90 msgstr "" 91 91 92 #: includes/class-freemius.php:25 5892 #: includes/class-freemius.php:2567 93 93 msgid "I couldn't understand how to make it work" 94 94 msgstr "" 95 95 96 #: includes/class-freemius.php:25 6696 #: includes/class-freemius.php:2575 97 97 msgid "The %s is great, but I need specific feature that you don't support" 98 98 msgstr "" 99 99 100 #: includes/class-freemius.php:25 68100 #: includes/class-freemius.php:2577 101 101 msgid "What feature?" 102 102 msgstr "" 103 103 104 #: includes/class-freemius.php:25 72104 #: includes/class-freemius.php:2581 105 105 msgid "The %s is not working" 106 106 msgstr "" 107 107 108 #: includes/class-freemius.php:25 74108 #: includes/class-freemius.php:2583 109 109 msgid "Kindly share what didn't work so we can fix it for future users..." 110 110 msgstr "" 111 111 112 #: includes/class-freemius.php:25 78112 #: includes/class-freemius.php:2587 113 113 msgid "It's not what I was looking for" 114 114 msgstr "" 115 115 116 #: includes/class-freemius.php:258 0116 #: includes/class-freemius.php:2589 117 117 msgid "What you've been looking for?" 118 118 msgstr "" 119 119 120 #: includes/class-freemius.php:25 84120 #: includes/class-freemius.php:2593 121 121 msgid "The %s didn't work as expected" 122 122 msgstr "" 123 123 124 #: includes/class-freemius.php:25 86124 #: includes/class-freemius.php:2595 125 125 msgid "What did you expect?" 126 126 msgstr "" 127 127 128 #: includes/class-freemius.php:3685, templates/debug.php:24129 msgid "Freemius Debug"130 msgstr ""131 132 128 #. translators: %s: License type (e.g. you have a professional license) 133 #: includes/class-freemius.php:4 828129 #: includes/class-freemius.php:4517 134 130 msgid "You have purchased a %s license." 135 131 msgstr "" 136 132 137 #: includes/class-freemius.php:4 832133 #: includes/class-freemius.php:4521 138 134 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." 139 135 msgstr "" 140 136 141 #: includes/class-freemius.php:4 842, includes/class-freemius.php:21174, includes/class-freemius.php:24859137 #: includes/class-freemius.php:4531, includes/class-freemius.php:20889, includes/class-freemius.php:24610 142 138 msgctxt "interjection expressing joy or exuberance" 143 139 msgid "Yee-haw" 144 140 msgstr "" 145 141 146 #: includes/class-freemius.php:4 856142 #: includes/class-freemius.php:4545 147 143 msgctxt "addonX cannot run without pluginY" 148 144 msgid "%s cannot run without %s." 149 145 msgstr "" 150 146 151 #: includes/class-freemius.php:4 857147 #: includes/class-freemius.php:4546 152 148 msgctxt "addonX cannot run..." 153 149 msgid "%s cannot run without the plugin." 154 150 msgstr "" 155 151 156 #: includes/class-freemius.php:4 859, 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:57152 #: includes/class-freemius.php:4548, includes/class-freemius.php:5745, includes/class-freemius.php:13477, includes/class-freemius.php:14228, includes/class-freemius.php:17997, includes/class-freemius.php:18117, includes/class-freemius.php:18294, includes/class-freemius.php:20620, includes/class-freemius.php:21736, includes/class-freemius.php:22772, includes/class-freemius.php:22902, includes/class-freemius.php:23045, templates/add-ons.php:57 157 153 msgctxt "exclamation" 158 154 msgid "Oops" 159 155 msgstr "" 160 156 161 #: includes/class-freemius.php: 5138157 #: includes/class-freemius.php:4827 162 158 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:" 163 159 msgstr "" 164 160 165 161 #. translators: %s: License type (e.g. you have a professional license) 166 #: includes/class-freemius.php:5 743162 #: includes/class-freemius.php:5437 167 163 msgid "You have a %s license." 168 164 msgstr "" 169 165 170 #: includes/class-freemius.php:5 716166 #: includes/class-freemius.php:5410 171 167 msgid "Premium %s version was successfully activated." 172 168 msgstr "" 173 169 174 #: includes/class-freemius.php:5 728, includes/class-freemius.php:7765170 #: includes/class-freemius.php:5422, includes/class-freemius.php:7434 175 171 msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)." 176 172 msgid "W00t" 177 173 msgstr "" 178 174 179 #: includes/class-freemius.php: 6034175 #: includes/class-freemius.php:5728 180 176 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." 181 177 msgstr "" 182 178 183 #: includes/class-freemius.php: 6038179 #: includes/class-freemius.php:5732 184 180 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin." 185 181 msgstr "" 186 182 187 #: includes/class-freemius.php: 6047, templates/add-ons.php:186, templates/account/partials/addon.php:386183 #: includes/class-freemius.php:5741, templates/add-ons.php:186, templates/account/partials/addon.php:386 188 184 msgid "More information about %s" 189 185 msgstr "" 190 186 191 #: includes/class-freemius.php: 6048187 #: includes/class-freemius.php:5742 192 188 msgid "Purchase License" 193 189 msgstr "" 194 190 195 191 #. translators: %3$s: What the user is expected to receive via email (e.g.: "the installation instructions" or "a license key") 196 #: includes/class-freemius.php: 7053192 #: includes/class-freemius.php:6747 197 193 msgid "You should receive %3$s for %1$s to your mailbox at %2$s in the next 5 minutes." 198 194 msgstr "" 199 195 200 #: includes/class-freemius.php: 7062196 #: includes/class-freemius.php:6756 201 197 msgctxt "Part of the message telling the user what they should receive via email." 202 198 msgid "a license key" … … 204 200 205 201 #. translators: %s: activation link (e.g.: <a>Click here</a>) 206 #: includes/class-freemius.php: 7070202 #: includes/class-freemius.php:6764 207 203 msgid "%s to activate the license once you get it." 208 204 msgstr "" 209 205 210 #: includes/class-freemius.php: 7078206 #: includes/class-freemius.php:6772 211 207 msgctxt "Part of an activation link message." 212 208 msgid "Click here" 213 209 msgstr "" 214 210 215 #: includes/class-freemius.php: 7056211 #: includes/class-freemius.php:6750 216 212 msgctxt "Part of the message telling the user what they should receive via email." 217 213 msgid "the installation instructions" 218 214 msgstr "" 219 215 220 #: includes/class-freemius.php: 7085216 #: includes/class-freemius.php:6779 221 217 msgctxt "Part of the message that tells the user to check their spam folder for a specific email." 222 218 msgid "the product's support email address" 223 219 msgstr "" 224 220 225 #: includes/class-freemius.php: 7091221 #: includes/class-freemius.php:6785 226 222 msgid "If you didn't get the email, try checking your spam folder or search for emails from %4$s." 227 223 msgstr "" 228 224 229 #: includes/class-freemius.php: 7093225 #: includes/class-freemius.php:6787 230 226 msgid "Thanks for upgrading." 231 227 msgstr "" 232 228 233 #: includes/class-freemius.php: 7044229 #: includes/class-freemius.php:6738 234 230 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." 235 231 msgstr "" 236 232 237 #: includes/class-freemius.php: 7047233 #: includes/class-freemius.php:6741 238 234 msgid "start the trial" 239 235 msgstr "" 240 236 241 #: includes/class-freemius.php: 7048, templates/connect.php:209237 #: includes/class-freemius.php:6742, templates/connect.php:208 242 238 msgid "complete the opt-in" 243 239 msgstr "" 244 240 245 #: includes/class-freemius.php: 7050241 #: includes/class-freemius.php:6744 246 242 msgid "Thanks!" 247 243 msgstr "" 248 244 249 #: includes/class-freemius.php: 7229245 #: includes/class-freemius.php:6923 250 246 msgid "You are just one step away - %s" 251 247 msgstr "" 252 248 253 #: includes/class-freemius.php: 7232249 #: includes/class-freemius.php:6926 254 250 msgctxt "%s - plugin name. As complete \"PluginX\" activation now" 255 251 msgid "Complete \"%s\" Activation Now" 256 252 msgstr "" 257 253 258 #: includes/class-freemius.php:7 314254 #: includes/class-freemius.php:7008 259 255 msgid "We made a few tweaks to the %s, %s" 260 256 msgstr "" 261 257 262 #: includes/class-freemius.php:7 318258 #: includes/class-freemius.php:7012 263 259 msgid "Opt in to make \"%s\" better!" 264 260 msgstr "" 265 261 266 #: includes/class-freemius.php:7 764262 #: includes/class-freemius.php:7433 267 263 msgid "The upgrade of %s was successfully completed." 268 264 msgstr "" 269 265 270 #: includes/class-freemius.php:10 527, 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:32266 #: includes/class-freemius.php:10196, includes/class-fs-plugin-updater.php:1142, includes/class-fs-plugin-updater.php:1364, includes/class-fs-plugin-updater.php:1357, templates/auto-installation.php:32 271 267 msgid "Add-On" 272 268 msgstr "" 273 269 274 #: includes/class-freemius.php:10 529, templates/account.php:407, templates/account.php:415, templates/debug.php:399, templates/debug.php:619270 #: includes/class-freemius.php:10198, templates/account.php:407, templates/account.php:415, templates/debug.php:458, templates/debug.php:678 275 271 msgid "Plugin" 276 272 msgstr "" 277 273 278 #: includes/class-freemius.php:10 530, templates/account.php:408, templates/account.php:416, templates/debug.php:399, templates/debug.php:619, templates/forms/deactivation/form.php:107274 #: includes/class-freemius.php:10199, templates/account.php:408, templates/account.php:416, templates/debug.php:458, templates/debug.php:678, templates/forms/deactivation/form.php:107 279 275 msgid "Theme" 280 276 msgstr "" 281 277 282 #: includes/class-freemius.php:13 635278 #: includes/class-freemius.php:13284 283 279 msgid "An unknown error has occurred while trying to toggle the license's white-label mode." 284 280 msgstr "" 285 281 286 #: includes/class-freemius.php:13 649282 #: includes/class-freemius.php:13298 287 283 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." 288 284 msgstr "" 289 285 290 #: includes/class-freemius.php:13 654, templates/account/partials/disconnect-button.php:84286 #: includes/class-freemius.php:13303, templates/account/partials/disconnect-button.php:84 291 287 msgid "User Dashboard" 292 288 msgstr "" 293 289 294 #: includes/class-freemius.php:13 655290 #: includes/class-freemius.php:13304 295 291 msgid "revert it now" 296 292 msgstr "" 297 293 298 #: includes/class-freemius.php:13 713294 #: includes/class-freemius.php:13362 299 295 msgid "An unknown error has occurred while trying to set the user's beta mode." 300 296 msgstr "" 301 297 302 #: includes/class-freemius.php:13 799298 #: includes/class-freemius.php:13448 303 299 msgid "Invalid new user ID or email address." 304 300 msgstr "" 305 301 306 #: includes/class-freemius.php:13 829302 #: includes/class-freemius.php:13478 307 303 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered." 308 304 msgstr "" 309 305 310 #: includes/class-freemius.php:13 830306 #: includes/class-freemius.php:13479 311 307 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button." 312 308 msgstr "" 313 309 314 #: includes/class-freemius.php:13 837310 #: includes/class-freemius.php:13486 315 311 msgid "Change Ownership" 316 312 msgstr "" 317 313 318 #: includes/class-freemius.php:14 442314 #: includes/class-freemius.php:14095 319 315 msgid "Invalid site details collection." 320 316 msgstr "" 321 317 322 #: includes/class-freemius.php:14 564318 #: includes/class-freemius.php:14217 323 319 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?" 324 320 msgstr "" 325 321 326 #: includes/class-freemius.php:14 562322 #: includes/class-freemius.php:14215 327 323 msgid "We couldn't find your email address in the system, are you sure it's the right address?" 328 324 msgstr "" 329 325 330 #: includes/class-freemius.php:14 868326 #: includes/class-freemius.php:14521 331 327 msgid "Account is pending activation. Please check your email and click the link to activate your account and then submit the affiliate form again." 332 328 msgstr "" 333 329 334 #: includes/class-freemius.php:14 994, templates/forms/premium-versions-upgrade-handler.php:46330 #: includes/class-freemius.php:14647, templates/forms/premium-versions-upgrade-handler.php:46 335 331 msgid "Renew your license now" 336 332 msgstr "" 337 333 338 #: includes/class-freemius.php:14 982, templates/forms/premium-versions-upgrade-handler.php:47334 #: includes/class-freemius.php:14635, templates/forms/premium-versions-upgrade-handler.php:47 339 335 msgid "Buy a license now" 340 336 msgstr "" 341 337 342 #: includes/class-freemius.php:14 998338 #: includes/class-freemius.php:14651 343 339 msgid "%s to access version %s security & feature updates, and support." 344 340 msgstr "" 345 341 346 #: includes/class-freemius.php:17 670342 #: includes/class-freemius.php:17337 347 343 msgid "%s opt-in was successfully completed." 348 344 msgstr "" 349 345 350 #: includes/class-freemius.php:17 694, includes/class-freemius.php:21631346 #: includes/class-freemius.php:17361, includes/class-freemius.php:21346 351 347 msgid "Your trial has been successfully started." 352 348 msgstr "" 353 349 354 #: includes/class-freemius.php:17 684350 #: includes/class-freemius.php:17351 355 351 msgid "Your account was successfully activated with the %s plan." 356 352 msgstr "" 357 353 358 #: includes/class-freemius.php:1 8328, includes/class-freemius.php:18441, includes/class-freemius.php:18618354 #: includes/class-freemius.php:17995, includes/class-freemius.php:18115, includes/class-freemius.php:18292 359 355 msgid "Couldn't activate %s." 360 356 msgstr "" 361 357 362 #: includes/class-freemius.php:1 8329, includes/class-freemius.php:18442, includes/class-freemius.php:18619358 #: includes/class-freemius.php:17996, includes/class-freemius.php:18116, includes/class-freemius.php:18293 363 359 msgid "Please contact us with the following message:" 364 360 msgstr "" 365 361 366 #: includes/class-freemius.php:18 438, templates/forms/data-debug-mode.php:162362 #: includes/class-freemius.php:18112, templates/forms/data-debug-mode.php:162 367 363 msgid "An unknown error has occurred." 368 364 msgstr "" 369 365 370 #: includes/class-freemius.php:18 980, includes/class-freemius.php:24415366 #: includes/class-freemius.php:18654, includes/class-freemius.php:24166 371 367 msgid "Upgrade" 372 368 msgstr "" 373 369 374 #: includes/class-freemius.php:18 988370 #: includes/class-freemius.php:18662 375 371 msgid "Pricing" 376 372 msgstr "" 377 373 378 #: includes/class-freemius.php:18 986374 #: includes/class-freemius.php:18660 379 375 msgid "Start Trial" 380 376 msgstr "" 381 377 382 #: includes/class-freemius.php:1 9068, includes/class-freemius.php:19070378 #: includes/class-freemius.php:18742, includes/class-freemius.php:18744 383 379 msgid "Affiliation" 384 380 msgstr "" 385 381 386 #: includes/class-freemius.php:1 9098, includes/class-freemius.php:19100, templates/account.php:260, templates/debug.php:366382 #: includes/class-freemius.php:18772, includes/class-freemius.php:18774, templates/account.php:260, templates/debug.php:425 387 383 msgid "Account" 388 384 msgstr "" 389 385 390 #: includes/class-freemius.php:1 9114, includes/class-freemius.php:19116, includes/customizer/class-fs-customizer-support-section.php:60386 #: includes/class-freemius.php:18800, includes/class-freemius.php:18789, includes/class-freemius.php:18791, includes/customizer/class-fs-customizer-support-section.php:60 391 387 msgid "Contact Us" 392 388 msgstr "" 393 389 394 #: includes/class-freemius.php:1 9127, includes/class-freemius.php:19129, includes/class-freemius.php:24429, templates/account.php:130, templates/account/partials/addon.php:49390 #: includes/class-freemius.php:18814, includes/class-freemius.php:18816, includes/class-freemius.php:24180, templates/account.php:130, templates/account/partials/addon.php:49 395 391 msgid "Add-Ons" 396 392 msgstr "" 397 393 398 #: includes/class-freemius.php:1 9163394 #: includes/class-freemius.php:18849 399 395 msgctxt "ASCII arrow left icon" 400 396 msgid "←" 401 397 msgstr "" 402 398 403 #: includes/class-freemius.php:1 9163399 #: includes/class-freemius.php:18849 404 400 msgctxt "ASCII arrow right icon" 405 401 msgid "➤" 406 402 msgstr "" 407 403 408 #: includes/class-freemius.php:1 9165, templates/pricing.php:110404 #: includes/class-freemius.php:18867 409 405 msgctxt "noun" 410 406 msgid "Pricing" 411 407 msgstr "" 412 408 413 #: includes/class-freemius.php:19 378, includes/customizer/class-fs-customizer-support-section.php:67409 #: includes/class-freemius.php:19083, includes/customizer/class-fs-customizer-support-section.php:67 414 410 msgid "Support Forum" 415 411 msgstr "" 416 412 417 #: includes/class-freemius.php:20 399413 #: includes/class-freemius.php:20114 418 414 msgid "Your email has been successfully verified - you are AWESOME!" 419 415 msgstr "" 420 416 421 #: includes/class-freemius.php:20 400417 #: includes/class-freemius.php:20115 422 418 msgctxt "a positive response" 423 419 msgid "Right on" 424 420 msgstr "" 425 421 426 #: includes/class-freemius.php:20 906422 #: includes/class-freemius.php:20621 427 423 msgid "seems like the key you entered doesn't match our records." 428 424 msgstr "" 429 425 430 #: includes/class-freemius.php:20 930426 #: includes/class-freemius.php:20645 431 427 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." 432 428 msgstr "" 433 429 434 #: includes/class-freemius.php:2 1165430 #: includes/class-freemius.php:20880 435 431 msgid "Your %s Add-on plan was successfully upgraded." 436 432 msgstr "" 437 433 438 434 #. translators: %s:product name, e.g. Facebook add-on was successfully... 439 #: includes/class-freemius.php:2 1167435 #: includes/class-freemius.php:20882 440 436 msgid "%s Add-on was successfully purchased." 441 437 msgstr "" 442 438 443 #: includes/class-freemius.php:2 1170439 #: includes/class-freemius.php:20885 444 440 msgid "Download the latest version" 445 441 msgstr "" 446 442 447 #: includes/class-freemius.php:21 288443 #: includes/class-freemius.php:21003 448 444 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again." 449 445 msgstr "" 450 446 451 #: includes/class-freemius.php:21 288, includes/class-freemius.php:21701, includes/class-freemius.php:21802, includes/class-freemius.php:21889447 #: includes/class-freemius.php:21003, includes/class-freemius.php:21416, includes/class-freemius.php:21517, includes/class-freemius.php:21604 452 448 msgid "Error received from the server:" 453 449 msgstr "" 454 450 455 #: includes/class-freemius.php:21 529, includes/class-freemius.php:21807, includes/class-freemius.php:21860, includes/class-freemius.php:21967451 #: includes/class-freemius.php:21244, includes/class-freemius.php:21522, includes/class-freemius.php:21575, includes/class-freemius.php:21682 456 452 msgctxt "something somebody says when they are thinking about what you have just said." 457 453 msgid "Hmm" 458 454 msgstr "" 459 455 460 #: includes/class-freemius.php:21 542456 #: includes/class-freemius.php:21257 461 457 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." 462 458 msgstr "" 463 459 464 #: includes/class-freemius.php:21 543, templates/account.php:132, templates/add-ons.php:250, templates/account/partials/addon.php:51460 #: includes/class-freemius.php:21258, templates/account.php:132, templates/add-ons.php:250, templates/account/partials/addon.php:51 465 461 msgctxt "trial period" 466 462 msgid "Trial" 467 463 msgstr "" 468 464 469 #: includes/class-freemius.php:21 548465 #: includes/class-freemius.php:21263 470 466 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s." 471 467 msgstr "" 472 468 473 #: includes/class-freemius.php:21 552, includes/class-freemius.php:21610469 #: includes/class-freemius.php:21267, includes/class-freemius.php:21325 474 470 msgid "Please contact us here" 475 471 msgstr "" 476 472 477 #: includes/class-freemius.php:21 580473 #: includes/class-freemius.php:21295 478 474 msgid "Your plan was successfully changed to %s." 479 475 msgstr "" 480 476 481 #: includes/class-freemius.php:21 596477 #: includes/class-freemius.php:21311 482 478 msgid "Your license has expired. You can still continue using the free %s forever." 483 479 msgstr "" 484 480 485 481 #. translators: %1$s: product title; %2$s, %3$s: wrapping HTML anchor element; %4$s: 'plugin', 'theme', or 'add-on'. 486 #: includes/class-freemius.php:21 598482 #: includes/class-freemius.php:21313 487 483 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions." 488 484 msgstr "" 489 485 490 #: includes/class-freemius.php:21 606486 #: includes/class-freemius.php:21321 491 487 msgid "Your license has been cancelled. If you think it's a mistake, please contact support." 492 488 msgstr "" 493 489 494 #: includes/class-freemius.php:21 619490 #: includes/class-freemius.php:21334 495 491 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." 496 492 msgstr "" 497 493 498 #: includes/class-freemius.php:21 645494 #: includes/class-freemius.php:21360 499 495 msgid "Your free trial has expired. You can still continue using all our free features." 500 496 msgstr "" 501 497 502 498 #. translators: %1$s: product title; %2$s, %3$s: wrapping HTML anchor element; %4$s: 'plugin', 'theme', or 'add-on'. 503 #: includes/class-freemius.php:21 647499 #: includes/class-freemius.php:21362 504 500 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions." 505 501 msgstr "" 506 502 507 #: includes/class-freemius.php:21 693503 #: includes/class-freemius.php:21408 508 504 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" 509 505 msgstr "" 510 506 511 #: includes/class-freemius.php:21 695507 #: includes/class-freemius.php:21410 512 508 msgid "Show error details" 513 509 msgstr "" 514 510 515 #: includes/class-freemius.php:21 798511 #: includes/class-freemius.php:21513 516 512 msgid "It looks like the license could not be activated." 517 513 msgstr "" 518 514 519 #: includes/class-freemius.php:21 840515 #: includes/class-freemius.php:21555 520 516 msgid "Your license was successfully activated." 521 517 msgstr "" 522 518 523 #: includes/class-freemius.php:21 864519 #: includes/class-freemius.php:21579 524 520 msgid "It looks like your site currently doesn't have an active license." 525 521 msgstr "" 526 522 527 #: includes/class-freemius.php:21 888523 #: includes/class-freemius.php:21603 528 524 msgid "It looks like the license deactivation failed." 529 525 msgstr "" 530 526 531 #: includes/class-freemius.php:21 917527 #: includes/class-freemius.php:21632 532 528 msgid "Your %s license was successfully deactivated." 533 529 msgstr "" 534 530 535 #: includes/class-freemius.php:21 918531 #: includes/class-freemius.php:21633 536 532 msgid "Your license was successfully deactivated, you are back to the %s plan." 537 533 msgstr "" 538 534 539 #: includes/class-freemius.php:21 921535 #: includes/class-freemius.php:21636 540 536 msgid "O.K" 541 537 msgstr "" 542 538 543 #: includes/class-freemius.php:21 974539 #: includes/class-freemius.php:21689 544 540 msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes." 545 541 msgstr "" 546 542 547 #: includes/class-freemius.php:21 983543 #: includes/class-freemius.php:21698 548 544 msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s." 549 545 msgstr "" 550 546 551 #: includes/class-freemius.php:2 2025547 #: includes/class-freemius.php:21741 552 548 msgid "You are already running the %s in a trial mode." 553 549 msgstr "" 554 550 555 #: includes/class-freemius.php:2 2036551 #: includes/class-freemius.php:21753 556 552 msgid "You already utilized a trial before." 557 553 msgstr "" 558 554 559 #: includes/class-freemius.php:2 2072555 #: includes/class-freemius.php:21792 560 556 msgid "None of the %s's plans supports a trial period." 561 557 msgstr "" 562 558 563 #: includes/class-freemius.php:2 2050559 #: includes/class-freemius.php:21768 564 560 msgid "Plan %s do not exist, therefore, can't start a trial." 565 561 msgstr "" 566 562 567 #: includes/class-freemius.php:2 2061563 #: includes/class-freemius.php:21780 568 564 msgid "Plan %s does not support a trial period." 569 565 msgstr "" 570 566 571 #: includes/class-freemius.php:2 2121567 #: includes/class-freemius.php:21854 572 568 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)" 573 569 msgstr "" 574 570 575 #: includes/class-freemius.php:2 2157571 #: includes/class-freemius.php:21890 576 572 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes." 577 573 msgstr "" 578 574 579 #: includes/class-freemius.php:2 2176575 #: includes/class-freemius.php:21909 580 576 msgid "Your %s free trial was successfully cancelled." 581 577 msgstr "" 582 578 583 #: includes/class-freemius.php:22 520579 #: includes/class-freemius.php:22256 584 580 msgid "Seems like you got the latest release." 585 581 msgstr "" 586 582 587 #: includes/class-freemius.php:22 521583 #: includes/class-freemius.php:22257 588 584 msgid "You are all good!" 589 585 msgstr "" 590 586 591 #: includes/class-freemius.php:22 503587 #: includes/class-freemius.php:22239 592 588 msgid "Version %s was released." 593 589 msgstr "" 594 590 595 #: includes/class-freemius.php:22 503591 #: includes/class-freemius.php:22239 596 592 msgid "Please download %s." 597 593 msgstr "" 598 594 599 #: includes/class-freemius.php:22 510595 #: includes/class-freemius.php:22246 600 596 msgid "the latest %s version here" 601 597 msgstr "" 602 598 603 #: includes/class-freemius.php:22 515599 #: includes/class-freemius.php:22251 604 600 msgid "New" 605 601 msgstr "" 606 602 607 #: includes/class-freemius.php:22 924603 #: includes/class-freemius.php:22660 608 604 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box." 609 605 msgstr "" 610 606 611 #: includes/class-freemius.php:2 3064607 #: includes/class-freemius.php:22800 612 608 msgid "Site successfully opted in." 613 609 msgstr "" 614 610 615 #: includes/class-freemius.php:2 3065, includes/class-freemius.php:24125611 #: includes/class-freemius.php:22801, includes/class-freemius.php:23876 616 612 msgid "Awesome" 617 613 msgstr "" 618 614 619 #: includes/class-freemius.php:2 3091615 #: includes/class-freemius.php:22827 620 616 msgid "Diagnostic data will no longer be sent from %s to %s." 621 617 msgstr "" 622 618 623 #: includes/class-freemius.php:2 3081619 #: includes/class-freemius.php:22817 624 620 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." 625 621 msgstr "" 626 622 627 #: includes/class-freemius.php:2 3082623 #: includes/class-freemius.php:22818 628 624 msgid "Thank you!" 629 625 msgstr "" 630 626 631 #: includes/class-freemius.php:2 3251627 #: includes/class-freemius.php:22987 632 628 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." 633 629 msgstr "" 634 630 635 #: includes/class-freemius.php:2 3249631 #: includes/class-freemius.php:22985 636 632 msgid "A confirmation email was just sent to %s. The email owner must confirm the update within the next 4 hours." 637 633 msgstr "" 638 634 639 #: includes/class-freemius.php:2 3263635 #: includes/class-freemius.php:22999 640 636 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval." 641 637 msgstr "" 642 638 643 #: includes/class-freemius.php:23 269639 #: includes/class-freemius.php:23005 644 640 msgid "%s is the new owner of the account." 645 641 msgstr "" 646 642 647 #: includes/class-freemius.php:23 271643 #: includes/class-freemius.php:23007 648 644 msgctxt "as congratulations" 649 645 msgid "Congrats" 650 646 msgstr "" 651 647 652 #: includes/class-freemius.php:23 293648 #: includes/class-freemius.php:23029 653 649 msgid "Your name was successfully updated." 654 650 msgstr "" 655 651 656 #: includes/class-freemius.php:23 288652 #: includes/class-freemius.php:23024 657 653 msgid "Please provide your full name." 658 654 msgstr "" 659 655 660 656 #. translators: %s: User's account property (e.g. email address, name) 661 #: includes/class-freemius.php:23 358657 #: includes/class-freemius.php:23094 662 658 msgid "You have successfully updated your %s." 663 659 msgstr "" 664 660 665 #: includes/class-freemius.php:23 422661 #: includes/class-freemius.php:23158 666 662 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." 667 663 msgstr "" 668 664 669 #: includes/class-freemius.php:23 425665 #: includes/class-freemius.php:23161 670 666 msgid "Click here" 671 667 msgstr "" 672 668 673 #: includes/class-freemius.php:23 462669 #: includes/class-freemius.php:23198 674 670 msgid "Bundle" 675 671 msgstr "" 676 672 677 #: includes/class-freemius.php:23 535673 #: includes/class-freemius.php:23271 678 674 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server." 679 675 msgstr "" 680 676 681 #: includes/class-freemius.php:23 536677 #: includes/class-freemius.php:23272 682 678 msgctxt "advance notice of something that will need attention." 683 679 msgid "Heads up" 684 680 msgstr "" 685 681 686 #: includes/class-freemius.php:2 4165682 #: includes/class-freemius.php:23916 687 683 msgctxt "exclamation" 688 684 msgid "Hey" 689 685 msgstr "" 690 686 691 #: includes/class-freemius.php:2 4165687 #: includes/class-freemius.php:23916 692 688 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial." 693 689 msgstr "" 694 690 695 #: includes/class-freemius.php:2 4173691 #: includes/class-freemius.php:23924 696 692 msgid "No commitment for %s days - cancel anytime!" 697 693 msgstr "" 698 694 699 #: includes/class-freemius.php:2 4174695 #: includes/class-freemius.php:23925 700 696 msgid "No credit card required" 701 697 msgstr "" 702 698 703 #: includes/class-freemius.php:2 4181, templates/forms/trial-start.php:53699 #: includes/class-freemius.php:23932, templates/forms/trial-start.php:53 704 700 msgctxt "call to action" 705 701 msgid "Start free trial" 706 702 msgstr "" 707 703 708 #: includes/class-freemius.php:24 258704 #: includes/class-freemius.php:24009 709 705 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!" 710 706 msgstr "" 711 707 712 #: includes/class-freemius.php:24 267708 #: includes/class-freemius.php:24018 713 709 msgid "Learn more" 714 710 msgstr "" 715 711 716 #: includes/class-freemius.php:24 453, 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:326712 #: includes/class-freemius.php:24204, templates/account.php:569, templates/account.php:721, templates/connect.php:211, templates/connect.php:439, includes/managers/class-fs-clone-manager.php:1295, templates/forms/license-activation.php:27, templates/account/partials/addon.php:326 717 713 msgid "Activate License" 718 714 msgstr "" 719 715 720 #: includes/class-freemius.php:24 454, templates/account.php:663, templates/account.php:720, templates/account/partials/addon.php:327, templates/account/partials/site.php:273716 #: includes/class-freemius.php:24205, templates/account.php:663, templates/account.php:720, templates/account/partials/addon.php:327, templates/account/partials/site.php:273 721 717 msgid "Change License" 722 718 msgstr "" 723 719 724 #: includes/class-freemius.php:24 569, includes/class-freemius.php:24563, templates/account/partials/site.php:49, templates/account/partials/site.php:170720 #: includes/class-freemius.php:24320, includes/class-freemius.php:24314, templates/account/partials/site.php:49, templates/account/partials/site.php:170 725 721 msgid "Opt In" 726 722 msgstr "" 727 723 728 #: includes/class-freemius.php:24 561, templates/account/partials/site.php:170724 #: includes/class-freemius.php:24312, templates/account/partials/site.php:170 729 725 msgid "Opt Out" 730 726 msgstr "" 731 727 732 #: includes/class-freemius.php:24 827728 #: includes/class-freemius.php:24578 733 729 msgid "Please follow these steps to complete the upgrade" 734 730 msgstr "" 735 731 736 732 #. translators: %s: Plan title 737 #: includes/class-freemius.php:24 831733 #: includes/class-freemius.php:24582 738 734 msgid "Download the latest %s version" 739 735 msgstr "" 740 736 741 #: includes/class-freemius.php:24 835737 #: includes/class-freemius.php:24586 742 738 msgid "Upload and activate the downloaded version" 743 739 msgstr "" 744 740 745 #: includes/class-freemius.php:24 837741 #: includes/class-freemius.php:24588 746 742 msgid "How to upload and activate?" 747 743 msgstr "" 748 744 749 #: includes/class-freemius.php:24 804745 #: includes/class-freemius.php:24555 750 746 msgid " The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s" 751 747 msgstr "" 752 748 753 #: includes/class-freemius.php:24 814749 #: includes/class-freemius.php:24565 754 750 msgid "Activate %s features" 755 751 msgstr "" 756 752 757 #: includes/class-freemius.php:24 872753 #: includes/class-freemius.php:24623 758 754 msgid "Your plan was successfully upgraded." 759 755 msgstr "" 760 756 761 #: includes/class-freemius.php:24 873757 #: includes/class-freemius.php:24624 762 758 msgid "Your plan was successfully activated." 763 759 msgstr "" 764 760 765 #: includes/class-freemius.php:2 5003761 #: includes/class-freemius.php:24733 766 762 msgid "%sClick here%s to choose the sites where you'd like to activate the license on." 767 763 msgstr "" 768 764 769 #: includes/class-freemius.php:2 5172765 #: includes/class-freemius.php:24902 770 766 msgid "Auto installation only works for opted-in users." 771 767 msgstr "" 772 768 773 #: includes/class-freemius.php:2 5182, includes/class-freemius.php:25215, includes/class-fs-plugin-updater.php:1291, includes/class-fs-plugin-updater.php:1305769 #: includes/class-freemius.php:24912, includes/class-freemius.php:24945, includes/class-fs-plugin-updater.php:1336, includes/class-fs-plugin-updater.php:1350 774 770 msgid "Invalid module ID." 775 771 msgstr "" 776 772 777 #: includes/class-freemius.php:2 5223, includes/class-fs-plugin-updater.php:1326773 #: includes/class-freemius.php:24953, includes/class-fs-plugin-updater.php:1371 778 774 msgid "Premium add-on version already installed." 779 775 msgstr "" 780 776 781 #: includes/class-freemius.php:2 5191, includes/class-fs-plugin-updater.php:1327777 #: includes/class-freemius.php:24921, includes/class-fs-plugin-updater.php:1372 782 778 msgid "Premium version already active." 783 779 msgstr "" 784 780 785 #: includes/class-freemius.php:2 5198781 #: includes/class-freemius.php:24928 786 782 msgid "You do not have a valid license to access the premium version." 787 783 msgstr "" 788 784 789 #: includes/class-freemius.php:2 5205785 #: includes/class-freemius.php:24935 790 786 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version." 791 787 msgstr "" 792 788 793 #: includes/class-freemius.php:25 583789 #: includes/class-freemius.php:25313 794 790 msgid "View paid features" 795 791 msgstr "" 796 792 797 #: includes/class-freemius.php:25 898793 #: includes/class-freemius.php:25628 798 794 msgid "Thank you so much for using our products!" 799 795 msgstr "" 800 796 801 #: includes/class-freemius.php:25 899797 #: includes/class-freemius.php:25629 802 798 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them." 803 799 msgstr "" 804 800 805 #: includes/class-freemius.php:25 918801 #: includes/class-freemius.php:25648 806 802 msgid "%s and its add-ons" 807 803 msgstr "" 808 804 809 #: includes/class-freemius.php:25 927805 #: includes/class-freemius.php:25657 810 806 msgid "Products" 811 807 msgstr "" 812 808 813 #: includes/class-freemius.php:25 887809 #: includes/class-freemius.php:25617 814 810 msgid "Thank you so much for using %s and its add-ons!" 815 811 msgstr "" 816 812 817 #: includes/class-freemius.php:25 888813 #: includes/class-freemius.php:25618 818 814 msgid "Thank you so much for using %s!" 819 815 msgstr "" 820 816 821 #: includes/class-freemius.php:25 894817 #: includes/class-freemius.php:25624 822 818 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s." 823 819 msgstr "" 824 820 825 #: includes/class-freemius.php:25 934, templates/connect.php:313821 #: includes/class-freemius.php:25664, templates/connect.php:312 826 822 msgid "Yes" 827 823 msgstr "" 828 824 829 #: includes/class-freemius.php:25 935, templates/connect.php:314825 #: includes/class-freemius.php:25665, templates/connect.php:313 830 826 msgid "send me security & feature updates, educational content and offers." 831 827 msgstr "" 832 828 833 #: includes/class-freemius.php:25 936, templates/connect.php:319829 #: includes/class-freemius.php:25666, templates/connect.php:318 834 830 msgid "No" 835 831 msgstr "" 836 832 837 #: includes/class-freemius.php:25 938, templates/connect.php:321833 #: includes/class-freemius.php:25668, templates/connect.php:320 838 834 msgid "do %sNOT%s send me security & feature updates, educational content and offers." 839 835 msgstr "" 840 836 841 #: includes/class-freemius.php:25 948837 #: includes/class-freemius.php:25678 842 838 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 :-)" 843 839 msgstr "" 844 840 845 #: includes/class-freemius.php:25 950, templates/connect.php:328841 #: includes/class-freemius.php:25680, templates/connect.php:327 846 842 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:" 847 843 msgstr "" 848 844 849 #: includes/class-freemius.php:2 6240845 #: includes/class-freemius.php:25970 850 846 msgid "License key is empty." 851 847 msgstr "" 852 848 853 #: includes/class-fs-plugin-updater.php:2 12, templates/forms/premium-versions-upgrade-handler.php:57849 #: includes/class-fs-plugin-updater.php:247, templates/forms/premium-versions-upgrade-handler.php:57 854 850 msgid "Renew license" 855 851 msgstr "" 856 852 857 #: includes/class-fs-plugin-updater.php:2 17, templates/forms/premium-versions-upgrade-handler.php:58853 #: includes/class-fs-plugin-updater.php:252, templates/forms/premium-versions-upgrade-handler.php:58 858 854 msgid "Buy license" 859 855 msgstr "" 860 856 861 #: includes/class-fs-plugin-updater.php: 370, includes/class-fs-plugin-updater.php:337857 #: includes/class-fs-plugin-updater.php:405, includes/class-fs-plugin-updater.php:372 862 858 msgid "There is a %s of %s available." 863 859 msgstr "" 864 860 865 #: includes/class-fs-plugin-updater.php: 375, includes/class-fs-plugin-updater.php:339861 #: includes/class-fs-plugin-updater.php:410, includes/class-fs-plugin-updater.php:374 866 862 msgid "new Beta version" 867 863 msgstr "" 868 864 869 #: includes/class-fs-plugin-updater.php: 376, includes/class-fs-plugin-updater.php:340865 #: includes/class-fs-plugin-updater.php:411, includes/class-fs-plugin-updater.php:375 870 866 msgid "new version" 871 867 msgstr "" 872 868 873 #: includes/class-fs-plugin-updater.php: 399869 #: includes/class-fs-plugin-updater.php:434 874 870 msgid "Important Upgrade Notice:" 875 871 msgstr "" 876 872 877 #: includes/class-fs-plugin-updater.php:1 356873 #: includes/class-fs-plugin-updater.php:1401 878 874 msgid "Installing plugin: %s" 879 875 msgstr "" 880 876 881 #: includes/class-fs-plugin-updater.php:1 397877 #: includes/class-fs-plugin-updater.php:1442 882 878 msgid "Unable to connect to the filesystem. Please confirm your credentials." 883 879 msgstr "" 884 880 885 #: includes/class-fs-plugin-updater.php:1 579881 #: includes/class-fs-plugin-updater.php:1624 886 882 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work." 887 883 msgstr "" … … 931 927 msgstr "" 932 928 933 #: includes/fs-plugin-info-dialog.php:790, templates/connect.php:43 7929 #: includes/fs-plugin-info-dialog.php:790, templates/connect.php:436 934 930 msgid "Activate Free Version" 935 931 msgstr "" … … 1065 1061 msgstr "" 1066 1062 1067 #: includes/fs-plugin-info-dialog.php:1315, templates/account.php:121, templates/debug.php:2 32, templates/debug.php:269, templates/debug.php:518, templates/account/partials/addon.php:411063 #: includes/fs-plugin-info-dialog.php:1315, templates/account.php:121, templates/debug.php:291, templates/debug.php:328, templates/debug.php:577, templates/account/partials/addon.php:41 1068 1064 msgctxt "product version" 1069 1065 msgid "Version" … … 1281 1277 msgstr "" 1282 1278 1283 #: templates/account.php:135, templates/debug.php:4 12, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:541279 #: templates/account.php:135, templates/debug.php:471, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:54 1284 1280 msgctxt "as product pricing plan" 1285 1281 msgid "Plan" … … 1327 1323 msgstr "" 1328 1324 1329 #: templates/account.php:385, templates/debug.php: 5751325 #: templates/account.php:385, templates/debug.php:634 1330 1326 msgid "Name" 1331 1327 msgstr "" 1332 1328 1333 #: templates/account.php:391, templates/debug.php: 5761329 #: templates/account.php:391, templates/debug.php:635 1334 1330 msgid "Email" 1335 1331 msgstr "" 1336 1332 1337 #: templates/account.php:398, templates/debug.php:4 10, templates/debug.php:6251333 #: templates/account.php:398, templates/debug.php:469, templates/debug.php:684 1338 1334 msgid "User ID" 1339 1335 msgstr "" 1340 1336 1341 #: 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:211337 #: templates/account.php:416, templates/account.php:734, templates/account.php:785, templates/debug.php:326, templates/debug.php:463, templates/debug.php:574, templates/debug.php:633, templates/debug.php:682, templates/debug.php:761, templates/account/payments.php:35, templates/debug/logger.php:21 1342 1338 msgid "ID" 1343 1339 msgstr "" … … 1351 1347 msgstr "" 1352 1348 1353 #: 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:2281349 #: templates/account.php:431, templates/debug.php:333, templates/debug.php:472, templates/debug.php:578, templates/debug.php:637, templates/account/partials/site.php:228 1354 1350 msgid "Public Key" 1355 1351 msgstr "" 1356 1352 1357 #: templates/account.php:437, templates/debug.php:4 14, templates/debug.php:520, templates/debug.php:579, templates/account/partials/site.php:2411353 #: templates/account.php:437, templates/debug.php:473, templates/debug.php:579, templates/debug.php:638, templates/account/partials/site.php:241 1358 1354 msgid "Secret Key" 1359 1355 msgstr "" … … 1364 1360 msgstr "" 1365 1361 1366 #: templates/account.php:494, templates/debug.php:6 31, templates/account/partials/site.php:2621362 #: templates/account.php:494, templates/debug.php:690, templates/account/partials/site.php:262 1367 1363 msgid "License Key" 1368 1364 msgstr "" … … 1430 1426 msgstr "" 1431 1427 1432 #: templates/account.php:735, templates/debug.php:4 071428 #: templates/account.php:735, templates/debug.php:466 1433 1429 msgid "Address" 1434 1430 msgstr "" … … 1534 1530 #: templates/auto-installation.php:109 1535 1531 msgid "Cancel Installation" 1536 msgstr ""1537 1538 #: templates/checkout.php:1811539 msgid "Checkout"1540 msgstr ""1541 1542 #: templates/checkout.php:1811543 msgid "PCI compliant"1544 1532 msgstr "" 1545 1533 … … 1551 1539 1552 1540 #. translators: %1$s: plugin name (e.g., "Awesome Plugin"); %2$s: version (e.g., "1.2.3") 1553 #: templates/connect.php:18 61541 #: templates/connect.php:185 1554 1542 msgid "Thank you for updating to %1$s v%2$s!" 1555 1543 msgstr "" 1556 1544 1557 #: templates/connect.php:17 81545 #: templates/connect.php:177 1558 1546 msgid "Never miss an important update" 1559 1547 msgstr "" 1560 1548 1561 #: templates/connect.php:19 61549 #: templates/connect.php:195 1562 1550 msgid "Allow & Continue" 1563 1551 msgstr "" 1564 1552 1565 1553 #. translators: %s: module type (plugin, theme, or add-on) 1566 #: templates/connect.php:23 61554 #: templates/connect.php:235 1567 1555 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." 1568 1556 msgstr "" 1569 1557 1570 #: templates/connect.php:23 81558 #: templates/connect.php:237 1571 1559 msgid "Opt in to get email notifications for security & feature updates, educational content, and occasional offers, and to share some basic WordPress environment info." 1572 1560 msgstr "" 1573 1561 1574 #: templates/connect.php:24 11562 #: templates/connect.php:240 1575 1563 msgid "If you skip this, that's okay! %1$s will still work just fine." 1576 1564 msgstr "" 1577 1565 1578 #: templates/connect.php:22 71566 #: templates/connect.php:226 1579 1567 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." 1580 1568 msgstr "" 1581 1569 1582 #: templates/connect.php:21 61570 #: templates/connect.php:215 1583 1571 msgid "Welcome to %s! To get started, please enter your license key:" 1584 1572 msgstr "" 1585 1573 1586 #: templates/connect.php: 2001574 #: templates/connect.php:199 1587 1575 msgid "Re-send activation email" 1588 1576 msgstr "" 1589 1577 1578 #: templates/connect.php:203 1579 msgid "Thanks %s!" 1580 msgstr "" 1581 1590 1582 #: templates/connect.php:204 1591 msgid "Thanks %s!"1592 msgstr ""1593 1594 #: templates/connect.php:2051595 1583 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." 1596 1584 msgstr "" 1597 1585 1598 #: templates/connect.php:27 11586 #: templates/connect.php:270 1599 1587 msgid "We're excited to introduce the Freemius network-level integration." 1600 1588 msgstr "" 1601 1589 1602 #: templates/connect.php:28 51590 #: templates/connect.php:284 1603 1591 msgid "During the update process we detected %s site(s) in the network that are still pending your attention." 1604 1592 msgstr "" 1605 1593 1606 #: templates/connect.php:27 41594 #: templates/connect.php:273 1607 1595 msgid "During the update process we detected %d site(s) that are still pending license activation." 1608 1596 msgstr "" 1609 1597 1610 #: templates/connect.php:27 61598 #: templates/connect.php:275 1611 1599 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button." 1612 1600 msgstr "" 1613 1601 1614 #: templates/connect.php:27 81602 #: templates/connect.php:277 1615 1603 msgid "%s's paid features" 1616 1604 msgstr "" 1617 1605 1618 #: templates/connect.php:28 31606 #: templates/connect.php:282 1619 1607 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page." 1620 1608 msgstr "" 1621 1609 1622 #: templates/connect.php:29 4, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:421610 #: templates/connect.php:293, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:42 1623 1611 msgid "License key" 1624 1612 msgstr "" 1625 1613 1626 #: templates/connect.php:29 7, templates/forms/license-activation.php:221614 #: templates/connect.php:296, templates/forms/license-activation.php:22 1627 1615 msgid "Can't find your license key?" 1628 1616 msgstr "" 1629 1617 1630 #: templates/connect.php:3 60, templates/connect.php:690, templates/forms/deactivation/retry-skip.php:201618 #: templates/connect.php:359, templates/connect.php:689, templates/forms/deactivation/retry-skip.php:20 1631 1619 msgctxt "verb" 1632 1620 msgid "Skip" 1633 1621 msgstr "" 1634 1622 1635 #: templates/connect.php:36 31623 #: templates/connect.php:362 1636 1624 msgid "Delegate to Site Admins" 1637 1625 msgstr "" 1638 1626 1639 #: templates/connect.php:36 31627 #: templates/connect.php:362 1640 1628 msgid "If you click it, this decision will be delegated to the sites administrators." 1641 1629 msgstr "" 1642 1630 1643 #: templates/connect.php:39 21631 #: templates/connect.php:391 1644 1632 msgid "License issues?" 1645 1633 msgstr "" 1646 1634 1647 #: templates/connect.php:42 11635 #: templates/connect.php:420 1648 1636 msgid "This will allow %s to" 1649 1637 msgstr "" 1650 1638 1651 #: templates/connect.php:41 61639 #: templates/connect.php:415 1652 1640 msgid "For delivery of security & feature updates, and license management, %s needs to" 1653 1641 msgstr "" 1654 1642 1655 #: templates/connect.php:43 91643 #: templates/connect.php:438 1656 1644 msgid "Have a license key?" 1657 1645 msgstr "" 1658 1646 1659 #: templates/connect.php:43 61647 #: templates/connect.php:435 1660 1648 msgid "Don't have a license key?" 1661 1649 msgstr "" 1662 1650 1663 #: templates/connect.php:44 71651 #: templates/connect.php:446 1664 1652 msgid "Freemius is our licensing and software updates engine" 1665 1653 msgstr "" 1666 1654 1667 #: templates/connect.php:4 501655 #: templates/connect.php:449 1668 1656 msgid "Privacy Policy" 1669 1657 msgstr "" 1670 1658 1671 #: templates/connect.php:45 51659 #: templates/connect.php:454 1672 1660 msgid "Terms of Service" 1673 1661 msgstr "" 1674 1662 1675 #: templates/connect.php:45 31663 #: templates/connect.php:452 1676 1664 msgid "License Agreement" 1677 1665 msgstr "" 1678 1666 1679 #: templates/connect.php:87 61667 #: templates/connect.php:875 1680 1668 msgctxt "as in the process of sending an email" 1681 1669 msgid "Sending email" 1682 1670 msgstr "" 1683 1671 1684 #: templates/connect.php:87 71672 #: templates/connect.php:876 1685 1673 msgctxt "as activating plugin" 1686 1674 msgid "Activating" 1687 1675 msgstr "" 1688 1676 1689 #: templates/contact.php: 781677 #: templates/contact.php:63 1690 1678 msgid "Contact" 1691 1679 msgstr "" … … 1701 1689 msgstr "" 1702 1690 1703 #: templates/debug.php:24 1691 #: templates/debug.php:29, includes/managers/class-fs-debug-manager.php:26 1692 msgid "Freemius Debug" 1693 msgstr "" 1694 1695 #: templates/debug.php:29 1704 1696 msgid "SDK" 1705 1697 msgstr "" 1706 1698 1707 #: templates/debug.php: 281699 #: templates/debug.php:32 1708 1700 msgctxt "as code debugging" 1709 1701 msgid "Debugging" 1710 1702 msgstr "" 1711 1703 1712 #: templates/debug.php:58, templates/debug.php:279, templates/debug.php:415, templates/debug.php:580 1704 #: templates/debug.php:38 1705 msgctxt "timer for auto-disabling debug" 1706 msgid "Auto off in:" 1707 msgstr "" 1708 1709 #: templates/debug.php:117, templates/debug.php:338, templates/debug.php:474, templates/debug.php:639 1713 1710 msgid "Actions" 1714 1711 msgstr "" 1715 1712 1716 #: templates/debug.php: 681713 #: templates/debug.php:127 1717 1714 msgid "Are you sure you want to delete all Freemius data?" 1718 1715 msgstr "" 1719 1716 1720 #: templates/debug.php: 681717 #: templates/debug.php:127 1721 1718 msgid "Delete All Accounts" 1722 1719 msgstr "" 1723 1720 1724 #: templates/debug.php: 751721 #: templates/debug.php:134 1725 1722 msgid "Clear API Cache" 1726 1723 msgstr "" 1727 1724 1728 #: templates/debug.php: 831725 #: templates/debug.php:142 1729 1726 msgid "Clear Updates Transients" 1730 1727 msgstr "" 1731 1728 1732 #: templates/debug.php: 921729 #: templates/debug.php:151 1733 1730 msgid "Reset Deactivation Snoozing" 1734 1731 msgstr "" 1735 1732 1736 #: templates/debug.php:1 001733 #: templates/debug.php:159 1737 1734 msgid "Sync Data From Server" 1738 1735 msgstr "" 1739 1736 1740 #: templates/debug.php:1 091737 #: templates/debug.php:168 1741 1738 msgid "Migrate Options to Network" 1742 1739 msgstr "" 1743 1740 1744 #: templates/debug.php:1 141741 #: templates/debug.php:173 1745 1742 msgid "Load DB Option" 1746 1743 msgstr "" 1747 1744 1748 #: templates/debug.php:1 171745 #: templates/debug.php:176 1749 1746 msgid "Set DB Option" 1750 1747 msgstr "" 1751 1748 1752 #: templates/debug.php:2 111749 #: templates/debug.php:270 1753 1750 msgid "Key" 1754 1751 msgstr "" 1755 1752 1756 #: templates/debug.php:2 121753 #: templates/debug.php:271 1757 1754 msgid "Value" 1758 1755 msgstr "" 1759 1756 1760 #: templates/debug.php:2 281757 #: templates/debug.php:287 1761 1758 msgctxt "as software development kit versions" 1762 1759 msgid "SDK Versions" 1763 1760 msgstr "" 1764 1761 1765 #: templates/debug.php:2 331762 #: templates/debug.php:292 1766 1763 msgid "SDK Path" 1767 1764 msgstr "" 1768 1765 1769 #: templates/debug.php:2 34, templates/debug.php:2731766 #: templates/debug.php:293, templates/debug.php:332 1770 1767 msgid "Module Path" 1771 1768 msgstr "" 1772 1769 1773 #: templates/debug.php:2 351770 #: templates/debug.php:294 1774 1771 msgid "Is Active" 1775 1772 msgstr "" 1776 1773 1777 #: templates/debug.php: 263, templates/debug/plugins-themes-sync.php:351774 #: templates/debug.php:322, templates/debug/plugins-themes-sync.php:35 1778 1775 msgid "Plugins" 1779 1776 msgstr "" 1780 1777 1781 #: templates/debug.php: 263, templates/debug/plugins-themes-sync.php:561778 #: templates/debug.php:322, templates/debug/plugins-themes-sync.php:56 1782 1779 msgid "Themes" 1783 1780 msgstr "" 1784 1781 1785 #: templates/debug.php: 268, templates/debug.php:409, templates/debug.php:517, templates/debug/scheduled-crons.php:801782 #: templates/debug.php:327, templates/debug.php:468, templates/debug.php:576, templates/debug/scheduled-crons.php:80 1786 1783 msgid "Slug" 1787 1784 msgstr "" 1788 1785 1789 #: templates/debug.php: 270, templates/debug.php:5161786 #: templates/debug.php:329, templates/debug.php:575 1790 1787 msgid "Title" 1791 1788 msgstr "" 1792 1789 1793 #: templates/debug.php: 2711790 #: templates/debug.php:330 1794 1791 msgctxt "as application program interface" 1795 1792 msgid "API" 1796 1793 msgstr "" 1797 1794 1798 #: templates/debug.php: 2721795 #: templates/debug.php:331 1799 1796 msgid "Freemius State" 1800 1797 msgstr "" 1801 1798 1802 #: templates/debug.php: 2761799 #: templates/debug.php:335 1803 1800 msgid "Network Blog" 1804 1801 msgstr "" 1805 1802 1806 #: templates/debug.php: 2771803 #: templates/debug.php:336 1807 1804 msgid "Network User" 1808 1805 msgstr "" 1809 1806 1810 #: templates/debug.php:3 231807 #: templates/debug.php:382 1811 1808 msgctxt "as connection was successful" 1812 1809 msgid "Connected" 1813 1810 msgstr "" 1814 1811 1815 #: templates/debug.php:3 251812 #: templates/debug.php:384 1816 1813 msgctxt "as connection blocked" 1817 1814 msgid "Blocked" 1818 1815 msgstr "" 1819 1816 1820 #: templates/debug.php:3 261817 #: templates/debug.php:385 1821 1818 msgctxt "API connectivity state is unknown" 1822 1819 msgid "Unknown" 1823 1820 msgstr "" 1824 1821 1825 #: templates/debug.php: 3621822 #: templates/debug.php:421 1826 1823 msgid "Simulate Trial Promotion" 1827 1824 msgstr "" 1828 1825 1829 #: templates/debug.php: 3741826 #: templates/debug.php:433 1830 1827 msgid "Simulate Network Upgrade" 1831 1828 msgstr "" 1832 1829 1833 1830 #. translators: %s: 'plugin' or 'theme' 1834 #: templates/debug.php: 3981831 #: templates/debug.php:457 1835 1832 msgid "%s Installs" 1836 1833 msgstr "" 1837 1834 1838 #: templates/debug.php:4 001835 #: templates/debug.php:459 1839 1836 msgctxt "like websites" 1840 1837 msgid "Sites" 1841 1838 msgstr "" 1842 1839 1843 #: templates/debug.php:4 06, templates/account/partials/site.php:1561840 #: templates/debug.php:465, templates/account/partials/site.php:156 1844 1841 msgid "Blog ID" 1845 1842 msgstr "" 1846 1843 1847 #: templates/debug.php:4 111844 #: templates/debug.php:470 1848 1845 msgid "License ID" 1849 1846 msgstr "" 1850 1847 1851 #: templates/debug.php: 497, templates/debug.php:603, templates/account/partials/addon.php:4401848 #: templates/debug.php:556, templates/debug.php:662, templates/account/partials/addon.php:440 1852 1849 msgctxt "verb" 1853 1850 msgid "Delete" 1854 1851 msgstr "" 1855 1852 1856 #: templates/debug.php:5 111853 #: templates/debug.php:570 1857 1854 msgid "Add Ons of module %s" 1858 1855 msgstr "" 1859 1856 1860 #: templates/debug.php: 5701857 #: templates/debug.php:629 1861 1858 msgid "Users" 1862 1859 msgstr "" 1863 1860 1864 #: templates/debug.php: 5771861 #: templates/debug.php:636 1865 1862 msgid "Verified" 1866 1863 msgstr "" 1867 1864 1868 #: templates/debug.php:6 191865 #: templates/debug.php:678 1869 1866 msgid "%s Licenses" 1870 1867 msgstr "" 1871 1868 1872 #: templates/debug.php:6 241869 #: templates/debug.php:683 1873 1870 msgid "Plugin ID" 1874 1871 msgstr "" 1875 1872 1876 #: templates/debug.php:6 261873 #: templates/debug.php:685 1877 1874 msgid "Plan ID" 1878 1875 msgstr "" 1879 1876 1880 #: templates/debug.php:6 271877 #: templates/debug.php:686 1881 1878 msgid "Quota" 1882 1879 msgstr "" 1883 1880 1884 #: templates/debug.php:6 281881 #: templates/debug.php:687 1885 1882 msgid "Activated" 1886 1883 msgstr "" 1887 1884 1888 #: templates/debug.php:6 291885 #: templates/debug.php:688 1889 1886 msgid "Blocking" 1890 1887 msgstr "" 1891 1888 1892 #: templates/debug.php:6 30, templates/debug.php:701, templates/debug/logger.php:221889 #: templates/debug.php:689, templates/debug.php:760, templates/debug/logger.php:22 1893 1890 msgid "Type" 1894 1891 msgstr "" 1895 1892 1896 #: templates/debug.php:6 321893 #: templates/debug.php:691 1897 1894 msgctxt "as expiration date" 1898 1895 msgid "Expiration" 1899 1896 msgstr "" 1900 1897 1901 #: templates/debug.php: 6601898 #: templates/debug.php:719 1902 1899 msgid "Debug Log" 1903 1900 msgstr "" 1904 1901 1905 #: templates/debug.php: 6641902 #: templates/debug.php:723 1906 1903 msgid "All Types" 1907 1904 msgstr "" 1908 1905 1909 #: templates/debug.php: 6711906 #: templates/debug.php:730 1910 1907 msgid "All Requests" 1911 1908 msgstr "" 1912 1909 1913 #: templates/debug.php: 676, templates/debug.php:705, templates/debug/logger.php:251910 #: templates/debug.php:735, templates/debug.php:764, templates/debug/logger.php:25 1914 1911 msgid "File" 1915 1912 msgstr "" 1916 1913 1917 #: templates/debug.php: 677, templates/debug.php:703, templates/debug/logger.php:231914 #: templates/debug.php:736, templates/debug.php:762, templates/debug/logger.php:23 1918 1915 msgid "Function" 1919 1916 msgstr "" 1920 1917 1921 #: templates/debug.php: 6781918 #: templates/debug.php:737 1922 1919 msgid "Process ID" 1923 1920 msgstr "" 1924 1921 1925 #: templates/debug.php: 6791922 #: templates/debug.php:738 1926 1923 msgid "Logger" 1927 1924 msgstr "" 1928 1925 1929 #: templates/debug.php: 680, templates/debug.php:704, templates/debug/logger.php:241926 #: templates/debug.php:739, templates/debug.php:763, templates/debug/logger.php:24 1930 1927 msgid "Message" 1931 1928 msgstr "" 1932 1929 1933 #: templates/debug.php: 6821930 #: templates/debug.php:741 1934 1931 msgid "Filter" 1935 1932 msgstr "" 1936 1933 1937 #: templates/debug.php: 6901934 #: templates/debug.php:749 1938 1935 msgid "Download" 1939 1936 msgstr "" 1940 1937 1941 #: templates/debug.php:7 06, templates/debug/logger.php:261938 #: templates/debug.php:765, templates/debug/logger.php:26 1942 1939 msgid "Timestamp" 1943 1940 msgstr "" … … 2237 2234 msgstr "" 2238 2235 2236 #: templates/checkout/frame.php:77 2237 msgid "Checkout" 2238 msgstr "" 2239 2240 #: templates/checkout/frame.php:77 2241 msgid "PCI compliant" 2242 msgstr "" 2243 2244 #: templates/checkout/process-redirect.php:41 2245 msgid "Processing, please wait and do not close or refresh this window..." 2246 msgstr "" 2247 2248 #: templates/checkout/redirect.php:87 2249 msgid "Redirecting, please <a href=\"%1$s\">click here</a> if you're stuck..." 2250 msgstr "" 2251 2239 2252 #: templates/connect/permissions-group.php:31, templates/forms/optout.php:26, templates/js/permissions.php:78 2240 2253 msgctxt "verb" -
addons-for-elementor/trunk/freemius/require.php
r3176041 r3252128 28 28 require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-permission-manager.php'; 29 29 require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-cache-manager.php'; 30 require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-checkout-manager.php'; 31 require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-contact-form-manager.php'; 30 32 require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-admin-notice-manager.php'; 31 33 require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-admin-menu-manager.php'; -
addons-for-elementor/trunk/freemius/start.php
r3176041 r3252128 16 16 * @var string 17 17 */ 18 $this_sdk_version = '2. 8.1';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 -
addons-for-elementor/trunk/freemius/templates/account.php
r3176041 r3252128 1119 1119 $fs->_add_tabs_after_content(); 1120 1120 } 1121 1122 $params = array(1123 'page' => 'account',1124 'module_id' => $fs->get_id(),1125 'module_type' => $fs->get_module_type(),1126 'module_slug' => $slug,1127 'module_version' => $fs->get_plugin_version(),1128 );1129 fs_require_template( 'powered-by.php', $params ); -
addons-for-elementor/trunk/freemius/templates/add-ons.php
r2390129 r3252128 492 492 $fs->_add_tabs_after_content(); 493 493 } 494 495 $params = array(496 'page' => 'addons',497 'module_id' => $fs->get_id(),498 'module_type' => $fs->get_module_type(),499 'module_slug' => $slug,500 'module_version' => $fs->get_plugin_version(),501 );502 fs_require_template( 'powered-by.php', $params ); -
addons-for-elementor/trunk/freemius/templates/checkout.php
r3176041 r3252128 2 2 /** 3 3 * @package Freemius 4 * @copyright Copyright (c) 20 15, Freemius, Inc.4 * @copyright Copyright (c) 2024, Freemius, Inc. 5 5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 6 * @since 1.0.36 * @since 2.9.0 7 7 */ 8 9 /**10 * Note for WordPress.org Theme/Plugin reviewer:11 * Freemius is an SDK for plugin and theme developers. Since the core12 * of the SDK is relevant both for plugins and themes, for obvious reasons,13 * we only develop and maintain one code base.14 *15 * This code (and page) will not run for wp.org themes (only plugins).16 *17 * In addition, this page loads an i-frame. We intentionally named it 'frame'18 * so it will pass the "Theme Check" that is looking for the string "i" . "frame".19 *20 * UPDATE:21 * After ongoing conversations with the WordPress.org TRT we received22 * an official approval for including i-frames in the theme's WP Admin setting's23 * page tab (the SDK will never add any i-frames on the sitefront). i-frames24 * were never against the guidelines, but we wanted to get the team's blessings25 * before we move forward. For the record, I got the final approval from26 * Ulrich Pogson (@grapplerulrich), a team lead at the TRT during WordCamp27 * Europe 2017 (June 16th, 2017).28 *29 * If you have any questions or need clarifications, please don't hesitate30 * pinging me on slack, my username is @svovaf.31 *32 * @author Vova Feldman (@svovaf)33 * @since 1.2.234 */35 36 if ( ! defined( 'ABSPATH' ) ) {37 exit;38 }39 40 wp_enqueue_script( 'jquery' );41 wp_enqueue_script( 'json2' );42 fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' );43 fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' );44 fs_enqueue_local_style( 'fs_common', '/admin/common.css' );45 46 fs_enqueue_local_style( 'fs_checkout', '/admin/checkout.css' );47 8 48 9 /** … … 50 11 * @var Freemius $fs 51 12 */ 52 $fs = freemius( $VARS['id'] ); 53 $slug = $fs->get_slug(); 13 $fs = freemius( $VARS['id'] ); 54 14 55 $timestamp = time(); 15 if ( fs_request_get_bool( 'redirect' ) ) { 16 fs_require_template( 'checkout/redirect.php', $VARS ); 17 } else if ( fs_request_get_bool( 'process_redirect' ) ) { 18 fs_require_template( 'checkout/process-redirect.php', $VARS ); 19 } else { 20 $fs = freemius( $VARS['id'] ); 56 21 57 $context_params = array( 58 'plugin_id' => $fs->get_id(), 59 'public_key' => $fs->get_public_key(), 60 'plugin_version' => $fs->get_plugin_version(), 61 'mode' => 'dashboard', 62 'trial' => fs_request_get_bool( 'trial' ), 63 'is_ms' => ( fs_is_network_admin() && $fs->is_network_active() ), 64 ); 65 66 $plan_id = fs_request_get( 'plan_id' ); 67 if ( FS_Plugin_Plan::is_valid_id( $plan_id ) ) { 68 $context_params['plan_id'] = $plan_id; 69 } 70 71 $licenses = fs_request_get( 'licenses' ); 72 if ( $licenses === strval( intval( $licenses ) ) && $licenses > 0 ) { 73 $context_params['licenses'] = $licenses; 74 } 75 76 $plugin_id = fs_request_get( 'plugin_id' ); 77 if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) { 78 $plugin_id = $fs->get_id(); 79 } 80 81 if ( $plugin_id == $fs->get_id() ) { 82 $is_premium = $fs->is_premium(); 83 84 $bundle_id = $fs->get_bundle_id(); 85 if ( ! is_null( $bundle_id ) ) { 86 $context_params['bundle_id'] = $bundle_id; 87 } 88 } else { 89 // Identify the module code version of the checkout context module. 90 if ( $fs->is_addon_activated( $plugin_id ) ) { 91 $fs_addon = Freemius::get_instance_by_id( $plugin_id ); 92 $is_premium = $fs_addon->is_premium(); 22 if ( $fs->is_premium() ) { 23 fs_require_template( 'checkout/frame.php', $VARS ); 93 24 } else { 94 // If add-on isn't activated assume the premium version isn't installed. 95 $is_premium = false; 25 fs_require_template( 'checkout/redirect.php', $VARS ); 96 26 } 97 27 } 98 99 // Get site context secure params.100 if ( $fs->is_registered() ) {101 $site = $fs->get_site();102 103 if ( $plugin_id != $fs->get_id() ) {104 if ( $fs->is_addon_activated( $plugin_id ) ) {105 $fs_addon = Freemius::get_instance_by_id( $plugin_id );106 $addon_site = $fs_addon->get_site();107 if ( is_object( $addon_site ) ) {108 $site = $addon_site;109 }110 }111 }112 113 $context_params = array_merge( $context_params, FS_Security::instance()->get_context_params(114 $site,115 $timestamp,116 'checkout'117 ) );118 } else {119 $current_user = Freemius::_get_current_wp_user();120 121 // Add site and user info to the request, this information122 // is NOT being stored unless the user complete the purchase123 // and agrees to the TOS.124 $context_params = array_merge( $context_params, array(125 'user_firstname' => $current_user->user_firstname,126 'user_lastname' => $current_user->user_lastname,127 'user_email' => $current_user->user_email,128 'home_url' => home_url(),129 ) );130 131 $fs_user = Freemius::_get_user_by_email( $current_user->user_email );132 133 if ( is_object( $fs_user ) && $fs_user->is_verified() ) {134 $context_params = array_merge( $context_params, FS_Security::instance()->get_context_params(135 $fs_user,136 $timestamp,137 'checkout'138 ) );139 }140 }141 142 if ( $fs->is_payments_sandbox() ) {143 // Append plugin secure token for sandbox mode authentication.144 $context_params['sandbox'] = FS_Security::instance()->get_secure_token(145 $fs->get_plugin(),146 $timestamp,147 'checkout'148 );149 150 /**151 * @since 1.1.7.3 Add security timestamp for sandbox even for anonymous user.152 */153 if ( empty( $context_params['s_ctx_ts'] ) ) {154 $context_params['s_ctx_ts'] = $timestamp;155 }156 }157 158 $return_url = $fs->_get_sync_license_url( $plugin_id );159 160 $can_user_install = (161 ( $fs->is_plugin() && current_user_can( 'install_plugins' ) ) ||162 ( $fs->is_theme() && current_user_can( 'install_themes' ) )163 );164 165 $query_params = array_merge( $context_params, $_GET, array(166 // Current plugin version.167 'plugin_version' => $fs->get_plugin_version(),168 'sdk_version' => WP_FS__SDK_VERSION,169 'is_premium' => $is_premium ? 'true' : 'false',170 'can_install' => $can_user_install ? 'true' : 'false',171 'return_url' => $return_url,172 ) );173 174 $xdebug_session = fs_request_get( 'XDEBUG_SESSION' );175 if ( false !== $xdebug_session ) {176 $query_params['XDEBUG_SESSION'] = $xdebug_session;177 }178 179 $view_params = array(180 'id' => $VARS['id'],181 'page' => strtolower( $fs->get_text_inline( 'Checkout', 'checkout' ) ) . ' ' . $fs->get_text_inline( 'PCI compliant', 'pci-compliant' ),182 );183 fs_require_once_template('secure-https-header.php', $view_params);184 ?>185 <div id="fs_checkout" class="wrap fs-section fs-full-size-wrapper">186 <div id="fs_frame"></div>187 <script type="text/javascript">188 // http://stackoverflow.com/questions/4583703/jquery-post-request-not-ajax189 jQuery(function ($) {190 $.extend({191 form: function (url, data, method) {192 if (method == null) method = 'POST';193 if (data == null) data = {};194 195 var form = $('<form>').attr({196 method: method,197 action: url198 }).css({199 display: 'none'200 });201 202 var addData = function (name, data) {203 if ($.isArray(data)) {204 for (var i = 0; i < data.length; i++) {205 var value = data[i];206 addData(name + '[]', value);207 }208 } else if (typeof data === 'object') {209 for (var key in data) {210 if (data.hasOwnProperty(key)) {211 addData(name + '[' + key + ']', data[key]);212 }213 }214 } else if (data != null) {215 form.append($('<input>').attr({216 type : 'hidden',217 name : String(name),218 value: String(data)219 }));220 }221 };222 223 for (var key in data) {224 if (data.hasOwnProperty(key)) {225 addData(key, data[key]);226 }227 }228 229 return form.appendTo('body');230 }231 });232 });233 234 (function ($) {235 $(function () {236 237 var238 // Keep track of the i-frame height.239 frame_height = 800,240 base_url = '<?php echo FS_CHECKOUT__ADDRESS ?>',241 // Pass the parent page URL into the i-frame in a meaningful way (this URL could be242 // passed via query string or hard coded into the child page, it depends on your needs).243 src = base_url + '/?<?php echo http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),244 // Append the i-frame into the DOM.245 frame = $('<i' + 'frame " src="' + src + '" width="100%" height="' + frame_height + 'px" scrolling="no" frameborder="0" style="background: transparent; width: 1px; min-width: 100%;"><\/i' + 'frame>')246 .appendTo('#fs_frame');247 248 FS.PostMessage.init(base_url, [frame[0]]);249 FS.PostMessage.receiveOnce('height', function (data) {250 var h = data.height;251 if (!isNaN(h) && h > 0 && h != frame_height) {252 frame_height = h;253 frame.height(frame_height + 'px');254 255 FS.PostMessage.postScroll(frame[0]);256 }257 });258 259 FS.PostMessage.receiveOnce('install', function (data) {260 var requestData = {261 user_id : data.user.id,262 user_secret_key : data.user.secret_key,263 user_public_key : data.user.public_key,264 install_id : data.install.id,265 install_secret_key: data.install.secret_key,266 install_public_key: data.install.public_key267 };268 269 if (true === data.auto_install)270 requestData.auto_install = true;271 272 // Post data to activation URL.273 $.form('<?php echo fs_nonce_url( $fs->_get_admin_page_url( 'account', array(274 'fs_action' => $fs->get_unique_affix() . '_activate_new',275 'plugin_id' => $plugin_id276 ) ), $fs->get_unique_affix() . '_activate_new' ) ?>', requestData).submit();277 });278 279 FS.PostMessage.receiveOnce('pending_activation', function (data) {280 var requestData = {281 user_email : data.user_email,282 support_email_address: data.support_email_address283 };284 285 if (true === data.auto_install)286 requestData.auto_install = true;287 288 $.form('<?php echo fs_nonce_url( $fs->_get_admin_page_url( 'account', array(289 'fs_action' => $fs->get_unique_affix() . '_activate_new',290 'plugin_id' => $plugin_id,291 'pending_activation' => true,292 'has_upgrade_context' => true,293 ) ), $fs->get_unique_affix() . '_activate_new' ) ?>', requestData).submit();294 });295 296 FS.PostMessage.receiveOnce('get_context', function () {297 console.debug('receiveOnce', 'get_context');298 299 // If the user didn't connect his account with Freemius,300 // once he accepts the Terms of Service and Privacy Policy,301 // and then click the purchase button, the context information302 // of the user will be shared with Freemius in order to complete the303 // purchase workflow and activate the license for the right user.304 <?php $install_data = array_merge( $fs->get_opt_in_params(),305 array(306 'activation_url' => fs_nonce_url( $fs->_get_admin_page_url( '',307 array(308 'fs_action' => $fs->get_unique_affix() . '_activate_new',309 'plugin_id' => $plugin_id,310 311 ) ),312 $fs->get_unique_affix() . '_activate_new' )313 ) ) ?>314 FS.PostMessage.post('context', <?php echo json_encode( $install_data ) ?>, frame[0]);315 });316 317 FS.PostMessage.receiveOnce('purchaseCompleted', <?php echo $fs->apply_filters('checkout/purchaseCompleted', 'function (data) {318 console.log("checkout", "purchaseCompleted");319 }') ?>);320 321 FS.PostMessage.receiveOnce('get_dimensions', function (data) {322 console.debug('receiveOnce', 'get_dimensions');323 324 FS.PostMessage.post('dimensions', {325 height : $(document.body).height(),326 scrollTop: $(document).scrollTop()327 }, frame[0]);328 });329 330 var updateHeight = function () {331 frame.css('min-height', $(document.body).height() + 'px');332 };333 334 $(document).ready(updateHeight);335 336 $(window).resize(updateHeight);337 });338 })(jQuery);339 </script>340 </div> -
addons-for-elementor/trunk/freemius/templates/contact.php
r3176041 r3252128 8 8 9 9 /** 10 * Update (October 9, 2024 by @swashata): 11 * Following request from the wp.org plugin review team, we have stopped 12 * embedding the contact form inside an i-frame for wp.org hosted free version 13 * of plugins. Now they will be opened in a new tab. 14 * 10 15 * Note for WordPress.org Theme/Plugin reviewer: 11 16 * Freemius is an SDK for plugin and theme developers. Since the core … … 13 18 * we only develop and maintain one code base. 14 19 * 15 * This code (and page) will not run for wp.org themes (only plugins). 20 * This code (and page) will not run for wp.org themes or plugins. It will 21 * run only for premium version of the plugin/theme that is using the SDK. 16 22 * 17 * In addition, this page loads an i-frame. We intentionally named it 'frame'23 * In addition, when this page loads an i-frame. We intentionally named it 'frame' 18 24 * so it will pass the "Theme Check" that is looking for the string "i" . "frame". 19 25 * … … 51 57 $slug = $fs->get_slug(); 52 58 53 $context_params = array( 54 'plugin_id' => $fs->get_id(), 55 'plugin_public_key' => $fs->get_public_key(), 56 'plugin_version' => $fs->get_plugin_version(), 57 ); 58 59 60 // Get site context secure params. 61 if ( $fs->is_registered() ) { 62 $context_params = array_merge( $context_params, FS_Security::instance()->get_context_params( 63 $fs->get_site(), 64 time(), 65 'contact' 66 ) ); 67 } 68 69 $query_params = array_merge( $_GET, array_merge( $context_params, array( 70 'plugin_version' => $fs->get_plugin_version(), 71 'wp_login_url' => wp_login_url(), 72 'site_url' => Freemius::get_unfiltered_site_url(), 73 // 'wp_admin_css' => get_bloginfo('wpurl') . "/wp-admin/load-styles.php?c=1&load=buttons,wp-admin,dashicons", 74 ) ) ); 59 $query_params = FS_Contact_Form_Manager::instance()->get_query_params( $fs ); 75 60 76 61 $view_params = array( … … 118 103 $fs->_add_tabs_after_content(); 119 104 } 120 121 $params = array(122 'page' => 'contact',123 'module_id' => $fs->get_id(),124 'module_type' => $fs->get_module_type(),125 'module_slug' => $slug,126 'module_version' => $fs->get_plugin_version(),127 );128 fs_require_template( 'powered-by.php', $params ); -
addons-for-elementor/trunk/freemius/templates/forms/affiliation.php
r3013610 r3252128 509 509 $fs->_add_tabs_after_content(); 510 510 } 511 512 $params = array(513 'page' => 'affiliation',514 'module_id' => $module_id,515 'module_slug' => $slug,516 'module_version' => $fs->get_plugin_version(),517 );518 fs_require_template( 'powered-by.php', $params ); -
addons-for-elementor/trunk/freemius/templates/forms/license-activation.php
r3176041 r3252128 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(); -
addons-for-elementor/trunk/freemius/templates/pricing.php
r3176041 r3252128 5 5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 6 6 * @since 1.0.3 7 */8 9 /**10 * Note for WordPress.org Theme/Plugin reviewer:11 * Freemius is an SDK for plugin and theme developers. Since the core12 * of the SDK is relevant both for plugins and themes, for obvious reasons,13 * we only develop and maintain one code base.14 *15 * This code (and page) will not run for wp.org themes (only plugins).16 *17 * In addition, this page loads an i-frame. We intentionally named it 'frame'18 * so it will pass the "Theme Check" that is looking for the string "i" . "frame".19 *20 * UPDATE:21 * After ongoing conversations with the WordPress.org TRT we received22 * an official approval for including i-frames in the theme's WP Admin setting's23 * page tab (the SDK will never add any i-frames on the sitefront). i-frames24 * were never against the guidelines, but we wanted to get the team's blessings25 * before we move forward. For the record, I got the final approval from26 * Ulrich Pogson (@grapplerulrich), a team lead at the TRT during WordCamp27 * Europe 2017 (June 16th, 2017).28 *29 * If you have any questions or need clarifications, please don't hesitate30 * pinging me on slack, my username is @svovaf.31 *32 * @author Vova Feldman (@svovaf)33 * @since 1.2.234 7 */ 35 8 … … 93 66 ) ); 94 67 95 $ use_external_pricing = $fs->should_use_external_pricing();68 $pricing_js_url = fs_asset_url( $fs->get_pricing_js_path() ); 96 69 97 if ( ! $use_external_pricing ) { 98 $pricing_js_url = fs_asset_url( $fs->get_pricing_js_path() ); 99 wp_enqueue_script( 'freemius-pricing', $pricing_js_url ); 100 } else { 101 if ( ! $fs->is_registered() ) { 102 $template_data = array( 103 'id' => $fs->get_id(), 104 ); 105 fs_require_template( 'forms/trial-start.php', $template_data); 106 } 70 wp_enqueue_script( 'freemius-pricing', $pricing_js_url ); 107 71 108 $view_params = array( 109 'id' => $VARS['id'], 110 'page' => strtolower( $fs->get_text_x_inline( 'Pricing', 'noun', 'pricing' ) ), 111 ); 112 fs_require_once_template('secure-https-header.php', $view_params); 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 ) ); 113 75 } 114 76 … … 120 82 ?> 121 83 <div id="fs_pricing" class="wrap fs-section fs-full-size-wrapper"> 122 <?php if ( ! $use_external_pricing ) : ?>123 84 <div id="fs_pricing_wrapper" data-public-url="<?php echo trailingslashit( dirname( $pricing_js_url ) ) ?>"></div> 124 85 <?php … … 139 100 'unique_affix' => $fs->get_unique_affix(), 140 101 'show_annual_in_monthly' => $fs->apply_filters( 'pricing/show_annual_in_monthly', true ), 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 ), 141 105 ), $query_params ); 142 106 143 107 wp_add_inline_script( 'freemius-pricing', 'Freemius.pricing.new( ' . json_encode( $pricing_config ) . ' )' ); 144 108 ?> 145 <?php else : ?>146 <div id="fs_frame"></div>147 <form action="" method="POST">148 <input type="hidden" name="user_id"/>149 <input type="hidden" name="user_email"/>150 <input type="hidden" name="site_id"/>151 <input type="hidden" name="public_key"/>152 <input type="hidden" name="secret_key"/>153 <input type="hidden" name="action" value="account"/>154 </form>155 156 <script type="text/javascript">157 (function ($, undef) {158 $(function () {159 var160 // Keep track of the i-frame height.161 frame_height = 800,162 base_url = '<?php echo WP_FS__ADDRESS ?>',163 // Pass the parent page URL into the i-frame in a meaningful way (this URL could be164 // passed via query string or hard coded into the child page, it depends on your needs).165 src = base_url + '/pricing/?<?php echo http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),166 167 // Append the I-frame into the DOM.168 frame = $('<i' + 'frame " src="' + src + '" width="100%" height="' + frame_height + 'px" scrolling="no" frameborder="0" style="background: transparent; width: 1px; min-width: 100%;"><\/i' + 'frame>')169 .appendTo('#fs_frame');170 171 FS.PostMessage.init(base_url, [frame[0]]);172 173 FS.PostMessage.receive('height', function (data) {174 var h = data.height;175 if (!isNaN(h) && h > 0 && h != frame_height) {176 frame_height = h;177 frame.height(frame_height + 'px');178 179 FS.PostMessage.postScroll(frame[0]);180 }181 });182 183 FS.PostMessage.receive('get_dimensions', function (data) {184 FS.PostMessage.post('dimensions', {185 height : $(document.body).height(),186 scrollTop: $(document).scrollTop()187 }, frame[0]);188 });189 190 FS.PostMessage.receive('start_trial', function (data) {191 openTrialConfirmationModal(data);192 });193 });194 })(jQuery);195 </script>196 <?php endif ?>197 109 </div> 198 110 <?php … … 200 112 $fs->_add_tabs_after_content(); 201 113 } 202 203 $params = array(204 'page' => 'pricing',205 'module_id' => $fs->get_id(),206 'module_type' => $fs->get_module_type(),207 'module_slug' => $slug,208 'module_version' => $fs->get_plugin_version(),209 );210 fs_require_template( 'powered-by.php', $params ); -
addons-for-elementor/trunk/plugin.php
r3186964 r3252128 41 41 public function __clone() { 42 42 // Cloning instances of the class is forbidden 43 _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '8. 7' );43 _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '8.8' ); 44 44 } 45 45 … … 50 50 public function __wakeup() { 51 51 // Unserializing instances of the class is forbidden 52 _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '8. 7' );52 _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '8.8' ); 53 53 } 54 54 -
addons-for-elementor/trunk/readme.txt
r3186970 r3252128 6 6 Tags: elementor, elementor addons, elementor extensions, elementor widgets, page builder 7 7 Requires at least: 5.8 8 Tested up to: 6. 78 Tested up to: 6.8 9 9 Requires PHP: 5.8 10 Stable Tag: 8. 710 Stable Tag: 8.8 11 11 License: GPLv3 12 12 License URI: https://opensource.org/licenses/GPL-3.0 … … 216 216 217 217 218 = 8.8 = 219 * Updated - Freemius SDK to 2.11.0 220 218 221 = 8.7 = 219 222 * Enabled widget output caching on the widgets
Note: See TracChangeset
for help on using the changeset viewer.