PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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-published.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-published.php
107 lines
1 <?php
2 /**
3 * ListingPublished
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( 'ListingPublished' ) ) :
20
21 /**
22 * ListingPublished
23 *
24 * @category ListingPublished
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 ListingPublished {
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_published';
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 Published', 'suretriggers' ),
65 'action' => $this->trigger,
66 'common_action' => 'transition_post_status',
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 string $new_status New post status.
79 * @param string $old_status Old post status.
80 * @param \WP_Post $post Post object.
81 * @return void
82 */
83 public function trigger_listener( $new_status, $old_status, $post ) {
84 if ( 'publish' !== $new_status || 'publish' === $old_status || empty( $post ) ) {
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 ListingPublished::get_instance();
105
106 endif;
107