PluginProbe
Property Hive / 2.2.2
Property Hive v2.2.2
2.3.1 2.3.0 2.2.6 2.2.5 2.2.4 2.2.3 2.2.2 1.4.46 1.4.47 1.4.48 1.4.49 1.4.5 1.4.50 1.4.51 1.4.52 1.4.53 1.4.54 1.4.55 1.4.56 1.4.57 1.4.58 1.4.59 1.4.6 1.4.60 1.4.61 All 261 releases
propertyhive / includes / elementor-widgets / property-negotiator-email-address.php

property-negotiator-email-address.php in Property Hive 2.2.2, at includes/elementor-widgets/property-negotiator-email-address.php

106 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Elementor Property Negotiator Email Address Widget.
4 *
5 * @since 1.0.0
6 */
7 class Elementor_Property_Negotiator_Email_Address_Widget extends \Elementor\Widget_Base {
8
9 public function get_name() {
10 return 'property-negotiator-email-address';
11 }
12
13 public function get_title() {
14 return __( 'Negotiator Email Address', 'propertyhive' );
15 }
16
17 public function get_icon() {
18 return 'eicon-person';
19 }
20
21 public function get_categories() {
22 return [ 'property-hive' ];
23 }
24
25 public function get_keywords() {
26 return [ 'property hive', 'propertyhive', 'property', 'negotiator' ];
27 }
28
29 protected function register_controls() {
30
31 $this->start_controls_section(
32 'style_section',
33 [
34 'label' => __( 'Negotiator Email Address', 'propertyhive' ),
35 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
36 ]
37 );
38
39 $this->add_group_control(
40 \Elementor\Group_Control_Typography::get_type(),
41 [
42 'name' => 'typography',
43 'label' => __( 'Typography', 'propertyhive' ),
44 'global' => [
45 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_PRIMARY,
46 ],
47 'selector' => '{{WRAPPER}}',
48 ]
49 );
50
51 $this->add_control(
52 'color',
53 [
54 'label' => __( 'Colour', 'propertyhive' ),
55 'type' => \Elementor\Controls_Manager::COLOR,
56 'global' => [
57 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_PRIMARY,
58 ],
59 'selectors' => [
60 '{{WRAPPER}}' => 'color: {{VALUE}}',
61 ],
62 ]
63 );
64
65 $this->add_control(
66 'hyperlink',
67 [
68 'label' => __( 'Hyperlink', 'propertyhive' ),
69 'type' => \Elementor\Controls_Manager::SWITCHER,
70 'label_on' => __( 'Yes', 'propertyhive' ),
71 'label_off' => __( 'No', 'propertyhive' ),
72 'return_value' => 'yes',
73 'default' => 'yes',
74 ]
75 );
76
77 $this->end_controls_section();
78
79 }
80
81 protected function render() {
82
83 global $property;
84
85 $settings = $this->get_settings_for_display();
86
87 if ( !isset($property->id) ) {
88 return;
89 }
90
91 if ( $property->negotiator_email_address != '' )
92 {
93 if ( isset($settings['hyperlink']) && $settings['hyperlink'] == 'yes' )
94 {
95 echo '<a href="mailto:' . esc_attr($property->negotiator_email_address) . '">';
96 }
97 echo esc_html($property->negotiator_email_address);
98 if ( isset($settings['hyperlink']) && $settings['hyperlink'] == 'yes' )
99 {
100 echo '</a>';
101 }
102 }
103
104 }
105
106 }