account
7 months ago
checkout
7 months ago
connect
3 years ago
debug
7 months ago
forms
7 months ago
js
7 months ago
partials
2 years ago
plugin-info
7 months ago
.DS_Store
7 months ago
account.php
7 months ago
add-ons.php
7 months ago
add-trial-to-pricing.php
3 years ago
admin-notice.php
2 years ago
ajax-loader.php
3 years ago
api-connectivity-message-js.php
3 years ago
auto-installation.php
3 years ago
checkout.php
7 months ago
clone-resolution-js.php
7 months ago
connect.php
7 months ago
contact.php
7 months ago
debug.php
7 months ago
email.php
3 years ago
gdpr-optin-js.php
2 years ago
index.php
3 years ago
plugin-icon.php
3 years ago
pricing.php
7 months ago
secure-https-header.php
3 years ago
sticky-admin-notice-js.php
3 years ago
tabs-capture-js.php
2 years ago
tabs.php
6 years ago
clone-resolution-js.php
89 lines
| 1 | <?php |
| 2 | /** |
| 3 | * @package Freemius |
| 4 | * @copyright Copyright (c) 2015, Freemius, Inc. |
| 5 | * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 |
| 6 | * @since 2.5.0 |
| 7 | */ |
| 8 | |
| 9 | if ( ! defined( 'ABSPATH' ) ) { |
| 10 | exit; |
| 11 | } |
| 12 | ?> |
| 13 | <script type="text/javascript"> |
| 14 | ( function( $ ) { |
| 15 | var $errorMessage = null; |
| 16 | |
| 17 | $( document ).ready( function() { |
| 18 | var $cloneResolutionNotice = $( 'div[data-id="clone_resolution_options_notice"], div[data-id="temporary_duplicate_notice"]' ); |
| 19 | |
| 20 | if ( 0 === $cloneResolutionNotice.length ) { |
| 21 | return; |
| 22 | } |
| 23 | |
| 24 | $errorMessage = $cloneResolutionNotice.find( '#fs_clone_resolution_error_message' ); |
| 25 | |
| 26 | /** |
| 27 | * Triggers an AJAX request when the license activation link or any of the buttons on the clone resolution options notice is clicked. The AJAX request will then handle the action the user has chosen. |
| 28 | */ |
| 29 | $cloneResolutionNotice.on( 'click', '.button, #fs_temporary_duplicate_license_activation_link', function( evt ) { |
| 30 | evt.preventDefault(); |
| 31 | |
| 32 | var $this = $( this ); |
| 33 | |
| 34 | if ( $this.hasClass( 'disabled' ) ) { |
| 35 | return; |
| 36 | } |
| 37 | |
| 38 | var $body = $( 'body' ), |
| 39 | $optionsContainer = $this.parents( '.fs-clone-resolution-options-container' ), |
| 40 | cursor = $body.css( 'cursor' ), |
| 41 | beforeUnload = function() { |
| 42 | return '<?php fs_esc_js_echo_inline( 'Please wait', 'please-wait' ) ?>'; |
| 43 | }; |
| 44 | |
| 45 | $.ajax( { |
| 46 | // Get the parent options container from the child as `$cloneResolutionNotice` can have different AJAX URLs if both the manual clone resolution options and temporary duplicate notices are shown (for different subsites in a multisite network). |
| 47 | url : $optionsContainer.data( 'ajax-url' ), |
| 48 | method : 'POST', |
| 49 | data : { |
| 50 | action : '<?php echo $VARS['ajax_action'] ?>', |
| 51 | security : '<?php echo wp_create_nonce( $VARS['ajax_action'] ) ?>', |
| 52 | clone_action: $this.data( 'clone-action' ), |
| 53 | blog_id : $optionsContainer.data( 'blog-id' ) |
| 54 | }, |
| 55 | beforeSend: function() { |
| 56 | $body.css( { cursor: 'wait' } ); |
| 57 | |
| 58 | $this.addClass( 'disabled' ); |
| 59 | |
| 60 | if ( $this.attr( 'id' ) === 'fs_temporary_duplicate_license_activation_link' ) { |
| 61 | $this.append( '<i class="fs-ajax-spinner"></i>' ); |
| 62 | } |
| 63 | |
| 64 | $( window ).on( 'beforeunload', beforeUnload ); |
| 65 | }, |
| 66 | success : function( resultObj ) { |
| 67 | $( window ).off( 'beforeunload', beforeUnload ); |
| 68 | |
| 69 | if ( |
| 70 | resultObj.data && |
| 71 | resultObj.data.redirect_url && |
| 72 | '' !== resultObj.data.redirect_url |
| 73 | ) { |
| 74 | window.location = resultObj.data.redirect_url; |
| 75 | } else { |
| 76 | window.location.reload(); |
| 77 | } |
| 78 | }, |
| 79 | complete : function() { |
| 80 | $body.css( { cursor: cursor } ); |
| 81 | $this.removeClass( 'disabled' ); |
| 82 | |
| 83 | $this.parent().find( '.fs-ajax-spinner' ).remove(); |
| 84 | } |
| 85 | } ); |
| 86 | } ); |
| 87 | } ); |
| 88 | } )( jQuery ); |
| 89 | </script> |