Current Path: > home > transcarter > public_html > wp-content > plugins > elementor-pro > > modules > forms > actions
Operation : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Software : Apache Server IP : 198.54.126.42 | Your IP: 216.73.216.135 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
activecampaign.php | File | 9186 bytes | March 09 2023 22:15:58. | |
activity-log.php | File | 972 bytes | March 09 2023 22:15:58. | |
cf7db.php | File | 713 bytes | March 09 2023 22:15:58. | |
convertkit.php | File | 7286 bytes | March 09 2023 22:15:58. | |
discord.php | File | 5744 bytes | March 09 2023 22:15:58. | |
drip.php | File | 8760 bytes | March 09 2023 22:15:58. | |
email.php | File | 11154 bytes | March 09 2023 22:15:58. | |
email2.php | File | 1006 bytes | March 09 2023 22:15:58. | |
getresponse.php | File | 8795 bytes | March 09 2023 22:15:58. | |
mailchimp.php | File | 12972 bytes | March 09 2023 22:15:58. | |
mailerlite.php | File | 7920 bytes | March 09 2023 22:15:58. | |
mailpoet.php | File | 2982 bytes | March 09 2023 22:15:58. | |
mailpoet3.php | File | 3576 bytes | March 09 2023 22:15:58. | |
redirect.php | File | 1741 bytes | March 09 2023 22:15:58. | |
slack.php | File | 5918 bytes | March 09 2023 22:15:58. | |
webhook.php | File | 3148 bytes | March 09 2023 22:15:58. |
<?php namespace ElementorPro\Modules\Forms\Actions; use Elementor\Controls_Manager; use ElementorPro\Modules\Forms\Classes\Form_Record; use ElementorPro\Modules\Forms\Classes\Integration_Base; use MailPoet\API\API; use MailPoet\Models\Subscriber; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly }; class Mailpoet3 extends Integration_Base { public function get_name() { return 'mailpoet3'; } public function get_label() { return 'MailPoet 3'; } public function register_settings_section( $widget ) { $widget->start_controls_section( 'section_mailpoet3', [ 'label' => esc_html__( 'MailPoet 3', 'elementor-pro' ), 'condition' => [ 'submit_actions' => $this->get_name(), ], ] ); $mailpoet3_lists = API::MP( 'v1' )->getLists(); $options = []; foreach ( $mailpoet3_lists as $list ) { $options[ $list['id'] ] = $list['name']; } $widget->add_control( 'mailpoet3_lists', [ 'label' => esc_html__( 'List', 'elementor-pro' ), 'type' => Controls_Manager::SELECT2, 'label_block' => true, 'options' => $options, 'render_type' => 'none', ] ); $this->register_fields_map_control( $widget ); $widget->end_controls_section(); } public function on_export( $element ) { unset( $element['mailpoet3_lists'] ); return $element; } public function run( $record, $ajax_handler ) { $settings = $record->get( 'form_settings' ); $subscriber = $this->map_fields( $record ); $existing_subscriber = false; try { API::MP( 'v1' )->addSubscriber( $subscriber, (array) $settings['mailpoet3_lists'] ); $existing_subscriber = false; } catch ( \Exception $exception ) { $error_string = esc_html__( 'This subscriber already exists.', 'mailpoet' ); // phpcs:ignore WordPress.WP.I18n if ( $error_string === $exception->getMessage() ) { $existing_subscriber = true; } else { throw $exception; } } if ( $existing_subscriber ) { API::MP( 'v1' )->subscribeToLists( $subscriber['email'], (array) $settings['mailpoet3_lists'] ); } } /** * @param Form_Record $record * * @return array */ private function map_fields( $record ) { $settings = $record->get( 'form_settings' ); $fields = $record->get( 'fields' ); $subscriber = []; foreach ( $settings['mailpoet3_fields_map'] as $map_item ) { if ( empty( $fields[ $map_item['local_id'] ]['value'] ) ) { continue; } $subscriber[ $map_item['remote_id'] ] = $fields[ $map_item['local_id'] ]['value']; } return $subscriber; } protected function get_fields_map_control_options() { $mailpoet_fields = [ [ 'remote_id' => 'first_name', 'remote_label' => esc_html__( 'First Name', 'elementor-pro' ), 'remote_type' => 'text', ], [ 'remote_id' => 'last_name', 'remote_label' => esc_html__( 'Last Name', 'elementor-pro' ), 'remote_type' => 'text', ], [ 'remote_id' => 'email', 'remote_label' => esc_html__( 'Email', 'elementor-pro' ), 'remote_type' => 'email', 'remote_required' => true, ], ]; $fields = API::MP( 'v1' )->getSubscriberFields(); if ( ! empty( $fields ) && is_array( $fields ) ) { foreach ( $fields as $index => $remote ) { if ( in_array( $remote['id'], [ 'first_name', 'last_name', 'email' ] ) ) { continue; } $mailpoet_fields[] = [ 'remote_id' => $remote['id'], 'remote_label' => $remote['name'], 'remote_type' => 'text', ]; } } return [ 'default' => $mailpoet_fields, 'condition' => [ 'mailpoet3_lists!' => '', ], ]; } }
SILENT KILLER Tool