PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 1.0.3
JetFormBuilder — Dynamic Blocks Form Builder v1.0.3
3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.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 All 130 releases
jetformbuilder / includes / integrations / active-campaign-handler.php
active-campaign-handler.php
66 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Jet_Form_Builder\Integrations;
5
6
7 use Jet_Form_Builder\Exceptions\Action_Exception;
8
9 class Active_Campaign_Handler extends Integration_Base {
10 /**
11 * Constructor for the class
12 *
13 * @param $settings
14 */
15 public function __construct( $settings ) {
16
17 if ( empty( $settings['api_key'] ) ) {
18 return new \WP_Error( 'invalid_api_key' );
19 }
20
21 $this->api_key = $settings['api_key'];
22 $this->api_base_url = add_query_arg(
23 array(
24 'api_action' => 'contact_sync',
25 'api_key' => $this->api_key,
26 'api_output' => 'json',
27 ),
28 esc_url( rtrim( $settings['api_url'], '/' ) . '/admin/api.php' )
29 );
30 }
31
32 public function request( $request_url, $request_args = array() ) {
33 $response = wp_remote_post(
34 $this->api_base_url,
35 array(
36 'body' => $request_args,
37 'timeout' => 30,
38 )
39 );
40
41 if ( ! $response || is_wp_error( $response ) ) {
42 throw new Action_Exception( 'internal_error' );
43 }
44
45 $data = wp_remote_retrieve_body( $response );
46
47 if ( ! $data ) {
48 throw new Action_Exception( 'internal_error' );
49 }
50
51 $data = json_decode( $data, true );
52
53 // Error response
54 if ( empty( $data['result_code'] ) ) {
55 throw new Action_Exception( 'failed' );
56 }
57
58 }
59
60 /**
61 * @return mixed
62 */
63 public function get_all_data() {
64 // TODO: Implement get_all_data() method.
65 }
66 }