PATH:
home
/
thebhoeo
/
public_html
/
wp-content
/
themes
/
woodmart
/
inc
/
integrations
/
elementor
/
elements
<?php /** * Contact form 7 timer map */ namespace XTS\Elementor; use Elementor\Widget_Base; use Elementor\Controls_Manager; use Elementor\Plugin; if ( ! defined( 'ABSPATH' ) ) { exit; // Direct access not allowed. } /** * Elementor widget that inserts an embeddable content into the page, from any given URL. * * @since 1.0.0 */ class Contact_Form_7 extends Widget_Base { /** * Get widget name. * * @since 1.0.0 * @access public * * @return string Widget name. */ public function get_name() { return 'wd_contact_form_7'; } /** * Get widget title. * * @since 1.0.0 * @access public * * @return string Widget title. */ public function get_title() { return esc_html__( 'Contact form 7', 'woodmart' ); } /** * Get widget icon. * * @since 1.0.0 * @access public * * @return string Widget icon. */ public function get_icon() { return 'wd-icon-contact-form-7'; } /** * Get widget categories. * * @since 1.0.0 * @access public * * @return array Widget categories. */ public function get_categories() { return array( 'wd-elements' ); } /** * Get contact forms. * * @since 1.0.0 * @access public * * @return array Contact forms. */ public function get_contact_forms() { $forms = get_posts( array( 'post_type' => 'wpcf7_contact_form', 'numberposts' => -1, ) ); $contact_forms = array(); if ( $forms ) { foreach ( $forms as $form ) { $contact_forms[ $form->ID ] = $form->post_title; } } return $contact_forms; } /** * Register the widget controls. * * @since 1.0.0 * @access protected */ protected function register_controls() { /** * Content tab */ $this->start_controls_section( 'general_content_section', array( 'label' => esc_html__( 'General', 'woodmart' ), ) ); $this->add_control( 'css_classes', array( 'type' => 'wd_css_class', 'default' => 'wd-cf7', 'prefix_class' => '', ) ); $this->add_control( 'form_id', array( 'label' => esc_html__( 'Select contact form', 'woodmart' ), 'type' => Controls_Manager::SELECT2, 'label_block' => true, 'options' => $this->get_contact_forms(), 'default' => '0', ) ); $this->end_controls_section(); /** * Style tab */ $this->start_controls_section( 'color_style_section', array( 'label' => esc_html__( 'Form', 'woodmart' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_control( 'style', array( 'label' => esc_html__( 'Color presets', 'woodmart' ), 'type' => Controls_Manager::SELECT, 'options' => array( '' => esc_html__( 'Default', 'woodmart' ), 'wd-style-with-bg' => esc_html__( 'With background', 'woodmart' ), ), 'default' => '', ) ); $this->add_control( 'form_color', array( 'label' => esc_html__( 'Text color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-form' => '--wd-form-color: {{VALUE}};', ), 'condition' => array( 'style!' => 'wd-style-with-bg', ), ) ); $this->add_control( 'form_placeholder_color', array( 'label' => esc_html__( 'Placeholder color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-form' => '--wd-form-placeholder-color: {{VALUE}};', ), 'condition' => array( 'style!' => 'wd-style-with-bg', ), ) ); $this->add_control( 'form_brd_color', array( 'label' => esc_html__( 'Border color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-form' => '--wd-form-brd-color: {{VALUE}};', ), 'condition' => array( 'style!' => 'wd-style-with-bg', ), ) ); $this->add_control( 'form_brd_color_focus', array( 'label' => esc_html__( 'Border color focus', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-form' => '--wd-form-brd-color-focus: {{VALUE}};', ), 'condition' => array( 'style!' => 'wd-style-with-bg', ), ) ); $this->add_control( 'form_bg', array( 'label' => esc_html__( 'Background color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-form' => '--wd-form-bg: {{VALUE}};', ), 'condition' => array( 'style!' => 'wd-style-with-bg', ), ) ); $this->end_controls_section(); $this->start_controls_section( 'button_color_style_section', array( 'label' => esc_html__( 'Button', 'woodmart' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->start_controls_tabs( 'color_tabs' ); $this->start_controls_tab( 'title_idle_color_tab', array( 'label' => esc_html__( 'Idle', 'woodmart' ), ) ); $this->add_control( 'button_text_color', array( 'label' => esc_html__( 'Color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-submit' => '--btn-accented-color: {{VALUE}};', ), ) ); $this->add_control( 'button_bg_color', array( 'label' => esc_html__( 'Background color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-submit' => '--btn-accented-bgcolor: {{VALUE}};', ), ) ); $this->end_controls_tab(); $this->start_controls_tab( 'title_hover_color_tab', array( 'label' => esc_html__( 'Hover', 'woodmart' ), ) ); $this->add_control( 'button_text_color_hover', array( 'label' => esc_html__( 'Color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-submit' => '--btn-accented-color-hover: {{VALUE}};', ), ) ); $this->add_control( 'button_bg_color_hover', array( 'label' => esc_html__( 'Background color', 'woodmart' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '{{WRAPPER}} .wpcf7-submit' => '--btn-accented-bgcolor-hover: {{VALUE}};', ), ) ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); } /** * Render the widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * * @access protected */ protected function render() { $default_settings = array( 'form_id' => '0', 'style' => '', ); $settings = wp_parse_args( $this->get_settings_for_display(), $default_settings ); woodmart_enqueue_inline_style( 'wpcf7' ); if ( ! $settings['form_id'] || ! defined( 'WPCF7_PLUGIN' ) ) { echo '<div class="wd-notice wd-info">' . esc_html__( 'You need to create a form using Contact form 7 plugin to be able to display it using this element.', 'woodmart' ) . '</div>'; return; } if ( function_exists( 'wpcf7_enqueue_scripts' ) && ! wp_script_is( 'contact-form-7', 'registered' ) ) { $assets = include wpcf7_plugin_path( 'includes/js/index.asset.php' ); $assets = wp_parse_args( $assets, array( 'dependencies' => array(), 'version' => WPCF7_VERSION, ) ); wp_register_script( 'contact-form-7', wpcf7_plugin_url( 'includes/js/index.js' ), array_merge( $assets['dependencies'], array( 'swv' ) ), $assets['version'], array( 'in_footer' => true ) ); wpcf7_enqueue_scripts(); } echo do_shortcode( '[contact-form-7 html_class="' . esc_attr( $settings['style'] ) . '" id="' . esc_attr( $settings['form_id'] ) . '"]' ); } } Plugin::instance()->widgets_manager->register( new Contact_Form_7() );
[-] class-widget-products.php
[edit]
[-] class-countdown.php
[edit]
[-] class-off-canvas-column-btn.php
[edit]
[-] class-video.php
[edit]
[-] class-author-area.php
[edit]
[+]
banner
[-] class-text-block.php
[edit]
[-] class-product-filters.php
[edit]
[-] class-timeline.php
[edit]
[+]
blog
[-] class-testimonials.php
[edit]
[-] class-size-guide.php
[edit]
[-] class-google-map.php
[edit]
[-] class-title.php
[edit]
[-] class-image-hotspot.php
[edit]
[-] class-mailchimp.php
[edit]
[-] class-page-title.php
[edit]
[-] class-page-heading.php
[edit]
[-] class-product-categories.php
[edit]
[-] class-compare-images.php
[edit]
[-] class-nested-carousel.php
[edit]
[-] class-wd-mega-menu.php
[edit]
[-] class-table.php
[edit]
[-] class-team-member.php
[edit]
[-] class-3d-view.php
[edit]
[-] class-products-brands.php
[edit]
[-] class-slider.php
[edit]
[+]
products
[-] class-image.php
[edit]
[-] class-sidebar.php
[edit]
[-] class-tabs.php
[edit]
[-] class-counter.php
[edit]
[-] class-accordion.php
[edit]
[-] class-open-street-map.php
[edit]
[-] class-wishlist.php
[edit]
[-] class-search.php
[edit]
[+]
..
[-] class-social.php
[edit]
[+]
infobox
[-] class-toggle.php
[edit]
[-] class-contact-form-7.php
[edit]
[-] class-menu-anchor.php
[edit]
[+]
instagram
[-] class-menu-price.php
[edit]
[-] class-breadcrumbs.php
[edit]
[-] class-list.php
[edit]
[+]
products-tabs
[-] class-popup.php
[edit]
[-] class-extra-menu-list.php
[edit]
[+]
portfolio
[-] class-pricing-tables.php
[edit]
[-] class-marquee.php
[edit]
[-] class-twitter.php
[edit]
[-] class-compare.php
[edit]
[-] class-images-gallery.php
[edit]
[+]
button