/home/techb158/l2hypotheques.com/wp-content/plugins/pyloncore/envato-verifier
NameSizeModeActions
js/-0755rm
class-verifier.php80650644editdlrm
loader.svg20900644editdlrm
pylon.png16100644editdlrm
pylon.svg20900644editdlrm
Edit: /home/techb158/l2hypotheques.com/wp-content/plugins/pyloncore/envato-verifier/class-verifier.php (8065B)
admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('envato_nonce') ]); } public function settings_page() { $verification = get_option('envato_purchase_code_status'); $is_verified = !empty($verification['verified']) && !empty($verification['data']); $data = $is_verified ? $verification['data'] : []; $purchase_code=''; if (isset($verification['data']['purchase_code']) && !empty($verification['data']['purchase_code'])) { $purchase_code = $verification['data']['purchase_code']; } ?>


 
'Empty purchase code.']); } if (empty($this->envato_token)) { wp_send_json_error(['message' => 'Envato token is not set.']); } // Assume $code is already verified via Envato API earlier $remote_url = esc_url('https://webdevcode.com/wp/pylon/dev-tools/verify-users.php'); $post_data = [ 'purchase_code' => sanitize_text_field($code), 'security' => isset($_POST['security']) ? sanitize_text_field($_POST['security']) : '', 'domain' => esc_url(home_url('/')), 'email' => sanitize_email(get_bloginfo('admin_email')), ]; $post_args = [ 'sslverify' => false, 'method' => 'POST', 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'headers' => [ 'Content-Type' => 'application/x-www-form-urlencoded', ], 'body' => $post_data, ]; $post_response = wp_remote_post($remote_url, $post_args); // Handle request error if (is_wp_error($post_response)) { wp_send_json_error([ 'message' => 'Error sending data to external server: ' . $post_response->get_error_message(), ]); } // Decode JSON response $response_body = wp_remote_retrieve_body($post_response); $remote_data = json_decode($response_body, true); // Invalid JSON response if (json_last_error() !== JSON_ERROR_NONE || !is_array($remote_data)) { wp_send_json_error(['message' => 'Invalid response from verification server.']); } // Handle success if (!empty($remote_data['status']) && $remote_data['status'] === 'success') { // Save locally in WordPress options update_option('envato_purchase_code_status', [ 'verified' => true, 'data' => [ 'purchase_code' => $post_data['purchase_code'], 'email' => $post_data['email'], 'domain' => $post_data['domain'], 'verified_at' => current_time('mysql'), ] ]); wp_send_json_success([ 'message' => 'Successfully verified and stored.', 'remote_response' => $remote_data, ]); } elseif (!empty($remote_data['status']) && $remote_data['status'] === 'duplicate') { wp_send_json_success([ 'message' => 'Purchase code already exists in external server.', 'remote_response' => $remote_data, ]); } else { wp_send_json_error([ 'message' => $remote_data['message'] ?? 'Unknown error from external server.', 'remote_response' => $remote_data, ]); } } public function handle_revoke() { check_ajax_referer('envato_nonce', 'nonce'); $option = get_option('envato_purchase_code_status'); $code = isset($option['data']['purchase_code']) ? sanitize_text_field($option['data']['purchase_code']) : ''; if (!$code) { wp_send_json_error(['message' => 'No license code found to revoke.']); } // Remote revoke URL $remote_url = 'https://webdevcode.com/wp/pylon/dev-tools/verify-users.php'; $post_data = [ 'purchase_code' => $code, 'security' => 'revoke_secure_token', // Make sure to validate this on your server 'domain' => esc_url(home_url('/')), 'email' => sanitize_email(get_bloginfo('admin_email')), ]; $post_args = [ 'sslverify' => false, 'method' => 'POST', 'timeout' => 30, 'blocking' => true, 'headers' => [ 'Content-Type' => 'application/x-www-form-urlencoded', ], 'body' => $post_data, ]; $post_response = wp_remote_post($remote_url, $post_args); if (is_wp_error($post_response)) { wp_send_json_error(['message' => 'Remote revoke failed: ' . $post_response->get_error_message()]); } $response_code = wp_remote_retrieve_response_code($post_response); $remote_data = json_decode(wp_remote_retrieve_body($post_response), true); if ($response_code !== 200 || empty($remote_data['status']) || $remote_data['status'] !== 'success') { wp_send_json_error(['message' => $remote_data['message'] ?? 'Unknown error revoking license.']); } // Delete local license data delete_option('envato_purchase_code_status'); wp_send_json_success(['message' => 'Verification revoked successfully.']); } }