PluginProbe
StreamCast – bring live radio to your site with a sleek player / 2.3.2
StreamCast – bring live radio to your site with a sleek player v2.3.2
2.4.5 2.4.4 trunk 1.0 1.1 2.0.0 2.1.10 2.1.2 2.1.4 2.1.5 2.1.8 2.2.1 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 All 29 releases
streamcast / freemius / templates / checkout / process-redirect.php

process-redirect.php in StreamCast – bring live radio to your site with a sleek player 2.3.2, at freemius/templates/checkout/process-redirect.php

106 lines 3.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2024, Freemius, Inc.
5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 * @since 2.9.0
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 /**
14 * @var array $VARS
15 * @var Freemius $fs
16 */
17 $fs = freemius( $VARS['id'] );
18 $fs_checkout = FS_Checkout_Manager::instance();
19
20 $plugin_id = fs_request_get( 'plugin_id' );
21 if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
22 $plugin_id = $fs->get_id();
23 }
24
25 $fs_checkout->verify_checkout_redirect_nonce( $fs );
26
27 wp_enqueue_script( 'jquery' );
28 wp_enqueue_script( 'json2' );
29 fs_enqueue_local_script( 'fs-form', 'jquery.form.js', array( 'jquery' ) );
30
31 $action = fs_request_get( '_fs_checkout_action' );
32 $data = json_decode( fs_request_get_raw( '_fs_checkout_data' ) );
33 ?>
34 <div class="fs-checkout-process-redirect">
35 <div class="fs-checkout-process-redirect__loader">
36 <?php fs_include_template( 'ajax-loader.php' ); ?>
37 </div>
38
39 <div class="fs-checkout-process-redirect__content">
40 <p>
41 <?php echo esc_html( fs_text_inline( 'Processing, please wait and do not close or refresh this window...' ) ); ?>
42 </p>
43 </div>
44 </div>
45
46 <script type="text/javascript">
47 jQuery(function ($) {
48 var $loader = $( '.fs-checkout-process-redirect .fs-ajax-loader' ),
49 action = <?php echo wp_json_encode( $action ); ?>,
50 data = <?php echo wp_json_encode( $data ); ?>;
51
52 $loader.show();
53
54 switch ( action ) {
55 case 'install':
56 processInstall( data );
57 break;
58 case 'pending_activation':
59 processPendingActivation( data );
60 break;
61 default:
62 syncLicense( data );
63 break;
64 }
65
66 function processInstall( data ) {
67 var requestData = {
68 user_id : data.user.id,
69 user_secret_key : data.user.secret_key,
70 user_public_key : data.user.public_key,
71 install_id : data.install.id,
72 install_secret_key: data.install.secret_key,
73 install_public_key: data.install.public_key
74 };
75
76 if ( true === data.auto_install )
77 requestData.auto_install = true;
78
79 // Post data to activation URL.
80 $.form( '<?php echo $fs_checkout->get_install_url( $fs, $plugin_id ); ?>', requestData ).submit();
81 }
82
83 function processPendingActivation( data ) {
84 var requestData = {
85 user_email : data.user_email,
86 support_email_address: data.support_email_address
87 };
88
89 if ( true === data.auto_install )
90 requestData.auto_install = true;
91
92 $.form( '<?php echo $fs_checkout->get_pending_activation_url( $fs, $plugin_id ); ?>', requestData ).submit();
93 }
94
95 function syncLicense(data) {
96 var redirectUrl = new URL( <?php echo wp_json_encode( $fs->_get_sync_license_url( $plugin_id ) ); ?> );
97
98 if (true === data.auto_install) {
99 redirectUrl.searchParams.set( 'auto_install', 'true' );
100 }
101
102 window.location.href = redirectUrl.toString();
103 }
104 });
105 </script>
106