Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elementor/widgets/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elementor/widgets/contact-box.php |
<?php
namespace Auxin\Plugin\CoreElements\Elementor\Elements;
use Elementor\Plugin;
use Elementor\Widget_Base;
use Elementor\Controls_Manager;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Elementor 'ContactBox' widget.
*
* Elementor widget that displays an 'ContactBox' with lightbox.
*
* @since 1.0.0
*/
class ContactBox extends Widget_Base {
/**
* Get widget name.
*
* Retrieve 'ContactBox' widget name.
*
* @since 1.0.0
* @access public
*
* @return string Widget name.
*/
public function get_name() {
return 'aux_contactbox';
}
/**
* Get widget title.
*
* Retrieve 'ContactBox' widget title.
*
* @since 1.0.0
* @access public
*
* @return string Widget title.
*/
public function get_title() {
return __('Contact Box', 'auxin-elements' );
}
/**
* Get widget icon.
*
* Retrieve 'ContactBox' widget icon.
*
* @since 1.0.0
* @access public
*
* @return string Widget icon.
*/
public function get_icon() {
return 'eicon-image-hotspot auxin-badge';
}
/**
* Get widget categories.
*
* Retrieve 'ContactBox' widget icon.
*
* @since 1.0.0
* @access public
*
* @return string Widget icon.
*/
public function get_categories() {
return array( 'auxin-core' );
}
/**
* Register 'ContactBox' widget controls.
*
* Adds different input fields to allow the user to change and customize the widget settings.
*
* @since 1.0.0
* @access protected
*/
protected function register_controls() {
/*-----------------------------------------------------------------------------------*/
/* Contact Info section
/*-----------------------------------------------------------------------------------*/
$this->start_controls_section(
'contactinfo_section',
array(
'label' => __('Contact Info', 'auxin-elements' )
)
);
$this->add_control(
'email',
array(
'label' => __('Email','auxin-elements'),
'description' => __('Contact box email address.', 'auxin-elements'),
'type' => Controls_Manager::TEXT,
'input_type' => 'email'
)
);
$this->add_control(
'telephone',
array(
'label' => __('Telephone','auxin-elements'),
'description' => __('Contact box phone number.', 'auxin-elements'),
'type' => Controls_Manager::TEXT
)
);
$this->add_control(
'show_socials',
array(
'label' => __('Show site socials','auxin-elements'),
'description' => __('Show socials below the info.','auxin-elements'),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'On', 'auxin-elements' ),
'label_off' => __( 'Off', 'auxin-elements' ),
'default' => 'yes'
)
);
$this->add_control(
'address',
array(
'label' => __('Address','auxin-elements'),
'type' => Controls_Manager::TEXTAREA,
'placeholder' => __( 'Type your address here', 'auxin-elements')
)
);
$this->end_controls_section();
$this->start_controls_section(
'map_section',
array(
'label' => __('Map', 'auxin-elements' )
)
);
$this->add_control(
'show_map',
array(
'label' => __('Show map','auxin-elements'),
'description' => __('Show map above the info.','auxin-elements'),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'On', 'auxin-elements' ),
'label_off' => __( 'Off', 'auxin-elements' ),
'default' => 'yes'
)
);
$this->add_control(
'map_position',
array(
'label' => __('Map position','auxin-elements'),
'description' => __('Whether to show map above the contact details or below them.', 'auxin-elements'),
'label_block' => true,
'type' => Controls_Manager::SELECT,
'default' => 'down',
'options' => array(
'down' => __('Below the contact details.', 'auxin-elements' ),
'up' => __('Above the contact details.', 'auxin-elements' )
),
'return_value' => 'down',
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_responsive_control(
'height',
array(
'label' => __( 'Map height', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array('px','em'),
'desktop_default' => array(
'size' => 160,
'unit' => 'px'
),
'range' => array(
'px' => array(
'min' => 0,
'max' => 1600,
'step' => 1
),
'em' => array(
'min' => 1,
'max' => 100,
'step' => 0.1
)
),
'selectors' => array(
'{{WRAPPER}} .aux-map-wrapper' => 'height:{{SIZE}}{{UNIT}} !important;'
),
'return_value' => 160,
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'latitude',
array(
'label' => __( 'Latitude', 'auxin-elements' ),
'description' => __('Latitude location over the map.', 'auxin-elements'),
'type' => Controls_Manager::SLIDER,
'size_units' => array('px'),
'default' => array(
'size' => 40.7,
'unit' => 'px'
),
'range' => array(
'px' => array(
'min' => -90,
'max' => 90,
'step' => 0.01
)
),
'return_value' => 40.7,
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'longitude',
array(
'label' => __('Longitude','auxin-elements'),
'description' => __('Longitude location over the map.', 'auxin-elements'),
'type' => Controls_Manager::SLIDER,
'size_units' => array('px'),
'default' => array(
'size' => -74,
'unit' => 'px'
),
'range' => array(
'px' => array(
'min' => -180,
'max' => 180,
'step' => 0.01
)
),
'return_value' => -74,
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'type',
array(
'label' => __('Map type','auxin-elements'),
'label_block' => true,
'type' => Controls_Manager::SELECT,
'default' => 'ROADMAP',
'options' => array(
'ROADMAP' => __('ROADMAP', 'auxin-elements'),
'SATELLITE' => __('SATELLITE', 'auxin-elements')
),
'return_value' => 'ROADMAP',
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'style',
array(
'label' => __('Map style','auxin-elements'),
'description' => __('This feild allows you to customize the presentation of the standard Google base maps. You can find many preset styles in ', 'auxin-elements') .'<a href="https://snazzymaps.com/" target="_blank">' . __('this website.', 'auxin-elements') . '</a>' ,
'type' => Controls_Manager::CODE,
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'marker_info',
array(
'label' => __('Marker info','auxin-elements'),
'description' => __('Marker popup text, leave it empty if you don\'t need it.', 'auxin-elements'),
'type' => Controls_Manager::TEXT,
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'show_mapcontrols',
array(
'label' => __('Navigation control','auxin-elements'),
'description' => __('Show nacigation control on map.','auxin-elements'),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'On', 'auxin-elements' ),
'label_off' => __( 'Off', 'auxin-elements' ),
'default' => 'no',
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'zoom',
array(
'label' => __('Zoom','auxin-elements'),
'description' => __('The initial resolution at which to display the map, between 1 to 20.', 'auxin-elements'),
'type' => Controls_Manager::SLIDER,
'size_units' => array('px'),
'default' => array(
'size' => 10,
'unit' => 'px'
),
'range' => array(
'px' => array(
'min' => 0,
'max' => 20,
'step' => 0.1
)
),
'return_value' => 10,
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->add_control(
'zoom_wheel',
array(
'label' => __('Zoom with mouse wheel','auxin-elements'),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'On', 'auxin-elements' ),
'label_off' => __( 'Off', 'auxin-elements' ),
'default' => 'no',
'condition' => array(
'show_map' => 'yes'
)
)
);
$this->end_controls_section();
/*-----------------------------------------------------------------------------------*/
/* Style Tab
/*-----------------------------------------------------------------------------------*/
/* Color Section
/*-------------------------------------*/
$this->start_controls_section(
'color_section',
array(
'label' => __( 'Color', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_STYLE
)
);
$this->end_controls_section();
}
/**
* Render 'ContactBox' widget output on the frontend.
*
* @access protected
*/
protected function render() {
$settings = $this->get_settings_for_display();
$args = array(
'style' => $settings['style'],
'show_map' => $settings['show_map'],
'map_position' => $settings['map_position'],
'show_socials' => $settings['show_socials'],
'email' => $settings['email'],
'telephone' => $settings['telephone'],
'address' => $settings['address'],
'type' => $settings['type'],
'zoom' => $settings['zoom']['size'],
'zoom_wheel' => $settings['zoom_wheel'],
'marker_info' => $settings['marker_info'],
'show_mapcontrols' => $settings['show_mapcontrols'],
'latitude' => $settings['latitude']['size'],
'longitude' => $settings['longitude']['size'],
'height' => $settings['height']['size']
);
// pass the args through the corresponding shortcode callback
echo auxin_widget_contact_box( $args );
}
}