PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
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 / directories-pro / Triggers / listing-updated.php
suretriggers / src / Integrations / directories-pro / Triggers Last commit date
listing-deleted.php 3 weeks ago listing-published.php 3 weeks ago listing-updated.php 3 weeks ago new-listing-submitted.php 3 weeks ago new-review-submitted.php 3 weeks ago review-published.php 3 weeks ago
listing-updated.php
107 lines
1 <?php
2 /**
3 * ListingUpdated
4 *
5 * @package SureTriggers
6 * @category Integration
7 * @author BSF
8 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
9 * @link https://www.brainstormforce.com/
10 * @since 1.1.26
11 */
12
13 namespace SureTriggers\Integrations\DirectoriesPro\Triggers;
14
15 use SureTriggers\Controllers\AutomationController;
16 use SureTriggers\Integrations\DirectoriesPro\DirectoriesPro;
17 use SureTriggers\Traits\SingletonLoader;
18
19 if ( ! class_exists( 'ListingUpdated' ) ) :
20
21 /**
22 * ListingUpdated
23 *
24 * @category ListingUpdated
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.1.26
30 */
31 class ListingUpdated {
32
33 use SingletonLoader;
34
35 /**
36 * Integration name.
37 *
38 * @var string
39 */
40 public $integration = 'DirectoriesPro';
41
42 /**
43 * Trigger name.
44 *
45 * @var string
46 */
47 public $trigger = 'directories_pro_listing_updated';
48
49 /**
50 * Constructor.
51 */
52 public function __construct() {
53 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
54 }
55
56 /**
57 * Register trigger.
58 *
59 * @param array $triggers Registered triggers.
60 * @return array Modified triggers.
61 */
62 public function register( $triggers ) {
63 $triggers[ $this->integration ][ $this->trigger ] = [
64 'label' => __( 'Listing Updated', 'suretriggers' ),
65 'action' => $this->trigger,
66 'common_action' => 'save_post',
67 'function' => [ $this, 'trigger_listener' ],
68 'priority' => 10,
69 'accepted_args' => 3,
70 ];
71
72 return $triggers;
73 }
74
75 /**
76 * Trigger listener.
77 *
78 * @param int $post_id Post ID.
79 * @param \WP_Post $post Post object.
80 * @param bool $update Whether this is an existing post being updated.
81 * @return void
82 */
83 public function trigger_listener( $post_id, $post, $update ) {
84 if ( ! $update || empty( $post ) || wp_is_post_revision( $post_id ) || wp_is_post_autosave( $post_id ) ) {
85 return;
86 }
87
88 $bundle = DirectoriesPro::get_bundle( $post->post_type );
89 if ( ! DirectoriesPro::is_listing_bundle( $bundle ) ) {
90 return;
91 }
92
93 $context = DirectoriesPro::build_entity_context( $post, $bundle );
94
95 AutomationController::sure_trigger_handle_trigger(
96 [
97 'trigger' => $this->trigger,
98 'context' => $context,
99 ]
100 );
101 }
102 }
103
104 ListingUpdated::get_instance();
105
106 endif;
107