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 / support-ticket-status-changed.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
support-ticket-status-changed.php
128 lines
1 <?php
2 /**
3 * SupportTicketStatusChanged.
4 * php version 5.6
5 *
6 * @category SupportTicketStatusChanged
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( 'SupportTicketStatusChanged' ) ) :
22
23 /**
24 * SupportTicketStatusChanged
25 *
26 * @category SupportTicketStatusChanged
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 SupportTicketStatusChanged {
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_support_ticket_status_changed';
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' => __( 'Support Ticket Status Changed', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'surelywp_sp_support_status_update',
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 int $support_id Support ID.
89 * @param string $status Status.
90 * @since 1.0.0
91 *
92 * @return void
93 */
94 public function trigger_listener( $support_id, $status ) {
95 if ( ! class_exists( 'Surelywp_Support_Portal' ) ) {
96 return;
97 }
98 global $wpdb;
99 $result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}surelywp_sp_support WHERE support_id = %d AND support_status LIKE %s", $support_id, $status ), ARRAY_A );
100 $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_id ), ARRAY_A );
101 $support_data = [
102 'support_id' => $result['support_id'],
103 'order_id' => $result['order_id'],
104 'product_id' => $result['product_id'],
105 'support_title' => $result['support_title'],
106 'support_status' => Surelywp_Support_Portal::surelywp_sp_get_support_status( $status ),
107 'support_data' => $support_res,
108 ];
109 $context = array_merge( $support_data, WordPress::get_user_context( $result['user_id'] ) );
110 AutomationController::sure_trigger_handle_trigger(
111 [
112 'trigger' => $this->trigger,
113 'context' => $context,
114 ]
115 );
116
117 }
118 }
119
120 /**
121 * Ignore false positive
122 *
123 * @psalm-suppress UndefinedMethod
124 */
125 SupportTicketStatusChanged::get_instance();
126
127 endif;
128