PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.6
JetFormBuilder — Dynamic Blocks Form Builder v3.6.6
3.6.6.1 3.6.6 3.6.5.4 3.6.5.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 All 134 releases
jetformbuilder / modules / actions-v2 / mailchimp / api / action-factory.php

action-factory.php in JetFormBuilder — Dynamic Blocks Form Builder 3.6.6, at modules/actions-v2/mailchimp/api/action-factory.php

73 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace JFB_Modules\Actions_V2\Mailchimp\Api;
4
5 class Action_Factory {
6
7 private $domain = '';
8 private $api_token = '';
9
10
11 /**
12 * @param string $action_class
13 *
14 * @return false|Base_Api_Action
15 */
16 public function create( string $action_class ) {
17 if ( ! class_exists( $action_class ) ) {
18 return false;
19 }
20 $action = new $action_class();
21
22 if ( ! ( $action instanceof Base_Api_Action ) ) {
23 return false;
24 }
25
26 $action->set_basic_auth( $this->get_api_token() );
27 $action->set_domain( $this->get_domain() );
28
29 return $action;
30 }
31
32 public function set_api_key( string $api_key ) {
33 $api_key_data = explode( '-', $api_key );
34
35 if ( empty( $api_key_data[1] ) || 0 !== strpos( $api_key_data[1], 'us' ) ) {
36 return;
37 }
38
39 $this->set_api_token( $api_key_data[0] );
40 $this->set_domain( $api_key_data[1] );
41 }
42
43 /**
44 * @return string
45 */
46 public function get_api_token(): string {
47 return $this->api_token;
48 }
49
50
51 /**
52 * @param string $api_token
53 */
54 protected function set_api_token( string $api_token ) {
55 $this->api_token = $api_token;
56 }
57
58 /**
59 * @return string
60 */
61 public function get_domain(): string {
62 return $this->domain;
63 }
64
65 /**
66 * @param string $domain
67 */
68 protected function set_domain( string $domain ) {
69 $this->domain = $domain;
70 }
71
72 }
73