start_controls_section( 'style_section', [ 'label' => __( 'EPCs', 'propertyhive' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'name' => 'typography', 'label' => __( 'Typography', 'propertyhive' ), 'global' => [ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_PRIMARY, ], 'selector' => '{{WRAPPER}} a', ] ); $this->add_control( 'color', [ 'label' => __( 'Colour', 'propertyhive' ), 'type' => \Elementor\Controls_Manager::COLOR, 'global' => [ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_PRIMARY, ], 'selectors' => [ '{{WRAPPER}} a' => 'color: {{VALUE}}', ], ] ); $this->add_control( 'text_align', [ 'label' => __( 'Alignment', 'propertyhive' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => __( 'Left', 'propertyhive' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => __( 'Center', 'propertyhive' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => __( 'Right', 'propertyhive' ), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'center', 'toggle' => true, 'selectors' => [ '{{WRAPPER}}' => 'text-align: {{VALUE}}', ], ] ); $this->add_control( 'background_color', [ 'label' => __( 'Background Colour', 'propertyhive' ), 'type' => \Elementor\Controls_Manager::COLOR, 'global' => [ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_SECONDARY, ], 'selectors' => [ '{{WRAPPER}} a' => 'background: {{VALUE}}', ], ] ); $this->add_control( 'padding', [ 'label' => __( 'Link Padding', 'propertyhive' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px' ], 'selectors' => [ '{{WRAPPER}} a' => 'display:inline-block; padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'default' => [ 'top' => 5, 'right' => 5, 'bottom' => 5, 'left' => 5, 'isLinked' => true, ], ] ); $this->end_controls_section(); } protected function render() { global $property; $settings = $this->get_settings_for_display(); if ( !isset($property->id) ) { return; } if ( get_option('propertyhive_epcs_stored_as', '') == 'urls' ) { $epc_urls = $property->epc_urls; if ( !is_array($epc_urls) ) { $epc_urls = array(); } if ( !empty($epc_urls) ) { $i = 0; foreach ( $epc_urls as $epc ) { $image_extensions = array( 'jpg', 'jpeg', 'png', 'gif', 'bmp' ); $image = false; foreach ( $image_extensions as $image_extension ) { if ( strpos(strtolower($epc['url']), '.' . $image_extension) ) { $image = true; } } if ( $image ) { echo ' 0 ? ' style="display:none"' : '' ) . ' href="' . esc_url($epc['url']) . '" data-fancybox="epcs" rel="nofollow">' . esc_html( ( count($epc_urls) > 1 ? __( 'EPCs', 'propertyhive' ) : __( 'EPC', 'propertyhive' ) ) ) . ''; ++$i; } else { echo '' . esc_html( ( count($epc_urls) > 1 ? __( 'EPCs', 'propertyhive' ) : __( 'EPC', 'propertyhive' ) ) ) . ''; } } } } else { $epc_attachment_ids = $property->get_epc_attachment_ids(); if ( !empty($epc_attachment_ids) ) { $i = 0; foreach ( $epc_attachment_ids as $attachment_id ) { echo ' 0 ? ' style="display:none"' : '' ) . ' href="' . esc_url(wp_get_attachment_url($attachment_id)) . '" data-fancybox="epc" rel="nofollow">' . esc_html( ( count($epc_attachment_ids) > 1 ? __( 'EPCs', 'propertyhive' ) : __( 'EPC', 'propertyhive' ) ) ) . ''; ++$i; } } } } }