PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 4.1
MainWP Dashboard: Self-hosted WordPress Management for Agencies v4.1
6.2 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1 6.0.12 6.0.11 4.6.0.1 5.0 5.0.1 5.0.2 5.0.3 5.0.3.1 5.0.3.2 5.1 5.1.1 5.2 5.2.1 5.2.2 5.3 All 153 releases
← All changes | class/class-mainwp-api-handler.php +129 -158 6.14.1 View file →
@@ -6,179 +6,150 @@
6 6 */
7 7
8 8 namespace MainWP\Dashboard;
9 9
10 -// Exit if accessed directly.
11 -if ( ! defined( 'ABSPATH' ) ) {
12 - exit;
13 -}
14 -
15 10 /**
16 11 * Class MainWP_API_Handler()
17 12 *
18 13 * MainWP API settings page
19 14 */
20 -class MainWP_API_Handler { // phpcs:ignore Generic.Classes.OpeningBraceSameLine.ContentAfterBrace -- NOSONAR.
15 +class MainWP_API_Handler {
21 16
22 - /**
23 - * Get Class name.
24 - *
25 - * @return string __CLASS__.
26 - */
27 - public static function get_class_name() {
28 - return __CLASS__;
29 - }
17 + /**
18 + * Get Class name.
19 + *
20 + * @return string __CLASS__.
21 + */
22 + public static function get_class_name() {
23 + return __CLASS__;
24 + }
30 25
31 - /**
32 - * Check if extension has an update.
33 - *
34 - * @return mixed $output List of results.
35 - *
36 - * @uses MainWP_Api_Manager_Plugin_Update::bulk_update_check()
37 - * @uses \MainWP\Dashboard\MainWP_Extensions_Handler::get_extensions()
38 - */
39 - public static function check_exts_upgrade() { // phpcs:ignore -- NOSONAR - complex.
26 + /**
27 + * Check if extension has an update.
28 + *
29 + * @return array $output List of results.
30 + */
31 + public static function check_exts_upgrade() {
40 32
41 - $extensions = MainWP_Extensions_Handler::get_extensions();
42 - $output = array();
43 - $check_exts = array();
44 - foreach ( $extensions as $ext ) {
45 - if ( isset( $ext['activated_key'] ) && 'Activated' === $ext['activated_key'] ) {
46 - // MWP-1546: $ext['api_key'] no longer exists in the aggregated
47 - // mainwp_extensions option (the plaintext was removed from
48 - // there). Fetch the per-slug activation info, which decrypts
49 - // the api_key on read and returns plaintext only for this
50 - // request scope.
51 - $args = array();
52 - $api_slug = isset( $ext['slug'] ) ? dirname( $ext['slug'] ) : '';
53 - $activation = MainWP_Api_Manager::instance()->get_activation_info( $api_slug );
54 - $args['plugin_name'] = $ext['api'];
55 - $args['version'] = $ext['version'];
56 - $args['product_id'] = $ext['product_id'];
57 - $args['api_key'] = is_array( $activation ) && isset( $activation['api_key'] ) ? $activation['api_key'] : '';
58 - $args['instance'] = $ext['instance_id'];
59 - $args['software_version'] = $ext['software_version'];
60 - $check_exts[ $args['plugin_name'] ] = $args;
61 - }
62 - }
33 + $extensions = MainWP_Extensions_Handler::get_extensions();
34 + $output = array();
35 + $check_exts = array();
36 + foreach ( $extensions as $ext ) {
37 + if ( isset( $ext['activated_key'] ) && 'Activated' === $ext['activated_key'] ) {
38 + $args = array();
39 + $args['plugin_name'] = $ext['api'];
40 + $args['version'] = $ext['version'];
41 + $args['product_id'] = $ext['product_id'];
42 + $args['api_key'] = $ext['api_key'];
43 + $args['activation_email'] = $ext['activation_email'];
44 + $args['instance'] = $ext['instance_id'];
45 + $args['software_version'] = $ext['software_version'];
46 + $check_exts[ $args['plugin_name'] ] = $args;
47 + }
48 + }
63 49
64 - if ( empty( $check_exts ) ) {
65 - return false;
66 - }
50 + if ( empty( $check_exts ) ) {
51 + return false;
52 + }
67 53
68 - $i = 0;
69 - $count = 0;
70 - $max_check = 6;
71 - $total_check = count( $check_exts );
72 - $bulk_checks = array();
54 + $i = 0;
55 + $count = 0;
56 + $max_check = 6;
57 + $total_check = count( $check_exts );
58 + $bulk_checks = array();
73 59
74 - foreach ( $check_exts as $ext_name => $ext ) {
75 - $bulk_checks[ $ext_name ] = $ext;
76 - ++$i;
77 - ++$count;
78 - if ( $count === $max_check || $i === $total_check ) {
79 - $results = MainWP_Api_Manager_Plugin_Update::instance()->bulk_update_check( $bulk_checks ); // bulk check response array of info.
80 - if ( is_array( $results ) && ! empty( $results ) ) {
81 - foreach ( $results as $slug => $response ) {
82 - if ( ! is_array( $response ) || ! isset( $response['new_version'] ) ) {
83 - continue;
84 - }
85 - $rslt = new \stdClass();
86 - $rslt->slug = $slug;
87 - $rslt->new_version = $response['new_version'];
88 - $rslt->package = $response['package'];
89 - $rslt->key_status = '';
90 - $rslt->apiManager = 1;
60 + foreach ( $check_exts as $ext_name => $ext ) {
61 + $bulk_checks[ $ext_name ] = $ext;
62 + $i++;
63 + $count++;
64 + if ( $count == $max_check || $i == $total_check ) {
65 + $results = MainWP_Api_Manager_Plugin_Update::instance()->bulk_update_check( $bulk_checks );
66 + if ( is_array( $results ) && 0 < count( $results ) ) {
67 + foreach ( $results as $slug => $response ) {
68 + $rslt = new \stdClass();
69 + $rslt->slug = $slug;
70 + $rslt->latest_version = $response->new_version;
71 + $rslt->download_url = $response->package;
72 + $rslt->key_status = '';
73 + $rslt->apiManager = 1;
91 74
92 - if ( isset( $response['errors'] ) ) {
93 - $rslt->error = $response['errors'];
94 - }
95 - $output[ $slug ] = $rslt;
96 - }
97 - }
98 - $count = 0;
99 - $bulk_checks = array();
100 - sleep( 3 );
101 - }
102 - }
103 - return $output;
104 - }
75 + if ( isset( $response->errors ) ) {
76 + $rslt->error = $response->errors;
77 + }
78 + $output[ $slug ] = $rslt;
79 + }
80 + }
81 + $count = 0;
82 + $bulk_checks = array();
83 + sleep( 3 );
84 + }
85 + }
86 + return $output;
87 + }
105 88
106 - /**
107 - * Check extension information for an update.
108 - *
109 - * @param string $pSlug Extension slug.
110 - *
111 - * @return array $rslt An array containing update information.
112 - *
113 - * @uses \MainWP\Dashboard\MainWP_Api_Manager::update_check()
114 - * @uses \MainWP\Dashboard\MainWP_Extensions_Handler::get_extensions()
115 - */
116 - public static function get_upgrade_information( $pSlug ) {
89 + /**
90 + * Check extension information for an update.
91 + *
92 + * @param string $pSlug Extension slug.
93 + *
94 + * @return array $rslt An array containing update information.
95 + */
96 + public static function get_upgrade_information( $pSlug ) {
117 97
118 - $extensions = MainWP_Extensions_Handler::get_extensions();
119 - $rslt = null;
120 - foreach ( $extensions as $ext ) {
121 - if ( isset( $ext['api'] ) && ( $pSlug === $ext['api'] ) && isset( $ext['apiManager'] ) && ! empty( $ext['apiManager'] ) ) {
122 - // MWP-1546: same migration as check_exts_upgrade above --
123 - // pull the api_key from per-slug get_activation_info() instead
124 - // of the (now-stripped) aggregated mainwp_extensions option.
125 - $api_slug = isset( $ext['slug'] ) ? dirname( $ext['slug'] ) : '';
126 - $activation = MainWP_Api_Manager::instance()->get_activation_info( $api_slug );
127 - $args = array();
128 - $args['plugin_name'] = $ext['api'];
129 - $args['version'] = $ext['version'];
130 - $args['product_id'] = $ext['product_id'];
131 - $args['api_key'] = is_array( $activation ) && isset( $activation['api_key'] ) ? $activation['api_key'] : '';
132 - $args['instance'] = $ext['instance_id'];
133 - $args['software_version'] = $ext['software_version'];
134 - $response = MainWP_Api_Manager_Plugin_Update::instance()->update_check( $args );
98 + $extensions = MainWP_Extensions_Handler::get_extensions();
99 + $rslt = null;
100 + foreach ( $extensions as $ext ) {
101 + if ( isset( $ext['api'] ) && ( $pSlug == $ext['api'] ) && isset( $ext['apiManager'] ) && ! empty( $ext['apiManager'] ) ) {
102 + $args = array();
103 + $args['plugin_name'] = $ext['api'];
104 + $args['version'] = $ext['version'];
105 + $args['product_id'] = $ext['product_id'];
106 + $args['api_key'] = $ext['api_key'];
107 + $args['activation_email'] = $ext['activation_email'];
108 + $args['instance'] = $ext['instance_id'];
109 + $args['software_version'] = $ext['software_version'];
110 + $response = MainWP_Api_Manager::instance()->update_check( $args );
111 + if ( ! empty( $response ) ) {
112 + $rslt = new \stdClass();
113 + $rslt->slug = $ext['api'];
114 + $rslt->latest_version = $response->new_version;
115 + $rslt->download_url = $response->package;
116 + $rslt->key_status = '';
117 + $rslt->apiManager = 1;
118 + if ( isset( $response->errors ) ) {
119 + $rslt->error = $response->errors;
120 + }
121 + }
122 + break;
123 + }
124 + }
125 + return $rslt;
126 + }
135 127
136 - if ( ! empty( $response ) ) {
137 - $rslt = new \stdClass();
138 - $rslt->slug = $ext['api'];
139 - $rslt->new_version = $response->new_version;
140 - $rslt->package = $response->package;
141 - $rslt->key_status = '';
142 - $rslt->apiManager = 1;
143 - if ( isset( $response->errors ) ) {
144 - $rslt->error = $response->errors;
145 - }
146 - }
147 - break;
148 - }
149 - }
150 - return $rslt;
151 - }
128 + /**
129 + * Get extension information.
130 + *
131 + * @param string $pSlug Extension slug.
132 + *
133 + * @return array $rslt An array containing extension information.
134 + */
135 + public static function get_plugin_information( $pSlug ) {
136 + $extensions = MainWP_Extensions_Handler::get_extensions();
137 + $rslt = null;
138 + foreach ( $extensions as $ext ) {
139 + if ( $pSlug == $ext['api'] && isset( $ext['apiManager'] ) && ! empty( $ext['apiManager'] ) ) {
140 + $args = array();
141 + $args['plugin_name'] = $ext['api'];
142 + $args['version'] = $ext['version'];
143 + $args['product_id'] = $ext['product_id'];
144 + $args['api_key'] = $ext['api_key'];
145 + $args['activation_email'] = $ext['activation_email'];
146 + $args['instance'] = $ext['instance_id'];
147 + $args['software_version'] = $ext['software_version'];
148 + $rslt = MainWP_Api_Manager::instance()->request_plugin_information( $args );
149 + break;
150 + }
151 + }
152 + return $rslt;
153 + }
152 154
153 - /**
154 - * Get extension information.
155 - *
156 - * @param string $pSlug Extension slug.
157 - *
158 - * @return array $rslt An array containing extension information.
159 - *
160 - * @uses \MainWP\Dashboard\MainWP_Api_Manager::request_extension_information()
161 - * @uses \MainWP\Dashboard\MainWP_Extensions_Handler::get_extensions()
162 - */
163 - public static function get_update_information( $pSlug ) {
164 - $extensions = MainWP_Extensions_Handler::get_extensions();
165 - $rslt = null;
166 - foreach ( $extensions as $ext ) {
167 - if ( isset( $ext['api'] ) && $pSlug === $ext['api'] && isset( $ext['apiManager'] ) && ! empty( $ext['apiManager'] ) ) {
168 - // MWP-1546: same migration as the two functions above.
169 - $api_slug = isset( $ext['slug'] ) ? dirname( $ext['slug'] ) : '';
170 - $activation = MainWP_Api_Manager::instance()->get_activation_info( $api_slug );
171 - $args = array();
172 - $args['plugin_name'] = $ext['api'];
173 - $args['version'] = $ext['version'];
174 - $args['product_id'] = $ext['product_id'];
175 - $args['api_key'] = is_array( $activation ) && isset( $activation['api_key'] ) ? $activation['api_key'] : '';
176 - $args['instance'] = $ext['instance_id'];
177 - $args['software_version'] = $ext['software_version'];
178 - $rslt = MainWP_Api_Manager::instance()->request_extension_information( $args );
179 - break;
180 - }
181 - }
182 - return $rslt;
183 - }
184 155 }