Licensing_Core.php
3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
namespace W3TC;
class Licensing_Core {
/**
* Activates a license
*/
static public function activate_license( $license, $version ) {
// data to send in our API request
$api_params = array(
'edd_action'=> 'activate_license',
'license' => $license, // legacy
'license_key' => $license,
'home_url' => network_home_url(),
'item_name' => urlencode( EDD_W3EDGE_W3TC_NAME ), // the name of our product in EDD
'r' => rand(),
'version' => $version
);
// Call the custom API.
$response = wp_remote_get( add_query_arg( $api_params, EDD_W3EDGE_STORE_URL ), array( 'timeout' => 15, 'sslverify' => false ) );
if ( is_wp_error( $response ) )
return false;
// decode the license data
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
return $license_data;
}
/**
* Deactivates a license
*/
static public function deactivate_license( $license ) {
// data to send in our API request
$api_params = array(
'edd_action'=> 'deactivate_license',
'license' => $license, // legacy
'license_key' => $license,
'home_url' => network_home_url(),
'item_name' => urlencode( EDD_W3EDGE_W3TC_NAME ), // the name of our product in EDD,
'r' => rand()
);
// Call the custom API.
$response = wp_remote_get( add_query_arg( $api_params, EDD_W3EDGE_STORE_URL ), array( 'timeout' => 15, 'sslverify' => false ) );
// make sure the response came back okay
if ( is_wp_error( $response ) )
return false;
// decode the license data
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
// $license_data->license will be either "deactivated" or "failed"
return $license_data->license == 'deactivated';
}
/**
* Checks if a license key is still valid
*/
static public function check_license( $license, $version ) {
global $wp_version;
$api_params = array(
'edd_action' => 'check_license',
'license' => $license, // legacy
'license_key' => $license,
'home_url' => network_home_url(),
'item_name' => urlencode( EDD_W3EDGE_W3TC_NAME ),
'r' => rand(),
'version' => $version
);
// Call the custom API.
$response = wp_remote_get( add_query_arg( $api_params, EDD_W3EDGE_STORE_URL ), array( 'timeout' => 15, 'sslverify' => false ) );
if ( is_wp_error( $response ) )
return false;
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
return $license_data;
}
static public function reset_rooturi( $license, $version ) {
// data to send in our API request
$api_params = array(
'edd_action'=> 'reset_rooturi',
'license_key' => $license,
'home_url' => network_home_url(),
'item_name' => urlencode( EDD_W3EDGE_W3TC_NAME ), // the name of our product in EDD
'r' => rand(),
'version' => $version
);
// Call the custom API.
$response = wp_remote_get( add_query_arg( $api_params, EDD_W3EDGE_STORE_URL ), array( 'timeout' => 15, 'sslverify' => false ) );
if ( is_wp_error( $response ) )
return false;
// decode the license data
$status = json_decode( wp_remote_retrieve_body( $response ) );
return $status;
}
}