PluginProbe
WPGet API – Connect to any external REST API / 1.7.0
WPGet API – Connect to any external REST API v1.7.0
1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.3 2.1.4 2.1.5 2.2.0 2.2.1 2.2.10 2.2.2 2.2.3 All 97 releases
← All changes | includes/class-api.php +73 -350 1.9.61.7.0 View file →
@@ -28,10 +28,8 @@
28 28 public $header_parameters = ''; // the header paramaters
29 29 public $body_parameters = ''; // the body paramaters
30 30 public $body_json_encode = ''; // body_json_encode body
31 31 public $body_url_encode = ''; // urlencode body
32 - public $body_xml_format = ''; // xml format body
33 - public $xml_root_node = 'root'; // root node for xml
34 32
35 33 public $response = ''; // the returned response
36 34
37 35 public $final_url = ''; // final URL
@@ -36,12 +34,10 @@
36 34
37 35 public $final_url = ''; // final URL
38 36 public $final_request_args = array(); // final request_args
39 37
40 - public $results_format = 'json_string'; // results format
38 + public $results_format = 'json_string'; // reseults format
41 39
42 - public $response_code = ''; // the response code from the call
43 -
44 40 public $timeout = 10; // the timeout
45 41 public $sslverify = 1; // the paramaters
46 42 public $debug = false;
47 43
@@ -62,9 +58,9 @@
62 58 $this->endpoint_id = sanitize_text_field( $endpoint_id );
63 59 $this->keys = $keys;
64 60 $this->args = $args;
65 61
66 - add_filter( 'wpgetapi_raw_data', array( $this, 'maybe_add_debug_info' ), 99, 2 );
62 + add_filter( 'wpgetapi_raw_data', array( $this, 'maybe_add_debug_info' ), 5, 2 );
67 63
68 64 }
69 65
70 66
@@ -72,29 +68,8 @@
72 68 * Init our api data
73 69 */
74 70 public function init() {
75 71
76 - // if we are doing importer plugin,
77 - // we need to intercept and modify most of our methods values
78 - if( $this->api_id == 'wpgetapi_importer' ) {
79 -
80 - $data = apply_filters( 'wpgetapi_api_importer_init', $this );
81 -
82 - if( $data ) {
83 -
84 - foreach ($data as $key => $value) {
85 - $this->{$key} = $value;
86 - }
87 -
88 - $this->query_parameters = ! empty( $this->query_parameters ) ? $this->do_parameters( $this->query_parameters ) : array();
89 - $this->header_parameters = ! empty( $this->header_parameters ) ? $this->do_parameters( $this->header_parameters ) : array();
90 - $this->body_parameters = ! empty( $this->body_parameters ) ? $this->do_parameters( $this->body_parameters ) : array();
91 - return;
92 -
93 - }
94 -
95 - }
96 -
97 72 // do some checks
98 73 if( empty( $this->setup ) || ! isset( $this->setup['apis'] ) || empty( $this->setup['apis'] ) )
99 74 return 'No API found.';
100 75
@@ -113,9 +88,9 @@
113 88 // loop through endpoints
114 89 foreach ( $this->api['endpoints'] as $index => $endpoint ) {
115 90
116 91 if( $this->endpoint_id == $endpoint['id'] ) {
117 -
92 +
118 93 $this->method = isset( $endpoint['method'] ) && $endpoint['method'] != '' ? sanitize_text_field( $endpoint['method'] ) : 'GET';
119 94 $this->cache_time = isset( $endpoint['cache_time'] ) && ! empty( $endpoint['cache_time'] ) ? absint( $endpoint['cache_time'] ) : '';
120 95 $this->endpoint = isset( $endpoint['endpoint'] ) && ! empty( $endpoint['endpoint'] ) ? sanitize_text_field( $endpoint['endpoint'] ) : '';
121 96
@@ -124,29 +99,13 @@
124 99 $this->header_parameters = isset( $endpoint['header_parameters'] ) && ! empty( $endpoint['header_parameters'] ) ? $this->do_parameters( $endpoint['header_parameters'] ) : array();
125 100
126 101 $this->body_parameters = isset( $endpoint['body_parameters'] ) && ! empty( $endpoint['body_parameters'] ) ? $this->do_parameters( $endpoint['body_parameters'] ) : array();
127 102
128 - // how to encode the body
129 103 $this->body_json_encode = isset( $endpoint['body_json_encode'] ) && $endpoint['body_json_encode'] == 'true' ? true : false;
130 104 $this->body_url_encode = isset( $endpoint['body_json_encode'] ) && $endpoint['body_json_encode'] == 'url' ? true : false;
131 - $this->body_xml_format = isset( $endpoint['body_json_encode'] ) && $endpoint['body_json_encode'] == 'xml' ? true : false;
132 105
133 - $this->xml_root_node = isset( $endpoint['xml_root'] ) && ! empty( $endpoint['xml_root'] ) ? $endpoint['xml_root'] : $this->xml_root_node;
134 -
135 106 $this->results_format = isset( $endpoint['results_format'] ) ? sanitize_text_field( $endpoint['results_format'] ) : $this->results_format;
136 -
137 -
138 - if(
139 - // set the format to php array data if html format is set
140 - ( isset( $this->args['format'] ) && $this->args['format'] == 'html' && $this->results_format != 'xml_array' ) ||
141 - // set the format to php array data if it is set in the args (coming from the importer)
142 - ( isset( $this->args['results_format'] ) && $this->args['results_format'] == 'json_decoded' )
143 - ) {
144 - $this->results_format = 'json_decoded';
145 - }
146 -
147 107 }
148 -
149 108 }
150 109
151 110 $this->timeout = isset( $this->api['timeout'] ) && ! empty( $this->api['timeout'] ) ? $this->api['timeout'] : $this->timeout;
152 111 $this->sslverify = isset( $this->api['sslverify'] ) ? absint( $this->api['sslverify'] ) : $this->sslverify;
@@ -159,21 +118,58 @@
159 118 *
160 119 * @param string $field Field to retrieve
161 120 */
162 121 public function endpoint_output() {
122 + return $this->do_the_call();
123 + }
163 124
164 - do_action( 'wpgetapi_before_do_the_call', $this );
165 125
166 - return $this->do_the_call();
126 + /**
127 + * Sort out the parameters if they exist
128 + */
129 + public function do_parameters( $parameters ) {
130 +
131 + $new_array = array();
132 + $parameters = $this->decrypt($parameters);
167 133
134 + if( is_array( $parameters ) ) {
135 + foreach ( $parameters as $key => $parameter ) {
136 + if( ! empty( $parameter['name'] ) && ! empty( $parameter['value'] ) ) {
137 + $parameter['value'] = stripslashes( $parameter['value'] );
138 + $new_array[ sanitize_text_field( $parameter['name'] ) ] = $parameter['value'];
139 + }
140 + }
141 + }
142 +
143 + // look for array or json string and sort these out - for using such things in shortcode
144 + if( is_array( $new_array ) ) {
145 +
146 + foreach ( $new_array as $key => $value ) {
147 +
148 + // checking if the parameters have a json string
149 + if ( substr( $value, 0, 1 ) === '{' && substr( $value, -1 ) === '}' ) {
150 + $new_array[ $key ] = json_decode( $value, true);
151 + }
152 +
153 + // checking if the parameters have an array within the string
154 + // if they do, create them as an actual array
155 + if ( substr( $value, 0, 1 ) === '[' && substr( $value, -1 ) === ']' ) {
156 + $new_array[ $key ] = array( $value );
157 + }
158 +
159 + }
160 +
161 + }
162 +
163 + return $new_array;
164 +
168 165 }
169 166
170 -
171 167 /**
172 168 * Send the request and return our data
173 169 */
174 170 public function do_the_call() {
175 -
171 +
176 172 $this->init();
177 173
178 174 // build the URL
179 175 $this->final_url = apply_filters( 'wpgetapi_final_url', $this->build_url(), $this );
@@ -179,18 +175,9 @@
179 175 $this->final_url = apply_filters( 'wpgetapi_final_url', $this->build_url(), $this );
180 176
181 177 // build the request args
182 178 $this->final_request_args = apply_filters( 'wpgetapi_final_request_args', $this->build_request_args(), $this );
183 -
184 - /**
185 - * Check if we should stop or not. Setting $on to true, will stop us calling the api.
186 - * @param bool $on Whether on is set or not.
187 - */
188 179
189 - if ( apply_filters( 'wpgetapi_should_we_stop', false, $this ) ) {
190 - return;
191 - }
192 -
193 180 // POST request
194 181 if( $this->method == 'POST' )
195 182 $this->response = $this->POST_request();
196 183
@@ -197,20 +184,12 @@
197 184 // PUT request
198 185 if( $this->method == 'PUT' )
199 186 $this->response = $this->PUT_request();
200 187
201 - // PATCH request
202 - if( $this->method == 'PATCH' )
203 - $this->response = $this->PATCH_request();
204 -
205 188 // GET request
206 189 if( $this->method == 'GET' )
207 190 $this->response = $this->GET_request();
208 191
209 - // DELETE request
210 - if( $this->method == 'DELETE' )
211 - $this->response = $this->DELETE_request();
212 -
213 192 // wp error
214 193 if( is_wp_error( $this->response ) ) {
215 194 return apply_filters( 'wpgetapi_raw_error_data', json_encode( $this->response ), $this );
216 195 }
@@ -215,24 +194,21 @@
215 194 return apply_filters( 'wpgetapi_raw_error_data', json_encode( $this->response ), $this );
216 195 }
217 196
218 197 // get response_code
219 - $this->response_code = wp_remote_retrieve_response_code( $this->response );
198 + $response_code = wp_remote_retrieve_response_code( $this->response );
220 199
221 200 // action to intercept call depending on response_code
222 - $this->response = apply_filters( 'wpgetapi_before_retrieve_body', $this->response, $this->response_code, $this );
201 + $this->response = apply_filters( 'wpgetapi_before_retrieve_body', $this->response, $response_code, $this );
223 202
224 203 // get body
225 204 // modified in version 1.6.1 to allow for OAuth 2.0 plugin returning body already
226 205 $data = isset( $this->response['body'] ) ? $this->response['body'] : $this->response;
227 -
206 +
228 207 // returning in JSON format
229 208 if( $this->results_format == 'json_string' || $this->results_format == 'json_decoded' )
230 209 $data = $this->return_data( $data );
231 210
232 - if( $data === 'null' )
233 - $data = 'Result is null. Check that all endpoint settings are correct.';
234 -
235 211 return apply_filters( 'wpgetapi_raw_data', $data, $this );
236 212
237 213 }
238 214
@@ -245,17 +221,10 @@
245 221 // first make sure our endpoint starts with a slash
246 222 if ( substr( $this->endpoint, 0, 1 ) != '/' )
247 223 $this->endpoint = '/' . $this->endpoint;
248 224
249 - $this->endpoint = apply_filters( 'wpgetapi_endpoint', $this->endpoint, $this );
250 -
251 225 $url = untrailingslashit( $this->base_url ) . $this->endpoint;
252 226
253 - // if we have a URL pagination event from the import plugin
254 - // we need to modify the URL here
255 - if( isset( $this->args['paginate_url'] ) )
256 - $url = $this->args['paginate_url'];
257 -
258 227 // filter our params - added for use in Oauth 2.0 plugin
259 228 $params = apply_filters( 'wpgetapi_query_parameters', $this->query_parameters, $this );
260 229
261 230 // add empty array - was getting errors if it was just null or false
@@ -260,9 +229,9 @@
260 229
261 230 // add empty array - was getting errors if it was just null or false
262 231 $params = empty( $params ) ? array(''=>'') : $params;
263 232
264 - return htmlentities( add_query_arg( $params, $url ) );
233 + return add_query_arg( $params, $url );
265 234
266 235 }
267 236
268 237
@@ -277,51 +246,31 @@
277 246 ), $this );
278 247
279 248
280 249 // if doing POST request, include body paramters
281 - //if( $this->method == 'POST' || $this->method == 'PUT' || $this->method == 'DELETE' ) {
282 -
283 - // tokens are sent through here
250 + if( $this->method == 'POST' || $this->method == 'PUT' ) {
251 +
284 252 $this->body_parameters = apply_filters( 'wpgetapi_body_parameters', $this->body_parameters, $this );
285 253
286 - // do we json_encode the entire body
287 - if( $this->body_json_encode == true ) {
254 + // do we json_encode the entire body as a string
255 + if( $this->body_json_encode == true )
288 256 $this->body_parameters = json_encode( $this->body_parameters );
289 - }
290 257
291 - // do we urlencode the entire body
292 - if( $this->body_parameters && $this->body_url_encode == true ) {
293 -
294 - // checking if the parameters have a json string (raw)
295 - if (
296 - ( ! is_array( $this->body_parameters ) ) &&
297 - ( substr( $this->body_parameters, 0, 1 ) === '{' || substr( $this->body_parameters, 0, 1 ) === '[' )
298 - ) {
299 - $this->body_parameters = json_decode( $this->body_parameters, true );
258 +
259 + // do we urlencode the entire body as a string
260 + if( $this->body_url_encode == true ) {
261 + $data_raw = '';
262 + foreach ($this->body_parameters as $key => $value){
263 + $data_raw = $data_raw . $key . "=" . urlencode($value) . "&";
300 264 }
301 -
302 - $this->body_parameters = http_build_query( $this->body_parameters, '', '&' );
303 -
265 + $this->body_parameters = $data_raw;
304 266 }
305 267
306 - // do we xml the entire body
307 - if( $this->body_parameters && $this->body_xml_format == true ) {
308 -
309 - $xml = new SimpleXmlElement( '<' . $this->xml_root_node . '/>' );
310 -
311 - foreach( $this->body_parameters as $key => $value) {
312 - $xml->addChild( $key, $value );
313 - }
314 -
315 - $this->body_parameters = $xml->asXML();
316 -
317 - }
318 -
319 268 // add our body parameters
320 269 if( $this->body_parameters && ! empty( $this->body_parameters ) )
321 270 $headers['body'] = $this->body_parameters;
322 271
323 - //}
272 + }
324 273
325 274 // add headers to our final request args
326 275 $this->final_request_args = wp_parse_args( $headers, $this->final_request_args );
327 276
@@ -338,10 +287,8 @@
338 287
339 288 }
340 289
341 290
342 -
343 -
344 291 /**
345 292 * Do a GET request
346 293 */
347 294 public function GET_request() {
@@ -347,19 +294,19 @@
347 294 public function GET_request() {
348 295 $response = '';
349 296 // so we can so something before the remote_get (caching)
350 297 $response = apply_filters( 'wpgetapi_before_get_request', $response, $this );
351 -
352 298 if( empty( $response ) )
353 299 $response = wp_remote_get( $this->final_url, $this->final_request_args );
300 +
354 301 return $response;
355 302 }
356 303
304 +
357 305 /**
358 306 * Do a POST request
359 307 */
360 308 public function POST_request() {
361 - $this->final_request_args['method'] = 'POST';
362 309 $response = wp_remote_post( $this->final_url, $this->final_request_args );
363 310 return $response;
364 311 }
365 312
@@ -371,139 +318,31 @@
371 318 $response = wp_remote_request( $this->final_url, $this->final_request_args );
372 319 return $response;
373 320 }
374 321
375 - /**
376 - * Do a PATCH request
377 - */
378 - public function PATCH_request() {
379 - $this->final_request_args['method'] = 'PATCH';
380 - $response = wp_remote_request( $this->final_url, $this->final_request_args );
381 - return $response;
382 - }
383 322
384 323 /**
385 - * Do a DELETE request
386 - */
387 - public function DELETE_request() {
388 - $this->final_request_args['method'] = 'DELETE';
389 - $response = wp_remote_request( $this->final_url, $this->final_request_args );
390 - return $response;
391 - }
392 -
393 -
394 - /**
395 324 * return data
396 325 */
397 326 public function return_data( $data ) {
398 327
399 328 $data = apply_filters( 'wpgetapi_json_response_body_before_decode', $data, $this->keys );
400 -
329 +
401 330 // converts all data to arrays, removing objects
402 - if( is_string( $data ) ) {
403 - $decode = json_decode( $data, true );
404 - if( json_last_error() ) {
405 - return esc_html( $data );
406 - } else {
407 - $data = $decode;
408 - }
409 - }
331 + if( is_string( $data ) )
332 + $data = json_decode( $data, true );
410 333
411 334 $data = apply_filters( 'wpgetapi_json_response_body', $data, $this->keys );
412 335
413 336 if( $this->results_format == 'json_string' )
414 337 return trim( json_encode( $data ),'"');
415 -
338 +
416 339 if( $this->results_format == 'json_decoded' )
417 340 return $data;
418 341
419 342 }
420 343
421 - /**
422 - * Sort out the parameters if they exist
423 - */
424 - public function do_parameters( $parameters ) {
425 -
426 - $new_array = array();
427 - $raw = '';
428 - $parameters = $this->decrypt( $parameters );
429 344
430 - if( is_array( $parameters ) ) {
431 - foreach ( $parameters as $key => $parameter ) {
432 -
433 - if( ! empty( $parameter['name'] ) && ! empty( $parameter['value'] ) ) {
434 -
435 - $parameter['value'] = stripslashes( $parameter['value'] );
436 -
437 - // if we have wpgetapi_on, delete it so we don't send to api
438 - if( $parameter['name'] == 'wpgetapi_on' ) {
439 - unset( $parameters[ $key ] );
440 - continue;
441 - }
442 -
443 - $new_array[ sanitize_text_field( $parameter['name'] ) ] = $parameter['value'];
444 -
445 - // if we are sending raw body
446 - } else if( empty( $parameter['name'] ) && ! empty( $parameter['value'] ) ) {
447 -
448 - $raw = stripslashes( $parameter['value'] );
449 -
450 - }
451 -
452 - }
453 - }
454 -
455 - // look for array or json string and sort these out - for using such things in shortcode
456 - if( ! empty( $new_array ) ) {
457 -
458 - foreach ( $new_array as $key => $value ) {
459 -
460 - // checking if the parameters have a json string
461 - if ( strpos( $value, '{' ) !== false && strpos( $value, '}' ) !== false ) {
462 - //if ( substr( $value, 0, 1 ) === '{' && substr( $value, -1 ) === '}' ) {
463 - $new_array[ $key ] = json_decode( $value, true );
464 - } else
465 -
466 - // checking if the parameters have an array within the string
467 - // if they do, create them as an actual array
468 - if ( substr( $value, 0, 1 ) === '[' && substr( $value, -1 ) === ']' ) {
469 - $value = trim( $value,"[]" );
470 - $new_array[ $key ] = array( $value );
471 - }
472 -
473 - // set value as integer
474 - if ( strpos( $value, 'integer(' ) !== false && substr( $value, -1 ) === ')' ) {
475 - preg_match("/\(([^\)]*)\)/", $value, $match );
476 - $result = $match[1];
477 - $new_array[ $key ] = absint( $result );
478 - }
479 -
480 - // set value as float
481 - if ( strpos( $value, 'float(' ) !== false && substr( $value, -1 ) === ')' ) {
482 - preg_match("/\(([^\)]*)\)/", $value, $match );
483 - $result = $match[1];
484 - $new_array[ $key ] = (float) $result;
485 -
486 - }
487 -
488 - // set value as boolean
489 - if ( strpos( $value, 'boolean(' ) !== false && substr( $value, -1 ) === ')' ) {
490 - preg_match("/\(([^\)]*)\)/", $value, $match );
491 - $result = $match[1];
492 - $result = filter_var( $result, FILTER_VALIDATE_BOOLEAN );
493 - $new_array[ $key ] = $result;
494 -
495 - }
496 -
497 - }
498 -
499 - }
500 -
501 - return $raw ? $raw : $new_array;
502 -
503 - }
504 -
505 -
506 345 /**
507 346 * decrypt our parameters from the DB
508 347 */
509 348 public function decrypt( $array_or_string ) {
@@ -538,69 +377,10 @@
538 377 ) {
539 378
540 379 $this->debug = true;
541 380
542 - // admin test endpoint button
543 381 $testing = isset( $this->args['test_endpoint'] ) && ( $this->args['test_endpoint'] === true ) ? true : false;
544 382
545 - // get api status from response code
546 - $status = array(
547 - 'title' => 'Error in API response.',
548 - 'desc' => 'Check all details within your endpoint. Something is misconfigured.',
549 - 'type' => '<span class="dashicons dashicons-dismiss"></span>'
550 - );
551 -
552 - if( $this->response_code == 200 ) {
553 - $status = array(
554 - 'title' => 'Success!',
555 - 'desc' => 'Your API is returning a success message and is returning the data as shown in the Data Output section below. You can modify this by changing the Results Format option or see <a href="https://wpgetapi.com/docs/format-api-data-as-html/">here</a> for info on formatting this data.',
556 - 'type' => '<span class="dashicons dashicons-yes-alt"></span>'
557 - );
558 - }
559 - if( $this->response_code == 400 || $this->response_code == 404 ) {
560 - $status = array(
561 - 'title' => 'Bad Request',
562 - 'desc' => 'This could indicate that the URL you are calling is incorrect or that some other data is missing or incorrect. Please check your Base URL and Endpoint are correct as well as the Request Method.',
563 - 'type' => '<span class="dashicons dashicons-dismiss"></span>'
564 - );
565 - }
566 - if( $this->response_code == 401 ) {
567 - $status = array(
568 - 'title' => 'Unauthorised',
569 - 'desc' => 'You are successfully connecting to your API. But your API key, login or API credentials are incorrect. See <a href="https://wpgetapi.com/docs/authentication-authorization/">here</a> for info on correctly authorizing your API requests.',
570 - 'type' => '<span class="dashicons dashicons-warning"></span>'
571 - );
572 - }
573 - if( $this->response_code == 403 ) {
574 - $status = array(
575 - 'title' => 'Forbidden',
576 - 'desc' => 'This could indicate that you may need to get your IP address whitelisted with your API provider or that you do not have access to this API.',
577 - 'type' => '<span class="dashicons dashicons-dismiss"></span>'
578 - );
579 - }
580 - if( $this->response_code == 405 ) {
581 - $status = array(
582 - 'title' => 'Method Not Allowed',
583 - 'desc' => 'Try changing the Request Method within the endpoint settings.',
584 - 'type' => '<span class="dashicons dashicons-dismiss"></span>'
585 - );
586 - }
587 - if( $this->response_code == 415 ) {
588 - $status = array(
589 - 'title' => 'Unsupported Media Type',
590 - 'desc' => 'Try adding "Content-type" to the Headers with the Value of "json/application" as shown <a href="https://wpgetapi.com/docs/troubleshooting/">here</a>.',
591 - 'type' => '<span class="dashicons dashicons-dismiss"></span>'
592 - );
593 - }
594 - if( $this->response_code == 500 ) {
595 - $status = array(
596 - 'title' => 'Internal Server Error',
597 - 'desc' => 'This indicates an issue with the server. Contact your API provider.',
598 - 'type' => '<span class="dashicons dashicons-dismiss"></span>'
599 - );
600 - }
601 -
602 -
603 383 ob_start(); ?>
604 384
605 385 <style>
606 386
@@ -637,10 +417,10 @@
637 417 background: #fff;
638 418 padding: 15px 20px;
639 419 display: inline-block !important;
640 420 width: 100% !important;
641 - box-shadow: 0 3px 8px rgb(0 0 0 / 6%);
642 - border: 1px solid #eee;
421 + box-shadow: 3px 3px 0 rgb(0 0 0 / 8%);
422 + border: 1px solid #efefef;
643 423 }
644 424 .wpgetapi-debug .debug-item h6 {
645 425 font-weight: bold;
646 426 font-size: 14px;
@@ -652,14 +432,15 @@
652 432 font-family: monospace !important;
653 433 font-size: 13px !important;
654 434 margin: 0 !important;
655 435 padding: 8px 12px;
656 - background: #f4f7f9;
436 + background: #f8f8f8;
657 437 }
658 438 .wpgetapi-debug .debug-item .debug-result pre {
659 439 border: none;
660 440 padding: 5px
661 441 }
442 +
662 443 .wpgetapi-debug.testing {
663 444 background: transparent;
664 445 padding: 0;
665 446 box-shadow: none;
@@ -666,72 +447,16 @@
666 447 }
667 448 .wpgetapi-debug.testing .debug-item {
668 449 margin: 5px 0;
669 450 }
670 -.wpgetapi-debug.testing .debug-item.status {
671 - border: none;
672 - box-shadow: none;
673 - margin-bottom: 15px;
674 -}
675 -.wpgetapi-debug .debug-item.status h5 {
676 - font-size: 15px;
677 -}
678 -.wpgetapi-debug .status .dashicons {
679 - margin: 0 5px 3px 0;
680 -}
681 -.wpgetapi-debug .status .dashicons-yes-alt {
682 - color: #5e9929;
683 -}
684 -.wpgetapi-debug .status .dashicons-dismiss {
685 - color: #cc4646;
686 -}
687 -.wpgetapi-debug .status .dashicons-warning {
688 - color: #dfa12e;
689 -}
690 -.wpgetapi-debug .status .desc {
691 - font-size: 14px;
692 - font-weight: 400 !important;
693 -}
694 451 </style>
695 452
696 453 <div class="wpgetapi-debug <?php echo $testing ? 'testing' : ''; ?>">
697 454
698 - <?php if( $testing ) { ?>
699 -
700 - <div class="debug-item status">
701 - <div class="">
702 - <h5><?php _e( $status['type'] ); ?> <?php esc_html_e( $status['title'] ); ?></h5>
703 - <span class="desc"><?php _e( $status['desc'] ); ?></span>
704 - </div>
705 - </div>
706 - <div class="debug-item">
707 - <h6><?php esc_html_e( 'Full URL', 'wpgetapi' ); ?></h6>
708 - <p class="small"><?php esc_html_e( 'The full URL that is being called.', 'wpgetapi' ); ?></p>
709 - <div class="debug-result"><?php esc_html_e( $this->final_url ); ?></div>
710 - </div>
711 -
712 - <div class="debug-item">
713 - <h6><?php esc_html_e( 'Data Output', 'wpgetapi' ); ?></h6>
714 - <p class="small"><?php esc_html_e( 'The output that has been returned from the API. This is what the shortcode or template tag will display and can be formatted however you like.', 'wpgetapi' ); ?></p>
715 - <div class="debug-result"><?php wpgetapi_pp( $data ); ?></div>
716 - </div>
717 -
718 - <div class="debug-item">
719 - <h6><?php esc_html_e( 'Final Request Arguments', 'wpgetapi' ); ?></h6>
720 - <p class="small"><?php esc_html_e( 'The final request arguments sent in the API request. Includes headers and body arguments.', 'wpgetapi' ); ?></p>
721 - <div class="debug-result"><?php wpgetapi_pp( $this->final_request_args ); ?></div>
722 - </div>
723 -
724 - <div class="debug-item">
725 - <h6><?php esc_html_e( 'Response', 'wpgetapi' ); ?></h6>
726 - <p class="small"><?php esc_html_e( 'The full response from the API request.', 'wpgetapi' ); ?></p>
727 - <div class="debug-result"><?php wpgetapi_pp( $this->response); ?></div>
728 - </div>
729 -
730 - <?php } else { ?>
731 -
732 - <h5><strong><?php esc_html_e( 'WPGetAPI, Debug Mode - Plugin Version', 'wpgetapi' ); ?> <?php esc_html_e( WpGetApi()->version ); ?></strong></h5>
455 + <?php if( ! $testing ) { ?>
456 + <h5><strong><?php esc_html_e( 'WPGetAPI, Debug Mode - Plugin Version', 'wpgetapi' ); ?> <?php esc_html_e( WpGetApi()->version ); ?></strong></h5>
733 457 <p class="small"><?php esc_html_e( 'Below you will find debug info for the current API call. To turn this off, set debug to false in your shortcode or template tag.', 'wpgetapi' ); ?><br><?php esc_html_e( 'Connecting to API\'s can be tricky - if you require help, please see the', 'wpgetapi' ); ?> <a target="_blank" href="https://wpgetapi.com/docs/"><?php esc_html_e( 'Documentation', 'wpgetapi' ); ?></a>.</p>
458 + <?php } ?>
734 459
735 460 <div class="debug-item">
736 461 <h6><?php esc_html_e( 'Full URL', 'wpgetapi' ); ?></h6>
737 462 <p class="small"><?php esc_html_e( 'The full URL that is being called.', 'wpgetapi' ); ?></p>
@@ -778,10 +503,8 @@
778 503 <h6><?php esc_html_e( 'Response', 'wpgetapi' ); ?></h6>
779 504 <p class="small"><?php esc_html_e( 'The full response from the API request.', 'wpgetapi' ); ?></p>
780 505 <div class="debug-result"><?php wpgetapi_pp( $this->response); ?></div>
781 506 </div>
782 -
783 - <?php } ?>
784 507
785 508 </div>
786 509
787 510 <?php