Plugin Directory

Changeset 3179006


Ignore:
Timestamp:
10/30/2024 05:16:14 PM (16 months ago)
Author:
elespare
Message:

Elementor Compatibility

Location:
elespare/trunk
Files:
25 added
18 edited

Legend:

Unmodified
Added
Removed
  • elespare/trunk/elespare.php

    r3170911 r3179006  
    22
    33/**
    4  * Elespare: Ultimate Blog Addons for Elementor – Easy Post Grids, Sliders, Templates, Header/Footer Builder, and Starter Site Imports
     4 * Elespare: Dynamic Elementor Addons for News, Blogs & Magazines – 35+ Post Grids, Sliders, Carousels, Lists & Tiles, 350+ Templates, Header/Footer Builder & Fast Import
    55 *
    66 * @package Elespare
     
    99 * Description: Easy Post Grids, Sliders, Templates, Header/Footer Builder, and Starter Site Imports
    1010 * Plugin URI:  https://elespare.com/
    11  * Version:     3.3.1
    12  * Elementor tested up to:  3.24.7
    13  * Elementor Pro tested up to:  3.24.7
     11 * Version:     3.3.2
     12 * Elementor tested up to:  3.25.0
     13 * Elementor Pro tested up to:  3.25.1
    1414 * Author:      Elespare
    1515 * Author URI:  https://elespare.com/
    1616 * Text Domain: elespare
    17  * Build Your Blog, News & Magazine Websites with Expert-Designed Template Kits. One Click Import: No Coding Skills Required!
     17 * Dynamic Elementor Addons for News, Blogs & Magazines – 35+ Post Grids, Sliders, Carousels, Lists & Tiles, 350+ Templates, Header/Footer Builder & Fast Import
    1818 */
    1919
     
    2323}
    2424
    25 defined('ELESPARE_VERSION') or define('ELESPARE_VERSION', '3.3.1');
     25defined('ELESPARE_VERSION') or define('ELESPARE_VERSION', '3.3.2');
    2626defined('ELESPARE') or define('ELESPARE', __FILE__);
    2727defined('ELESPARE_PLUGIN_BASE') or define('ELESPARE_PLUGIN_BASE', plugin_basename(ELESPARE));
  • elespare/trunk/freemius/assets/css/admin/checkout.css

    r3074274 r3179006  
    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}
  • elespare/trunk/freemius/assets/css/admin/dialog-boxes.css

    r3170911 r3179006  
    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}
  • elespare/trunk/freemius/includes/class-freemius.php

    r3170911 r3179006  
    380380        #endregion
    381381
    382         /**
    383          * @author Leo Fajardo (@leorw)
    384          * @since 2.3.1
    385          *
    386          * @var boolean|null
    387          */
    388         private $_use_external_pricing = null;
    389382        /**
    390383         * @author Leo Fajardo (@leorw)
     
    13811374
    13821375        /**
    1383          * Opens the support forum subemenu item in a new browser page.
    1384          *
    1385          * @author Vova Feldman (@svovaf)
     1376         * Modifies all external links in the submenu by altering their href, and also opens them in new tab if needed.
     1377         *
     1378         * @author Vova Feldman (@svovaf)
     1379         * @author Swashata Ghosh (@swashata)
    13861380         * @since  2.1.4
    13871381         */
    1388         static function _open_support_forum_in_new_page() {
     1382        static function _handle_submenu_external_link() {
    13891383            ?>
    13901384            <script type="text/javascript">
    1391                 (function ($) {
    1392                     $('.fs-submenu-item.wp-support-forum').parent().attr( { target: '_blank', rel: 'noopener noreferrer' } );
    1393                 })(jQuery);
     1385                (function ( $ ) {
     1386                    $( '.fs-submenu-item' ).each( function () {
     1387                        var $this = $( this ),
     1388                            $parent = $this.parent(),
     1389                            externalLink = $this.data( 'fs-external-url' ),
     1390                            isOpensInNewTab = $this.data( 'fs-new-tab' );
     1391
     1392                        if ( externalLink ) {
     1393                            $parent.attr( 'href', externalLink );
     1394                        }
     1395
     1396                        if ( isOpensInNewTab ) {
     1397                            $parent.attr( { target: '_blank', rel: 'noopener noreferrer' } );
     1398                        }
     1399                    } );
     1400                } )( jQuery );
    13941401            </script>
    13951402            <?php
     
    14881495
    14891496                add_action( 'init', array( &$this, '_maybe_add_gdpr_optin_ajax_handler') );
    1490                 add_action( 'init', array( &$this, '_maybe_add_pricing_ajax_handler' ) );
     1497                add_action( 'init', array( &$this, '_add_pricing_ajax_handler' ) );
    14911498            }
    14921499
     
    34303437            add_action( 'init', array( $clone_manager, '_init' ) );
    34313438
    3432             add_action( 'admin_footer', array( 'Freemius', '_open_support_forum_in_new_page' ) );
     3439            add_action( 'admin_footer', array( 'Freemius', '_handle_submenu_external_link' ) );
    34333440
    34343441            if ( self::is_plugins_page() || self::is_themes_page() ) {
     
    1359713604        function get_pricing_js_path() {
    1359813605            if ( ! isset( $this->_pricing_js_path ) ) {
    13599                 $pricing_js_path = $this->apply_filters( 'freemius_pricing_js_path', '' );
    13600 
     13606                $default_path = WP_FS__DIR_JS . '/pricing/freemius-pricing.js';
     13607
     13608                $pricing_js_path = $this->apply_filters( 'freemius_pricing_js_path', $default_path );
     13609
     13610                // Backward compatibility for people who placed the freemius-pricing inside `includes` directory. Let it take more preference than the default path.
    1360113611                if ( empty( $pricing_js_path ) ) {
    1360213612                    global $fs_active_plugins;
     
    1361713627                }
    1361813628
     13629                // If it is still empty, load the default pricing JS.
     13630                if ( ! file_exists( $pricing_js_path ) ) {
     13631                    $pricing_js_path = $default_path;
     13632                }
     13633
    1361913634                $this->_pricing_js_path = $pricing_js_path;
    1362013635            }
     
    1362713642         * @since 2.3.1
    1362813643         *
     13644         * @deprecated Since v2.9.0 we have removed the iFrame based pricing. This will always return `false`.
     13645         *
    1362913646         * @return bool
    1363013647         */
    1363113648        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;
     13649            return false;
    1363913650        }
    1364013651
     
    1800018011                     * @author Leo Fajardo (@leorw)
    1800118012                     */
     18013                    $user = $this->_user;
     18014
    1800218015                    $this->_user = null;
    1800318016
    1800418017                    fs_redirect( $this->get_activation_url( array( 'error' => $result->error->message ) ) );
     18018
     18019                    /**
     18020                     * Restore the user after the redirect, this is relevant when there are cases where the redirect will choose not to do anything.
     18021                     */
     18022                    $this->_user = $user;
    1800518023                }
    1800618024            }
     
    1876718785                if (! WP_FS__DEMO_MODE && ! $this->is_whitelabeled() ) {
    1876818786                    // 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() . ' &ndash; ' . $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                     );
     18787                    if ( $this->is_premium() ) {
     18788                        $this->add_submenu_item(
     18789                            $this->get_text_inline( 'Contact Us', 'contact-us' ),
     18790                            array( &$this, '_contact_page_render' ),
     18791                            $this->get_plugin_name() . ' &ndash; ' . $this->get_text_inline( 'Contact Us', 'contact-us' ),
     18792                            'manage_options',
     18793                            'contact',
     18794                            'Freemius::_clean_admin_content_section',
     18795                            WP_FS__DEFAULT_PRIORITY,
     18796                            $this->is_submenu_item_visible( 'contact' )
     18797                        );
     18798                    } else {
     18799                        $this->add_submenu_link_item(
     18800                            $this->get_text_inline( 'Contact Us', 'contact-us' ),
     18801                            FS_Contact_Form_Manager::instance()->get_standalone_link( $this ),
     18802                            'contact',
     18803                            'manage_options',
     18804                            WP_FS__DEFAULT_PRIORITY,
     18805                            $this->is_submenu_item_visible( 'contact' ),
     18806                            'fs_external_contact',
     18807                            true
     18808                        );
     18809                    }
    1877918810                }
    1878018811
     
    1887818909         */
    1887918910        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>';
     18911            $item_classes = $this->_menu->is_top_level() ? 'fs-submenu-item' : 'fs-submenu-item fs-sub';
     18912
     18913            $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>';
    1888318914
    1888418915            $top_level_menu_capability = $this->get_top_level_menu_capability();
     
    1889718928                        $item['menu_slug'],
    1889818929                        ! empty( $item['class'] ) ? $item['class'] : '',
    18899                         $item['menu_title']
     18930                        $item['menu_title'],
     18931                        esc_attr( isset( $item['url'] ) ? $item['url'] : '' ),
     18932                        esc_attr( isset( $item['new_tab'] ) ? 'true' : 'false' )
    1890018933                    );
    1890118934
     
    1905319086                    null,
    1905419087                    50,
    19055                     $this->is_submenu_item_visible( 'support' )
     19088                    $this->is_submenu_item_visible( 'support' ),
     19089                    '',
     19090                    true
    1905619091                );
    1905719092            }
     
    1913219167         * @param bool   $show_submenu
    1913319168         * @param string $class
     19169         * @param bool   $new_tab
    1913419170         */
    1913519171        function add_submenu_link_item(
     
    1914019176            $priority = WP_FS__DEFAULT_PRIORITY,
    1914119177            $show_submenu = true,
    19142             $class = ''
     19178            $class = '',
     19179            $new_tab = false
    1914319180        ) {
    1914419181            $this->_logger->entrance( 'Title = ' . $menu_title . '; Url = ' . $url );
     
    1915519192                        $priority,
    1915619193                        $show_submenu,
    19157                         $class
     19194                        $class,
     19195                        $new_tab
    1915819196                    );
    1915919197
     
    1917619214                'show_submenu'           => $show_submenu,
    1917719215                'class'                  => $class,
     19216                'new_tab'                => $new_tab,
    1917819217            );
    1917919218        }
     
    2168721726         *
    2168821727         * @param bool|string $plan_name
     21728         * @param bool        $add_sticky_notice
    2168921729         *
    2169021730         * @return bool If trial was successfully started.
    2169121731         */
    21692         function start_trial( $plan_name = false ) {
     21732        function start_trial( $plan_name = false, $add_sticky_notice = false ) {
    2169321733            $this->_logger->entrance();
    2169421734
     
    2170121741                    sprintf( $this->get_text_inline( 'You are already running the %s in a trial mode.', 'in-trial-mode' ), $this->_module_type ),
    2170221742                    $oops_text,
    21703                     'error'
     21743                    'error',
     21744                    $add_sticky_notice
    2170421745                );
    2170521746
     
    2170721748            }
    2170821749
    21709             if ( $this->_site->is_trial_utilized() ) {
     21750            if ( $this->_site->is_trial_utilized() && ! $this->is_payments_sandbox() ) {
    2171021751                // Trial was already utilized.
    2171121752                $this->_admin_notices->add(
    2171221753                    $this->get_text_inline( 'You already utilized a trial before.', 'trial-utilized' ),
    2171321754                    $oops_text,
    21714                     'error'
     21755                    'error',
     21756                    $add_sticky_notice
    2171521757                );
    2171621758
     
    2172621768                        sprintf( $this->get_text_inline( 'Plan %s do not exist, therefore, can\'t start a trial.', 'trial-plan-x-not-exist' ), $plan_name ),
    2172721769                        $oops_text,
    21728                         'error'
     21770                        'error',
     21771                        $add_sticky_notice
    2172921772                    );
    2173021773
     
    2173721780                        sprintf( $this->get_text_inline( 'Plan %s does not support a trial period.', 'plan-x-no-trial' ), $plan_name ),
    2173821781                        $oops_text,
    21739                         'error'
     21782                        'error',
     21783                        $add_sticky_notice
    2174021784                    );
    2174121785
     
    2174821792                        sprintf( $this->get_text_inline( 'None of the %s\'s plans supports a trial period.', 'no-trials' ), $this->_module_type ),
    2174921793                        $oops_text,
    21750                         'error'
     21794                        'error',
     21795                        $add_sticky_notice
    2175121796                    );
    2175221797
     
    2175921804            }
    2176021805
    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 ) ) {
     21806            $trial_params = array();
     21807
     21808            if ( $this->is_payments_sandbox() ) {
     21809                $trial_params['trial_timestamp'] = time();
     21810                $trial_params['trial_token']     = FS_Security::instance()->get_trial_token(
     21811                    $this->get_plugin(),
     21812                    $plan,
     21813                    $trial_params['trial_timestamp']
     21814                );
     21815            }
     21816
     21817            $api   = $this->get_api_site_scope();
     21818            $trial = $api->call( "plans/{$plan->id}/trials.json", 'post', $trial_params );
     21819
     21820            if ( ! $this->is_api_result_entity( $trial ) ) {
    2176521821                // Some API error while trying to start the trial.
    2176621822                $this->_admin_notices->add(
    21767                     $this->get_api_error_message( $plan ),
     21823                    $this->get_api_error_message( $trial ),
    2176821824                    $oops_text,
    21769                     'error'
     21825                    'error',
     21826                    $add_sticky_notice
    2177021827                );
    2177121828
     
    2200722064            if ( true === $fetch_readme ) {
    2200822065                $latest_version_endpoint = add_query_arg( 'readme', 'true', $latest_version_endpoint );
     22066
     22067                // Don't cache the API response when fetching readme information.
     22068                $expiration = null;
    2200922069            }
    2201022070
     
    2324823308            $this->_logger->entrance();
    2324923309
     23310            fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
     23311            fs_enqueue_local_style( 'fs_checkout', '/admin/checkout.css' );
     23312
    2325023313            $vars = array( 'id' => $this->_module_id );
    2325123314
     
    2326123324         * @since  2.3.1
    2326223325         */
    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             }
     23326        function _add_pricing_ajax_handler() {
     23327            $this->add_ajax_action( 'pricing_ajax_action', array( &$this, '_fs_pricing_ajax_action_handler' ) );
    2326723328        }
    2326823329
     
    2331423375                    break;
    2331523376                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                     );
     23377                    $trial_plan_id = fs_request_get( 'plan_id' );
     23378
     23379                    if ( $this->is_registered() && $this->is_tracking_allowed() ) {
     23380                        $plan = $this->_get_plan_by_id( $trial_plan_id );
     23381
     23382                        if ( ! $plan ) {
     23383                            $this->shoot_ajax_failure( 'Invalid plan ID.' );
     23384                            return;
     23385                        }
     23386
     23387                        $result = $this->start_trial( $plan->name, true );
     23388                    } else {
     23389                        // @todo - This fails for sandbox trial at the moment if the trial was already utilized.
     23390                        $result = $this->opt_in(
     23391                            false,
     23392                            false,
     23393                            false,
     23394                            false,
     23395                            false,
     23396                            $trial_plan_id
     23397                        );
     23398                    }
    2332423399            }
    2332523400
  • elespare/trunk/freemius/includes/class-fs-api.php

    r3091739 r3179006  
    356356                }
    357357
    358                 self::$_cache->set( $cache_key, $result, $expiration );
     358                if ( is_numeric( $expiration ) ) {
     359                    self::$_cache->set( $cache_key, $result, $expiration );
     360                }
    359361
    360362                $cached_result = $result;
  • elespare/trunk/freemius/includes/class-fs-security.php

    r3005404 r3179006  
    8383            );
    8484        }
     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        }
    85103    }
  • elespare/trunk/freemius/languages/freemius.pot

    r3104346 r3179006  
    99"Language-Team: Freemius Team <[email protected]>\n"
    1010"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"
    1212"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
    1313"X-Poedit-Basepath: ..\n"
     
    1818"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    1919
    20 #: includes/class-freemius.php:1781, templates/account.php:943
     20#: includes/class-freemius.php:1790, templates/account.php:943
    2121msgid "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."
    2222msgstr ""
    2323
    24 #: includes/class-freemius.php:1788
     24#: includes/class-freemius.php:1797
    2525msgid "Would you like to proceed with the update?"
    2626msgstr ""
    2727
    28 #: includes/class-freemius.php:2013
     28#: includes/class-freemius.php:2022
    2929msgid "Freemius SDK couldn't find the plugin's main file. Please contact [email protected] with the current error."
    3030msgstr ""
    3131
    32 #: includes/class-freemius.php:2015, includes/fs-plugin-info-dialog.php:1513
     32#: includes/class-freemius.php:2024, includes/fs-plugin-info-dialog.php:1513
    3333msgid "Error"
    3434msgstr ""
    3535
    36 #: includes/class-freemius.php:2461
     36#: includes/class-freemius.php:2470
    3737msgid "I found a better %s"
    3838msgstr ""
    3939
    40 #: includes/class-freemius.php:2463
     40#: includes/class-freemius.php:2472
    4141msgid "What's the %s's name?"
    4242msgstr ""
    4343
    44 #: includes/class-freemius.php:2469
     44#: includes/class-freemius.php:2478
    4545msgid "It's a temporary %s - I'm troubleshooting an issue"
    4646msgstr ""
    4747
    48 #: includes/class-freemius.php:2471
     48#: includes/class-freemius.php:2480
    4949msgid "Deactivation"
    5050msgstr ""
    5151
    52 #: includes/class-freemius.php:2472
     52#: includes/class-freemius.php:2481
    5353msgid "Theme Switch"
    5454msgstr ""
    5555
    56 #: includes/class-freemius.php:2481, templates/forms/resend-key.php:24, templates/forms/user-change.php:29
     56#: includes/class-freemius.php:2490, templates/forms/resend-key.php:24, templates/forms/user-change.php:29
    5757msgid "Other"
    5858msgstr ""
    5959
    60 #: includes/class-freemius.php:2489
     60#: includes/class-freemius.php:2498
    6161msgid "I no longer need the %s"
    6262msgstr ""
    6363
    64 #: includes/class-freemius.php:2496
     64#: includes/class-freemius.php:2505
    6565msgid "I only needed the %s for a short period"
    6666msgstr ""
    6767
    68 #: includes/class-freemius.php:2502
     68#: includes/class-freemius.php:2511
    6969msgid "The %s broke my site"
    7070msgstr ""
    7171
    72 #: includes/class-freemius.php:2509
     72#: includes/class-freemius.php:2518
    7373msgid "The %s suddenly stopped working"
    7474msgstr ""
    7575
    76 #: includes/class-freemius.php:2519
     76#: includes/class-freemius.php:2528
    7777msgid "I can't pay for it anymore"
    7878msgstr ""
    7979
    80 #: includes/class-freemius.php:2521
     80#: includes/class-freemius.php:2530
    8181msgid "What price would you feel comfortable paying?"
    8282msgstr ""
    8383
    84 #: includes/class-freemius.php:2527
     84#: includes/class-freemius.php:2536
    8585msgid "I don't like to share my information with you"
    8686msgstr ""
    8787
    88 #: includes/class-freemius.php:2548
     88#: includes/class-freemius.php:2557
    8989msgid "The %s didn't work"
    9090msgstr ""
    9191
    92 #: includes/class-freemius.php:2558
     92#: includes/class-freemius.php:2567
    9393msgid "I couldn't understand how to make it work"
    9494msgstr ""
    9595
    96 #: includes/class-freemius.php:2566
     96#: includes/class-freemius.php:2575
    9797msgid "The %s is great, but I need specific feature that you don't support"
    9898msgstr ""
    9999
    100 #: includes/class-freemius.php:2568
     100#: includes/class-freemius.php:2577
    101101msgid "What feature?"
    102102msgstr ""
    103103
    104 #: includes/class-freemius.php:2572
     104#: includes/class-freemius.php:2581
    105105msgid "The %s is not working"
    106106msgstr ""
    107107
    108 #: includes/class-freemius.php:2574
     108#: includes/class-freemius.php:2583
    109109msgid "Kindly share what didn't work so we can fix it for future users..."
    110110msgstr ""
    111111
    112 #: includes/class-freemius.php:2578
     112#: includes/class-freemius.php:2587
    113113msgid "It's not what I was looking for"
    114114msgstr ""
    115115
    116 #: includes/class-freemius.php:2580
     116#: includes/class-freemius.php:2589
    117117msgid "What you've been looking for?"
    118118msgstr ""
    119119
    120 #: includes/class-freemius.php:2584
     120#: includes/class-freemius.php:2593
    121121msgid "The %s didn't work as expected"
    122122msgstr ""
    123123
    124 #: includes/class-freemius.php:2586
     124#: includes/class-freemius.php:2595
    125125msgid "What did you expect?"
    126126msgstr ""
    127127
    128 #: includes/class-freemius.php:3685, templates/debug.php:24
    129 msgid "Freemius Debug"
    130 msgstr ""
    131 
    132128#. translators: %s: License type (e.g. you have a professional license)
    133 #: includes/class-freemius.php:4828
     129#: includes/class-freemius.php:4517
    134130msgid "You have purchased a %s license."
    135131msgstr ""
    136132
    137 #: includes/class-freemius.php:4832
     133#: includes/class-freemius.php:4521
    138134msgid " 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."
    139135msgstr ""
    140136
    141 #: includes/class-freemius.php:4842, includes/class-freemius.php:21174, includes/class-freemius.php:24859
     137#: includes/class-freemius.php:4531, includes/class-freemius.php:20889, includes/class-freemius.php:24610
    142138msgctxt "interjection expressing joy or exuberance"
    143139msgid "Yee-haw"
    144140msgstr ""
    145141
    146 #: includes/class-freemius.php:4856
     142#: includes/class-freemius.php:4545
    147143msgctxt "addonX cannot run without pluginY"
    148144msgid "%s cannot run without %s."
    149145msgstr ""
    150146
    151 #: includes/class-freemius.php:4857
     147#: includes/class-freemius.php:4546
    152148msgctxt "addonX cannot run..."
    153149msgid "%s cannot run without the plugin."
    154150msgstr ""
    155151
    156 #: includes/class-freemius.php:4859, includes/class-freemius.php:6051, includes/class-freemius.php:13828, includes/class-freemius.php:14575, includes/class-freemius.php:18330, includes/class-freemius.php:18443, includes/class-freemius.php:18620, includes/class-freemius.php:20905, includes/class-freemius.php:22020, includes/class-freemius.php:23036, includes/class-freemius.php:23166, includes/class-freemius.php:23309, templates/add-ons.php:57
     152#: 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
    157153msgctxt "exclamation"
    158154msgid "Oops"
    159155msgstr ""
    160156
    161 #: includes/class-freemius.php:5138
     157#: includes/class-freemius.php:4827
    162158msgid "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:"
    163159msgstr ""
    164160
    165161#. translators: %s: License type (e.g. you have a professional license)
    166 #: includes/class-freemius.php:5743
     162#: includes/class-freemius.php:5437
    167163msgid "You have a %s license."
    168164msgstr ""
    169165
    170 #: includes/class-freemius.php:5716
     166#: includes/class-freemius.php:5410
    171167msgid "Premium %s version was successfully activated."
    172168msgstr ""
    173169
    174 #: includes/class-freemius.php:5728, includes/class-freemius.php:7765
     170#: includes/class-freemius.php:5422, includes/class-freemius.php:7434
    175171msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)."
    176172msgid "W00t"
    177173msgstr ""
    178174
    179 #: includes/class-freemius.php:6034
     175#: includes/class-freemius.php:5728
    180176msgid "%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."
    181177msgstr ""
    182178
    183 #: includes/class-freemius.php:6038
     179#: includes/class-freemius.php:5732
    184180msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
    185181msgstr ""
    186182
    187 #: includes/class-freemius.php:6047, templates/add-ons.php:186, templates/account/partials/addon.php:386
     183#: includes/class-freemius.php:5741, templates/add-ons.php:186, templates/account/partials/addon.php:386
    188184msgid "More information about %s"
    189185msgstr ""
    190186
    191 #: includes/class-freemius.php:6048
     187#: includes/class-freemius.php:5742
    192188msgid "Purchase License"
    193189msgstr ""
    194190
    195191#. 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:7053
     192#: includes/class-freemius.php:6747
    197193msgid "You should receive %3$s for %1$s to your mailbox at %2$s in the next 5 minutes."
    198194msgstr ""
    199195
    200 #: includes/class-freemius.php:7062
     196#: includes/class-freemius.php:6756
    201197msgctxt "Part of the message telling the user what they should receive via email."
    202198msgid "a license key"
     
    204200
    205201#. translators: %s: activation link (e.g.: <a>Click here</a>)
    206 #: includes/class-freemius.php:7070
     202#: includes/class-freemius.php:6764
    207203msgid "%s to activate the license once you get it."
    208204msgstr ""
    209205
    210 #: includes/class-freemius.php:7078
     206#: includes/class-freemius.php:6772
    211207msgctxt "Part of an activation link message."
    212208msgid "Click here"
    213209msgstr ""
    214210
    215 #: includes/class-freemius.php:7056
     211#: includes/class-freemius.php:6750
    216212msgctxt "Part of the message telling the user what they should receive via email."
    217213msgid "the installation instructions"
    218214msgstr ""
    219215
    220 #: includes/class-freemius.php:7085
     216#: includes/class-freemius.php:6779
    221217msgctxt "Part of the message that tells the user to check their spam folder for a specific email."
    222218msgid "the product's support email address"
    223219msgstr ""
    224220
    225 #: includes/class-freemius.php:7091
     221#: includes/class-freemius.php:6785
    226222msgid "If you didn't get the email, try checking your spam folder or search for emails from %4$s."
    227223msgstr ""
    228224
    229 #: includes/class-freemius.php:7093
     225#: includes/class-freemius.php:6787
    230226msgid "Thanks for upgrading."
    231227msgstr ""
    232228
    233 #: includes/class-freemius.php:7044
     229#: includes/class-freemius.php:6738
    234230msgid "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."
    235231msgstr ""
    236232
    237 #: includes/class-freemius.php:7047
     233#: includes/class-freemius.php:6741
    238234msgid "start the trial"
    239235msgstr ""
    240236
    241 #: includes/class-freemius.php:7048, templates/connect.php:209
     237#: includes/class-freemius.php:6742, templates/connect.php:208
    242238msgid "complete the opt-in"
    243239msgstr ""
    244240
    245 #: includes/class-freemius.php:7050
     241#: includes/class-freemius.php:6744
    246242msgid "Thanks!"
    247243msgstr ""
    248244
    249 #: includes/class-freemius.php:7229
     245#: includes/class-freemius.php:6923
    250246msgid "You are just one step away - %s"
    251247msgstr ""
    252248
    253 #: includes/class-freemius.php:7232
     249#: includes/class-freemius.php:6926
    254250msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
    255251msgid "Complete \"%s\" Activation Now"
    256252msgstr ""
    257253
    258 #: includes/class-freemius.php:7314
     254#: includes/class-freemius.php:7008
    259255msgid "We made a few tweaks to the %s, %s"
    260256msgstr ""
    261257
    262 #: includes/class-freemius.php:7318
     258#: includes/class-freemius.php:7012
    263259msgid "Opt in to make \"%s\" better!"
    264260msgstr ""
    265261
    266 #: includes/class-freemius.php:7764
     262#: includes/class-freemius.php:7433
    267263msgid "The upgrade of %s was successfully completed."
    268264msgstr ""
    269265
    270 #: includes/class-freemius.php:10527, includes/class-fs-plugin-updater.php:1097, includes/class-fs-plugin-updater.php:1319, includes/class-fs-plugin-updater.php:1312, templates/auto-installation.php:32
     266#: 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
    271267msgid "Add-On"
    272268msgstr ""
    273269
    274 #: includes/class-freemius.php:10529, templates/account.php:407, templates/account.php:415, templates/debug.php:399, templates/debug.php:619
     270#: includes/class-freemius.php:10198, templates/account.php:407, templates/account.php:415, templates/debug.php:458, templates/debug.php:678
    275271msgid "Plugin"
    276272msgstr ""
    277273
    278 #: includes/class-freemius.php:10530, templates/account.php:408, templates/account.php:416, templates/debug.php:399, templates/debug.php:619, templates/forms/deactivation/form.php:107
     274#: 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
    279275msgid "Theme"
    280276msgstr ""
    281277
    282 #: includes/class-freemius.php:13635
     278#: includes/class-freemius.php:13284
    283279msgid "An unknown error has occurred while trying to toggle the license's white-label mode."
    284280msgstr ""
    285281
    286 #: includes/class-freemius.php:13649
     282#: includes/class-freemius.php:13298
    287283msgid "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."
    288284msgstr ""
    289285
    290 #: includes/class-freemius.php:13654, templates/account/partials/disconnect-button.php:84
     286#: includes/class-freemius.php:13303, templates/account/partials/disconnect-button.php:84
    291287msgid "User Dashboard"
    292288msgstr ""
    293289
    294 #: includes/class-freemius.php:13655
     290#: includes/class-freemius.php:13304
    295291msgid "revert it now"
    296292msgstr ""
    297293
    298 #: includes/class-freemius.php:13713
     294#: includes/class-freemius.php:13362
    299295msgid "An unknown error has occurred while trying to set the user's beta mode."
    300296msgstr ""
    301297
    302 #: includes/class-freemius.php:13799
     298#: includes/class-freemius.php:13448
    303299msgid "Invalid new user ID or email address."
    304300msgstr ""
    305301
    306 #: includes/class-freemius.php:13829
     302#: includes/class-freemius.php:13478
    307303msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
    308304msgstr ""
    309305
    310 #: includes/class-freemius.php:13830
     306#: includes/class-freemius.php:13479
    311307msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
    312308msgstr ""
    313309
    314 #: includes/class-freemius.php:13837
     310#: includes/class-freemius.php:13486
    315311msgid "Change Ownership"
    316312msgstr ""
    317313
    318 #: includes/class-freemius.php:14442
     314#: includes/class-freemius.php:14095
    319315msgid "Invalid site details collection."
    320316msgstr ""
    321317
    322 #: includes/class-freemius.php:14564
     318#: includes/class-freemius.php:14217
    323319msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
    324320msgstr ""
    325321
    326 #: includes/class-freemius.php:14562
     322#: includes/class-freemius.php:14215
    327323msgid "We couldn't find your email address in the system, are you sure it's the right address?"
    328324msgstr ""
    329325
    330 #: includes/class-freemius.php:14868
     326#: includes/class-freemius.php:14521
    331327msgid "Account is pending activation. Please check your email and click the link to activate your account and then submit the affiliate form again."
    332328msgstr ""
    333329
    334 #: includes/class-freemius.php:14994, templates/forms/premium-versions-upgrade-handler.php:46
     330#: includes/class-freemius.php:14647, templates/forms/premium-versions-upgrade-handler.php:46
    335331msgid "Renew your license now"
    336332msgstr ""
    337333
    338 #: includes/class-freemius.php:14982, templates/forms/premium-versions-upgrade-handler.php:47
     334#: includes/class-freemius.php:14635, templates/forms/premium-versions-upgrade-handler.php:47
    339335msgid "Buy a license now"
    340336msgstr ""
    341337
    342 #: includes/class-freemius.php:14998
     338#: includes/class-freemius.php:14651
    343339msgid "%s to access version %s security & feature updates, and support."
    344340msgstr ""
    345341
    346 #: includes/class-freemius.php:17670
     342#: includes/class-freemius.php:17337
    347343msgid "%s opt-in was successfully completed."
    348344msgstr ""
    349345
    350 #: includes/class-freemius.php:17694, includes/class-freemius.php:21631
     346#: includes/class-freemius.php:17361, includes/class-freemius.php:21346
    351347msgid "Your trial has been successfully started."
    352348msgstr ""
    353349
    354 #: includes/class-freemius.php:17684
     350#: includes/class-freemius.php:17351
    355351msgid "Your account was successfully activated with the %s plan."
    356352msgstr ""
    357353
    358 #: includes/class-freemius.php:18328, includes/class-freemius.php:18441, includes/class-freemius.php:18618
     354#: includes/class-freemius.php:17995, includes/class-freemius.php:18115, includes/class-freemius.php:18292
    359355msgid "Couldn't activate %s."
    360356msgstr ""
    361357
    362 #: includes/class-freemius.php:18329, includes/class-freemius.php:18442, includes/class-freemius.php:18619
     358#: includes/class-freemius.php:17996, includes/class-freemius.php:18116, includes/class-freemius.php:18293
    363359msgid "Please contact us with the following message:"
    364360msgstr ""
    365361
    366 #: includes/class-freemius.php:18438, templates/forms/data-debug-mode.php:162
     362#: includes/class-freemius.php:18112, templates/forms/data-debug-mode.php:162
    367363msgid "An unknown error has occurred."
    368364msgstr ""
    369365
    370 #: includes/class-freemius.php:18980, includes/class-freemius.php:24415
     366#: includes/class-freemius.php:18654, includes/class-freemius.php:24166
    371367msgid "Upgrade"
    372368msgstr ""
    373369
    374 #: includes/class-freemius.php:18988
     370#: includes/class-freemius.php:18662
    375371msgid "Pricing"
    376372msgstr ""
    377373
    378 #: includes/class-freemius.php:18986
     374#: includes/class-freemius.php:18660
    379375msgid "Start Trial"
    380376msgstr ""
    381377
    382 #: includes/class-freemius.php:19068, includes/class-freemius.php:19070
     378#: includes/class-freemius.php:18742, includes/class-freemius.php:18744
    383379msgid "Affiliation"
    384380msgstr ""
    385381
    386 #: includes/class-freemius.php:19098, includes/class-freemius.php:19100, templates/account.php:260, templates/debug.php:366
     382#: includes/class-freemius.php:18772, includes/class-freemius.php:18774, templates/account.php:260, templates/debug.php:425
    387383msgid "Account"
    388384msgstr ""
    389385
    390 #: includes/class-freemius.php:19114, includes/class-freemius.php:19116, includes/customizer/class-fs-customizer-support-section.php:60
     386#: includes/class-freemius.php:18800, includes/class-freemius.php:18789, includes/class-freemius.php:18791, includes/customizer/class-fs-customizer-support-section.php:60
    391387msgid "Contact Us"
    392388msgstr ""
    393389
    394 #: includes/class-freemius.php:19127, includes/class-freemius.php:19129, includes/class-freemius.php:24429, templates/account.php:130, templates/account/partials/addon.php:49
     390#: 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
    395391msgid "Add-Ons"
    396392msgstr ""
    397393
    398 #: includes/class-freemius.php:19163
     394#: includes/class-freemius.php:18849
    399395msgctxt "ASCII arrow left icon"
    400396msgid "&#x2190;"
    401397msgstr ""
    402398
    403 #: includes/class-freemius.php:19163
     399#: includes/class-freemius.php:18849
    404400msgctxt "ASCII arrow right icon"
    405401msgid "&#x27a4;"
    406402msgstr ""
    407403
    408 #: includes/class-freemius.php:19165, templates/pricing.php:110
     404#: includes/class-freemius.php:18867
    409405msgctxt "noun"
    410406msgid "Pricing"
    411407msgstr ""
    412408
    413 #: includes/class-freemius.php:19378, includes/customizer/class-fs-customizer-support-section.php:67
     409#: includes/class-freemius.php:19083, includes/customizer/class-fs-customizer-support-section.php:67
    414410msgid "Support Forum"
    415411msgstr ""
    416412
    417 #: includes/class-freemius.php:20399
     413#: includes/class-freemius.php:20114
    418414msgid "Your email has been successfully verified - you are AWESOME!"
    419415msgstr ""
    420416
    421 #: includes/class-freemius.php:20400
     417#: includes/class-freemius.php:20115
    422418msgctxt "a positive response"
    423419msgid "Right on"
    424420msgstr ""
    425421
    426 #: includes/class-freemius.php:20906
     422#: includes/class-freemius.php:20621
    427423msgid "seems like the key you entered doesn't match our records."
    428424msgstr ""
    429425
    430 #: includes/class-freemius.php:20930
     426#: includes/class-freemius.php:20645
    431427msgid "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."
    432428msgstr ""
    433429
    434 #: includes/class-freemius.php:21165
     430#: includes/class-freemius.php:20880
    435431msgid "Your %s Add-on plan was successfully upgraded."
    436432msgstr ""
    437433
    438434#. translators: %s:product name, e.g. Facebook add-on was successfully...
    439 #: includes/class-freemius.php:21167
     435#: includes/class-freemius.php:20882
    440436msgid "%s Add-on was successfully purchased."
    441437msgstr ""
    442438
    443 #: includes/class-freemius.php:21170
     439#: includes/class-freemius.php:20885
    444440msgid "Download the latest version"
    445441msgstr ""
    446442
    447 #: includes/class-freemius.php:21288
     443#: includes/class-freemius.php:21003
    448444msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
    449445msgstr ""
    450446
    451 #: includes/class-freemius.php:21288, includes/class-freemius.php:21701, includes/class-freemius.php:21802, includes/class-freemius.php:21889
     447#: includes/class-freemius.php:21003, includes/class-freemius.php:21416, includes/class-freemius.php:21517, includes/class-freemius.php:21604
    452448msgid "Error received from the server:"
    453449msgstr ""
    454450
    455 #: includes/class-freemius.php:21529, includes/class-freemius.php:21807, includes/class-freemius.php:21860, includes/class-freemius.php:21967
     451#: includes/class-freemius.php:21244, includes/class-freemius.php:21522, includes/class-freemius.php:21575, includes/class-freemius.php:21682
    456452msgctxt "something somebody says when they are thinking about what you have just said."
    457453msgid "Hmm"
    458454msgstr ""
    459455
    460 #: includes/class-freemius.php:21542
     456#: includes/class-freemius.php:21257
    461457msgid "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."
    462458msgstr ""
    463459
    464 #: includes/class-freemius.php:21543, templates/account.php:132, templates/add-ons.php:250, templates/account/partials/addon.php:51
     460#: includes/class-freemius.php:21258, templates/account.php:132, templates/add-ons.php:250, templates/account/partials/addon.php:51
    465461msgctxt "trial period"
    466462msgid "Trial"
    467463msgstr ""
    468464
    469 #: includes/class-freemius.php:21548
     465#: includes/class-freemius.php:21263
    470466msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
    471467msgstr ""
    472468
    473 #: includes/class-freemius.php:21552, includes/class-freemius.php:21610
     469#: includes/class-freemius.php:21267, includes/class-freemius.php:21325
    474470msgid "Please contact us here"
    475471msgstr ""
    476472
    477 #: includes/class-freemius.php:21580
     473#: includes/class-freemius.php:21295
    478474msgid "Your plan was successfully changed to %s."
    479475msgstr ""
    480476
    481 #: includes/class-freemius.php:21596
     477#: includes/class-freemius.php:21311
    482478msgid "Your license has expired. You can still continue using the free %s forever."
    483479msgstr ""
    484480
    485481#. 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:21598
     482#: includes/class-freemius.php:21313
    487483msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
    488484msgstr ""
    489485
    490 #: includes/class-freemius.php:21606
     486#: includes/class-freemius.php:21321
    491487msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
    492488msgstr ""
    493489
    494 #: includes/class-freemius.php:21619
     490#: includes/class-freemius.php:21334
    495491msgid "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."
    496492msgstr ""
    497493
    498 #: includes/class-freemius.php:21645
     494#: includes/class-freemius.php:21360
    499495msgid "Your free trial has expired. You can still continue using all our free features."
    500496msgstr ""
    501497
    502498#. 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:21647
     499#: includes/class-freemius.php:21362
    504500msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
    505501msgstr ""
    506502
    507 #: includes/class-freemius.php:21693
     503#: includes/class-freemius.php:21408
    508504msgid "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"
    509505msgstr ""
    510506
    511 #: includes/class-freemius.php:21695
     507#: includes/class-freemius.php:21410
    512508msgid "Show error details"
    513509msgstr ""
    514510
    515 #: includes/class-freemius.php:21798
     511#: includes/class-freemius.php:21513
    516512msgid "It looks like the license could not be activated."
    517513msgstr ""
    518514
    519 #: includes/class-freemius.php:21840
     515#: includes/class-freemius.php:21555
    520516msgid "Your license was successfully activated."
    521517msgstr ""
    522518
    523 #: includes/class-freemius.php:21864
     519#: includes/class-freemius.php:21579
    524520msgid "It looks like your site currently doesn't have an active license."
    525521msgstr ""
    526522
    527 #: includes/class-freemius.php:21888
     523#: includes/class-freemius.php:21603
    528524msgid "It looks like the license deactivation failed."
    529525msgstr ""
    530526
    531 #: includes/class-freemius.php:21917
     527#: includes/class-freemius.php:21632
    532528msgid "Your %s license was successfully deactivated."
    533529msgstr ""
    534530
    535 #: includes/class-freemius.php:21918
     531#: includes/class-freemius.php:21633
    536532msgid "Your license was successfully deactivated, you are back to the %s plan."
    537533msgstr ""
    538534
    539 #: includes/class-freemius.php:21921
     535#: includes/class-freemius.php:21636
    540536msgid "O.K"
    541537msgstr ""
    542538
    543 #: includes/class-freemius.php:21974
     539#: includes/class-freemius.php:21689
    544540msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
    545541msgstr ""
    546542
    547 #: includes/class-freemius.php:21983
     543#: includes/class-freemius.php:21698
    548544msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
    549545msgstr ""
    550546
    551 #: includes/class-freemius.php:22025
     547#: includes/class-freemius.php:21741
    552548msgid "You are already running the %s in a trial mode."
    553549msgstr ""
    554550
    555 #: includes/class-freemius.php:22036
     551#: includes/class-freemius.php:21753
    556552msgid "You already utilized a trial before."
    557553msgstr ""
    558554
    559 #: includes/class-freemius.php:22072
     555#: includes/class-freemius.php:21792
    560556msgid "None of the %s's plans supports a trial period."
    561557msgstr ""
    562558
    563 #: includes/class-freemius.php:22050
     559#: includes/class-freemius.php:21768
    564560msgid "Plan %s do not exist, therefore, can't start a trial."
    565561msgstr ""
    566562
    567 #: includes/class-freemius.php:22061
     563#: includes/class-freemius.php:21780
    568564msgid "Plan %s does not support a trial period."
    569565msgstr ""
    570566
    571 #: includes/class-freemius.php:22121
     567#: includes/class-freemius.php:21854
    572568msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
    573569msgstr ""
    574570
    575 #: includes/class-freemius.php:22157
     571#: includes/class-freemius.php:21890
    576572msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
    577573msgstr ""
    578574
    579 #: includes/class-freemius.php:22176
     575#: includes/class-freemius.php:21909
    580576msgid "Your %s free trial was successfully cancelled."
    581577msgstr ""
    582578
    583 #: includes/class-freemius.php:22520
     579#: includes/class-freemius.php:22256
    584580msgid "Seems like you got the latest release."
    585581msgstr ""
    586582
    587 #: includes/class-freemius.php:22521
     583#: includes/class-freemius.php:22257
    588584msgid "You are all good!"
    589585msgstr ""
    590586
    591 #: includes/class-freemius.php:22503
     587#: includes/class-freemius.php:22239
    592588msgid "Version %s was released."
    593589msgstr ""
    594590
    595 #: includes/class-freemius.php:22503
     591#: includes/class-freemius.php:22239
    596592msgid "Please download %s."
    597593msgstr ""
    598594
    599 #: includes/class-freemius.php:22510
     595#: includes/class-freemius.php:22246
    600596msgid "the latest %s version here"
    601597msgstr ""
    602598
    603 #: includes/class-freemius.php:22515
     599#: includes/class-freemius.php:22251
    604600msgid "New"
    605601msgstr ""
    606602
    607 #: includes/class-freemius.php:22924
     603#: includes/class-freemius.php:22660
    608604msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
    609605msgstr ""
    610606
    611 #: includes/class-freemius.php:23064
     607#: includes/class-freemius.php:22800
    612608msgid "Site successfully opted in."
    613609msgstr ""
    614610
    615 #: includes/class-freemius.php:23065, includes/class-freemius.php:24125
     611#: includes/class-freemius.php:22801, includes/class-freemius.php:23876
    616612msgid "Awesome"
    617613msgstr ""
    618614
    619 #: includes/class-freemius.php:23091
     615#: includes/class-freemius.php:22827
    620616msgid "Diagnostic data will no longer be sent from %s to %s."
    621617msgstr ""
    622618
    623 #: includes/class-freemius.php:23081
     619#: includes/class-freemius.php:22817
    624620msgid "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."
    625621msgstr ""
    626622
    627 #: includes/class-freemius.php:23082
     623#: includes/class-freemius.php:22818
    628624msgid "Thank you!"
    629625msgstr ""
    630626
    631 #: includes/class-freemius.php:23251
     627#: includes/class-freemius.php:22987
    632628msgid "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."
    633629msgstr ""
    634630
    635 #: includes/class-freemius.php:23249
     631#: includes/class-freemius.php:22985
    636632msgid "A confirmation email was just sent to %s. The email owner must confirm the update within the next 4 hours."
    637633msgstr ""
    638634
    639 #: includes/class-freemius.php:23263
     635#: includes/class-freemius.php:22999
    640636msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
    641637msgstr ""
    642638
    643 #: includes/class-freemius.php:23269
     639#: includes/class-freemius.php:23005
    644640msgid "%s is the new owner of the account."
    645641msgstr ""
    646642
    647 #: includes/class-freemius.php:23271
     643#: includes/class-freemius.php:23007
    648644msgctxt "as congratulations"
    649645msgid "Congrats"
    650646msgstr ""
    651647
    652 #: includes/class-freemius.php:23293
     648#: includes/class-freemius.php:23029
    653649msgid "Your name was successfully updated."
    654650msgstr ""
    655651
    656 #: includes/class-freemius.php:23288
     652#: includes/class-freemius.php:23024
    657653msgid "Please provide your full name."
    658654msgstr ""
    659655
    660656#. translators: %s: User's account property (e.g. email address, name)
    661 #: includes/class-freemius.php:23358
     657#: includes/class-freemius.php:23094
    662658msgid "You have successfully updated your %s."
    663659msgstr ""
    664660
    665 #: includes/class-freemius.php:23422
     661#: includes/class-freemius.php:23158
    666662msgid "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."
    667663msgstr ""
    668664
    669 #: includes/class-freemius.php:23425
     665#: includes/class-freemius.php:23161
    670666msgid "Click here"
    671667msgstr ""
    672668
    673 #: includes/class-freemius.php:23462
     669#: includes/class-freemius.php:23198
    674670msgid "Bundle"
    675671msgstr ""
    676672
    677 #: includes/class-freemius.php:23535
     673#: includes/class-freemius.php:23271
    678674msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
    679675msgstr ""
    680676
    681 #: includes/class-freemius.php:23536
     677#: includes/class-freemius.php:23272
    682678msgctxt "advance notice of something that will need attention."
    683679msgid "Heads up"
    684680msgstr ""
    685681
    686 #: includes/class-freemius.php:24165
     682#: includes/class-freemius.php:23916
    687683msgctxt "exclamation"
    688684msgid "Hey"
    689685msgstr ""
    690686
    691 #: includes/class-freemius.php:24165
     687#: includes/class-freemius.php:23916
    692688msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
    693689msgstr ""
    694690
    695 #: includes/class-freemius.php:24173
     691#: includes/class-freemius.php:23924
    696692msgid "No commitment for %s days - cancel anytime!"
    697693msgstr ""
    698694
    699 #: includes/class-freemius.php:24174
     695#: includes/class-freemius.php:23925
    700696msgid "No credit card required"
    701697msgstr ""
    702698
    703 #: includes/class-freemius.php:24181, templates/forms/trial-start.php:53
     699#: includes/class-freemius.php:23932, templates/forms/trial-start.php:53
    704700msgctxt "call to action"
    705701msgid "Start free trial"
    706702msgstr ""
    707703
    708 #: includes/class-freemius.php:24258
     704#: includes/class-freemius.php:24009
    709705msgid "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!"
    710706msgstr ""
    711707
    712 #: includes/class-freemius.php:24267
     708#: includes/class-freemius.php:24018
    713709msgid "Learn more"
    714710msgstr ""
    715711
    716 #: includes/class-freemius.php:24453, templates/account.php:569, templates/account.php:721, templates/connect.php:212, templates/connect.php:440, includes/managers/class-fs-clone-manager.php:1295, templates/forms/license-activation.php:27, templates/account/partials/addon.php:326
     712#: 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
    717713msgid "Activate License"
    718714msgstr ""
    719715
    720 #: includes/class-freemius.php:24454, templates/account.php:663, templates/account.php:720, templates/account/partials/addon.php:327, templates/account/partials/site.php:273
     716#: 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
    721717msgid "Change License"
    722718msgstr ""
    723719
    724 #: includes/class-freemius.php:24569, includes/class-freemius.php:24563, templates/account/partials/site.php:49, templates/account/partials/site.php:170
     720#: includes/class-freemius.php:24320, includes/class-freemius.php:24314, templates/account/partials/site.php:49, templates/account/partials/site.php:170
    725721msgid "Opt In"
    726722msgstr ""
    727723
    728 #: includes/class-freemius.php:24561, templates/account/partials/site.php:170
     724#: includes/class-freemius.php:24312, templates/account/partials/site.php:170
    729725msgid "Opt Out"
    730726msgstr ""
    731727
    732 #: includes/class-freemius.php:24827
     728#: includes/class-freemius.php:24578
    733729msgid "Please follow these steps to complete the upgrade"
    734730msgstr ""
    735731
    736732#. translators: %s: Plan title
    737 #: includes/class-freemius.php:24831
     733#: includes/class-freemius.php:24582
    738734msgid "Download the latest %s version"
    739735msgstr ""
    740736
    741 #: includes/class-freemius.php:24835
     737#: includes/class-freemius.php:24586
    742738msgid "Upload and activate the downloaded version"
    743739msgstr ""
    744740
    745 #: includes/class-freemius.php:24837
     741#: includes/class-freemius.php:24588
    746742msgid "How to upload and activate?"
    747743msgstr ""
    748744
    749 #: includes/class-freemius.php:24804
     745#: includes/class-freemius.php:24555
    750746msgid " The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s"
    751747msgstr ""
    752748
    753 #: includes/class-freemius.php:24814
     749#: includes/class-freemius.php:24565
    754750msgid "Activate %s features"
    755751msgstr ""
    756752
    757 #: includes/class-freemius.php:24872
     753#: includes/class-freemius.php:24623
    758754msgid "Your plan was successfully upgraded."
    759755msgstr ""
    760756
    761 #: includes/class-freemius.php:24873
     757#: includes/class-freemius.php:24624
    762758msgid "Your plan was successfully activated."
    763759msgstr ""
    764760
    765 #: includes/class-freemius.php:25003
     761#: includes/class-freemius.php:24733
    766762msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
    767763msgstr ""
    768764
    769 #: includes/class-freemius.php:25172
     765#: includes/class-freemius.php:24902
    770766msgid "Auto installation only works for opted-in users."
    771767msgstr ""
    772768
    773 #: includes/class-freemius.php:25182, includes/class-freemius.php:25215, includes/class-fs-plugin-updater.php:1291, includes/class-fs-plugin-updater.php:1305
     769#: includes/class-freemius.php:24912, includes/class-freemius.php:24945, includes/class-fs-plugin-updater.php:1336, includes/class-fs-plugin-updater.php:1350
    774770msgid "Invalid module ID."
    775771msgstr ""
    776772
    777 #: includes/class-freemius.php:25223, includes/class-fs-plugin-updater.php:1326
     773#: includes/class-freemius.php:24953, includes/class-fs-plugin-updater.php:1371
    778774msgid "Premium add-on version already installed."
    779775msgstr ""
    780776
    781 #: includes/class-freemius.php:25191, includes/class-fs-plugin-updater.php:1327
     777#: includes/class-freemius.php:24921, includes/class-fs-plugin-updater.php:1372
    782778msgid "Premium version already active."
    783779msgstr ""
    784780
    785 #: includes/class-freemius.php:25198
     781#: includes/class-freemius.php:24928
    786782msgid "You do not have a valid license to access the premium version."
    787783msgstr ""
    788784
    789 #: includes/class-freemius.php:25205
     785#: includes/class-freemius.php:24935
    790786msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
    791787msgstr ""
    792788
    793 #: includes/class-freemius.php:25583
     789#: includes/class-freemius.php:25313
    794790msgid "View paid features"
    795791msgstr ""
    796792
    797 #: includes/class-freemius.php:25898
     793#: includes/class-freemius.php:25628
    798794msgid "Thank you so much for using our products!"
    799795msgstr ""
    800796
    801 #: includes/class-freemius.php:25899
     797#: includes/class-freemius.php:25629
    802798msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
    803799msgstr ""
    804800
    805 #: includes/class-freemius.php:25918
     801#: includes/class-freemius.php:25648
    806802msgid "%s and its add-ons"
    807803msgstr ""
    808804
    809 #: includes/class-freemius.php:25927
     805#: includes/class-freemius.php:25657
    810806msgid "Products"
    811807msgstr ""
    812808
    813 #: includes/class-freemius.php:25887
     809#: includes/class-freemius.php:25617
    814810msgid "Thank you so much for using %s and its add-ons!"
    815811msgstr ""
    816812
    817 #: includes/class-freemius.php:25888
     813#: includes/class-freemius.php:25618
    818814msgid "Thank you so much for using %s!"
    819815msgstr ""
    820816
    821 #: includes/class-freemius.php:25894
     817#: includes/class-freemius.php:25624
    822818msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
    823819msgstr ""
    824820
    825 #: includes/class-freemius.php:25934, templates/connect.php:313
     821#: includes/class-freemius.php:25664, templates/connect.php:312
    826822msgid "Yes"
    827823msgstr ""
    828824
    829 #: includes/class-freemius.php:25935, templates/connect.php:314
     825#: includes/class-freemius.php:25665, templates/connect.php:313
    830826msgid "send me security & feature updates, educational content and offers."
    831827msgstr ""
    832828
    833 #: includes/class-freemius.php:25936, templates/connect.php:319
     829#: includes/class-freemius.php:25666, templates/connect.php:318
    834830msgid "No"
    835831msgstr ""
    836832
    837 #: includes/class-freemius.php:25938, templates/connect.php:321
     833#: includes/class-freemius.php:25668, templates/connect.php:320
    838834msgid "do %sNOT%s send me security & feature updates, educational content and offers."
    839835msgstr ""
    840836
    841 #: includes/class-freemius.php:25948
     837#: includes/class-freemius.php:25678
    842838msgid "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 :-)"
    843839msgstr ""
    844840
    845 #: includes/class-freemius.php:25950, templates/connect.php:328
     841#: includes/class-freemius.php:25680, templates/connect.php:327
    846842msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
    847843msgstr ""
    848844
    849 #: includes/class-freemius.php:26240
     845#: includes/class-freemius.php:25970
    850846msgid "License key is empty."
    851847msgstr ""
    852848
    853 #: includes/class-fs-plugin-updater.php:212, templates/forms/premium-versions-upgrade-handler.php:57
     849#: includes/class-fs-plugin-updater.php:247, templates/forms/premium-versions-upgrade-handler.php:57
    854850msgid "Renew license"
    855851msgstr ""
    856852
    857 #: includes/class-fs-plugin-updater.php:217, templates/forms/premium-versions-upgrade-handler.php:58
     853#: includes/class-fs-plugin-updater.php:252, templates/forms/premium-versions-upgrade-handler.php:58
    858854msgid "Buy license"
    859855msgstr ""
    860856
    861 #: includes/class-fs-plugin-updater.php:370, includes/class-fs-plugin-updater.php:337
     857#: includes/class-fs-plugin-updater.php:405, includes/class-fs-plugin-updater.php:372
    862858msgid "There is a %s of %s available."
    863859msgstr ""
    864860
    865 #: includes/class-fs-plugin-updater.php:375, includes/class-fs-plugin-updater.php:339
     861#: includes/class-fs-plugin-updater.php:410, includes/class-fs-plugin-updater.php:374
    866862msgid "new Beta version"
    867863msgstr ""
    868864
    869 #: includes/class-fs-plugin-updater.php:376, includes/class-fs-plugin-updater.php:340
     865#: includes/class-fs-plugin-updater.php:411, includes/class-fs-plugin-updater.php:375
    870866msgid "new version"
    871867msgstr ""
    872868
    873 #: includes/class-fs-plugin-updater.php:399
     869#: includes/class-fs-plugin-updater.php:434
    874870msgid "Important Upgrade Notice:"
    875871msgstr ""
    876872
    877 #: includes/class-fs-plugin-updater.php:1356
     873#: includes/class-fs-plugin-updater.php:1401
    878874msgid "Installing plugin: %s"
    879875msgstr ""
    880876
    881 #: includes/class-fs-plugin-updater.php:1397
     877#: includes/class-fs-plugin-updater.php:1442
    882878msgid "Unable to connect to the filesystem. Please confirm your credentials."
    883879msgstr ""
    884880
    885 #: includes/class-fs-plugin-updater.php:1579
     881#: includes/class-fs-plugin-updater.php:1624
    886882msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
    887883msgstr ""
     
    931927msgstr ""
    932928
    933 #: includes/fs-plugin-info-dialog.php:790, templates/connect.php:437
     929#: includes/fs-plugin-info-dialog.php:790, templates/connect.php:436
    934930msgid "Activate Free Version"
    935931msgstr ""
     
    10651061msgstr ""
    10661062
    1067 #: includes/fs-plugin-info-dialog.php:1315, templates/account.php:121, templates/debug.php:232, templates/debug.php:269, templates/debug.php:518, templates/account/partials/addon.php:41
     1063#: 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
    10681064msgctxt "product version"
    10691065msgid "Version"
     
    12811277msgstr ""
    12821278
    1283 #: templates/account.php:135, templates/debug.php:412, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:54
     1279#: templates/account.php:135, templates/debug.php:471, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:54
    12841280msgctxt "as product pricing plan"
    12851281msgid "Plan"
     
    13271323msgstr ""
    13281324
    1329 #: templates/account.php:385, templates/debug.php:575
     1325#: templates/account.php:385, templates/debug.php:634
    13301326msgid "Name"
    13311327msgstr ""
    13321328
    1333 #: templates/account.php:391, templates/debug.php:576
     1329#: templates/account.php:391, templates/debug.php:635
    13341330msgid "Email"
    13351331msgstr ""
    13361332
    1337 #: templates/account.php:398, templates/debug.php:410, templates/debug.php:625
     1333#: templates/account.php:398, templates/debug.php:469, templates/debug.php:684
    13381334msgid "User ID"
    13391335msgstr ""
    13401336
    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:21
     1337#: 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
    13421338msgid "ID"
    13431339msgstr ""
     
    13511347msgstr ""
    13521348
    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:228
     1349#: 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
    13541350msgid "Public Key"
    13551351msgstr ""
    13561352
    1357 #: templates/account.php:437, templates/debug.php:414, templates/debug.php:520, templates/debug.php:579, templates/account/partials/site.php:241
     1353#: templates/account.php:437, templates/debug.php:473, templates/debug.php:579, templates/debug.php:638, templates/account/partials/site.php:241
    13581354msgid "Secret Key"
    13591355msgstr ""
     
    13641360msgstr ""
    13651361
    1366 #: templates/account.php:494, templates/debug.php:631, templates/account/partials/site.php:262
     1362#: templates/account.php:494, templates/debug.php:690, templates/account/partials/site.php:262
    13671363msgid "License Key"
    13681364msgstr ""
     
    14301426msgstr ""
    14311427
    1432 #: templates/account.php:735, templates/debug.php:407
     1428#: templates/account.php:735, templates/debug.php:466
    14331429msgid "Address"
    14341430msgstr ""
     
    15341530#: templates/auto-installation.php:109
    15351531msgid "Cancel Installation"
    1536 msgstr ""
    1537 
    1538 #: templates/checkout.php:181
    1539 msgid "Checkout"
    1540 msgstr ""
    1541 
    1542 #: templates/checkout.php:181
    1543 msgid "PCI compliant"
    15441532msgstr ""
    15451533
     
    15511539
    15521540#. translators: %1$s: plugin name (e.g., "Awesome Plugin"); %2$s: version (e.g., "1.2.3")
    1553 #: templates/connect.php:186
     1541#: templates/connect.php:185
    15541542msgid "Thank you for updating to %1$s v%2$s!"
    15551543msgstr ""
    15561544
    1557 #: templates/connect.php:178
     1545#: templates/connect.php:177
    15581546msgid "Never miss an important update"
    15591547msgstr ""
    15601548
    1561 #: templates/connect.php:196
     1549#: templates/connect.php:195
    15621550msgid "Allow & Continue"
    15631551msgstr ""
    15641552
    15651553#. translators: %s: module type (plugin, theme, or add-on)
    1566 #: templates/connect.php:236
     1554#: templates/connect.php:235
    15671555msgid "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."
    15681556msgstr ""
    15691557
    1570 #: templates/connect.php:238
     1558#: templates/connect.php:237
    15711559msgid "Opt in to get email notifications for security & feature updates, educational content, and occasional offers, and to share some basic WordPress environment info."
    15721560msgstr ""
    15731561
    1574 #: templates/connect.php:241
     1562#: templates/connect.php:240
    15751563msgid "If you skip this, that's okay! %1$s will still work just fine."
    15761564msgstr ""
    15771565
    1578 #: templates/connect.php:227
     1566#: templates/connect.php:226
    15791567msgid "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."
    15801568msgstr ""
    15811569
    1582 #: templates/connect.php:216
     1570#: templates/connect.php:215
    15831571msgid "Welcome to %s! To get started, please enter your license key:"
    15841572msgstr ""
    15851573
    1586 #: templates/connect.php:200
     1574#: templates/connect.php:199
    15871575msgid "Re-send activation email"
    15881576msgstr ""
    15891577
     1578#: templates/connect.php:203
     1579msgid "Thanks %s!"
     1580msgstr ""
     1581
    15901582#: templates/connect.php:204
    1591 msgid "Thanks %s!"
    1592 msgstr ""
    1593 
    1594 #: templates/connect.php:205
    15951583msgid "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."
    15961584msgstr ""
    15971585
    1598 #: templates/connect.php:271
     1586#: templates/connect.php:270
    15991587msgid "We're excited to introduce the Freemius network-level integration."
    16001588msgstr ""
    16011589
    1602 #: templates/connect.php:285
     1590#: templates/connect.php:284
    16031591msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
    16041592msgstr ""
    16051593
    1606 #: templates/connect.php:274
     1594#: templates/connect.php:273
    16071595msgid "During the update process we detected %d site(s) that are still pending license activation."
    16081596msgstr ""
    16091597
    1610 #: templates/connect.php:276
     1598#: templates/connect.php:275
    16111599msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
    16121600msgstr ""
    16131601
    1614 #: templates/connect.php:278
     1602#: templates/connect.php:277
    16151603msgid "%s's paid features"
    16161604msgstr ""
    16171605
    1618 #: templates/connect.php:283
     1606#: templates/connect.php:282
    16191607msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
    16201608msgstr ""
    16211609
    1622 #: templates/connect.php:294, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:42
     1610#: templates/connect.php:293, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:42
    16231611msgid "License key"
    16241612msgstr ""
    16251613
    1626 #: templates/connect.php:297, templates/forms/license-activation.php:22
     1614#: templates/connect.php:296, templates/forms/license-activation.php:22
    16271615msgid "Can't find your license key?"
    16281616msgstr ""
    16291617
    1630 #: templates/connect.php:360, templates/connect.php:690, templates/forms/deactivation/retry-skip.php:20
     1618#: templates/connect.php:359, templates/connect.php:689, templates/forms/deactivation/retry-skip.php:20
    16311619msgctxt "verb"
    16321620msgid "Skip"
    16331621msgstr ""
    16341622
    1635 #: templates/connect.php:363
     1623#: templates/connect.php:362
    16361624msgid "Delegate to Site Admins"
    16371625msgstr ""
    16381626
    1639 #: templates/connect.php:363
     1627#: templates/connect.php:362
    16401628msgid "If you click it, this decision will be delegated to the sites administrators."
    16411629msgstr ""
    16421630
    1643 #: templates/connect.php:392
     1631#: templates/connect.php:391
    16441632msgid "License issues?"
    16451633msgstr ""
    16461634
    1647 #: templates/connect.php:421
     1635#: templates/connect.php:420
    16481636msgid "This will allow %s to"
    16491637msgstr ""
    16501638
    1651 #: templates/connect.php:416
     1639#: templates/connect.php:415
    16521640msgid "For delivery of security & feature updates, and license management, %s needs to"
    16531641msgstr ""
    16541642
    1655 #: templates/connect.php:439
     1643#: templates/connect.php:438
    16561644msgid "Have a license key?"
    16571645msgstr ""
    16581646
    1659 #: templates/connect.php:436
     1647#: templates/connect.php:435
    16601648msgid "Don't have a license key?"
    16611649msgstr ""
    16621650
    1663 #: templates/connect.php:447
     1651#: templates/connect.php:446
    16641652msgid "Freemius is our licensing and software updates engine"
    16651653msgstr ""
    16661654
    1667 #: templates/connect.php:450
     1655#: templates/connect.php:449
    16681656msgid "Privacy Policy"
    16691657msgstr ""
    16701658
    1671 #: templates/connect.php:455
     1659#: templates/connect.php:454
    16721660msgid "Terms of Service"
    16731661msgstr ""
    16741662
    1675 #: templates/connect.php:453
     1663#: templates/connect.php:452
    16761664msgid "License Agreement"
    16771665msgstr ""
    16781666
    1679 #: templates/connect.php:876
     1667#: templates/connect.php:875
    16801668msgctxt "as in the process of sending an email"
    16811669msgid "Sending email"
    16821670msgstr ""
    16831671
    1684 #: templates/connect.php:877
     1672#: templates/connect.php:876
    16851673msgctxt "as activating plugin"
    16861674msgid "Activating"
    16871675msgstr ""
    16881676
    1689 #: templates/contact.php:78
     1677#: templates/contact.php:63
    16901678msgid "Contact"
    16911679msgstr ""
     
    17011689msgstr ""
    17021690
    1703 #: templates/debug.php:24
     1691#: templates/debug.php:29, includes/managers/class-fs-debug-manager.php:26
     1692msgid "Freemius Debug"
     1693msgstr ""
     1694
     1695#: templates/debug.php:29
    17041696msgid "SDK"
    17051697msgstr ""
    17061698
    1707 #: templates/debug.php:28
     1699#: templates/debug.php:32
    17081700msgctxt "as code debugging"
    17091701msgid "Debugging"
    17101702msgstr ""
    17111703
    1712 #: templates/debug.php:58, templates/debug.php:279, templates/debug.php:415, templates/debug.php:580
     1704#: templates/debug.php:38
     1705msgctxt "timer for auto-disabling debug"
     1706msgid "Auto off in:"
     1707msgstr ""
     1708
     1709#: templates/debug.php:117, templates/debug.php:338, templates/debug.php:474, templates/debug.php:639
    17131710msgid "Actions"
    17141711msgstr ""
    17151712
    1716 #: templates/debug.php:68
     1713#: templates/debug.php:127
    17171714msgid "Are you sure you want to delete all Freemius data?"
    17181715msgstr ""
    17191716
    1720 #: templates/debug.php:68
     1717#: templates/debug.php:127
    17211718msgid "Delete All Accounts"
    17221719msgstr ""
    17231720
    1724 #: templates/debug.php:75
     1721#: templates/debug.php:134
    17251722msgid "Clear API Cache"
    17261723msgstr ""
    17271724
    1728 #: templates/debug.php:83
     1725#: templates/debug.php:142
    17291726msgid "Clear Updates Transients"
    17301727msgstr ""
    17311728
    1732 #: templates/debug.php:92
     1729#: templates/debug.php:151
    17331730msgid "Reset Deactivation Snoozing"
    17341731msgstr ""
    17351732
    1736 #: templates/debug.php:100
     1733#: templates/debug.php:159
    17371734msgid "Sync Data From Server"
    17381735msgstr ""
    17391736
    1740 #: templates/debug.php:109
     1737#: templates/debug.php:168
    17411738msgid "Migrate Options to Network"
    17421739msgstr ""
    17431740
    1744 #: templates/debug.php:114
     1741#: templates/debug.php:173
    17451742msgid "Load DB Option"
    17461743msgstr ""
    17471744
    1748 #: templates/debug.php:117
     1745#: templates/debug.php:176
    17491746msgid "Set DB Option"
    17501747msgstr ""
    17511748
    1752 #: templates/debug.php:211
     1749#: templates/debug.php:270
    17531750msgid "Key"
    17541751msgstr ""
    17551752
    1756 #: templates/debug.php:212
     1753#: templates/debug.php:271
    17571754msgid "Value"
    17581755msgstr ""
    17591756
    1760 #: templates/debug.php:228
     1757#: templates/debug.php:287
    17611758msgctxt "as software development kit versions"
    17621759msgid "SDK Versions"
    17631760msgstr ""
    17641761
    1765 #: templates/debug.php:233
     1762#: templates/debug.php:292
    17661763msgid "SDK Path"
    17671764msgstr ""
    17681765
    1769 #: templates/debug.php:234, templates/debug.php:273
     1766#: templates/debug.php:293, templates/debug.php:332
    17701767msgid "Module Path"
    17711768msgstr ""
    17721769
    1773 #: templates/debug.php:235
     1770#: templates/debug.php:294
    17741771msgid "Is Active"
    17751772msgstr ""
    17761773
    1777 #: templates/debug.php:263, templates/debug/plugins-themes-sync.php:35
     1774#: templates/debug.php:322, templates/debug/plugins-themes-sync.php:35
    17781775msgid "Plugins"
    17791776msgstr ""
    17801777
    1781 #: templates/debug.php:263, templates/debug/plugins-themes-sync.php:56
     1778#: templates/debug.php:322, templates/debug/plugins-themes-sync.php:56
    17821779msgid "Themes"
    17831780msgstr ""
    17841781
    1785 #: templates/debug.php:268, templates/debug.php:409, templates/debug.php:517, templates/debug/scheduled-crons.php:80
     1782#: templates/debug.php:327, templates/debug.php:468, templates/debug.php:576, templates/debug/scheduled-crons.php:80
    17861783msgid "Slug"
    17871784msgstr ""
    17881785
    1789 #: templates/debug.php:270, templates/debug.php:516
     1786#: templates/debug.php:329, templates/debug.php:575
    17901787msgid "Title"
    17911788msgstr ""
    17921789
    1793 #: templates/debug.php:271
     1790#: templates/debug.php:330
    17941791msgctxt "as application program interface"
    17951792msgid "API"
    17961793msgstr ""
    17971794
    1798 #: templates/debug.php:272
     1795#: templates/debug.php:331
    17991796msgid "Freemius State"
    18001797msgstr ""
    18011798
    1802 #: templates/debug.php:276
     1799#: templates/debug.php:335
    18031800msgid "Network Blog"
    18041801msgstr ""
    18051802
    1806 #: templates/debug.php:277
     1803#: templates/debug.php:336
    18071804msgid "Network User"
    18081805msgstr ""
    18091806
    1810 #: templates/debug.php:323
     1807#: templates/debug.php:382
    18111808msgctxt "as connection was successful"
    18121809msgid "Connected"
    18131810msgstr ""
    18141811
    1815 #: templates/debug.php:325
     1812#: templates/debug.php:384
    18161813msgctxt "as connection blocked"
    18171814msgid "Blocked"
    18181815msgstr ""
    18191816
    1820 #: templates/debug.php:326
     1817#: templates/debug.php:385
    18211818msgctxt "API connectivity state is unknown"
    18221819msgid "Unknown"
    18231820msgstr ""
    18241821
    1825 #: templates/debug.php:362
     1822#: templates/debug.php:421
    18261823msgid "Simulate Trial Promotion"
    18271824msgstr ""
    18281825
    1829 #: templates/debug.php:374
     1826#: templates/debug.php:433
    18301827msgid "Simulate Network Upgrade"
    18311828msgstr ""
    18321829
    18331830#. translators: %s: 'plugin' or 'theme'
    1834 #: templates/debug.php:398
     1831#: templates/debug.php:457
    18351832msgid "%s Installs"
    18361833msgstr ""
    18371834
    1838 #: templates/debug.php:400
     1835#: templates/debug.php:459
    18391836msgctxt "like websites"
    18401837msgid "Sites"
    18411838msgstr ""
    18421839
    1843 #: templates/debug.php:406, templates/account/partials/site.php:156
     1840#: templates/debug.php:465, templates/account/partials/site.php:156
    18441841msgid "Blog ID"
    18451842msgstr ""
    18461843
    1847 #: templates/debug.php:411
     1844#: templates/debug.php:470
    18481845msgid "License ID"
    18491846msgstr ""
    18501847
    1851 #: templates/debug.php:497, templates/debug.php:603, templates/account/partials/addon.php:440
     1848#: templates/debug.php:556, templates/debug.php:662, templates/account/partials/addon.php:440
    18521849msgctxt "verb"
    18531850msgid "Delete"
    18541851msgstr ""
    18551852
    1856 #: templates/debug.php:511
     1853#: templates/debug.php:570
    18571854msgid "Add Ons of module %s"
    18581855msgstr ""
    18591856
    1860 #: templates/debug.php:570
     1857#: templates/debug.php:629
    18611858msgid "Users"
    18621859msgstr ""
    18631860
    1864 #: templates/debug.php:577
     1861#: templates/debug.php:636
    18651862msgid "Verified"
    18661863msgstr ""
    18671864
    1868 #: templates/debug.php:619
     1865#: templates/debug.php:678
    18691866msgid "%s Licenses"
    18701867msgstr ""
    18711868
    1872 #: templates/debug.php:624
     1869#: templates/debug.php:683
    18731870msgid "Plugin ID"
    18741871msgstr ""
    18751872
    1876 #: templates/debug.php:626
     1873#: templates/debug.php:685
    18771874msgid "Plan ID"
    18781875msgstr ""
    18791876
    1880 #: templates/debug.php:627
     1877#: templates/debug.php:686
    18811878msgid "Quota"
    18821879msgstr ""
    18831880
    1884 #: templates/debug.php:628
     1881#: templates/debug.php:687
    18851882msgid "Activated"
    18861883msgstr ""
    18871884
    1888 #: templates/debug.php:629
     1885#: templates/debug.php:688
    18891886msgid "Blocking"
    18901887msgstr ""
    18911888
    1892 #: templates/debug.php:630, templates/debug.php:701, templates/debug/logger.php:22
     1889#: templates/debug.php:689, templates/debug.php:760, templates/debug/logger.php:22
    18931890msgid "Type"
    18941891msgstr ""
    18951892
    1896 #: templates/debug.php:632
     1893#: templates/debug.php:691
    18971894msgctxt "as expiration date"
    18981895msgid "Expiration"
    18991896msgstr ""
    19001897
    1901 #: templates/debug.php:660
     1898#: templates/debug.php:719
    19021899msgid "Debug Log"
    19031900msgstr ""
    19041901
    1905 #: templates/debug.php:664
     1902#: templates/debug.php:723
    19061903msgid "All Types"
    19071904msgstr ""
    19081905
    1909 #: templates/debug.php:671
     1906#: templates/debug.php:730
    19101907msgid "All Requests"
    19111908msgstr ""
    19121909
    1913 #: templates/debug.php:676, templates/debug.php:705, templates/debug/logger.php:25
     1910#: templates/debug.php:735, templates/debug.php:764, templates/debug/logger.php:25
    19141911msgid "File"
    19151912msgstr ""
    19161913
    1917 #: templates/debug.php:677, templates/debug.php:703, templates/debug/logger.php:23
     1914#: templates/debug.php:736, templates/debug.php:762, templates/debug/logger.php:23
    19181915msgid "Function"
    19191916msgstr ""
    19201917
    1921 #: templates/debug.php:678
     1918#: templates/debug.php:737
    19221919msgid "Process ID"
    19231920msgstr ""
    19241921
    1925 #: templates/debug.php:679
     1922#: templates/debug.php:738
    19261923msgid "Logger"
    19271924msgstr ""
    19281925
    1929 #: templates/debug.php:680, templates/debug.php:704, templates/debug/logger.php:24
     1926#: templates/debug.php:739, templates/debug.php:763, templates/debug/logger.php:24
    19301927msgid "Message"
    19311928msgstr ""
    19321929
    1933 #: templates/debug.php:682
     1930#: templates/debug.php:741
    19341931msgid "Filter"
    19351932msgstr ""
    19361933
    1937 #: templates/debug.php:690
     1934#: templates/debug.php:749
    19381935msgid "Download"
    19391936msgstr ""
    19401937
    1941 #: templates/debug.php:706, templates/debug/logger.php:26
     1938#: templates/debug.php:765, templates/debug/logger.php:26
    19421939msgid "Timestamp"
    19431940msgstr ""
     
    22372234msgstr ""
    22382235
     2236#: templates/checkout/frame.php:77
     2237msgid "Checkout"
     2238msgstr ""
     2239
     2240#: templates/checkout/frame.php:77
     2241msgid "PCI compliant"
     2242msgstr ""
     2243
     2244#: templates/checkout/process-redirect.php:41
     2245msgid "Processing, please wait and do not close or refresh this window..."
     2246msgstr ""
     2247
     2248#: templates/checkout/redirect.php:87
     2249msgid "Redirecting, please <a href=\"%1$s\">click here</a> if you're stuck..."
     2250msgstr ""
     2251
    22392252#: templates/connect/permissions-group.php:31, templates/forms/optout.php:26, templates/js/permissions.php:78
    22402253msgctxt "verb"
  • elespare/trunk/freemius/require.php

    r3170911 r3179006  
    2828    require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-permission-manager.php';
    2929    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';
    3032    require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-admin-notice-manager.php';
    3133    require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-admin-menu-manager.php';
  • elespare/trunk/freemius/start.php

    r3170911 r3179006  
    1616     * @var string
    1717     */
    18     $this_sdk_version = '2.8.1';
     18    $this_sdk_version = '2.9.0';
    1919
    2020    #region SDK Selection Logic --------------------------------------------------------------------
  • elespare/trunk/freemius/templates/account.php

    r3147351 r3179006  
    11191119        $fs->_add_tabs_after_content();
    11201120    }
    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 );
  • elespare/trunk/freemius/templates/add-ons.php

    r3005404 r3179006  
    492492        $fs->_add_tabs_after_content();
    493493    }
    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 );
  • elespare/trunk/freemius/templates/checkout.php

    r3074274 r3179006  
    22    /**
    33     * @package     Freemius
    4      * @copyright   Copyright (c) 2015, Freemius, Inc.
     4     * @copyright   Copyright (c) 2024, Freemius, Inc.
    55     * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
    6      * @since       1.0.3
     6     * @since       2.9.0
    77     */
    8 
    9     /**
    10      * Note for WordPress.org Theme/Plugin reviewer:
    11      *  Freemius is an SDK for plugin and theme developers. Since the core
    12      *  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 received
    22      *  an official approval for including i-frames in the theme's WP Admin setting's
    23      *  page tab (the SDK will never add any i-frames on the sitefront). i-frames
    24      *  were never against the guidelines, but we wanted to get the team's blessings
    25      *  before we move forward. For the record, I got the final approval from
    26      *  Ulrich Pogson (@grapplerulrich), a team lead at the TRT during WordCamp
    27      *  Europe 2017 (June 16th, 2017).
    28      *
    29      * If you have any questions or need clarifications, please don't hesitate
    30      * pinging me on slack, my username is @svovaf.
    31      *
    32      * @author Vova Feldman (@svovaf)
    33      * @since 1.2.2
    34      */
    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' );
    478
    489    /**
     
    5011     * @var Freemius $fs
    5112     */
    52     $fs   = freemius( $VARS['id'] );
    53     $slug = $fs->get_slug();
     13    $fs = freemius( $VARS['id'] );
    5414
    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'] );
    5621
    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 );
    9324        } 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 );
    9626        }
    9727    }
    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 information
    122         // is NOT being stored unless the user complete the purchase
    123         // 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-ajax
    189             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: url
    198                         }).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                     var
    238                         // 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 be
    242                         // 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_key
    267                         };
    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_id
    276                         ) ), $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_address
    283                         };
    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 information
    302                         // of the user will be shared with Freemius in order to complete the
    303                         // 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>
  • elespare/trunk/freemius/templates/contact.php

    r3074274 r3179006  
    88
    99    /**
     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     *
    1015     * Note for WordPress.org Theme/Plugin reviewer:
    1116     *  Freemius is an SDK for plugin and theme developers. Since the core
     
    1318     *  we only develop and maintain one code base.
    1419     *
    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.
    1622     *
    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'
    1824     *  so it will pass the "Theme Check" that is looking for the string "i" . "frame".
    1925     *
     
    5157    $slug = $fs->get_slug();
    5258
    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 );
    7560
    7661    $view_params = array(
     
    118103        $fs->_add_tabs_after_content();
    119104    }
    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 );
  • elespare/trunk/freemius/templates/forms/affiliation.php

    r3005404 r3179006  
    509509        $fs->_add_tabs_after_content();
    510510    }
    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 );
  • elespare/trunk/freemius/templates/pricing.php

    r3074274 r3179006  
    55     * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
    66     * @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 core
    12      *  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 received
    22      *  an official approval for including i-frames in the theme's WP Admin setting's
    23      *  page tab (the SDK will never add any i-frames on the sitefront). i-frames
    24      *  were never against the guidelines, but we wanted to get the team's blessings
    25      *  before we move forward. For the record, I got the final approval from
    26      *  Ulrich Pogson (@grapplerulrich), a team lead at the TRT during WordCamp
    27      *  Europe 2017 (June 16th, 2017).
    28      *
    29      * If you have any questions or need clarifications, please don't hesitate
    30      * pinging me on slack, my username is @svovaf.
    31      *
    32      * @author Vova Feldman (@svovaf)
    33      * @since 1.2.2
    347     */
    358
     
    9366    ) );
    9467
    95     $use_external_pricing = $fs->should_use_external_pricing();
     68    $pricing_js_url = fs_asset_url( $fs->get_pricing_js_path() );
    9669
    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         }
    107 
    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);
    113     }
     70    wp_enqueue_script( 'freemius-pricing', $pricing_js_url );
    11471
    11572    $has_tabs = $fs->_add_tabs_before_content();
     
    12077?>
    12178    <div id="fs_pricing" class="wrap fs-section fs-full-size-wrapper">
    122         <?php if ( ! $use_external_pricing ) : ?>
    12379        <div id="fs_pricing_wrapper" data-public-url="<?php echo trailingslashit( dirname( $pricing_js_url ) ) ?>"></div>
    12480        <?php
     
    13995            'unique_affix'           => $fs->get_unique_affix(),
    14096            'show_annual_in_monthly' => $fs->apply_filters( 'pricing/show_annual_in_monthly', true ),
     97            'license'                => $fs->has_active_valid_license() ? $fs->_get_license() : null,
    14198        ), $query_params );
    14299
    143100        wp_add_inline_script( 'freemius-pricing', 'Freemius.pricing.new( ' . json_encode( $pricing_config ) . ' )' );
    144101        ?>
    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                     var
    160                     // 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 be
    164                     // 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 ?>
    197102    </div>
    198103<?php
     
    200105        $fs->_add_tabs_after_content();
    201106    }
    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 );
  • elespare/trunk/header-footer/class-template.php

    r3005404 r3179006  
    5353
    5454    public function elespare_enqueue_scripts(){
    55         if ( class_exists( '\Elementor\Plugin' ) ) {
    56             $elementor = \Elementor\Plugin::instance();
    57             $elementor->frontend->enqueue_styles();
    58         }
    59 
    60         if ( class_exists( '\ElementorPro\Plugin' ) ) {
    61             $elementor_pro = \ElementorPro\Plugin::instance();
    62             $elementor_pro->enqueue_styles();
    63         }
     55        if (class_exists('\Elementor\Plugin')) {
     56      $elementor = \Elementor\Plugin::instance();
     57      if (method_exists($elementor->frontend, 'enqueue_styles')) {
     58        $elementor->frontend->enqueue_styles();
     59      }
     60    }
     61
     62    if (class_exists('\ElementorPro\Plugin')) {
     63      $elementor_pro = \ElementorPro\Plugin::instance();
     64      if (method_exists($elementor_pro, 'enqueue_styles')) {
     65        $elementor_pro->enqueue_styles();
     66      }
     67    }
    6468
    6569        $header_id = $this->template_header_id();
  • elespare/trunk/readme.txt

    r3170911 r3179006  
    1 === EleSpare: SEO-Optimized Elementor Addons for Blogs, News, & Magazine Websites – 35+ Responsive Post Grids, Sliders, Carousels Widgets, 350+ Customizable Templates, Header/Footer Builder, and Fast-Loading Starter Site Imports. No Coding Needed! ===
     1=== EleSpare: Dynamic Elementor Addons for News, Blogs & Magazines – 35+ Post Grids, Sliders, Carousels, Lists & Tiles, 350+ Templates, Header/Footer Builder & Fast Import ===
    22Author URI: https://elespare.com/
    33Plugin URI: https://elespare.com/
     
    66Tested up to: 6.6
    77Requires PHP: 5.3
    8 Stable tag: 3.3.1
     8Stable tag: 3.3.2
    99License: GPLv3 or later
    1010License URI: https://opensource.org/licenses/GPL-3.0 GPL-3.0-only
     
    290290== Changelog ==
    291291
     292= 3.3.2 =
     293* Elementor Updates Compatibility
     294* Design Imporovements
     295* Controls Imporovements
     296
    292297= 3.3.0 =
    293298* Elementor Updates Compatibility
Note: See TracChangeset for help on using the changeset viewer.