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 / support-genix / triggers / ticket-status-changed.php
suretriggers / src / Integrations / support-genix / triggers Last commit date
ticket-assigned.php 2 months ago ticket-created.php 2 months ago ticket-deleted.php 2 months ago ticket-replied.php 2 months ago ticket-status-changed.php 2 months ago
ticket-status-changed.php
114 lines
1 <?php
2 /**
3 * TicketStatusChangedSupportGenix.
4 * php version 5.6
5 *
6 * @category TicketStatusChangedSupportGenix
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\SupportGenix\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\SupportGenix\SupportGenix;
18 use SureTriggers\Traits\SingletonLoader;
19
20 if ( ! class_exists( 'TicketStatusChangedSupportGenix' ) ) :
21
22 /**
23 * TicketStatusChangedSupportGenix
24 *
25 * @psalm-suppress UndefinedTrait
26 */
27 class TicketStatusChangedSupportGenix {
28
29 /**
30 * Integration type.
31 *
32 * @var string
33 */
34 public $integration = 'SupportGenix';
35
36 /**
37 * Trigger name.
38 *
39 * @var string
40 */
41 public $trigger = 'ticket_status_changed_support_genix';
42
43 use SingletonLoader;
44
45 /**
46 * Constructor
47 *
48 * @since 1.0.0
49 */
50 public function __construct() {
51 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
52 }
53
54 /**
55 * Register trigger.
56 *
57 * @param array $triggers trigger data.
58 * @return array
59 */
60 public function register( $triggers ) {
61 $triggers[ $this->integration ][ $this->trigger ] = [
62 'label' => __( 'Ticket Status Changed', 'suretriggers' ),
63 'action' => 'ticket_status_changed_support_genix',
64 'common_action' => 'apbd-wps/action/ticket-status-change',
65 'function' => [ $this, 'trigger_listener' ],
66 'priority' => 10,
67 'accepted_args' => 2,
68 ];
69
70 return $triggers;
71 }
72
73 /**
74 * Trigger listener.
75 *
76 * @param object $ticket ticket object.
77 * @param int $changed_by user id that triggered the change.
78 *
79 * @return void
80 */
81 public function trigger_listener( $ticket, $changed_by = 0 ) {
82 if ( empty( $ticket ) ) {
83 return;
84 }
85
86 $context = [
87 'ticket' => SupportGenix::prepare_ticket_context( $ticket ),
88 'changed_by' => (int) $changed_by,
89 ];
90
91 $changed_by_user = $changed_by ? get_userdata( (int) $changed_by ) : null;
92 if ( $changed_by_user ) {
93 $context['changed_by_email'] = $changed_by_user->user_email;
94 $context['changed_by_name'] = $changed_by_user->display_name;
95 }
96
97 AutomationController::sure_trigger_handle_trigger(
98 [
99 'trigger' => $this->trigger,
100 'context' => $context,
101 ]
102 );
103 }
104 }
105
106 /**
107 * Ignore false positive
108 *
109 * @psalm-suppress UndefinedMethod
110 */
111 TicketStatusChangedSupportGenix::get_instance();
112
113 endif;
114