PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / trunk
OttoKit: All-in-One Automation Platform vtrunk
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 / wpadverts / triggers / user-sends-message-to-advert-author.php
suretriggers / src / Integrations / wpadverts / triggers Last commit date
user-pays-advert.php 4 months ago user-publishes-advert-in-category.php 4 months ago user-publishes-any-advert.php 4 months ago user-publishes-free-advert.php 4 months ago user-publishes-paid-advert.php 4 months ago user-receives-message-from-advert.php 4 months ago user-renews-advert.php 4 months ago user-sends-message-to-advert-author.php 4 months ago
user-sends-message-to-advert-author.php
125 lines
1 <?php
2 /**
3 * UserSendsMessageToAdvertAuthor.
4 * php version 5.6
5 *
6 * @category UserSendsMessageToAdvertAuthor
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\WPAdverts\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WPAdverts\WPAdverts;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 if ( ! class_exists( 'UserSendsMessageToAdvertAuthor' ) ) :
22
23 /**
24 * UserSendsMessageToAdvertAuthor
25 *
26 * @category UserSendsMessageToAdvertAuthor
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class UserSendsMessageToAdvertAuthor {
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'WPAdverts';
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'wpadverts_user_sends_message_to_author';
50
51 use SingletonLoader;
52
53 /**
54 * Constructor
55 *
56 * @since 1.0.0
57 */
58 public function __construct() {
59 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
60 }
61
62 /**
63 * Register action.
64 *
65 * @param array $triggers trigger data.
66 * @return array
67 */
68 public function register( $triggers ) {
69 $triggers[ $this->integration ][ $this->trigger ] = [
70 'label' => __( 'User sends a message to an advert author', 'suretriggers' ),
71 'action' => $this->trigger,
72 'common_action' => 'adext_contact_form_send',
73 'function' => [ $this, 'trigger_listener' ],
74 'priority' => 10,
75 'accepted_args' => 2,
76 ];
77
78 return $triggers;
79 }
80
81 /**
82 * Trigger listener
83 *
84 * @param int $post_id Advert post ID.
85 * @param object $form Adverts_Form object.
86 * @return void
87 */
88 public function trigger_listener( $post_id, $form ) {
89 if ( empty( $post_id ) ) {
90 return;
91 }
92
93 $context = WPAdverts::get_advert_context( $post_id );
94
95 if ( is_object( $form ) && method_exists( $form, 'get_value' ) ) {
96 $context['message_name'] = sanitize_text_field( (string) $form->get_value( 'message_name' ) );
97 $context['message_email'] = sanitize_email( (string) $form->get_value( 'message_email' ) );
98 $context['message_subject'] = sanitize_text_field( (string) $form->get_value( 'message_subject' ) );
99 $context['message_body'] = wp_kses_post( (string) $form->get_value( 'message_body' ) );
100 }
101
102 $user_id = ap_get_current_user_id();
103 $context = array_merge(
104 $context,
105 WordPress::get_user_context( $user_id )
106 );
107
108 AutomationController::sure_trigger_handle_trigger(
109 [
110 'trigger' => $this->trigger,
111 'context' => $context,
112 ]
113 );
114 }
115 }
116
117 /**
118 * Ignore false positive
119 *
120 * @psalm-suppress UndefinedMethod
121 */
122 UserSendsMessageToAdvertAuthor::get_instance();
123
124 endif;
125