PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / jetpack-crm / jetpack-crm.php
suretriggers / src / Integrations / jetpack-crm Last commit date
actions 5 months ago triggers 3 years ago jetpack-crm.php 3 years ago
jetpack-crm.php
171 lines
1 <?php
2 /**
3 * JetpackCRM core integrations file
4 *
5 * @since 1.0.0
6 * @package SureTrigger
7 */
8
9 namespace SureTriggers\Integrations\JetpackCRM;
10
11 use SureTriggers\Controllers\IntegrationsController;
12 use SureTriggers\Integrations\Integrations;
13 use SureTriggers\Traits\SingletonLoader;
14
15 /**
16 * Class SureTrigger
17 *
18 * @package SureTriggers\Integrations\JetpackCRM
19 */
20 class JetpackCRM extends Integrations {
21
22 use SingletonLoader;
23
24 /**
25 * ID
26 *
27 * @var string
28 */
29 protected $id = 'JetpackCRM';
30
31 /**
32 * SureTrigger constructor.
33 */
34 public function __construct() {
35 $this->name = __( 'JetpackCRM', 'suretriggers' );
36 $this->description = __( 'JetpackCRM is a WordPress Customer Support plugin.', 'suretriggers' );
37 $this->icon_url = SURE_TRIGGERS_URL . 'assets/icons/jetpackcrm.svg';
38
39 parent::__construct();
40 }
41
42 /**
43 * Get Company context data.
44 *
45 * @param int|string $company_id Company ID.
46 *
47 * @return array
48 */
49 public static function get_company_context( $company_id ) {
50
51 if ( ! function_exists( 'zeroBS_getCompany' ) ) {
52 return [];
53 }
54
55 $company = zeroBS_getCompany( $company_id );
56
57 if ( ! $company ) {
58 return [];
59 }
60
61 $context['company_id'] = $company['id'];
62 $context['company_status'] = $company['status'];
63 $context['company_name'] = $company['name'];
64 $context['company_email'] = $company['email'];
65 $context['main_address_line_1'] = $company['addr1'];
66 $context['main_address_line_2'] = $company['addr2'];
67 $context['main_address_city'] = $company['city'];
68 $context['main_address_state'] = $company['county'];
69 $context['main_address_postal_code'] = $company['postcode'];
70 $context['main_address_country'] = $company['country'];
71 $context['second_address_line_1'] = $company['secaddr1'];
72 $context['second_address_line_2'] = $company['secaddr2'];
73 $context['second_address_city'] = $company['seccity'];
74 $context['second_address_state'] = $company['seccounty'];
75 $context['second_address_postal_code'] = $company['secpostcode'];
76 $context['second_address_country'] = $company['seccountry'];
77 $context['main_telephone'] = $company['maintel'];
78 $context['secondary_telephone'] = $company['sectel'];
79
80 return $context;
81 }
82
83 /**
84 * Get Contact context data.
85 *
86 * @param int|string $contact_id Contact ID.
87 * @return array
88 */
89 public static function get_contact_context( $contact_id ) {
90
91 if ( ! function_exists( 'zeroBS_getCustomer' ) ) {
92 return [];
93 }
94
95 $contact = zeroBS_getCustomer( $contact_id );
96
97 if ( ! $contact ) {
98 return [];
99 }
100
101 $context['contact_id'] = $contact['id'];
102 $context['status'] = $contact['status'];
103 $context['prefix'] = $contact['prefix'];
104 $context['full_name'] = $contact['fullname'];
105 $context['first_name'] = $contact['fname'];
106 $context['last_name'] = $contact['lname'];
107 $context['email'] = $contact['email'];
108 $context['main_address_line_1'] = $contact['addr1'];
109 $context['main_address_line_2'] = $contact['addr2'];
110 $context['main_address_city'] = $contact['city'];
111 $context['main_address_state'] = $contact['county'];
112 $context['main_address_postal_code'] = $contact['postcode'];
113 $context['main_address_country'] = $contact['country'];
114 $context['second_address_line_1'] = $contact['secaddr_addr1'];
115 $context['second_address_line_2'] = $contact['secaddr_addr2'];
116 $context['second_address_city'] = $contact['secaddr_city'];
117 $context['second_address_state'] = $contact['secaddr_county'];
118 $context['second_address_postal_code'] = $contact['secaddr_postcode'];
119 $context['second_address_country'] = $contact['secaddr_country'];
120 $context['home_telephone'] = $contact['hometel'];
121 $context['work_telephone'] = $contact['worktel'];
122 $context['mobile_telephone'] = $contact['mobtel'];
123
124 return $context;
125 }
126
127 /**
128 * Get Quote context data.
129 *
130 * @param int|string $quote_id Quote ID.
131 * @return array
132 */
133 public static function get_quote_context( $quote_id ) {
134
135 if ( ! function_exists( 'zeroBS_getQuote' ) || ! function_exists( 'zeroBS_getQuoteStatus' ) ) {
136 return [];
137 }
138
139 $quote = zeroBS_getQuote( $quote_id );
140
141 if ( ! $quote ) {
142 return [];
143 }
144
145 $context['quote_id'] = $quote['id'];
146 $context['contact_id'] = isset( $quote['contact'][0]['id'] ) ? $quote['contact'][0]['id'] : '';
147 $context['contact_email'] = isset( $quote['contact'][0]['email'] ) ? $quote['contact'][0]['email'] : '';
148 $context['contact_name'] = isset( $quote['contact'][0]['fullname'] ) ? $quote['contact'][0]['fullname'] : '';
149 $context['status'] = zeroBS_getQuoteStatus( $quote );
150 $context['title'] = $quote['title'];
151 $context['value'] = $quote['value'];
152 $context['date'] = $quote['date_date'];
153 $context['content'] = $quote['content'];
154 $context['notes'] = $quote['notes'];
155
156 return $context;
157 }
158
159 /**
160 * Is Plugin depended on plugin is installed or not.
161 *
162 * @return bool
163 */
164 public function is_plugin_installed() {
165 return class_exists( 'ZeroBSCRM' );
166 }
167
168 }
169
170 IntegrationsController::register( JetpackCRM::class );
171