PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 2.1.4
JetFormBuilder — Dynamic Blocks Form Builder v2.1.4
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 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.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / integrations / integration-base.php
jetformbuilder / includes / integrations Last commit date
active-campaign-handler.php 3 years ago forms-captcha.php 3 years ago getresponse-handler.php 3 years ago integration-base.php 3 years ago mailchimp-handler.php 3 years ago
integration-base.php
66 lines
1 <?php
2
3 namespace Jet_Form_Builder\Integrations;
4
5 use Jet_Form_Builder\Exceptions\Action_Exception;
6 use Jet_Form_Builder\Exceptions\Silence_Exception;
7
8 abstract class Integration_Base {
9 protected $api_base_url = '';
10 protected $api_key = '';
11 protected $api_request_args = array();
12
13 public function __construct( $api_key ) {
14 $this->api_key = $api_key;
15 }
16
17 public function success_codes(): array {
18 return array( 204, 200 );
19 }
20
21 abstract public function get_all_data();
22
23 public function request( $end_point, $request_args = array() ) {
24 $response = $this->base_request( $end_point, $request_args );
25
26 if ( ! $response || is_wp_error( $response ) ) {
27 return false;
28 }
29
30 $data = wp_remote_retrieve_body( $response );
31
32 if ( ! $data ) {
33 return array();
34 }
35
36 $data = json_decode( $data, true );
37
38 return $data;
39 }
40
41 /**
42 * @param $end_point
43 * @param array $request_args
44 *
45 * @throws Silence_Exception
46 */
47 public function request_with_code( $end_point, $request_args = array() ) {
48 $response = $this->base_request( $end_point, $request_args );
49 $code = (int) wp_remote_retrieve_response_code( $response );
50
51 if ( ! in_array( $code, $this->success_codes(), true ) ) {
52 $message = wp_remote_retrieve_response_message( $response );
53
54 throw new Silence_Exception( $message );
55 }
56 }
57
58 public function base_request( $end_point, $request_args = array() ) {
59 $args = array_merge_recursive( $this->api_request_args, $request_args );
60 $url = esc_url_raw( $this->api_base_url . $end_point );
61
62 return wp_remote_request( $url, $args );
63 }
64
65 }
66