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 / mailpoet / triggers / form-submitted.php
suretriggers / src / Integrations / mailpoet / triggers Last commit date
form-submitted.php 1 year ago
form-submitted.php
133 lines
1 <?php
2 /**
3 * FormSubmitted.
4 * php version 5.6
5 *
6 * @category FormSubmitted
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\MailPoet\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19 use MailPoet\Entities\FormEntity;
20
21 if ( ! class_exists( 'FormSubmitted' ) ) :
22
23 /**
24 * FormSubmitted
25 *
26 * @category FormSubmitted
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 FormSubmitted {
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'MailPoet';
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'mailpoet_form_submitted';
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 *
67 * @return array
68 */
69 public function register( $triggers ) {
70 $triggers[ $this->integration ][ $this->trigger ] = [
71 'label' => __( 'Form Submitted', 'suretriggers' ),
72 'action' => $this->trigger,
73 'common_action' => 'mailpoet_subscription_before_subscribe',
74 'function' => [ $this, 'trigger_listener' ],
75 'priority' => 10,
76 'accepted_args' => 3,
77 ];
78 return $triggers;
79 }
80
81 /**
82 * Trigger listener
83 *
84 * @param array $data Appointment Data.
85 * @param array $segment_ids Segment Ids.
86 * @param object $form Form object.
87 * @since 1.0.0
88 *
89 * @return void
90 */
91 public function trigger_listener( $data, $segment_ids, $form ) {
92 if ( ! class_exists( 'MailPoet\Entities\FormEntity' ) || empty( $form ) || ! $form instanceof \MailPoet\Entities\FormEntity || ! class_exists( '\MailPoet\API\API' ) ) {
93 return;
94 }
95
96 $mailpoet = \MailPoet\API\API::MP( 'v1' );
97 $fields = $mailpoet->getSubscriberFields();
98
99 // Form title.
100 $context['form_title'] = esc_html( $form->getName() );
101
102 // Form id.
103 $context['form_id'] = $form->getId();
104
105 // Form Fields.
106 if ( ! empty( $fields ) ) {
107 foreach ( $fields as $key => $field ) {
108 if ( preg_match( '/[cf_]/i', $field['id'] ) ) {
109 $context[ $field['name'] ] = $data[ $field['id'] ];
110 } else {
111 $context[ $field['id'] ] = $data[ $field['id'] ];
112 }
113 }
114 }
115
116 AutomationController::sure_trigger_handle_trigger(
117 [
118 'trigger' => $this->trigger,
119 'context' => $context,
120 ]
121 );
122 }
123 }
124
125 /**
126 * Ignore false positive
127 *
128 * @psalm-suppress UndefinedMethod
129 */
130 FormSubmitted::get_instance();
131
132 endif;
133