Current Path : /var/www/mainsite/new/wp-content/plugins/elementor-pro/modules/forms/classes/ |
Current File : /var/www/mainsite/new/wp-content/plugins/elementor-pro/modules/forms/classes/integration-base.php |
<?php namespace ElementorPro\Modules\Forms\Classes; use Elementor\Controls_Manager; use Elementor\Repeater; use Elementor\Settings; use ElementorPro\Modules\Forms\Controls\Fields_Map; use ElementorPro\Modules\Forms\Widgets\Form; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } abstract class Integration_Base extends Action_Base { public function handle_panel_request( array $data ) {} public static function global_api_control( $widget, $api_key = '', $label = '', $condition = [], $id = '' ) { if ( empty( $api_key ) ) { /* translators: 1: Integration label, 2: Setting Page link. */ $html = sprintf( __( 'Set your %1$s in the <a href="%2$s" target="_blank">Integrations Settings</a>.', 'elementor-pro' ), $label, Settings::get_url() . '#tab-integrations' ); $content_classes = 'elementor-panel-alert elementor-panel-alert-warning'; } else { /* translators: 1: Integration label, 2: Setting Page link. */ $html = sprintf( __( 'You are using %1$s set in the <a href="%2$s" target="_blank">Integrations Settings</a>.', 'elementor-pro' ), $label, Settings::get_url() . '#tab-integrations' ); $content_classes = 'elementor-panel-alert elementor-panel-alert-info'; } /* translators: %s: Integration label */ $html .= ' ' . sprintf( __( 'You can also set a different %s by choosing "Custom".', 'elementor-pro' ), $label ); $widget->add_control( $id . '_api_key_msg', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => $html, 'content_classes' => $content_classes, 'condition' => $condition, ] ); } protected function get_fields_map_control_options() { return []; } final protected function register_fields_map_control( Form $form ) { $repeater = new Repeater(); $repeater->add_control( 'remote_id', [ 'type' => Controls_Manager::HIDDEN ] ); $repeater->add_control( 'local_id', [ 'type' => Controls_Manager::SELECT ] ); $fields_map_control_options = [ 'label' => __( 'Field Mapping', 'elementor-pro' ), 'type' => Fields_Map::CONTROL_TYPE, 'separator' => 'before', 'fields' => $repeater->get_controls(), ]; $fields_map_control_options = array_merge( $fields_map_control_options, $this->get_fields_map_control_options() ); $form->add_control( $this->get_name() . '_fields_map', $fields_map_control_options ); } }