PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.33
OttoKit: All-in-One Automation Platform v1.1.33
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 / eventon / triggers / event-updated.php
suretriggers / src / Integrations / eventon / triggers Last commit date
event-cancelled.php 2 months ago event-published.php 2 months ago event-updated.php 2 months ago
event-updated.php
142 lines
1 <?php
2 /**
3 * EventUpdated.
4 * php version 5.6
5 *
6 * @category EventUpdated
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\EventOn\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\EventOn\EventOn;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 if ( ! class_exists( 'EventOnEventUpdated' ) ) :
22
23 /**
24 * EventOnEventUpdated
25 *
26 * @category EventOnEventUpdated
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 EventOnEventUpdated {
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'EventOn';
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'eon_event_updated';
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
70 $triggers[ $this->integration ][ $this->trigger ] = [
71 'label' => __( 'Event Updated', 'suretriggers' ),
72 'action' => $this->trigger,
73 'common_action' => 'eventon_save_meta',
74 'function' => [ $this, 'trigger_listener' ],
75 'priority' => 20,
76 'accepted_args' => 3,
77 ];
78
79 return $triggers;
80 }
81
82 /**
83 * Trigger listener.
84 *
85 * Fires after EventOn meta has been saved for an event.
86 *
87 * @param array $fields_ar Fields saved.
88 * @param int $post_id Event post ID.
89 * @param mixed $event EventOn event object.
90 *
91 * @return void
92 */
93 public function trigger_listener( $fields_ar, $post_id, $event ) {
94 unset( $fields_ar, $event );
95
96 if ( ! is_numeric( $post_id ) ) {
97 return;
98 }
99
100 $post_id = (int) $post_id;
101 if ( $post_id <= 0 ) {
102 return;
103 }
104
105 $post = get_post( $post_id );
106 if ( ! $post || 'ajde_events' !== $post->post_type ) {
107 return;
108 }
109
110 // Skip the first insert — Event Published trigger covers that.
111 if ( 'auto-draft' === $post->post_status ) {
112 return;
113 }
114
115 $context = EventOn::get_event_context( $post_id );
116 if ( empty( $context ) ) {
117 return;
118 }
119
120 $author_id = (int) $post->post_author;
121 if ( ! empty( $author_id ) ) {
122 $context = array_merge( WordPress::get_user_context( $author_id ), $context );
123 }
124
125 AutomationController::sure_trigger_handle_trigger(
126 [
127 'trigger' => $this->trigger,
128 'context' => $context,
129 ]
130 );
131 }
132 }
133
134 /**
135 * Ignore false positive
136 *
137 * @psalm-suppress UndefinedMethod
138 */
139 EventOnEventUpdated::get_instance();
140
141 endif;
142