PluginProbe
OttoKit: All-in-One Automation Platform / 1.1.38
OttoKit: All-in-One Automation Platform v1.1.38
1.1.38 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 All 124 releases
suretriggers / src / Integrations / voxel / triggers / comment-reply-created-timeline.php
comment-reply-created-timeline.php
118 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * CommentReplyCreatedTimeline.
4 * php version 5.6
5 *
6 * @category CommentReplyCreatedTimeline
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\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'CommentReplyCreatedTimeline' ) ) :
21
22 /**
23 * CommentReplyCreatedTimeline
24 *
25 * @category CommentReplyCreatedTimeline
26 * @package SureTriggers
27 * @author BSF <username@example.com>
28 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
29 * @link https://www.brainstormforce.com/
30 * @since 1.0.0
31 *
32 * @psalm-suppress UndefinedTrait
33 */
34 class CommentReplyCreatedTimeline {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'Voxel';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'voxel_comment_reply_created_timeline';
51
52 use SingletonLoader;
53
54
55 /**
56 * Constructor
57 *
58 * @since 1.0.0
59 */
60 public function __construct() {
61 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
62 }
63
64 /**
65 * Register action.
66 *
67 * @param array $triggers trigger data.
68 * @return array
69 */
70 public function register( $triggers ) {
71
72 $triggers[ $this->integration ][ $this->trigger ] = [
73 'label' => __( 'New Comment Reply Created on Timeline', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'voxel/app-events/timeline/comment-reply:created',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 1,
79 ];
80
81 return $triggers;
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param object $event Event.
88 * @return void
89 */
90 public function trigger_listener( $event ) {
91 if ( ! property_exists( $event, 'reply' ) || ! property_exists( $event, 'comment' ) ) {
92 return;
93 }
94 $context['replied_by'] = WordPress::get_user_context( $event->reply->get_user_id() );
95 $context['comment_by'] = WordPress::get_user_context( $event->comment->get_user_id() );
96 $context['comment'] = $event->comment->get_content();
97 $context['comment_id'] = $event->comment->get_id();
98 $context['reply_id'] = $event->reply->get_id();
99 $context['reply'] = $event->reply->get_content();
100
101 AutomationController::sure_trigger_handle_trigger(
102 [
103 'trigger' => $this->trigger,
104 'context' => $context,
105 ]
106 );
107 }
108 }
109
110 /**
111 * Ignore false positive
112 *
113 * @psalm-suppress UndefinedMethod
114 */
115 CommentReplyCreatedTimeline::get_instance();
116
117 endif;
118