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 / better-messages / triggers / bm-new-message-received.php
suretriggers / src / Integrations / better-messages / triggers Last commit date
bm-new-message-received.php 2 years ago
bm-new-message-received.php
109 lines
1 <?php
2 /**
3 * BMNewMessageReceived.
4 * php version 5.6
5 *
6 * @category BMNewMessageReceived
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\BetterMessages\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'BMNewMessageReceived' ) ) :
21
22 /**
23 * BMNewMessageReceived
24 *
25 * @category BMNewMessageReceived
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 class BMNewMessageReceived {
33
34 /**
35 * Integration type.
36 *
37 * @var string
38 */
39 public $integration = 'BetterMessages';
40
41 /**
42 * Trigger name.
43 *
44 * @var string
45 */
46 public $trigger = 'bm_new_message_received';
47
48 use SingletonLoader;
49
50 /**
51 * Constructor
52 *
53 * @since 1.0.0
54 */
55 public function __construct() {
56 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
57 }
58
59 /**
60 * Register action.
61 *
62 * @param array $triggers trigger data.
63 * @return array
64 */
65 public function register( $triggers ) {
66 $triggers[ $this->integration ][ $this->trigger ] = [
67 'label' => __( 'New Message Received', 'suretriggers' ),
68 'action' => 'bm_new_message_received',
69 'common_action' => 'better_messages_message_sent',
70 'function' => [ $this, 'trigger_listener' ],
71 'priority' => 10,
72 'accepted_args' => 1,
73 ];
74
75 return $triggers;
76 }
77
78 /**
79 * Trigger listener
80 *
81 * @param object $message Message object.
82 * @since 1.0.0
83 *
84 * @return void
85 */
86 public function trigger_listener( $message ) {
87 if ( ! function_exists( 'Better_Messages' ) || ! property_exists( $message, 'id' ) ) {
88 return;
89 }
90
91 $message = Better_Messages()->functions->get_message( $message->id );
92 if ( is_object( $message ) ) {
93 $message = get_object_vars( $message );
94 }
95 $context = $message;
96 $context['sender'] = WordPress::get_user_context( $message->sender_id );
97 AutomationController::sure_trigger_handle_trigger(
98 [
99 'trigger' => $this->trigger,
100 'context' => $context,
101 ]
102 );
103 }
104 }
105
106 BMNewMessageReceived::get_instance();
107
108 endif;
109