Skip to content

Commit c69d4c7

Browse files
fix: conflict with others that use freemius activation
1 parent 639fe26 commit c69d4c7

File tree

1 file changed

+50
-48
lines changed

1 file changed

+50
-48
lines changed

src/freemius.php

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ function __interact_mask_license_key( $key ) {
601601
</table>
602602
<div class="description result"></div>
603603
<p class="submit">
604-
<button type="button" class="button close" onClick="dialog.close()">Cancel</button>
604+
<button type="button" class="button close">Cancel</button>
605605
<button type="button" class="button button-primary activate">{$esc_attr( $this->labels['activate_button'] )}</button>
606606
<button type="button" class="button button-primary deactivate">{$esc_attr( $this->labels['deactivate_button'] )}</button>
607607
<img src="{$esc_attr( includes_url( 'images/spinner.gif' ) )}" aria-hidden="true" class="busy-spinner"/>
@@ -610,68 +610,70 @@ function __interact_mask_license_key( $key ) {
610610
</div>
611611
</dialog>
612612
<script>
613-
const dialog = document.querySelector('#dialog-{$esc_attr( $this->freemius->plugin_id )}');
614-
dialog.addEventListener( 'click', function( event ) {
615-
if ( event.target === dialog ) {
616-
if ( ! dialog.classList.contains( 'busy' ) ) {
617-
dialog.close();
613+
(function() {
614+
const dialog = document.querySelector('#dialog-{$esc_attr( $this->freemius->plugin_id )}');
615+
dialog.addEventListener( 'click', function( event ) {
616+
if ( event.target === dialog ) {
617+
if ( ! dialog.classList.contains( 'busy' ) ) {
618+
dialog.close();
619+
}
618620
}
619-
}
620-
} );
621-
dialog.querySelector( 'button.close' ).addEventListener( 'click', function() { dialog.close() } );
622-
dialog.querySelector( 'button.activate' ).addEventListener( 'click', function() {
623-
const result = dialog.querySelector( '.result' )
624-
const hasLicenseKey = dialog.querySelector( '.license-key' ).validity.valid
625-
if ( ! hasLicenseKey ) {
626-
result.classList.add( 'err' )
627-
result.classList.remove( 'success' )
628-
result.textContent = "{$esc_attr( $this->labels['no_license_key'] )}";
629-
return;
630-
}
631-
const licenseKey = dialog.querySelector( 'input.license-key' ).value;
632-
if ( licenseKey ) {
621+
} );
622+
dialog.querySelector( 'button.close' ).addEventListener( 'click', function() { dialog.close() } );
623+
dialog.querySelector( 'button.activate' ).addEventListener( 'click', function() {
624+
const result = dialog.querySelector( '.result' )
625+
const hasLicenseKey = dialog.querySelector( '.license-key' ).validity.valid
626+
if ( ! hasLicenseKey ) {
627+
result.classList.add( 'err' )
628+
result.classList.remove( 'success' )
629+
result.textContent = "{$esc_attr( $this->labels['no_license_key'] )}";
630+
return;
631+
}
632+
const licenseKey = dialog.querySelector( 'input.license-key' ).value;
633+
if ( licenseKey ) {
634+
dialog.classList.add( 'busy' )
635+
dialog.querySelector( 'button.close' ).disabled = true
636+
dialog.querySelector( 'button.activate' ).disabled = true
637+
wp.ajax.post( 'interactfa_activate', { license_key: btoa( licenseKey ), nonce: "{$esc_attr( $nonce )}" } ).done( function( success ) {
638+
result.classList.remove( 'err' )
639+
result.classList.add( 'success' )
640+
result.textContent = success;
641+
console.log('result', result);
642+
dialog.classList.remove( 'busy' )
643+
setTimeout( function() { window.location.reload() }, 1000 )
644+
}).fail( function ( error ) {
645+
result.classList.remove( 'success' )
646+
result.classList.add( 'err' )
647+
result.textContent = error;
648+
dialog.classList.remove( 'busy' )
649+
dialog.querySelector( 'button.close' ).disabled = false
650+
dialog.querySelector( 'button.activate' ).disabled = false
651+
});
652+
}
653+
} );
654+
655+
dialog.querySelector( 'button.deactivate' ).addEventListener( 'click', function() {
656+
const result = dialog.querySelector( '.result' )
633657
dialog.classList.add( 'busy' )
634658
dialog.querySelector( 'button.close' ).disabled = true
635-
dialog.querySelector( 'button.activate' ).disabled = true
636-
wp.ajax.post( 'interactfa_activate', { license_key: btoa( licenseKey ), nonce: "{$esc_attr( $nonce )}" } ).done( function( success ) {
659+
dialog.querySelector( 'button.deactivate' ).disabled = true
660+
wp.ajax.post( 'interactfa_deactivate', { nonce: "{$esc_attr( $nonce )}" } ).done( function( success ) {
637661
result.classList.remove( 'err' )
638662
result.classList.add( 'success' )
639663
result.textContent = success;
640664
console.log('result', result);
641665
dialog.classList.remove( 'busy' )
642666
setTimeout( function() { window.location.reload() }, 1000 )
643-
}).fail( function ( error ) {
667+
}).fail( function( error ) {
644668
result.classList.remove( 'success' )
645669
result.classList.add( 'err' )
646670
result.textContent = error;
647671
dialog.classList.remove( 'busy' )
648672
dialog.querySelector( 'button.close' ).disabled = false
649-
dialog.querySelector( 'button.activate' ).disabled = false
673+
dialog.querySelector( 'button.deactivate' ).disabled = false
650674
});
651-
}
652-
} );
653-
654-
dialog.querySelector( 'button.deactivate' ).addEventListener( 'click', function() {
655-
const result = dialog.querySelector( '.result' )
656-
dialog.classList.add( 'busy' )
657-
dialog.querySelector( 'button.close' ).disabled = true
658-
dialog.querySelector( 'button.deactivate' ).disabled = true
659-
wp.ajax.post( 'interactfa_deactivate', { nonce: "{$esc_attr( $nonce )}" } ).done( function( success ) {
660-
result.classList.remove( 'err' )
661-
result.classList.add( 'success' )
662-
result.textContent = success;
663-
console.log('result', result);
664-
dialog.classList.remove( 'busy' )
665-
setTimeout( function() { window.location.reload() }, 1000 )
666-
}).fail( function( error ) {
667-
result.classList.remove( 'success' )
668-
result.classList.add( 'err' )
669-
result.textContent = error;
670-
dialog.classList.remove( 'busy' )
671-
dialog.querySelector( 'button.close' ).disabled = false
672-
dialog.querySelector( 'button.deactivate' ).disabled = false
673-
});
674-
} );
675+
} );
676+
})();
675677
676678
</script>
677679
LINK;

0 commit comments

Comments
 (0)