PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.11
Advanced Access Manager – Access Governance for WordPress v5.11
6.8.4 6.8.5 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13 6.9.14 6.9.15 6.9.16 6.9.17 6.9.18 6.9.19 6.9.2 6.9.20 6.9.21 6.9.22 6.9.23 6.9.24 6.9.25 6.9.26 6.9.27 6.9.28 6.9.29 6.9.3 6.9.30 6.9.31 6.9.32 6.9.33 6.9.34 6.9.35 6.9.36 6.9.37 6.9.38 6.9.39 6.9.4 6.9.41 6.9.42 6.9.43 6.9.44 6.9.45 6.9.46 6.9.47 6.9.48 6.9.49 6.9.5 6.9.51 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.0-alpha.6 7.0.0-alpha.7 7.0.0-beta.1 7.0.0-rc1 7.0.0-rc2 7.0.0-rc3 7.0.1 7.0.10 7.0.11 7.0.2 7.0.3 7.0.4 7.0.5 7.0.6 7.0.7 7.0.8 7.0.9 7.1.0 7.1.1 trunk 3.0 4.0 4.0.1 4.1 4.2 4.3 4.4 4.4.1 4.5 4.6 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.7.5 4.7.6 4.8 4.8.1 4.9 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.5.1 4.9.5.2 5.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1 5.1.1 5.10 5.11 5.2 5.2.1 5.2.5 5.2.6 5.2.7 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.4 5.4.1 5.4.2 5.4.3 5.4.3.1 5.4.3.2 5.5 5.5.1 5.5.2 5.6 5.6.1 5.6.1.1 5.7 5.7.1 5.7.2 5.7.3 5.8 5.8.1 5.8.2 5.8.3 5.9 5.9.1 5.9.1.1 5.9.2 5.9.2.1 5.9.3 5.9.4 5.9.5 5.9.6 5.9.6.1 5.9.6.2 5.9.6.3 5.9.7 5.9.7.1 5.9.7.2 5.9.7.3 5.9.8 5.9.8.1 5.9.9 5.9.9.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.2.0 6.2.1 6.2.2 6.3.0 6.3.1 6.3.2 6.3.3 6.4.0 6.4.1 6.4.2 6.4.3 6.5.0 6.5.1 6.5.2 6.5.3 6.5.4 6.6.0 6.6.1 6.6.2 6.6.3 6.6.4 6.7.0 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 6.7.7 6.7.8 6.7.9 6.8.0 6.8.1 6.8.2 6.8.3
advanced-access-manager / application / Core / Server.php
advanced-access-manager / application / Core Last commit date
Api 6 years ago ConfigPress 6 years ago Jwt 6 years ago Object 6 years ago Policy 6 years ago Subject 6 years ago API.php 6 years ago Cache.php 6 years ago Compatibility.php 6 years ago Config.php 6 years ago ConfigPress.php 6 years ago Console.php 6 years ago Exporter.php 6 years ago Gateway.php 6 years ago Importer.php 6 years ago Login.php 6 years ago Media.php 6 years ago Object.php 6 years ago Request.php 6 years ago Server.php 6 years ago Subject.php 6 years ago
Server.php
116 lines
1 <?php
2
3 /**
4 * ======================================================================
5 * LICENSE: This file is subject to the terms and conditions defined in *
6 * file 'license.txt', which is part of this source code package. *
7 * ======================================================================
8 */
9
10 /**
11 * AAM server
12 *
13 * Connection to the external AAM server.
14 *
15 * @package AAM
16 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
17 */
18 final class AAM_Core_Server {
19
20 /**
21 * Server endpoint
22 */
23 const SERVER_V1_URL = 'https://aamplugin.com/api/v1';
24 const SERVER_V2_URL = 'https://api.aamplugin.com/v2';
25
26 /**
27 * Fetch the extension list
28 *
29 * Fetch the extension list with versions from the server
30 *
31 * @return array
32 *
33 * @access public
34 */
35 public static function check() {
36 $repository = AAM_Extension_Repository::getInstance();
37
38 //prepare check params
39 $params = array(
40 'domain' => wp_parse_url(site_url(), PHP_URL_HOST),
41 'version' => AAM_Core_API::version(),
42 'uid' => AAM_Core_API::getOption('aam-uid', null, 'site'),
43 'licenses' => $repository->getCommercialLicenses(false)
44 );
45
46 $response = self::send('/check', $params);
47 $result = array();
48
49 if (!is_wp_error($response) && is_object($response)) {
50 //WP Error Fix bug report
51 if ($response->error !== true && !empty($response->products)) {
52 $result = $response->products;
53 }
54 }
55
56 return $result;
57 }
58
59 /**
60 * Undocumented function
61 *
62 * @param string $v
63 * @return void
64 */
65 public static function getEndpoint($v = 'V1') {
66 $endpoint = getenv("AAM_API_{$v}_ENDPOINT");
67
68 if (empty($endpoint)) {
69 $endpoint = ($v === 'V1' ? self::SERVER_V1_URL : self::SERVER_V2_URL);
70 }
71
72 return $endpoint;
73 }
74
75 /**
76 * Send request
77 *
78 * @param string $request
79 *
80 * @return stdClass|WP_Error
81 *
82 * @access protected
83 */
84 protected static function send($request, $params, $timeout = 10) {
85 $response = self::parseResponse(
86 AAM_Core_API::cURL(
87 self::getEndpoint('V1') . $request, $params, $timeout
88 )
89 );
90
91 return $response;
92 }
93
94 /**
95 *
96 * @param type $response
97 */
98 protected static function parseResponse($response) {
99 if (!is_wp_error($response)) {
100 if (intval($response['response']['code']) === 200) {
101 $response = json_decode($response['body']);
102 if (isset($response->uid)) {
103 AAM_Core_API::updateOption('aam-uid', $response->uid, 'site');
104 }
105 } else {
106 $response = new WP_Error(
107 $response['response']['code'],
108 $response['response']['message'] . ':' . $response['body']
109 );
110 }
111 }
112
113 return $response;
114 }
115
116 }