/home/awneajlw/www/zameermovers.com/wp-content/plugins/logitic-addons/extensions/link-anything.php
<?php
use Elementor\Controls_Manager;
use Elementor\Element_Base;
use Elementor\Utils;
use Elementor\Group_Control_Box_Shadow;
defined('ABSPATH') || die();
class RS_Exten_Link_Anything_Setting
{
public function __construct()
{
add_action('elementor/element/section/section_advanced/after_section_end', [$this, 'register_controls'], 10, 1);
add_action('elementor/element/column/section_advanced/after_section_end', [$this, 'register_controls'], 10, 1);
add_action('elementor/element/common/_section_style/after_section_end', [$this, 'register_controls'], 10, 1);
add_action('elementor/frontend/before_render', [$this, 'render_rs_link_anything'], 10, 1);
}
public function register_controls(Element_Base $section)
{
$section->start_controls_section(
'rs_exten_link_anything_section',
[
'label' => 'RS Link Anything',
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$section->add_control(
'rs_exten_link_anything_panal_notice',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => __('<strong>Link Anything</strong> will work out side of editor page.', 'rsaddon'),
'content_classes' => 'rs-panel-notice',
]
);
$section->add_control(
'rs_exten_container_link',
[
'label' => __( 'URL', 'rsaddon' ),
'type' => Controls_Manager::URL,
'dynamic' => [
'active' => true,
],
'placeholder' => 'https://example.com',
]
);
$section->start_controls_tabs( 'rs_exten_container_link_wrapper_tabs' );
$section->start_controls_tab('rs_exten_container_link_wrapper_normal', [ 'label' => esc_html__( 'Normal', 'rsaddon' ) ] );
$section->add_control(
'rs_exten_container_link_opacity',
[
'label' => __( 'Opacity', 'rsaddon' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'max' => 1,
'min' => 0.10,
'step' => 0.01,
],
],
'selectors' => [
'{{WRAPPER}}.rs-link-anything-wrapper' => 'opacity: {{SIZE}}; transition: all .3s ease;',
],
]
);
$section->end_controls_tab();
$section->start_controls_tab( 'rs_exten_container_link_wrapper_hover', [ 'label' => esc_html__( 'Hover', 'rsaddon' ) ] );
$section->add_control(
'rs_exten_container_link_opacity_hover',
[
'label' => __( 'Opacity', 'rsaddon' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'max' => 1,
'min' => 0.10,
'step' => 0.01,
],
],
'selectors' => [
'{{WRAPPER}}.rs-link-anything-wrapper:hover' => 'opacity: {{SIZE}};',
],
]
);
$section->end_controls_tab();
$section->end_controls_tabs();
$section->end_controls_section();
}
public function render_rs_link_anything($element)
{
$settings = $element->get_settings_for_display();
$theLink = $settings['rs_exten_container_link'];
if ( $theLink && ! empty( $theLink['url'] ) ) {
$theLink['url'] = esc_url( $theLink['url'] );
$element->add_render_attribute(
'_wrapper',
[
'class' => "rs-link-anything-wrapper",
'data-rs-element-link' => json_encode( $theLink ),
'style' => 'cursor: pointer'
]
);
}
}
}
new RS_Exten_Link_Anything_Setting();