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 / jet-appointments-booking / triggers / appointment-created.php
suretriggers / src / Integrations / jet-appointments-booking / triggers Last commit date
appointment-cancelled.php 7 months ago appointment-created.php 7 months ago appointment-deleted.php 7 months ago appointment-status-changed.php 7 months ago
appointment-created.php
121 lines
1 <?php
2 /**
3 * AppointmentCreated.
4 * php version 5.6
5 *
6 * @category AppointmentCreated
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\JetAppointmentsBooking\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\JetAppointmentsBooking\JetAppointmentsBooking;
19 use JET_APB\Plugin;
20
21 if ( ! class_exists( 'AppointmentCreated' ) ) :
22
23 /**
24 * AppointmentCreated
25 *
26 * @category AppointmentCreated
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 AppointmentCreated {
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'JetAppointmentsBooking';
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'jet_appointment_created';
50
51 use SingletonLoader;
52
53 /**
54 * Constructor
55 *
56 * @since 1.0.0
57 */
58 public function __construct() {
59 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
60 }
61
62 /**
63 * Register action.
64 *
65 * @param array $triggers trigger data.
66 * @return array
67 */
68 public function register( $triggers ) {
69 $triggers[ $this->integration ][ $this->trigger ] = [
70 'label' => __( 'Appointment Created', 'suretriggers' ),
71 'action' => $this->trigger,
72 'common_action' => 'jet-apb/db/create/appointments',
73 'function' => [ $this, 'trigger_listener' ],
74 'priority' => 10,
75 'accepted_args' => 2,
76 ];
77 return $triggers;
78 }
79
80 /**
81 * Trigger listener
82 *
83 * @param array $appointment_data Appointment data.
84 * @param object $appointment_model Appointment model instance.
85 * @since 1.0.0
86 *
87 * @return void
88 */
89 public function trigger_listener( $appointment_data, $appointment_model ) {
90 if ( empty( $appointment_data ) || ! is_object( $appointment_model ) ) {
91 return;
92 }
93
94 $appointment_id = is_object( $appointment_model ) && method_exists( $appointment_model, 'get' ) ? $appointment_model->get( 'ID' ) : null;
95
96 if ( ! $appointment_id ) {
97 return;
98 }
99
100 $context = JetAppointmentsBooking::get_appointment_context( $appointment_id );
101
102 AutomationController::sure_trigger_handle_trigger(
103 [
104 'trigger' => $this->trigger,
105 'context' => $context,
106 ]
107 );
108 }
109
110
111 }
112
113 /**
114 * Ignore false positive
115 *
116 * @psalm-suppress UndefinedMethod
117 */
118 AppointmentCreated::get_instance();
119
120 endif;
121