PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / trunk
OttoKit: All-in-One Automation Platform vtrunk
1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 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 / support-portal-for-surecart / triggers / new-support-ticket-created.php
suretriggers / src / Integrations / support-portal-for-surecart / triggers Last commit date
new-email-message-fetched.php 1 year ago new-message-sent.php 1 year ago new-support-ticket-created.php 1 year ago support-ticket-status-changed.php 1 year ago tickets-marked-as-closed.php 1 year ago tickets-marked-as-open.php 1 year ago
new-support-ticket-created.php
130 lines
1 <?php
2 /**
3 * NewSupportTicketCreated.
4 * php version 5.6
5 *
6 * @category NewSupportTicketCreated
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\SupportPortalForSureCart\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19 use Surelywp_Support_Portal;
20
21 if ( ! class_exists( 'NewSupportTicketCreated' ) ) :
22
23 /**
24 * NewSupportTicketCreated
25 *
26 * @category NewSupportTicketCreated
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class NewSupportTicketCreated {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'SupportPortalForSureCart';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'sps_new_ticket_created';
52
53 use SingletonLoader;
54
55
56 /**
57 * Constructor
58 *
59 * @since 1.0.0
60 */
61 public function __construct() {
62 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
63 }
64
65 /**
66 * Register action.
67 *
68 * @param array $triggers trigger data.
69 * @return array
70 */
71 public function register( $triggers ) {
72
73 $triggers[ $this->integration ][ $this->trigger ] = [
74 'label' => __( 'New Support Ticket Created', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'surelywp_sp_support_form_submit',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 10,
79 'accepted_args' => 2,
80 ];
81 return $triggers;
82
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param array $new_support_data Support Data.
89 * @param array $support_fields_data Support Fields Data.
90 * @since 1.0.0
91 *
92 * @return void
93 */
94 public function trigger_listener( $new_support_data, $support_fields_data ) {
95
96 if ( ! class_exists( 'Surelywp_Support_Portal' ) ) {
97 return;
98 }
99 global $wpdb;
100 $result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}surelywp_sp_support WHERE support_id = %d", $support_fields_data[0]['support_id'] ), ARRAY_A );
101 $support_res = $wpdb->get_results( $wpdb->prepare( "SELECT field_label, field_value FROM {$wpdb->prefix}surelywp_sp_support_form_fields WHERE support_id = %d", $support_fields_data[0]['support_id'] ), ARRAY_A );
102 $support_data = [
103 'support_id' => $result['support_id'],
104 'order_id' => $result['order_id'],
105 'product_id' => $result['product_id'],
106 'support_title' => $result['support_title'],
107 'support_status' => Surelywp_Support_Portal::surelywp_sp_get_support_status( $result['support_status'] ),
108 'support_data' => $support_res,
109 ];
110 $context = array_merge( $support_data, WordPress::get_user_context( $result['user_id'] ) );
111
112 AutomationController::sure_trigger_handle_trigger(
113 [
114 'trigger' => $this->trigger,
115 'context' => $context,
116 ]
117 );
118
119 }
120 }
121
122 /**
123 * Ignore false positive
124 *
125 * @psalm-suppress UndefinedMethod
126 */
127 NewSupportTicketCreated::get_instance();
128
129 endif;
130