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\Core\Utils; use ElementorPro\Modules\Forms\Classes\Action_Base; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } class Slack extends Action_Base { public function get_name() { return 'slack'; } public function get_label() { return esc_html__( 'Slack', 'elementor-pro' ); } public function register_settings_section( $widget ) { $widget->start_controls_section( 'section_slack', [ 'label' => esc_html__( 'Slack', 'elementor-pro' ), 'condition' => [ 'submit_actions' => $this->get_name(), ], ] ); $widget->add_control( 'slack_webhook', [ 'label' => esc_html__( 'Webhook URL', 'elementor-pro' ), 'type' => Controls_Manager::TEXT, 'placeholder' => 'https://hooks.slack.com/services/', 'label_block' => true, 'separator' => 'before', 'description' => esc_html__( 'Enter the webhook URL that will receive the form\'s submitted data.', 'elementor-pro' ) . ' ' . sprintf( '<a href="%s" target="_blank">%s</a>.', 'https://slack.com/apps/A0F7XDUAZ-incoming-webhooks/', esc_html__( 'Click here for Instructions', 'elementor-pro' ) ), 'render_type' => 'none', 'classes' => 'elementor-control-direction-ltr', 'dynamic' => [ 'active' => true, ], ] ); $widget->add_control( 'slack_channel', [ 'label' => esc_html__( 'Channel', 'elementor-pro' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], ] ); $widget->add_control( 'slack_username', [ 'label' => esc_html__( 'Username', 'elementor-pro' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], ] ); $widget->add_control( 'slack_pretext', [ 'label' => esc_html__( 'Pre Text', 'elementor-pro' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], ] ); $widget->add_control( 'slack_title', [ 'label' => esc_html__( 'Title', 'elementor-pro' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], ] ); $widget->add_control( 'slack_text', [ 'label' => esc_html__( 'Description', 'elementor-pro' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], ] ); $widget->add_control( 'slack_add_fields', [ 'label' => esc_html__( 'Form Data', 'elementor-pro' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', ] ); $widget->add_control( 'slack_add_ts', [ 'label' => esc_html__( 'Timestamp', 'elementor-pro' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', ] ); $widget->add_control( 'slack_webhook_color', [ 'label' => esc_html__( 'Color', 'elementor-pro' ), 'type' => Controls_Manager::COLOR, 'alpha' => false, 'default' => '#D30C5C', ] ); $widget->end_controls_section(); } public function on_export( $element ) { unset( $element['slack_add_ts'], $element['slack_add_fields'], $element['slack_webhook_color'], $element['slack_text'], $element['slack_pretext'], $element['slack_title'], $element['slack_username'], $element['slack_webhook'], $element['slack_channel'] ); } public function run( $record, $ajax_handler ) { $settings = $record->get( 'form_settings' ); if ( empty( $settings['slack_webhook'] ) || false === strpos( $settings['slack_webhook'], 'https://hooks.slack.com/services/' ) ) { return; } // Build slack webhook data $webhook_data = [ 'username' => isset( $settings['slack_username'] ) ? $settings['slack_username'] : '', ]; if ( ! empty( $settings['slack_channel'] ) ) { $webhook_data['channel'] = $settings['slack_channel']; } // The nonce already validated // phpcs:ignore WordPress.Security.NonceVerification.Missing $referrer = Utils::_unstable_get_super_global_value( $_POST, 'referrer' ); $attachment = [ 'text' => esc_html__( 'A new Form Submission has been received', 'elementor-pro' ), 'title' => esc_html__( 'A new Submission', 'elementor-pro' ), 'color' => isset( $settings['slack_webhook_color'] ) ? $settings['slack_webhook_color'] : '#D30C5C', 'title_link' => esc_url( $referrer ?? site_url() ), ]; if ( ! empty( $settings['slack_title'] ) ) { $attachment['title'] = $settings['slack_title']; } if ( ! empty( $settings['slack_text'] ) ) { $attachment['text'] = $settings['slack_text']; } if ( ! empty( $settings['slack_pretext'] ) ) { $attachment['pretext'] = $settings['slack_pretext']; } if ( ! empty( $settings['slack_add_fields'] ) && 'yes' === $settings['slack_add_fields'] ) { // prepare Form Data $raw_fields = $record->get( 'fields' ); $fields = []; foreach ( $raw_fields as $id => $field ) { $fields[] = [ 'title' => $field['title'] ? $field['title'] : $id, 'value' => $field['value'], 'short' => false, ]; } $attachment['fields'] = $fields; } if ( ! empty( $settings['slack_add_ts'] ) && 'yes' === $settings['slack_add_ts'] ) { $attachment = array_merge( $attachment, [ 'footer' => sprintf( /* translators: %s: Elementor. */ esc_html__( 'Powered by %s', 'elementor-pro' ), 'Elementor' ), 'footer_icon' => is_ssl() ? ELEMENTOR_ASSETS_URL . 'images/logo-icon.png' : null, 'ts' => time(), ] ); } $webhook_data['attachments'] = [ $attachment ]; $webhook_data = apply_filters( 'elementor_pro/forms/slack/webhook_args', $webhook_data ); $response = wp_remote_post( $settings['slack_webhook'], [ 'headers' => [ 'Content-Type' => 'application/json', ], 'body' => wp_json_encode( $webhook_data ), ] ); if ( 200 !== (int) wp_remote_retrieve_response_code( $response ) ) { throw new \Exception( 'Webhook error.' ); } } }
SILENT KILLER Tool