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 / tickets-marked-as-open.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
tickets-marked-as-open.php
132 lines
1 <?php
2 /**
3 * TicketsMarkedAsOpen.
4 * php version 5.6
5 *
6 * @category TicketsMarkedAsOpen
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( 'TicketsMarkedAsOpen' ) ) :
22
23 /**
24 * TicketsMarkedAsOpen
25 *
26 * @category TicketsMarkedAsOpen
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 TicketsMarkedAsOpen {
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_ticket_marked_as_open';
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' => __( 'Tickets Marked as Opened', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'surelywp_sp_tickets_marks_as_open',
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 $support_ids Support IDs.
89 * @param int $status Status.
90 * @since 1.0.0
91 *
92 * @return void
93 */
94 public function trigger_listener( $support_ids, $status ) {
95 if ( empty( $support_ids ) || ! class_exists( 'Surelywp_Support_Portal' ) ) {
96 return;
97 }
98 global $wpdb;
99 $support_data = [];
100 foreach ( $support_ids as $key => $id ) {
101 $result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}surelywp_sp_support WHERE support_id = %d AND support_status = %d", $id, $status ), ARRAY_A );
102 $support_res = $wpdb->get_results( $wpdb->prepare( "SELECT field_label, field_value FROM {$wpdb->prefix}surelywp_sp_support_form_fields WHERE support_id = %d", $id ), ARRAY_A );
103 $support_data[ $key ] = WordPress::get_user_context( $result['user_id'] );
104 $support_data[ $key ] = [
105 'support_id' => $result['support_id'],
106 'order_id' => $result['order_id'],
107 'product_id' => $result['product_id'],
108 'support_title' => $result['support_title'],
109 'support_status' => Surelywp_Support_Portal::surelywp_sp_get_support_status( $result['support_status'] ),
110 'support_data' => $support_res,
111 ];
112 }
113 $context = $support_data;
114 AutomationController::sure_trigger_handle_trigger(
115 [
116 'trigger' => $this->trigger,
117 'context' => $context,
118 ]
119 );
120
121 }
122 }
123
124 /**
125 * Ignore false positive
126 *
127 * @psalm-suppress UndefinedMethod
128 */
129 TicketsMarkedAsOpen::get_instance();
130
131 endif;
132