PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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 / voxel / triggers / post-reviewed.php
suretriggers / src / Integrations / voxel / triggers Last commit date
collection-post-created.php 2 years ago collection-post-updated.php 2 years ago comment-reply-created-timeline.php 2 years ago membership-plan-activated.php 9 months ago membership-plan-canceled.php 9 months ago membership-plan-switched.php 9 months ago membership-plan-updated.php 9 months ago membership-user-registered.php 2 years ago new-comment-timeline.php 2 years ago new-message-post-created.php 11 months ago new-order-placed.php 2 years ago new-profile-created.php 2 years ago new-wall-post-by-user.php 1 year ago order-approved-by-vendor.php 2 years ago order-canceled-by-customer.php 2 years ago order-declined-by-vendor.php 2 years ago orders-claim-listing.php 1 year ago orders-promotion-activated.php 1 year ago orders-promotion-canceled.php 1 year ago post-approved.php 2 years ago post-rejected.php 2 years ago post-review-approved.php 1 year ago post-reviewed.php 2 years ago post-submitted.php 2 years ago post-updated.php 2 years ago profile-approved.php 2 years ago profile-rejected.php 2 years ago profile-reviewed.php 1 year ago profile-updated.php 2 years ago profile-wall-new-post.php 1 year ago taxonomy-updated.php 10 months ago timeline-post-approved.php 1 year ago user-receives-message.php 2 years ago users-timeline-approved.php 1 year ago users-timeline-created.php 1 year ago voxel-comment-liked.php 1 year ago voxel-post-followed.php 1 year ago voxel-post-liked.php 1 year ago voxel-post-quoted.php 1 year ago voxel-post-reposted.php 1 year ago voxel-post-unfollowed.php 1 year ago voxel-user-mentioned-in-comment.php 1 year ago voxel-user-mentioned-in-post.php 1 year ago wall-post-approved.php 1 year ago
post-reviewed.php
124 lines
1 <?php
2 /**
3 * PostReviewed.
4 * php version 5.6
5 *
6 * @category PostReviewed
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\Voxel\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Controllers\OptionController;
18 use SureTriggers\Traits\SingletonLoader;
19 use SureTriggers\Integrations\WordPress\WordPress;
20 use SureTriggers\Integrations\Voxel\Voxel;
21
22 if ( ! class_exists( 'PostReviewed' ) ) :
23
24 /**
25 * PostReviewed
26 *
27 * @category PostReviewed
28 * @package SureTriggers
29 * @author BSF <username@example.com>
30 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
31 * @link https://www.brainstormforce.com/
32 * @since 1.0.0
33 *
34 * @psalm-suppress UndefinedTrait
35 */
36 class PostReviewed {
37
38
39 /**
40 * Integration type.
41 *
42 * @var string
43 */
44 public $integration = 'Voxel';
45
46
47 /**
48 * Trigger name.
49 *
50 * @var string
51 */
52 public $trigger = 'voxel_post_reviewed';
53
54 use SingletonLoader;
55
56
57 /**
58 * Constructor
59 *
60 * @since 1.0.0
61 */
62 public function __construct() {
63 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
64 }
65
66 /**
67 * Register action.
68 *
69 * @param array $triggers trigger data.
70 * @return array
71 */
72 public function register( $triggers ) {
73 $trigger_data = OptionController::get_option( 'trigger_data' );
74 $triggers[ $this->integration ][ $this->trigger ] = [
75 'label' => __( 'Post Reviewed', 'suretriggers' ),
76 'action' => $this->trigger,
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 10,
79 'accepted_args' => 1,
80 ];
81 if ( ! empty( $trigger_data ) && is_array( $trigger_data ) && isset( $trigger_data[ $this->integration ][ $this->trigger ]['selected_options']['post_type']['value'] ) ) {
82 $triggers[ $this->integration ][ $this->trigger ]['common_action'] = 'voxel/app-events/post-types/' . $trigger_data[ $this->integration ][ $this->trigger ]['selected_options']['post_type']['value'] . '/review:created';
83 }
84
85 return $triggers;
86 }
87
88 /**
89 * Trigger listener
90 *
91 * @param object $event Event.
92 * @return void
93 */
94 public function trigger_listener( $event ) {
95 if ( ! property_exists( $event, 'post' ) || ! property_exists( $event, 'review' ) ) {
96 return;
97 }
98 $context = WordPress::get_post_context( $event->post->get_id() );
99 $context['post'] = Voxel::get_post_fields( $event->post->get_id() );
100 $context['review_content'] = $event->review->get_content();
101 $context['review_created_at'] = $event->review->get_created_at();
102 $context['review_details'] = $event->review->get_details();
103 $context['review_by'] = WordPress::get_user_context( $event->review->get_user_id() );
104 // Get the post type.
105 $post_type = get_post_type( $event->post->get_id() );
106 $context['post_type'] = $post_type;
107 AutomationController::sure_trigger_handle_trigger(
108 [
109 'trigger' => $this->trigger,
110 'context' => $context,
111 ]
112 );
113 }
114 }
115
116 /**
117 * Ignore false positive
118 *
119 * @psalm-suppress UndefinedMethod
120 */
121 PostReviewed::get_instance();
122
123 endif;
124