PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / beaver-builder / beaver-builder.php
suretriggers / src / Integrations / beaver-builder Last commit date
triggers 3 years ago beaver-builder.php 1 year ago
beaver-builder.php
141 lines
1 <?php
2 /**
3 * BeaverBuilder core integrations file
4 *
5 * @since 1.0.0
6 * @package SureTrigger
7 */
8
9 namespace SureTriggers\Integrations\BeaverBuilder;
10
11 use FLBuilderLoader;
12 use SureTriggers\Controllers\IntegrationsController;
13 use SureTriggers\Integrations\Integrations;
14 use SureTriggers\Traits\SingletonLoader;
15
16 /**
17 * Class SureTrigger
18 *
19 * @package SureTriggers\Integrations\BeaverBuilder
20 */
21 class BeaverBuilder extends Integrations {
22
23 use SingletonLoader;
24
25 /**
26 * ID
27 *
28 * @var string
29 */
30 protected $id = 'BeaverBuilder';
31
32 /**
33 * SureTrigger constructor.
34 */
35 public function __construct() {
36 add_action( 'fl_module_contact_form_after_send', [ $this, 'bb_after_contact_form_submit' ], 10, 6 );
37 add_action( 'fl_builder_subscribe_form_submission_complete', [ $this, 'bb_after_subscription_form_submit' ], 10, 6 );
38 parent::__construct();
39 }
40
41 /**
42 * On contact form submit.
43 *
44 * @param string $mailto mailto.
45 * @param string $subject subject.
46 * @param string $template template.
47 * @param array $headers headers.
48 * @param array $settings settings.
49 * @param string $result result.
50 * @return void
51 */
52 public function bb_after_contact_form_submit( $mailto, $subject, $template, $headers, $settings, $result ) {
53 $context = [];
54
55 if ( ! check_admin_referer( 'fl-contact-form-nonce', 'nonce' ) ) {
56 return;
57 }
58 if ( ! $result ) {
59 return;
60 }
61
62 if ( ! isset( $_POST['node_id'] ) ) {
63 return;
64 }
65
66 $node_id = sanitize_text_field( wp_unslash( $_POST['node_id'] ) );
67
68 $str = str_replace( [ "\r", "\n" ], ' ', $template );
69 $template_message = explode( ': ', $str );
70 $template_fields = [];
71
72 $template_fields = array_column(
73 array_map(
74 function ( $v ) {
75 return explode( ':', $v );
76 },
77 explode( "\r\n", $template )
78 ),
79 1,
80 0
81 );
82
83 if ( empty( $template_message ) || ! isset( $template_message[1] ) ) {
84 return;
85 }
86 $template_fields['Message'] = $template_message[1];
87
88 $context['form_id'] = $node_id;
89 $context['contact_name'] = $template_fields['Name'];
90 $context['subject'] = $subject;
91 $context['contact_email'] = $template_fields['Email'];
92 $context['message'] = $template_fields['Message'];
93 if ( isset( $template_fields['Phone'] ) ) {
94 $context['contact_phone'] = $template_fields['Phone'];
95 }
96 do_action( 'suretriggers_bb_after_form_submit', $context );
97 }
98
99 /**
100 * On form submit.
101 *
102 * @param array $response response.
103 * @param array $settings settings.
104 * @param string $email email.
105 * @param string $name name.
106 * @param int $template_id template id.
107 * @param int $post_id post id.
108 * @return void
109 */
110 public function bb_after_subscription_form_submit( $response, $settings, $email, $name, $template_id, $post_id ) {
111 $context = [];
112
113 if ( $response['error'] ) {
114 return;
115 }
116 if ( ! check_admin_referer( 'fl-subscribe-form-nonce', 'nonce' ) ) {
117 return;
118 }
119 if ( ! isset( $_POST['node_id'] ) ) {
120 return;
121 }
122
123 $node_id = sanitize_text_field( wp_unslash( $_POST['node_id'] ) );
124 $context['form_id'] = $node_id;
125 $context['subscriber_name'] = $name;
126 $context['subscriber_email'] = $email;
127 do_action( 'suretriggers_bb_after_form_submit', $context );
128 }
129
130 /**
131 * Is Plugin depended plugin is installed or not.
132 *
133 * @return bool
134 */
135 public function is_plugin_installed() {
136 return class_exists( FLBuilderLoader::class );
137 }
138 }
139
140 IntegrationsController::register( BeaverBuilder::class );
141