Plugin Directory

Changeset 3175936


Ignore:
Timestamp:
10/26/2024 04:55:16 AM (15 months ago)
Author:
kaisarahmmed
Message:

Fix plus issue

Location:
smart-phone-field-for-gravity-forms
Files:
298 added
1 deleted
28 edited

Legend:

Unmodified
Added
Removed
  • smart-phone-field-for-gravity-forms/trunk/backend/class-backend.php

    r3133700 r3175936  
    1010    function __construct() {
    1111        add_action('gform_field_standard_settings', array($this, 'gf_spf_options_settings'), 10, 2);
    12        
     12
    1313        add_action('gform_editor_js', array($this, 'gf_spf_editor_script'));
    1414        add_filter('gform_tooltips', array($this, 'gf_spf_tooltips'));
  • smart-phone-field-for-gravity-forms/trunk/freemius/assets/css/admin/account.css

    r3089367 r3175936  
    1 label.fs-tag,span.fs-tag{background:#ffba00;border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-notice[data-id=license_not_whitelabeled].success,.fs-notice[data-id=license_whitelabeled].success{border-left-color:#00a0d2;color:inherit}.fs-notice[data-id=license_not_whitelabeled].success label.fs-plugin-title,.fs-notice[data-id=license_whitelabeled].success label.fs-plugin-title{display:none}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{border-bottom:1px solid #f1f1f1;font-size:1.3em;line-height:1.4;margin:0 0 12px;padding:12px 15px}#fs_account h3 .dashicons{font-size:1.3em;height:26px;width:26px}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{font-size:.9em;position:absolute;right:15px;top:17px}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{background:none;color:#0073aa;font-size:16px}.fs-key-value-table input[type=text]{font-weight:700;width:100%}.fs-field-beta_program label{margin-left:7px}label.fs-tag{border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag,label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{border:1px solid #e5e5e5;max-height:200px;overflow:auto}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none!important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{color:gray;text-align:right;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{white-space:nowrap;width:1px}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{font-weight:700;text-align:left}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{padding:5px;width:50%}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:700}#fs_billing_address input,#fs_billing_address select{display:block;margin-top:5px;width:100%}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}@media screen and (max-width:639px){#fs_account .fs-header-actions{margin:0 0 12px;padding:0 15px 12px;position:static}#fs_account .fs-header-actions li{display:inline-block;float:none}#fs_account #fs_account_details,#fs_account #fs_account_details tbody,#fs_account #fs_account_details td,#fs_account #fs_account_details th,#fs_account #fs_account_details tr{display:block}#fs_account #fs_account_details tr td:first-child{text-align:left}#fs_account #fs_account_details tr td:nth-child(2){padding:0 12px}#fs_account #fs_account_details tr td:nth-child(2) code{margin:0;padding:0}#fs_account #fs_account_details tr td:nth-child(2) label{margin-left:0}#fs_account #fs_account_details tr td:nth-child(3){text-align:left}#fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) .button-group{float:none;margin:12px 0}}
     1label.fs-tag,span.fs-tag{background:#ffba00;border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-notice[data-id=license_not_whitelabeled].success,.fs-notice[data-id=license_whitelabeled].success{border-left-color:#00a0d2;color:inherit}.fs-notice[data-id=license_not_whitelabeled].success label.fs-plugin-title,.fs-notice[data-id=license_whitelabeled].success label.fs-plugin-title{display:none}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{border-bottom:1px solid #f1f1f1;font-size:1.3em;line-height:1.4;margin:0 0 12px;padding:12px 15px}#fs_account h3 .dashicons{font-size:1.3em;height:26px;width:26px}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{font-size:.9em;position:absolute;right:15px;top:17px}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{background:none;color:#0073aa;font-size:16px}.fs-key-value-table input[type=text]{font-weight:700;width:100%}.fs-field-beta_program label{margin-left:7px}label.fs-tag{border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag,label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{border:1px solid #e5e5e5;max-height:200px;overflow:auto}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none!important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{color:gray;text-align:right;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{white-space:nowrap;width:1px}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{font-weight:700;text-align:left}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{padding:5px;width:50%}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:700}#fs_billing_address input,#fs_billing_address select{display:block;margin-top:5px;width:100%}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent}#fs_billing_address input::placeholder,#fs_billing_address select::placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::placeholder,#fs_billing_address.fs-read-mode select::placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}@media screen and (max-width:639px){#fs_account .fs-header-actions{margin:0 0 12px;padding:0 15px 12px;position:static}#fs_account .fs-header-actions li{display:inline-block;float:none}#fs_account #fs_account_details,#fs_account #fs_account_details tbody,#fs_account #fs_account_details td,#fs_account #fs_account_details th,#fs_account #fs_account_details tr{display:block}#fs_account #fs_account_details tr td:first-child{text-align:left}#fs_account #fs_account_details tr td:nth-child(2){padding:0 12px}#fs_account #fs_account_details tr td:nth-child(2) code{margin:0;padding:0}#fs_account #fs_account_details tr td:nth-child(2) label{margin-left:0}#fs_account #fs_account_details tr td:nth-child(3){text-align:left}#fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) .button-group{float:none;margin:12px 0}}
  • smart-phone-field-for-gravity-forms/trunk/freemius/assets/css/admin/checkout.css

    r3089367 r3175936  
    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}
  • smart-phone-field-for-gravity-forms/trunk/freemius/assets/css/admin/common.css

    r3089367 r3175936  
    1 .fs-badge{background:#71ae00;border-radius:3px 0 0 3px;border-right:0;box-shadow:0 2px 1px -1px rgba(0,0,0,.3);color:#fff;font-weight:700;padding:5px 10px;position:absolute;right:0;text-transform:uppercase;top:10px}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{margin-top:10px;position:relative;text-align:center;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{background:#ececec;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);color:#ccc;cursor:pointer;display:inline-block;height:18px;padding:6px 6px 5px;position:relative;text-shadow:0 1px 1px hsla(0,0%,100%,.8)}.fs-switch span{display:inline-block;text-transform:uppercase;width:35px}.fs-switch .fs-toggle{background-color:#fff;background-image:linear-gradient(180deg,#ececec,#fff);border:1px solid rgba(0,0,0,.3);border-radius:4px;box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.5);height:25px;position:absolute;top:1px;transition:.4s cubic-bezier(.54,1.6,.5,1);width:37px;z-index:999}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{border-radius:24px;padding:4px 25px;top:8px}.fs-switch.fs-round .fs-toggle{border-radius:24px;height:24px;top:0;width:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{border-radius:18px;height:18px;top:0;width:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}body.fs-loading,body.fs-loading *{cursor:wait!important}#fs_frame{font-size:0;line-height:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media(max-width:600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{background-color:#f2fcff!important;border-color:#00a0d2!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{color:#aaa;cursor:pointer;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{display:inline-block;margin-top:7px}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);border-radius:0 0 3px 3px;bottom:auto;color:#fff;cursor:auto;font-size:12px;font-weight:700;left:10px;padding:2px 10px;position:absolute;right:auto;top:100%}div.fs-notice.promotion,div.fs-notice.success,div.fs-notice.updated{display:block!important}#fs_connect .fs-error .fs-api-request-error-details,#fs_connect .fs-error .fs-api-request-error-show-details-link,#fs_connect .fs-error ol,.fs-modal .notice-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-modal .notice-error ol,.fs-notice.error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-show-details-link,.fs-notice.error ol{text-align:left}#fs_connect .fs-error ol,.fs-modal .notice-error ol,.fs-notice.error ol{list-style-type:disc}#fs_connect .fs-error .fs-api-request-error-show-details-link,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-notice.error .fs-api-request-error-show-details-link{box-shadow:none;color:#2271b1;text-decoration:none}#fs_connect .fs-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-details{border:1px solid #ccc;max-height:150px;overflow:auto;padding:5px}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{background:#ebfdeb;box-shadow:0 2px 2px rgba(6,113,6,.3);color:green;filter:alpha(opacity=95);left:160px;opacity:.95;padding:10px 20px;position:fixed;right:0;top:32px;z-index:9999}.fs-secure-notice:hover{filter:alpha(opacity=100);opacity:1}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:600px){.fs-secure-notice{display:none}}@media screen and (max-width:1250px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;text-align:center;top:46px}}span.fs-submenu-item.fs-sub:before{content:"↳";padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:"↲"}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{background:url(/wp-admin/images/wpspin_light-2x.gif);background-size:contain;border:0;display:inline-block;height:20px;margin-bottom:-2px;margin-right:5px;vertical-align:sub;width:20px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{background-color:#d54e21;border:0;color:#f9f9f9;margin-top:10px;padding:10px}
     1.fs-badge{background:#71ae00;border-radius:3px 0 0 3px;border-right:0;box-shadow:0 2px 1px -1px rgba(0,0,0,.3);color:#fff;font-weight:700;padding:5px 10px;position:absolute;right:0;text-transform:uppercase;top:10px}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{margin-top:10px;position:relative;text-align:center;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{background:#ececec;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);color:#ccc;cursor:pointer;display:inline-block;height:18px;padding:6px 6px 5px;position:relative;text-shadow:0 1px 1px hsla(0,0%,100%,.8)}.fs-switch span{display:inline-block;text-transform:uppercase;width:35px}.fs-switch .fs-toggle{background-color:#fff;background-image:linear-gradient(180deg,#ececec,#fff);border:1px solid rgba(0,0,0,.3);border-radius:4px;box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.5);height:25px;position:absolute;top:1px;transition:.4s cubic-bezier(.54,1.6,.5,1);width:37px;z-index:999}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{border-radius:24px;padding:4px 25px;top:8px}.fs-switch.fs-round .fs-toggle{border-radius:24px;height:24px;top:0;width:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{border-radius:18px;height:18px;top:0;width:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}body.fs-loading,body.fs-loading *{cursor:wait!important}#fs_frame{font-size:0;line-height:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media(max-width:600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{background-color:#f2fcff!important;border-color:#00a0d2!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{color:#aaa;cursor:pointer;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{display:inline-block;margin-top:7px}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);border-radius:0 0 3px 3px;bottom:auto;color:#fff;cursor:auto;font-size:12px;font-weight:700;left:10px;padding:2px 10px;position:absolute;right:auto;top:100%}div.fs-notice.promotion,div.fs-notice.success,div.fs-notice.updated{display:block!important}#fs_connect .fs-error .fs-api-request-error-details,#fs_connect .fs-error .fs-api-request-error-show-details-link,#fs_connect .fs-error ol,.fs-modal .notice-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-modal .notice-error ol,.fs-notice.error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-show-details-link,.fs-notice.error ol{text-align:left}#fs_connect .fs-error ol,.fs-modal .notice-error ol,.fs-notice.error ol{list-style-type:disc}#fs_connect .fs-error .fs-api-request-error-show-details-link,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-notice.error .fs-api-request-error-show-details-link{box-shadow:none;color:#2271b1;text-decoration:none}#fs_connect .fs-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-details{border:1px solid #ccc;max-height:150px;overflow:auto;padding:5px}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{background:#ebfdeb;box-shadow:0 2px 2px rgba(6,113,6,.3);color:green;left:160px;opacity:.95;padding:10px 20px;position:fixed;right:0;top:32px;z-index:9989}.fs-secure-notice:hover{opacity:1}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:600px){.fs-secure-notice{display:none}}@media screen and (max-width:1250px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;text-align:center;top:46px}}span.fs-submenu-item.fs-sub:before{content:"↳";padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:"↲"}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{background:url(/wp-admin/images/wpspin_light-2x.gif);background-size:contain;border:0;display:inline-block;height:20px;margin-bottom:-2px;margin-right:5px;vertical-align:sub;width:20px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{background-color:#d54e21;border:0;color:#f9f9f9;margin-top:10px;padding:10px}
  • smart-phone-field-for-gravity-forms/trunk/freemius/assets/css/admin/dialog-boxes.css

    r3133700 r3175936  
    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;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;animation-name:bounce_ajaxLoader;background-color:#0074a3;height:20px;position:absolute;top:0;transform:.3;width:20px}.fs-ajax-loader .fs-ajax-loader-bar-1{animation-delay:.6s;-o-animation-delay:.6s;-ms-animation-delay:.6s;-webkit-animation-delay:.6s;-moz-animation-delay:.6s;left:0}.fs-ajax-loader .fs-ajax-loader-bar-2{animation-delay:.75s;-o-animation-delay:.75s;-ms-animation-delay:.75s;-webkit-animation-delay:.75s;-moz-animation-delay:.75s;left:19px}.fs-ajax-loader .fs-ajax-loader-bar-3{animation-delay:.9s;-o-animation-delay:.9s;-ms-animation-delay:.9s;-webkit-animation-delay:.9s;-moz-animation-delay:.9s;left:38px}.fs-ajax-loader .fs-ajax-loader-bar-4{animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s;left:57px}.fs-ajax-loader .fs-ajax-loader-bar-5{animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s;left:76px}.fs-ajax-loader .fs-ajax-loader-bar-6{animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s;left:95px}.fs-ajax-loader .fs-ajax-loader-bar-7{animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s;left:114px}.fs-ajax-loader .fs-ajax-loader-bar-8{animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s;left:133px}@keyframes bounce_ajaxLoader{0%{background-color:#0074a3;transform:scale(1)}to{background-color:#fff;transform:scale(.3)}}.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons,.fs-modal-auto-install #request-filesystem-credentials-form h2{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;max-width:100%;padding:10px 10px 5px;width:300px}.fs-modal-auto-install #request-filesystem-credentials-form fieldset,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form>div{display:block;margin:0 auto;max-width:100%;width:300px}.button-primary.warn{background:#f56a48;border-color:#ec6544 #d2593c #d2593c;box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{background:#e76444!important;border-color:#d85e40!important;color:#f5b3a1!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}
     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}
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/class-freemius.php

    r3133700 r3175936  
    382382        /**
    383383         * @author Leo Fajardo (@leorw)
    384          * @since 2.3.1
    385          *
    386          * @var boolean|null
    387          */
    388         private $_use_external_pricing = null;
    389         /**
    390          * @author Leo Fajardo (@leorw)
    391384         * @since 2.4.2
    392385         *
     
    12581251         * @return bool
    12591252         */
    1260         private static function set_network_upgrade_mode( FS_Storage $storage ) {
     1253        public static function set_network_upgrade_mode( FS_Storage $storage ) {
    12611254            return $storage->is_network_activation = true;
    12621255        }
     
    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
     
    15841591                add_action( 'admin_init', array( &$this, 'connect_again' ) );
    15851592            }
     1593
     1594            FS_DebugManager::register_hooks();
    15861595        }
    15871596
     
    27022711         * @since  2.4.3
    27032712         */
    2704         private static function reset_deactivation_snoozing( $period = 0 ) {
     2713        public static function reset_deactivation_snoozing( $period = 0 ) {
    27052714            $value = ( 0 === $period ) ? null : 'true';
    27062715
     
    34193428            self::$_global_admin_notices = FS_Admin_Notices::instance( 'global' );
    34203429
    3421             if ( ! WP_FS__DEMO_MODE ) {
    3422                 add_action( ( fs_is_network_admin() ? 'network_' : '' ) . 'admin_menu', array(
    3423                     'Freemius',
    3424                     '_add_debug_section'
    3425                 ) );
    3426             }
    3427 
    3428             add_action( "wp_ajax_fs_toggle_debug_mode", array( 'Freemius', '_toggle_debug_mode' ) );
    3429 
    3430             self::add_ajax_action_static( 'get_debug_log', array( 'Freemius', '_get_debug_log' ) );
    3431 
    3432             self::add_ajax_action_static( 'get_db_option', array( 'Freemius', '_get_db_option' ) );
    3433 
    3434             self::add_ajax_action_static( 'set_db_option', array( 'Freemius', '_set_db_option' ) );
     3430            FS_DebugManager::load_required_static();
    34353431
    34363432            if ( 0 == did_action( 'plugins_loaded' ) ) {
     
    34413437            add_action( 'init', array( $clone_manager, '_init' ) );
    34423438
    3443             add_action( 'admin_footer', array( 'Freemius', '_open_support_forum_in_new_page' ) );
     3439            add_action( 'admin_footer', array( 'Freemius', '_handle_submenu_external_link' ) );
    34443440
    34453441            if ( self::is_plugins_page() || self::is_themes_page() ) {
     
    34573453
    34583454            self::$_statics_loaded = true;
     3455        }
     3456
     3457        public static function get_static_logger() {
     3458            return self::$_static_logger;
     3459        }
     3460
     3461        public static function get_accounts() {
     3462            return self::$_accounts;
    34593463        }
    34603464
     
    36273631         * @since 2.1.3
    36283632         */
    3629         private static function migrate_options_to_network() {
     3633        public static function migrate_options_to_network() {
    36303634            self::migrate_accounts_to_network();
    36313635
     
    36633667                $fs_active_plugins->newest->sdk_path . '/languages/'
    36643668            );
    3665         }
    3666 
    3667         #endregion
    3668 
    3669         #----------------------------------------------------------------------------------
    3670         #region Debugging
    3671         #----------------------------------------------------------------------------------
    3672 
    3673         /**
    3674          * @author Vova Feldman (@svovaf)
    3675          * @since  1.0.8
    3676          */
    3677         static function _add_debug_section() {
    3678             if ( ! is_super_admin() ) {
    3679                 // Add debug page only for super-admins.
    3680                 return;
    3681             }
    3682 
    3683             self::$_static_logger->entrance();
    3684 
    3685             $title = sprintf( '%s [v.%s]', fs_text_inline( 'Freemius Debug' ), WP_FS__SDK_VERSION );
    3686 
    3687             if ( WP_FS__DEV_MODE ) {
    3688                 // Add top-level debug menu item.
    3689                 $hook = FS_Admin_Menu_Manager::add_page(
    3690                     $title,
    3691                     $title,
    3692                     'manage_options',
    3693                     'freemius',
    3694                     array( 'Freemius', '_debug_page_render' )
    3695                 );
    3696             } else {
    3697                 // Add hidden debug page.
    3698                 $hook = FS_Admin_Menu_Manager::add_subpage(
    3699                     '',
    3700                     $title,
    3701                     $title,
    3702                     'manage_options',
    3703                     'freemius',
    3704                     array( 'Freemius', '_debug_page_render' )
    3705                 );
    3706             }
    3707 
    3708             if ( ! empty( $hook ) ) {
    3709                 add_action( "load-$hook", array( 'Freemius', '_debug_page_actions' ) );
    3710             }
    3711         }
    3712 
    3713         /**
    3714          * @author Vova Feldman (@svovaf)
    3715          * @since  1.1.7.3
    3716          */
    3717         static function _toggle_debug_mode() {
    3718             check_admin_referer( 'fs_toggle_debug_mode' );
    3719 
    3720             if ( ! is_super_admin() ) {
    3721                 return;
    3722             }
    3723 
    3724             $is_on = fs_request_get( 'is_on', false, 'post' );
    3725 
    3726             if ( fs_request_is_post() && in_array( $is_on, array( 0, 1 ) ) ) {
    3727                 update_option( 'fs_debug_mode', $is_on );
    3728 
    3729                 // Turn on/off storage logging.
    3730                 FS_Logger::_set_storage_logging( ( 1 == $is_on ) );
    3731             }
    3732 
    3733             exit;
    3734         }
    3735 
    3736         /**
    3737          * @author Vova Feldman (@svovaf)
    3738          * @since  1.2.1.6
    3739          */
    3740         static function _get_debug_log() {
    3741             check_admin_referer( 'fs_get_debug_log' );
    3742 
    3743             if ( ! is_super_admin() ) {
    3744                 return;
    3745             }
    3746 
    3747             $limit  = min( ! empty( $_POST['limit'] ) ? absint( $_POST['limit'] ) : 200, 200 );
    3748             $offset = min( ! empty( $_POST['offset'] ) ? absint( $_POST['offset'] ) : 200, 200 );
    3749 
    3750             $logs = FS_Logger::load_db_logs(
    3751                 fs_request_get( 'filters', false, 'post' ),
    3752                 $limit,
    3753                 $offset
    3754             );
    3755 
    3756             self::shoot_ajax_success( $logs );
    3757         }
    3758 
    3759         /**
    3760          * @author Vova Feldman (@svovaf)
    3761          * @since  1.2.1.7
    3762          */
    3763         static function _get_db_option() {
    3764             check_admin_referer( 'fs_get_db_option' );
    3765 
    3766             $option_name = fs_request_get( 'option_name' );
    3767 
    3768             if ( ! is_super_admin() ||
    3769                  ! fs_starts_with( $option_name, 'fs_' )
    3770             ) {
    3771                 self::shoot_ajax_failure();
    3772             }
    3773 
    3774             $value = get_option( $option_name );
    3775 
    3776             $result = array(
    3777                 'name' => $option_name,
    3778             );
    3779 
    3780             if ( false !== $value ) {
    3781                 if ( ! is_string( $value ) ) {
    3782                     $value = json_encode( $value );
    3783                 }
    3784 
    3785                 $result['value'] = $value;
    3786             }
    3787 
    3788             self::shoot_ajax_success( $result );
    3789         }
    3790 
    3791         /**
    3792          * @author Vova Feldman (@svovaf)
    3793          * @since  1.2.1.7
    3794          */
    3795         static function _set_db_option() {
    3796             check_admin_referer( 'fs_set_db_option' );
    3797 
    3798             $option_name = fs_request_get( 'option_name' );
    3799 
    3800             if ( ! is_super_admin() ||
    3801                  ! fs_starts_with( $option_name, 'fs_' )
    3802             ) {
    3803                 self::shoot_ajax_failure();
    3804             }
    3805 
    3806             $option_value = fs_request_get_raw( 'option_value' );
    3807 
    3808             if ( ! empty( $option_value ) ) {
    3809                 update_option( $option_name, $option_value );
    3810             }
    3811 
    3812             self::shoot_ajax_success();
    3813         }
    3814 
    3815         /**
    3816          * @author Vova Feldman (@svovaf)
    3817          * @since  1.0.8
    3818          */
    3819         static function _debug_page_actions() {
    3820             self::_clean_admin_content_section();
    3821 
    3822             if ( fs_request_is_action( 'restart_freemius' ) ) {
    3823                 check_admin_referer( 'restart_freemius' );
    3824 
    3825                 if ( ! is_multisite() ) {
    3826                     // Clear accounts data.
    3827                     self::$_accounts->clear( null, true );
    3828                 } else {
    3829                     $sites = self::get_sites();
    3830                     foreach ( $sites as $site ) {
    3831                         $blog_id = self::get_site_blog_id( $site );
    3832                         self::$_accounts->clear( $blog_id, true );
    3833                     }
    3834 
    3835                     // Clear network level storage.
    3836                     self::$_accounts->clear( true, true );
    3837                 }
    3838 
    3839                 // Clear SDK reference cache.
    3840                 delete_option( 'fs_active_plugins' );
    3841             } else if ( fs_request_is_action( 'clear_updates_data' ) ) {
    3842                 check_admin_referer( 'clear_updates_data' );
    3843 
    3844                 if ( ! is_multisite() ) {
    3845                     set_site_transient( 'update_plugins', null );
    3846                     set_site_transient( 'update_themes', null );
    3847                 } else {
    3848                     $current_blog_id = get_current_blog_id();
    3849 
    3850                     $sites = self::get_sites();
    3851                     foreach ( $sites as $site ) {
    3852                         switch_to_blog( self::get_site_blog_id( $site ) );
    3853 
    3854                         set_site_transient( 'update_plugins', null );
    3855                         set_site_transient( 'update_themes', null );
    3856                     }
    3857 
    3858                     switch_to_blog( $current_blog_id );
    3859                 }
    3860             } else if ( fs_request_is_action( 'reset_deactivation_snoozing' ) ) {
    3861                 check_admin_referer( 'reset_deactivation_snoozing' );
    3862 
    3863                 self::reset_deactivation_snoozing();
    3864             } else if ( fs_request_is_action( 'simulate_trial' ) ) {
    3865                 check_admin_referer( 'simulate_trial' );
    3866 
    3867                 $fs = freemius( fs_request_get( 'module_id' ) );
    3868 
    3869                 // Update SDK install to at least 24 hours before.
    3870                 $fs->_storage->install_timestamp = ( time() - WP_FS__TIME_24_HOURS_IN_SEC );
    3871                 // Unset the trial shown timestamp.
    3872                 unset( $fs->_storage->trial_promotion_shown );
    3873             } else if ( fs_request_is_action( 'simulate_network_upgrade' ) ) {
    3874                 check_admin_referer( 'simulate_network_upgrade' );
    3875 
    3876                 $fs = freemius( fs_request_get( 'module_id' ) );
    3877 
    3878                 self::set_network_upgrade_mode( $fs->_storage );
    3879             } else if ( fs_request_is_action( 'delete_install' ) ) {
    3880                 check_admin_referer( 'delete_install' );
    3881 
    3882                 self::_delete_site_by_slug(
    3883                     fs_request_get( 'slug' ),
    3884                     fs_request_get( 'module_type' ),
    3885                     true,
    3886                     fs_request_get( 'blog_id', null )
    3887                 );
    3888             } else if ( fs_request_is_action( 'delete_user' ) ) {
    3889                 check_admin_referer( 'delete_user' );
    3890 
    3891                 self::delete_user( fs_request_get( 'user_id' ) );
    3892             } else if ( fs_request_is_action( 'download_logs' ) ) {
    3893                 check_admin_referer( 'download_logs' );
    3894 
    3895                 $download_url = FS_Logger::download_db_logs(
    3896                     fs_request_get( 'filters', false, 'post' )
    3897                 );
    3898 
    3899                 if ( false === $download_url ) {
    3900                     wp_die( 'Oops... there was an error while generating the logs download file. Please try again and if it doesn\'t work contact [email protected].' );
    3901                 }
    3902 
    3903                 fs_redirect( $download_url );
    3904             } else if ( fs_request_is_action( 'migrate_options_to_network' ) ) {
    3905                 check_admin_referer( 'migrate_options_to_network' );
    3906 
    3907                 self::migrate_options_to_network();
    3908             }
    3909         }
    3910 
    3911         /**
    3912          * @author Leo Fajardo (@leorw)
    3913          * @since  2.5.0
    3914          *
    3915          * @return array
    3916          */
    3917         static function get_all_modules_sites() {
    3918             self::$_static_logger->entrance();
    3919 
    3920             $sites_by_type = array(
    3921                 WP_FS__MODULE_TYPE_PLUGIN => array(),
    3922                 WP_FS__MODULE_TYPE_THEME  => array(),
    3923             );
    3924 
    3925             $module_types = array_keys( $sites_by_type );
    3926 
    3927             if ( ! is_multisite() ) {
    3928                 foreach ( $module_types as $type ) {
    3929                     $sites_by_type[ $type ] = self::get_all_sites( $type );
    3930 
    3931                     foreach ( $sites_by_type[ $type ] as $slug => $install ) {
    3932                         $sites_by_type[ $type ][ $slug ] = array( $install );
    3933                     }
    3934                 }
    3935             } else {
    3936                 $sites = self::get_sites();
    3937 
    3938                 foreach ( $sites as $site ) {
    3939                     $blog_id = self::get_site_blog_id( $site );
    3940 
    3941                     foreach ( $module_types as $type ) {
    3942                         $installs = self::get_all_sites( $type, $blog_id );
    3943 
    3944                         foreach ( $installs as $slug => $install ) {
    3945                             if ( ! isset( $sites_by_type[ $type ][ $slug ] ) ) {
    3946                                 $sites_by_type[ $type ][ $slug ] = array();
    3947                             }
    3948 
    3949                             $install->blog_id = $blog_id;
    3950 
    3951                             $sites_by_type[ $type ][ $slug ][] = $install;
    3952                         }
    3953 
    3954                     }
    3955                 }
    3956             }
    3957 
    3958             return $sites_by_type;
    3959         }
    3960 
    3961         /**
    3962          * @author Vova Feldman (@svovaf)
    3963          * @since  1.0.8
    3964          */
    3965         static function _debug_page_render() {
    3966             self::$_static_logger->entrance();
    3967 
    3968             $all_modules_sites = self::get_all_modules_sites();
    3969 
    3970             $licenses_by_module_type = self::get_all_licenses_by_module_type();
    3971 
    3972             $vars = array(
    3973                 'plugin_sites'    => $all_modules_sites[ WP_FS__MODULE_TYPE_PLUGIN ],
    3974                 'theme_sites'     => $all_modules_sites[ WP_FS__MODULE_TYPE_THEME ],
    3975                 'users'           => self::get_all_users(),
    3976                 'addons'          => self::get_all_addons(),
    3977                 'account_addons'  => self::get_all_account_addons(),
    3978                 'plugin_licenses' => $licenses_by_module_type[ WP_FS__MODULE_TYPE_PLUGIN ],
    3979                 'theme_licenses'  => $licenses_by_module_type[ WP_FS__MODULE_TYPE_THEME ]
    3980             );
    3981 
    3982             fs_enqueue_local_style( 'fs_debug', '/admin/debug.css' );
    3983             fs_require_once_template( 'debug.php', $vars );
    39843669        }
    39853670
     
    74847169
    74857170        /**
    7486          * Delete user.
    7487          *
    7488          * @author Vova Feldman (@svovaf)
    7489          * @since  2.0.0
    7490          *
    7491          * @param number $user_id
    7492          * @param bool   $store
    7493          *
    7494          * @return false|int The user ID if deleted. Otherwise, FALSE (when install not exist).
    7495          */
    7496         private static function delete_user( $user_id, $store = true ) {
    7497             $users = self::get_all_users();
    7498 
    7499             if ( ! is_array( $users ) || ! isset( $users[ $user_id ] ) ) {
    7500                 return false;
    7501             }
    7502 
    7503             unset( $users[ $user_id ] );
    7504 
    7505             self::$_accounts->set_option( 'users', $users, $store );
    7506 
    7507             return $user_id;
    7508         }
    7509 
    7510         /**
    75117171         * Delete plugin's plans information.
    75127172         *
     
    1064310303         * @return array[string]FS_Site
    1064410304         */
    10645         private static function get_all_sites(
     10305        public static function get_all_sites(
    1064610306            $module_type = WP_FS__MODULE_TYPE_PLUGIN,
    1064710307            $blog_id = null,
     
    1067210332         * @return mixed
    1067310333         */
    10674         private static function get_account_option( $option_name, $module_type = null, $network_level_or_blog_id = null ) {
     10334        public static function get_account_option( $option_name, $module_type = null, $network_level_or_blog_id = null ) {
    1067510335            if ( ! is_null( $module_type ) && WP_FS__MODULE_TYPE_PLUGIN !== $module_type ) {
    1067610336                $option_name = $module_type . '_' . $option_name;
     
    1080710467         * @since  2.0.0
    1080810468         *
    10809          * @return array
    10810          */
    10811         private static function get_all_licenses_by_module_type() {
    10812             $licenses = self::get_account_option( 'all_licenses' );
    10813 
    10814             $licenses_by_module_type = array(
    10815                 WP_FS__MODULE_TYPE_PLUGIN => array(),
    10816                 WP_FS__MODULE_TYPE_THEME  => array()
    10817             );
    10818 
    10819             if ( ! is_array( $licenses ) ) {
    10820                 return $licenses_by_module_type;
    10821             }
    10822 
    10823             foreach ( $licenses as $module_id => $module_licenses ) {
    10824                 $fs = self::get_instance_by_id( $module_id );
    10825                 if ( false === $fs ) {
    10826                     continue;
    10827                 }
    10828 
    10829                 $licenses_by_module_type[ $fs->_module_type ] = array_merge( $licenses_by_module_type[ $fs->_module_type ], $module_licenses );
    10830             }
    10831 
    10832             return $licenses_by_module_type;
    10833         }
    10834 
    10835         /**
    10836          * @author Leo Fajardo (@leorw)
    10837          * @since  2.0.0
    10838          *
    1083910469         * @param number      $module_id
    1084010470         * @param number|null $user_id
     
    1097510605         * @return array<number,FS_Plugin[]>|false
    1097610606         */
    10977         private static function get_all_addons() {
     10607        public static function get_all_addons() {
    1097810608            $addons = self::maybe_get_entities_account_option( 'addons', array() );
    1097910609
     
    1099110621         * @return number[]|false
    1099210622         */
    10993         private static function get_all_account_addons() {
     10623        public static function get_all_account_addons() {
    1099410624            $addons = self::$_accounts->get_option( 'account_addons', array() );
    1099510625
     
    1110610736        function get_site() {
    1110710737            return $this->_site;
     10738        }
     10739
     10740        /**
     10741         * @author Daniele Alessandra (@danielealessandra)
     10742         * @return FS_Storage
     10743         * @since  2.6.2
     10744         *
     10745         */
     10746        public function get_storage() {
     10747            return $this->_storage;
    1110810748        }
    1110910749
     
    1396413604        function get_pricing_js_path() {
    1396513605            if ( ! isset( $this->_pricing_js_path ) ) {
    13966                 $pricing_js_path = $this->apply_filters( 'freemius_pricing_js_path', '' );
    13967 
     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.
    1396813611                if ( empty( $pricing_js_path ) ) {
    1396913612                    global $fs_active_plugins;
     
    1398413627                }
    1398513628
     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
    1398613634                $this->_pricing_js_path = $pricing_js_path;
    1398713635            }
     
    1399413642         * @since 2.3.1
    1399513643         *
     13644         * @deprecated Since v2.9.0 we have removed the iFrame based pricing. This will always return `false`.
     13645         *
    1399613646         * @return bool
    1399713647         */
    1399813648        function should_use_external_pricing() {
    13999             if ( is_null( $this->_use_external_pricing ) ) {
    14000                 $pricing_js_path = $this->get_pricing_js_path();
    14001 
    14002                 $this->_use_external_pricing = ( empty( $pricing_js_path ) || ! file_exists( $pricing_js_path ) );
    14003             }
    14004 
    14005             return $this->_use_external_pricing;
     13649            return false;
    1400613650        }
    1400713651
     
    1504214686                $this->_get_admin_page_url( 'pricing', $params );
    1504314687
     14688            return $this->get_pricing_url_with_filter( $url );
     14689        }
     14690
     14691        /**
     14692         * Retrieves the filtered pricing URL.
     14693         *
     14694         * @author Leo Fajardo (@leorw)
     14695         * @since  2.7.4
     14696         *
     14697         * @param string $url
     14698         *
     14699         * @return string
     14700         */
     14701        private function get_pricing_url_with_filter( $url ) {
    1504414702            return $this->apply_filters( 'pricing_url', $url );
    1504514703        }
     
    1835318011                     * @author Leo Fajardo (@leorw)
    1835418012                     */
     18013                    $user = $this->_user;
     18014
    1835518015                    $this->_user = null;
    1835618016
    1835718017                    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;
    1835818023                }
    1835918024            }
     
    1912018785                if (! WP_FS__DEMO_MODE && ! $this->is_whitelabeled() ) {
    1912118786                    // Add contact page.
    19122                     $this->add_submenu_item(
    19123                         $this->get_text_inline( 'Contact Us', 'contact-us' ),
    19124                         array( &$this, '_contact_page_render' ),
    19125                         $this->get_plugin_name() . ' &ndash; ' . $this->get_text_inline( 'Contact Us', 'contact-us' ),
    19126                         'manage_options',
    19127                         'contact',
    19128                         'Freemius::_clean_admin_content_section',
    19129                         WP_FS__DEFAULT_PRIORITY,
    19130                         $this->is_submenu_item_visible( 'contact' )
    19131                     );
     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                    }
    1913218810                }
    1913318811
     
    1916818846                    }
    1916918847
    19170                     // Add upgrade/pricing page.
    19171                     $this->add_submenu_item(
    19172                         $pricing_cta_text . '&nbsp;&nbsp;' . ( is_rtl() ? $this->get_text_x_inline( '&#x2190;', 'ASCII arrow left icon', 'symbol_arrow-left' ) : $this->get_text_x_inline( '&#x27a4;', 'ASCII arrow right icon', 'symbol_arrow-right' ) ),
    19173                         array( &$this, '_pricing_page_render' ),
    19174                         $this->get_plugin_name() . ' &ndash; ' . $this->get_text_x_inline( 'Pricing', 'noun', 'pricing' ),
    19175                         'manage_options',
    19176                         'pricing',
    19177                         'Freemius::_clean_admin_content_section',
    19178                         WP_FS__LOWEST_PRIORITY,
    19179                         ( $add_submenu_items && $show_pricing ),
    19180                         $pricing_class
    19181                     );
     18848                    $custom_pricing_url        = $this->get_pricing_url_with_filter( null );
     18849                    $pricing_menu_title        = $pricing_cta_text . '&nbsp;&nbsp;' . ( is_rtl() ? $this->get_text_x_inline( '&#x2190;', 'ASCII arrow left icon', 'symbol_arrow-left' ) : $this->get_text_x_inline( '&#x27a4;', 'ASCII arrow right icon', 'symbol_arrow-right' ) );
     18850                    $show_pricing_submenu_item = ( $add_submenu_items && $show_pricing );
     18851
     18852                    // Add upgrade/pricing submenu item.
     18853                    if ( ! is_null( $custom_pricing_url ) ) {
     18854                        $this->add_submenu_link_item(
     18855                            $pricing_menu_title,
     18856                            $custom_pricing_url,
     18857                            'pricing',
     18858                            'manage_options',
     18859                            WP_FS__LOWEST_PRIORITY,
     18860                            $show_pricing_submenu_item,
     18861                            $pricing_class
     18862                        );
     18863                    } else {
     18864                        $this->add_submenu_item(
     18865                            $pricing_menu_title,
     18866                            array( &$this, '_pricing_page_render' ),
     18867                            $this->get_plugin_name() . ' &ndash; ' . $this->get_text_x_inline( 'Pricing', 'noun', 'pricing' ),
     18868                            'manage_options',
     18869                            'pricing',
     18870                            'Freemius::_clean_admin_content_section',
     18871                            WP_FS__LOWEST_PRIORITY,
     18872                            $show_pricing_submenu_item,
     18873                            $pricing_class
     18874                        );
     18875                    }
    1918218876                }
    1918318877            }
     
    1921518909         */
    1921618910        private function embed_submenu_items() {
    19217             $item_template = $this->_menu->is_top_level() ?
    19218                 '<span class="fs-submenu-item %s %s %s">%s</span>' :
    19219                 '<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>';
    1922018914
    1922118915            $top_level_menu_capability = $this->get_top_level_menu_capability();
     
    1923418928                        $item['menu_slug'],
    1923518929                        ! empty( $item['class'] ) ? $item['class'] : '',
    19236                         $item['menu_title']
     18930                        $item['menu_title'],
     18931                        esc_attr( isset( $item['url'] ) ? $item['url'] : '' ),
     18932                        esc_attr( isset( $item['new_tab'] ) ? 'true' : 'false' )
    1923718933                    );
    1923818934
     
    1939019086                    null,
    1939119087                    50,
    19392                     $this->is_submenu_item_visible( 'support' )
     19088                    $this->is_submenu_item_visible( 'support' ),
     19089                    '',
     19090                    true
    1939319091                );
    1939419092            }
     
    1946819166         * @param int    $priority
    1946919167         * @param bool   $show_submenu
     19168         * @param string $class
     19169         * @param bool   $new_tab
    1947019170         */
    1947119171        function add_submenu_link_item(
     
    1947519175            $capability = 'read',
    1947619176            $priority = WP_FS__DEFAULT_PRIORITY,
    19477             $show_submenu = true
     19177            $show_submenu = true,
     19178            $class = '',
     19179            $new_tab = false
    1947819180        ) {
    1947919181            $this->_logger->entrance( 'Title = ' . $menu_title . '; Url = ' . $url );
     
    1948919191                        $capability,
    1949019192                        $priority,
    19491                         $show_submenu
     19193                        $show_submenu,
     19194                        $class,
     19195                        $new_tab
    1949219196                    );
    1949319197
     
    1950919213                'before_render_function' => '',
    1951019214                'show_submenu'           => $show_submenu,
     19215                'class'                  => $class,
     19216                'new_tab'                => $new_tab,
    1951119217            );
    1951219218        }
     
    2202021726         *
    2202121727         * @param bool|string $plan_name
     21728         * @param bool        $add_sticky_notice
    2202221729         *
    2202321730         * @return bool If trial was successfully started.
    2202421731         */
    22025         function start_trial( $plan_name = false ) {
     21732        function start_trial( $plan_name = false, $add_sticky_notice = false ) {
    2202621733            $this->_logger->entrance();
    2202721734
     
    2203421741                    sprintf( $this->get_text_inline( 'You are already running the %s in a trial mode.', 'in-trial-mode' ), $this->_module_type ),
    2203521742                    $oops_text,
    22036                     'error'
     21743                    'error',
     21744                    $add_sticky_notice
    2203721745                );
    2203821746
     
    2204021748            }
    2204121749
    22042             if ( $this->_site->is_trial_utilized() ) {
     21750            if ( $this->_site->is_trial_utilized() && ! $this->is_payments_sandbox() ) {
    2204321751                // Trial was already utilized.
    2204421752                $this->_admin_notices->add(
    2204521753                    $this->get_text_inline( 'You already utilized a trial before.', 'trial-utilized' ),
    2204621754                    $oops_text,
    22047                     'error'
     21755                    'error',
     21756                    $add_sticky_notice
    2204821757                );
    2204921758
     
    2205921768                        sprintf( $this->get_text_inline( 'Plan %s do not exist, therefore, can\'t start a trial.', 'trial-plan-x-not-exist' ), $plan_name ),
    2206021769                        $oops_text,
    22061                         'error'
     21770                        'error',
     21771                        $add_sticky_notice
    2206221772                    );
    2206321773
     
    2207021780                        sprintf( $this->get_text_inline( 'Plan %s does not support a trial period.', 'plan-x-no-trial' ), $plan_name ),
    2207121781                        $oops_text,
    22072                         'error'
     21782                        'error',
     21783                        $add_sticky_notice
    2207321784                    );
    2207421785
     
    2208121792                        sprintf( $this->get_text_inline( 'None of the %s\'s plans supports a trial period.', 'no-trials' ), $this->_module_type ),
    2208221793                        $oops_text,
    22083                         'error'
     21794                        'error',
     21795                        $add_sticky_notice
    2208421796                    );
    2208521797
     
    2209221804            }
    2209321805
    22094             $api  = $this->get_api_site_scope();
    22095             $plan = $api->call( "plans/{$plan->id}/trials.json", 'post' );
    22096 
    22097             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 ) ) {
    2209821821                // Some API error while trying to start the trial.
    2209921822                $this->_admin_notices->add(
    22100                     $this->get_api_error_message( $plan ),
     21823                    $this->get_api_error_message( $trial ),
    2210121824                    $oops_text,
    22102                     'error'
     21825                    'error',
     21826                    $add_sticky_notice
    2210321827                );
    2210421828
     
    2234022064            if ( true === $fetch_readme ) {
    2234122065                $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;
    2234222069            }
    2234322070
     
    2280222529
    2280322530            $remove_user       = true;
    22804             $all_modules_sites = self::get_all_modules_sites();
     22531            $all_modules_sites = FS_DebugManager::get_all_modules_sites();
    2280522532
    2280622533            foreach ( $all_modules_sites as $sites_by_module_type ) {
     
    2358123308            $this->_logger->entrance();
    2358223309
     23310            fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
     23311            fs_enqueue_local_style( 'fs_checkout', '/admin/checkout.css' );
     23312
    2358323313            $vars = array( 'id' => $this->_module_id );
    2358423314
     
    2359423324         * @since  2.3.1
    2359523325         */
    23596         function _maybe_add_pricing_ajax_handler() {
    23597             if ( ! $this->should_use_external_pricing() ) {
    23598                 $this->add_ajax_action( 'pricing_ajax_action', array( &$this, '_fs_pricing_ajax_action_handler' ) );
    23599             }
     23326        function _add_pricing_ajax_handler() {
     23327            $this->add_ajax_action( 'pricing_ajax_action', array( &$this, '_fs_pricing_ajax_action_handler' ) );
    2360023328        }
    2360123329
     
    2364723375                    break;
    2364823376                case 'start_trial':
    23649                     $result = $this->opt_in(
    23650                         false,
    23651                         false,
    23652                         false,
    23653                         false,
    23654                         false,
    23655                         fs_request_get( 'plan_id' )
    23656                     );
     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                    }
    2365723399            }
    2365823400
     
    2488924631         * @since 2.1.0
    2489024632         *
    24891          * @param string $url
    24892          * @param array  $request
    24893          */
    24894         private static function enrich_request_for_debug( &$url, &$request ) {
    24895             if ( WP_FS__DEBUG_SDK || isset( $_COOKIE['XDEBUG_SESSION'] ) ) {
    24896                 $url = add_query_arg( 'XDEBUG_SESSION_START', rand( 0, 9999999 ), $url );
    24897                 $url = add_query_arg( 'XDEBUG_SESSION', 'PHPSTORM', $url );
    24898 
    24899                 $request['cookies'] = array(
    24900                     new WP_Http_Cookie( array(
    24901                         'name'  => 'XDEBUG_SESSION',
    24902                         'value' => 'PHPSTORM',
    24903                     ) )
    24904                 );
    24905             }
    24906         }
    24907 
    24908         /**
    24909          * @author Leo Fajardo (@leorw)
    24910          * @since 2.1.0
    24911          *
    2491224633         * @param string      $url
    2491324634         * @param array       $request
     
    2493524656            if ( false === $response ) {
    2493624657                if ( $maybe_enrich_request_for_debug ) {
    24937                     self::enrich_request_for_debug( $url, $request );
     24658                    FS_DebugManager::enrich_request_for_debug( $url, $request );
    2493824659                }
    2493924660
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/class-fs-api.php

    r3089367 r3175936  
    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;
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/class-fs-logger.php

    r2907477 r3175936  
    3333        private static $_abspathLength;
    3434
     35        /**
     36         * @var FS_Logger[] $LOGGERS
     37         */
    3538        private static $LOGGERS = array();
    3639        private static $LOG = array();
     
    125128            self::hook_footer();
    126129        }
    127 
    128130        function echo_on() {
    129131            $this->on();
     
    321323            $table = "{$wpdb->prefix}fs_logger";
    322324
     325            /**
     326             * Drop logging table in any case.
     327             */
     328            $result = $wpdb->query( "DROP TABLE IF EXISTS $table;" );
     329
    323330            if ( $is_on ) {
    324331                /**
     
    330337                 * @link https://core.trac.wordpress.org/ticket/2695
    331338                 */
    332                 $result = $wpdb->query( "CREATE TABLE {$table} (
     339                $result = $wpdb->query( "CREATE TABLE IF NOT EXISTS {$table} (
    333340`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
    334341`process_id` INT UNSIGNED NOT NULL,
     
    349356KEY `function` (`function` ASC),
    350357KEY `type` (`type` ASC))" );
    351             } else {
    352                 /**
    353                  * Drop logging table.
    354                  */
    355                 $result = $wpdb->query( "DROP TABLE IF EXISTS $table;" );
    356358            }
    357359
    358360            if ( false !== $result ) {
    359361                update_option( 'fs_storage_logger', ( $is_on ? 1 : 0 ) );
     362                self::$_isStorageLoggingOn = $is_on;
    360363            }
    361364
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/class-fs-plugin-updater.php

    r3089367 r3175936  
    107107            if ( ! $this->_fs->has_any_active_valid_license() ) {
    108108                add_action( 'admin_head', array( &$this, 'catch_plugin_information_dialog_contents' ) );
     109            } else {
     110                add_action( 'admin_footer', array( &$this, '_add_fs_allow_updater_and_dialog_request_param' ) );
    109111            }
    110112
     
    132134        /**
    133135         * @author Leo Fajardo (@leorw)
     136         * @since 2.7.4
     137         */
     138        function _add_fs_allow_updater_and_dialog_request_param() {
     139            if ( ! $this->is_plugin_information_dialog_for_plugin() ) {
     140                return;
     141            }
     142            ?>
     143            <script type="text/javascript">
     144                if ( typeof jQuery !== 'undefined' ) {
     145                    jQuery( document ).on( 'wp-plugin-updating', function( event, args ) {
     146                        if ( typeof args === 'object' && args.slug && typeof args.slug === 'string' ) {
     147                            if ( <?php echo json_encode( $this->_fs->get_slug() ) ?> === args.slug ) {
     148                                args.fs_allow_updater_and_dialog = true;
     149                            }
     150                        }
     151                    } );
     152                }
     153            </script>
     154            <?php
     155        }
     156
     157        /**
     158         * @author Leo Fajardo (@leorw)
     159         * @since 2.7.4
     160         *
     161         * @return bool
     162         */
     163        private function is_plugin_information_dialog_for_plugin() {
     164            return (
     165                'plugin-information' === fs_request_get( 'tab', false ) &&
     166                $this->_fs->get_slug() === fs_request_get_raw( 'plugin', false )
     167            );
     168        }
     169
     170        /**
     171         * @author Leo Fajardo (@leorw)
    134172         * @since 2.1.4
    135173         */
    136174        function catch_plugin_information_dialog_contents() {
    137             if (
    138                 'plugin-information' !== fs_request_get( 'tab', false ) ||
    139                 $this->_fs->get_slug() !== fs_request_get_raw( 'plugin', false )
    140             ) {
     175            if ( ! $this->is_plugin_information_dialog_for_plugin() ) {
    141176                return;
    142177            }
     
    617652            $slug = $this->_fs->get_slug();
    618653
    619             if ( $this->_fs->is_org_repo_compliant() && $this->_fs->is_freemium() ) {
     654            if ( $this->can_fetch_data_from_wp_org() ) {
    620655                if ( ! isset( $this->_translation_updates ) ) {
    621656                    $this->_translation_updates = array();
     
    872907
    873908            return $res;
     909        }
     910
     911        /**
     912         * Returns true if the product can fetch data from WordPress.org.
     913         *
     914         * @author Leo Fajardo (@leorw)
     915         * @since  2.7.4
     916         */
     917        private function can_fetch_data_from_wp_org() {
     918            return ( $this->_fs->is_org_repo_compliant() && $this->_fs->is_freemium() );
    874919        }
    875920
     
    10581103
    10591104            $plugin_in_repo = false;
    1060             if ( ! $is_addon ) {
     1105            if ( ! $is_addon && $this->can_fetch_data_from_wp_org() ) {
    10611106                // Try to fetch info from .org repository.
    10621107                $data = self::_fetch_plugin_info_from_repository( $action, $args );
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/class-fs-security.php

    r2907477 r3175936  
    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    }
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/class-fs-storage.php

    r3089367 r3175936  
    2121     * @property bool|null   $is_diagnostic_tracking_allowed
    2222     * @property object      $sync_cron
     23     * @property bool|int    $install_timestamp
    2324     */
    2425    class FS_Storage {
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/entities/class-fs-plugin-plan.php

    r3089367 r3175936  
    9393         */
    9494        public $is_hidden;
     95        /**
     96         * @var FS_Pricing[]
     97         */
     98        public $pricing;
     99        /**
     100         * @var object[]
     101         */
     102        public $features;
    95103
    96104        #endregion Properties
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/entities/class-fs-site.php

    r3089367 r3175936  
    183183                fs_ends_with( $subdomain, '.dev.wpengine.com' ) ||
    184184                fs_ends_with( $subdomain, '.wpengine.com' ) ||
     185                fs_ends_with( $subdomain, '.wpenginepowered.com' ) ||
    185186                // Pantheon
    186187                ( fs_ends_with( $subdomain, 'pantheonsite.io' ) &&
     
    202203                ( fs_ends_with( $subdomain, '.websitepro-staging.com' ) || fs_ends_with( $subdomain, '.websitepro.hosting' ) ) ||
    203204                // InstaWP
    204                 fs_ends_with( $subdomain, '.instawp.xyz' )
     205                fs_ends_with( $subdomain, '.instawp.xyz' ) ||
     206                // 10Web Hosting
     207                ( fs_ends_with( $subdomain, '-dev.10web.site' ) || fs_ends_with( $subdomain, '-dev.10web.cloud' ) )
    205208            );
    206209        }
  • smart-phone-field-for-gravity-forms/trunk/freemius/includes/managers/class-fs-clone-manager.php

    r2907477 r3175936  
    334334
    335335            if ( ! isset( $this->all_installs ) ) {
    336                 $this->all_installs = Freemius::get_all_modules_sites();
     336                $this->all_installs = FS_DebugManager::get_all_modules_sites();
    337337            }
    338338
  • smart-phone-field-for-gravity-forms/trunk/freemius/languages/freemius.pot

    r3089367 r3175936  
    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"
  • smart-phone-field-for-gravity-forms/trunk/freemius/require.php

    r3089367 r3175936  
    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';
     
    5153    require_once WP_FS__DIR_INCLUDES . '/class-fs-plugin-updater.php';
    5254    require_once WP_FS__DIR_INCLUDES . '/class-fs-security.php';
     55    require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-debug-manager.php';
    5356    require_once WP_FS__DIR_INCLUDES . '/class-fs-options.php';
    5457    require_once WP_FS__DIR_INCLUDES . '/class-fs-storage.php';
  • smart-phone-field-for-gravity-forms/trunk/freemius/start.php

    r3133700 r3175936  
    1616     * @var string
    1717     */
    18     $this_sdk_version = '2.7.4';
     18    $this_sdk_version = '2.9.0';
    1919
    2020    #region SDK Selection Logic --------------------------------------------------------------------
  • smart-phone-field-for-gravity-forms/trunk/freemius/templates/account.php

    r3133700 r3175936  
    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 );
  • smart-phone-field-for-gravity-forms/trunk/freemius/templates/add-ons.php

    r2907477 r3175936  
    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 );
  • smart-phone-field-for-gravity-forms/trunk/freemius/templates/checkout.php

    r3089367 r3175936  
    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>
  • smart-phone-field-for-gravity-forms/trunk/freemius/templates/contact.php

    r3089367 r3175936  
    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 );
  • smart-phone-field-for-gravity-forms/trunk/freemius/templates/debug.php

    r2907477 r3175936  
    1818    $on_text  = fs_text_x_inline( 'On', 'as turned on' );
    1919
     20    // For some reason css was missing
     21    fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
     22
    2023    $has_any_active_clone = false;
    2124
    2225    $is_multisite = is_multisite();
     26
     27    $auto_off_timestamp = wp_next_scheduled( 'fs_debug_turn_off_logging_hook' ) * 1000;
    2328?>
    2429<h1><?php echo fs_text_inline( 'Freemius Debug' ) . ' - ' . fs_text_inline( 'SDK' ) . ' v.' . $fs_active_plugins->newest->version ?></h1>
    2530<div>
    2631    <!-- Debugging Switch -->
    27     <?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>
    2832    <span class="fs-switch-label"><?php fs_esc_html_echo_x_inline( 'Debugging', 'as code debugging' ) ?></span>
    2933
     
    3135        <div class="fs-toggle"></div>
    3236    </div>
     37
     38    <span class="auto-off-debug-countdown hidden"><?php echo fs_esc_html_echo_x_inline( 'Auto off in:', 'timer for auto-disabling debug' ); ?> <span class="time">23:59:59</span>
     39
    3340    <script type="text/javascript">
    3441        (function ($) {
     
    4047                        .toggleClass( 'fs-off' );
    4148
     49                    var is_on = ($(this).hasClass( 'fs-on' ) ? 1 : 0);
     50
    4251                    $.post( <?php echo Freemius::ajax_url() ?>, {
    4352                        action: 'fs_toggle_debug_mode',
    4453                        // As such we don't need to use `wp_json_encode` method but using it to follow wp.org guideline.
    4554                        _wpnonce   : <?php echo wp_json_encode( wp_create_nonce( 'fs_toggle_debug_mode' ) ); ?>,
    46                         is_on : ($(this).hasClass( 'fs-on' ) ? 1 : 0)
    47                     }, function ( response ) {
     55                        is_on
     56                    }, function (response) {
     57                        if (is_on) {
     58                            startCountdownManually();
     59                        } else {
     60                            stopCountdownManually();
     61                        }
     62
    4863                        if ( 1 == response ) {
    4964                            // Refresh page on success.
     
    5267                    });
    5368                });
     69
     70                // Countdown
     71                var countdownElement = document.querySelector('.auto-off-debug-countdown');
     72                var timeElement = countdownElement.querySelector('.time');
     73                var targetTime = <?php echo wp_json_encode( $auto_off_timestamp ); ?>;
     74                var countdownTimeout;
     75
     76                function updateCountdown() {
     77                    var currentTime = new Date().getTime();
     78                    var remainingTimeInMs = targetTime - currentTime;
     79                    var hours = Math.floor((remainingTimeInMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
     80                    var minutes = Math.floor((remainingTimeInMs % (1000 * 60 * 60)) / (1000 * 60));
     81                    var seconds = Math.floor((remainingTimeInMs % (1000 * 60)) / 1000);
     82
     83
     84                    if (remainingTimeInMs < 1000) {
     85                        countdownElement.classList.add('hidden');
     86                        countdownTimeout = null;
     87                    } else {
     88                        timeElement.innerHTML = hours + ":"
     89                            + minutes.toString().padStart(2, '0') + ":"
     90                            + seconds.toString().padStart(2, '0');
     91                        countdownElement.classList.remove('hidden');
     92
     93                        if (countdownTimeout) {
     94                            clearTimeout(countdownTimeout);
     95                        }
     96                        countdownTimeout = setTimeout(updateCountdown, 1000);
     97                    }
     98                }
     99
     100                function startCountdownManually() {
     101                    targetTime = ( new Date().getTime() ) + (24 * 60 * 60 * 1000) - 1;
     102                    updateCountdown();
     103                }
     104
     105                function stopCountdownManually() {
     106                    targetTime = new Date().getTime();
     107                    updateCountdown();
     108                }
     109
     110                updateCountdown();
     111                // End countdown
     112
    54113            });
    55114        }(jQuery));
  • smart-phone-field-for-gravity-forms/trunk/freemius/templates/forms/affiliation.php

    r3089367 r3175936  
    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 );
  • smart-phone-field-for-gravity-forms/trunk/freemius/templates/pricing.php

    r3089367 r3175936  
    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 );
  • smart-phone-field-for-gravity-forms/trunk/frontend/js/spf_main.js

    r3133700 r3175936  
    8181
    8282        teleInput.keypress(function (e) {   
    83             var charCode = (e.which) ? e.which : event.keyCode   
    84             if (String.fromCharCode(charCode).match(/[^0-9]/g))   
     83            var charCode = (e.which) ? e.which : event.keyCode;
     84            if (String.fromCharCode(charCode).match(/[^0-9+]/g))   
    8585                return false;                       
    8686        });
    8787
    88         teleInput.keyup(function () {
     88        teleInput.on("change", function () {
    8989            var rawNumber = teleInput.intlTelInput("getNumber");
    9090            var country = teleInput.intlTelInput("getSelectedCountryData");
  • smart-phone-field-for-gravity-forms/trunk/gravityforms-smart-phone-field.php

    r3133700 r3175936  
    22/*
    33* Plugin Name: Smart phone field for Gravity Forms
    4 * Plugin Url: https://pluginscafe.com
    5 * Version: 2.1.2
     4* Plugin Url: https://pluginscafe.com/plugin/smart-phone-field-for-gravity-forms-pro
     5* Version: 2.1.3
    66* Description: This plugin adds countries flag with ip address on gravity form phone field
    77* Author: KaisarAhmmed
     
    1616}
    1717
    18 if( class_exists('GF_Int_Phone_AddOn_Bootstrap') ) {
     18if (class_exists('GF_Int_Phone_AddOn_Bootstrap')) {
    1919    return;
    2020}
    21 
    2221
    2322if (!function_exists('spffgfp_fs')) {
     
    5958
    6059if (!defined('GF_SMART_PHONE_FIELD_VERSION_NUM'))
    61     define('GF_SMART_PHONE_FIELD_VERSION_NUM', '2.1.2');
     60    define('GF_SMART_PHONE_FIELD_VERSION_NUM', '2.1.3');
    6261
    6362if (!defined('GF_SMART_PHONE_FIELD_FILE'))
     
    102101     */
    103102    function GF_admin_init() {
     103        require_once(GF_SMART_PHONE_FIELD_PATH . 'backend/class-menu.php');
     104        require_once(GF_SMART_PHONE_FIELD_PATH . 'backend/class-review.php');
    104105        require_once(GF_SMART_PHONE_FIELD_PATH . 'backend/class-backend.php');
    105106        require_once(GF_SMART_PHONE_FIELD_PATH . 'backend/class-helper.php');
     
    108109
    109110new GF_smart_phone_field();
    110 
    111 add_action('admin_menu', 'gfip_admin_menu');
    112 function gfip_admin_menu() {
    113     add_submenu_page(
    114         'options-general.php',
    115         'Smart Phone Field Gravity Forms',
    116         'Smart Phone Field',
    117         'administrator',
    118         'smart-phone-field-for-gravity-forms-pro',
    119         'spfield_settings_page'
    120     );
    121 }
    122 
    123 function spfield_settings_page() {
    124 
    125     $featureData = array(
    126         array(
    127             'feature'   => 'Live Validation',
    128             'free'      =>  'yes',
    129             'pro'       =>  'yes'
    130         ),
    131         array(
    132             'feature'   => 'Multi step support',
    133             'free'      =>  'yes',
    134             'pro'       =>  'yes'
    135         ),
    136         array(
    137             'feature'   =>  'Multiple phone field',
    138             'free'      =>  'yes',
    139             'pro'       =>  'yes'
    140         ),
    141         array(
    142             'feature'   =>  'Add country/dial code in notification/entries',
    143             'free'      =>  'no',
    144             'pro'       =>  'yes'
    145         ),
    146         array(
    147             'feature'   =>  'Prevent submit form with wrong validation',
    148             'free'      =>  'no',
    149             'pro'       =>  'yes'
    150         ),
    151         array(
    152             'feature'   =>  'Multiple flag option',
    153             'free'      =>  'no',
    154             'pro'       =>  'yes'
    155         ),
    156         array(
    157             'feature'   =>  'Gravity Perks nested form support',
    158             'free'      =>  'no',
    159             'pro'       =>  'yes'
    160         ),
    161         array(
    162             'feature'   =>  'Custom placeholder',
    163             'free'      =>  'no',
    164             'pro'       =>  'yes'
    165         ),
    166         array(
    167             'feature'   =>  'Select country of address field with user IP address',
    168             'free'      =>  'no',
    169             'pro'       =>  'yes'
    170         ),
    171         array(
    172             'feature'   =>  'Format phone number when typing',
    173             'free'      =>  'no',
    174             'pro'       =>  'yes'
    175         ),
    176         array(
    177             'feature'   =>  'Get country code, name, dial code separately in text field',
    178             'free'      =>  'no',
    179             'pro'       =>  'yes'
    180         ),
    181         array(
    182             'feature'   =>  'Get city, postal, country and more based on IP address via merge tag.',
    183             'free'      =>  'no',
    184             'pro'       =>  'yes'
    185         ),
    186     );
    187 
    188 ?>
    189 
    190     <div class="pc_container">
    191         <div class="pc_intro">
    192             <img src="<?php echo  plugin_dir_url(__FILE__); ?>backend/img/phone-logo.png" alt="Smart phone field">
    193             <div class="pc_pluginDesc">
    194                 <h2>Smart phone field for Gravity Forms</h2>
    195                 <p>A simple and nice plugin to get auto country flag from user ip address on gravity form phone field.</p>
    196             </div>
    197         </div>
    198 
    199         <div class="pc_pluginDetails">
    200             <div class="tabs">
    201                 <ul class="tabs-nav">
    202                     <li><a href="#tab-1">Features</a></li>
    203                     <li><a href="#tab-2">Documentation</a></li>
    204                     <li><a href="#tab-3">More plugin</a></li>
    205                 </ul>
    206                 <div class="tabs-stage">
    207                     <div id="tab-1" class="pc_tab">
    208                         <table>
    209                             <thead>
    210                                 <tr>
    211                                     <th>Features</th>
    212                                     <th>Free</th>
    213                                     <th>Pro</th>
    214                                 </tr>
    215                             </thead>
    216                             <tbody>
    217                                 <?php foreach ($featureData as $feature) : ?>
    218                                     <tr>
    219                                         <td><?php echo $feature['feature']; ?></td>
    220                                         <td><img src="<?php echo  plugin_dir_url(__FILE__); ?>backend/img/<?php echo $feature['free'] ?>.svg" /></td>
    221                                         <td><img src="<?php echo  plugin_dir_url(__FILE__); ?>backend/img/<?php echo $feature['pro'] ?>.svg" /></td>
    222                                     </tr>
    223                                 <?php endforeach; ?>
    224                             </tbody>
    225                         </table>
    226                     </div>
    227                     <div id="tab-2" class="pc_tab pc_installation">
    228                         <div class="pc_installation_wrap">
    229                             <div class="pc_installation_cont">
    230                                 <p>For Details: </p>
    231                                 <a href="https://pluginscafe.com/docs/smart-phone-field-for-gravity-forms-free/" target="_blank" class="pc_btn">Read Free Plugin Documentation</a>
    232                                 <a href="https://pluginscafe.com/docs/smart-phone-field-for-gravity-forms-pro/" target="_blank" class="pc_btn">Read Pro Plugin Documentation</a>
    233                             </div>
    234                         </div>
    235                     </div>
    236                     <div id="tab-3" class="pc_tab pc_plugin_tab">
    237                         <div class="pc_morePlugin">
    238                             <img src="<?php
    239                                         echo  plugin_dir_url(__FILE__);
    240                                         ?>backend/img/adress-auto-complete.png" alt="Adress Auto Complete">
    241                             <h3>Address Autocomplete via Google for Gravity Forms</h3>
    242                             <a href="https://wordpress.org/plugins/gf-google-address-autocomplete/" target="_blank">Try Now</a>
    243                         </div>
    244                         <div class="pc_morePlugin">
    245                             <img src="<?php
    246                                         echo  plugin_dir_url(__FILE__);
    247                                         ?>backend/img/adress-auto-complete.png" alt="Adress Auto Complete">
    248                             <h3>Image Choices For Gravity Forms</h3>
    249                             <a href="https://wordpress.org/plugins/image-choices-for-gravity-forms/" target="_blank">Try Now</a>
    250                         </div>
    251                         <div class="pc_morePlugin">
    252                             <img src="<?php
    253                                         echo  plugin_dir_url(__FILE__);
    254                                         ?>backend/img/restrict-dates.png" alt="Restrict Dates">
    255                             <h3>Restrict Dates Add-On for Gravity Forms</h3>
    256                             <a href="https://wordpress.org/plugins/restrict-dates-add-on-for-gravity-forms/" target="_blank">Try Now</a>
    257                         </div>
    258                         <div class="pc_morePlugin">
    259                             <img src="<?php
    260                                         echo  plugin_dir_url(__FILE__);
    261                                         ?>backend/img/restrict-dates.png" alt="Restrict Dates">
    262                             <h3>Range Slider Add-On for Gravity Forms</h3>
    263                             <a href="https://wordpress.org/plugins/range-slider-addon-for-gravity-forms/" target="_blank">Try Now</a>
    264                         </div>
    265                         <div class="pc_morePlugin">
    266                             <img src="<?php
    267                                         echo  plugin_dir_url(__FILE__);
    268                                         ?>backend/img/restrict-dates.png" alt="Restrict Dates">
    269                             <h3>Real time validation for gravity forms</h3>
    270                             <p>Under development</p>
    271                         </div>
    272                         <div class="pc_morePlugin">
    273                             <img src="<?php
    274                                         echo  plugin_dir_url(__FILE__);
    275                                         ?>backend/img/restrict-dates.png" alt="Restrict Dates">
    276                             <h3>Styler/cutomizer for gravity forms</h3>
    277                             <p>Under development</p>
    278                         </div>
    279                     </div>
    280                 </div>
    281             </div>
    282         </div>
    283 
    284     </div>
    285 
    286 
    287 
    288     <?php
    289 }
    290 add_action('admin_enqueue_scripts', 'spf_docs_admin_style');
    291 function spf_docs_admin_style($hook) {
    292 
    293     $current_screen = get_current_screen();
    294     if (strpos($current_screen->base, 'smart-phone-field-for-gravity-forms-pro') === false) {
    295         return;
    296     }
    297     wp_enqueue_style('gfip_doc_admin_css', GF_SMART_PHONE_FIELD_URL . 'backend/css/spf_doc_style.css', true, GF_SMART_PHONE_FIELD_VERSION_NUM);
    298     wp_enqueue_script('gfip_doc_admin_js', GF_SMART_PHONE_FIELD_URL . 'backend/js/spf_doc_admin.js', array('jquery'), GF_SMART_PHONE_FIELD_VERSION_NUM, true);
    299 }
    300 
    301 function spf_is_active_gravityforms() {
    302     if (!method_exists('GFForms', 'include_payment_addon_framework')) {
    303         return false;
    304     }
    305     return true;
    306 }
    307 
    308 function spf_admin_notice() {
    309 
    310     $show = false;
    311     if (spffgfp_fs()->is_not_paying()) {
    312         $show = true;
    313     }
    314 
    315     if (isset($_GET['show_notices'])) {
    316         delete_transient('spf-notice');
    317         $show = true;
    318     }
    319 
    320     if (!spf_is_active_gravityforms()) { ?>
    321         <div id="spf-notice-error" class="spf-notice-error notice notice-error">
    322             <div class="notice-container" style="padding:10px">
    323                 <span> <?php _e("Smart phone field needs to active gravity forms.", "gravityforms"); ?></span>
    324             </div>
    325         </div>
    326         <?php
    327     } else {
    328         if ($show && false == get_transient('spf-notice') && current_user_can('install_plugins')) {
    329 
    330         ?>
    331 
    332             <div id="spf-notice" class="spf-notice notice is-dismissible">
    333                 <div class="notice_container">
    334                     <div class="notice_wrap">
    335                         <div class="spf_img">
    336                             <img src="<?php echo GF_SMART_PHONE_FIELD_URL; ?>backend/img/phone-logo.png" class="spf_logo" alt="smart-phone-field-gravity-forms">
    337                         </div>
    338                         <div class="notice-content">
    339                             <div class="notice-heading">
    340                                 <?php _e("Hi there, Thanks for using Smart Phone Field for Gravity Forms", "gravityforms"); ?>
    341                             </div>
    342                             <?php _e("Did you know our PRO version includes the ability to use prevent submission with wrong validation and more features? Check it out!", "gravityforms"); ?>
    343                             <div class="spf-review-notice-container">
    344                                 <a href="https://pluginscafe.com/smart-phone-field-pro/" class="spf-notice-close spf-review-notice button-primary" target="_blank">
    345                                     <?php _e("See The Demo", "gravityforms"); ?>
    346                                 </a>
    347                                 <span class="dashicons dashicons-smiley"></span>
    348                                 <a href="#" class="spf-notice-close notice-dis spf-review-notice">
    349                                     <?php _e("Dismiss", "gravityforms"); ?>
    350                                 </a>
    351                             </div>
    352                         </div>
    353                     </div>
    354                     <div class="spf_upgrade_btn">
    355                         <a href="<?php echo spffgfp_fs()->get_upgrade_url(); ?>">
    356                             <?php _e('Upgrade Now!', 'gravityforms'); ?>
    357                         </a>
    358                     </div>
    359                 </div>
    360                 <style>
    361                     .notice_container {
    362                         display: flex;
    363                         align-items: center;
    364                         padding: 10px 0;
    365                         gap: 15px;
    366                         justify-content: space-between;
    367                     }
    368 
    369                     img.spf_logo {
    370                         max-width: 90px;
    371                     }
    372 
    373                     .notice-heading {
    374                         font-size: 16px;
    375                         font-weight: 500;
    376                         margin-bottom: 5px;
    377                     }
    378 
    379                     .spf-review-notice-container {
    380                         margin-top: 11px;
    381                         display: flex;
    382                         align-items: center;
    383                     }
    384 
    385                     .spf-notice-close {
    386                         padding-left: 5px;
    387                     }
    388 
    389                     span.dashicons.dashicons-smiley {
    390                         padding-left: 15px;
    391                     }
    392 
    393                     .notice_wrap {
    394                         display: flex;
    395                         align-items: center;
    396                         gap: 15px;
    397                     }
    398 
    399                     .spf_upgrade_btn a {
    400                         text-decoration: none;
    401                         font-size: 15px;
    402                         background: #7BBD02;
    403                         color: #fff;
    404                         display: inline-block;
    405                         padding: 10px 20px;
    406                         border-radius: 3px;
    407                         transition: 0.3s;
    408                     }
    409 
    410                     .spf_upgrade_btn a:hover {
    411                         background: #69a103;
    412                     }
    413                 </style>
    414             </div>
    415 
    416     <?php
    417         }
    418     }
    419 }
    420 
    421 add_action('admin_notices', 'spf_admin_notice');
    422 
    423 add_action('wp_ajax_spf-notice-dismiss', 'spf_ajax_fn_dismiss_notice');
    424 function spf_ajax_fn_dismiss_notice() {
    425     $notice_id = (isset($_POST['notice_id']) ? sanitize_key($_POST['notice_id']) : '');
    426     $repeat_notice_after = 60 * 60 * 24 * 10;
    427     if (!empty($notice_id)) {
    428 
    429         if (!empty($repeat_notice_after)) {
    430             set_transient($notice_id, true, $repeat_notice_after);
    431             wp_send_json_success();
    432         }
    433     }
    434 }
    435 
    436 add_action("admin_footer", "spf_footer_script");
    437 function spf_footer_script() {
    438     ?>
    439 
    440     <script type="text/javascript">
    441         var $ = jQuery;
    442         var admin_url_zzd = '<?php echo  admin_url("admin-ajax.php"); ?>';
    443         jQuery(document).on("click", '#spf-notice .notice-dis', function() {
    444             $(this).parents('#spf-notice').find('.notice-dismiss').click();
    445         });
    446         jQuery(document).on("click", '#spf-notice .notice-dismiss', function() {
    447 
    448             var notice_id = $(this).parents('#spf-notice').attr('id') || '';
    449             jQuery.ajax({
    450                 url: admin_url_zzd,
    451                 type: 'POST',
    452                 data: {
    453                     action: 'spf-notice-dismiss',
    454                     notice_id: notice_id,
    455                 },
    456             });
    457         });
    458     </script>
    459 
    460 <?php
    461 }
  • smart-phone-field-for-gravity-forms/trunk/readme.txt

    r3133700 r3175936  
    22Contributors: kaisarahmmed
    33Tags: Gravityforms, smart phone field, international phone input, phone field, phone validation
    4 Requires at least: 4.0
     4Requires at least: 5.0
    55Requires PHP: 7.4
    6 Tested up to: 6.6.1
    7 Stable Tag: 2.1.2
     6Tested up to: 6.6.2
     7Stable Tag: 2.1.3
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
     
    1515A simple and nice plugin to get auto country flag from user ip address on gravity form phone field. If the installation is okay, go to gravity forms dashboard. Add a phone field on your form. Open phone field and you will see to enable smart phone field checkbox. Click that checkbox and configure as you want. And save form. You're done!
    1616
    17 [View Pro Demo](https://pluginscafe.com/smart-phone-field-pro/) | [Documentation](https://pluginscafe.com/docs/smart-phone-field-for-gravity-forms-pro/) | [Buy Pro](https://pluginscafe.com/smart-phone-field-pro/)
     17[View Pro Demo](https://pluginscafe.com/plugin/smart-phone-field-for-gravity-forms-pro/) | [Documentation](https://pluginscafe.com/docs/smart-phone-field-for-gravity-forms-pro/) | [Buy Pro](https://pluginscafe.com/plugin/smart-phone-field-for-gravity-forms-pro/)
    1818
    1919== Free Features ==
     
    3636* Three flag option and more.
    3737* RTL support. (Upcoming)
     38* Translation support. (Upcoming)
    3839* Filter hooks
    3940
     
    6869
    6970== Change log ==
     71
     72= 2.1.3 =
     73Fix plus (+) issue
     74Update library
     75Fix bugs
    7076
    7177= 2.1.2 =
Note: See TracChangeset for help on using the changeset viewer.