𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/builxejc/public_html/wp-content/plugins/kinsley-plugin/elementor/widgets//about-quote.php
<?php
namespace Elementor;
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
/**
* Kinsley About Quote Widget.
*
* @since 1.0
*/
class Kinsley_About_Quote_Widget extends Widget_Base {
public function get_name() {
return 'kinsley-about-quote';
}
public function get_title() {
return esc_html__( 'About Quote', 'kinsley-plugin' );
}
public function get_icon() {
return 'eicon-parallax';
}
public function get_categories() {
return [ 'kinsley-category' ];
}
/**
* Register widget controls.
*
* @since 1.0
*/
protected function register_controls() {
$this->start_controls_section(
'content_tab',
[
'label' => esc_html__( 'Content', 'kinsley-plugin' ),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$this->add_control(
'image',
[
'label' => esc_html__( 'Image', 'kinsley-plugin' ),
'type' => Controls_Manager::MEDIA,
'default' => [
'url' => \Elementor\Utils::get_placeholder_image_src(),
],
]
);
$this->add_control(
'name',
[
'label' => esc_html__( 'Name', 'kinsley-plugin' ),
'type' => Controls_Manager::TEXTAREA,
'placeholder' => esc_html__( 'Enter name', 'kinsley-plugin' ),
'default' => esc_html__( 'Name', 'kinsley-plugin' ),
]
);
$this->add_control(
'role',
[
'label' => esc_html__( 'Role', 'kinsley-plugin' ),
'type' => Controls_Manager::TEXTAREA,
'placeholder' => esc_html__( 'Enter role', 'kinsley-plugin' ),
'default' => esc_html__( 'Role', 'kinsley-plugin' ),
]
);
$this->add_control(
'quote',
[
'label' => esc_html__( 'Quote', 'kinsley-plugin' ),
'type' => Controls_Manager::TEXTAREA,
'placeholder' => esc_html__( 'Enter your quote', 'kinsley-plugin' ),
'default' => esc_html__( 'Type your quote here', 'kinsley-plugin' ),
]
);
$this->add_control(
'signature',
[
'label' => esc_html__( 'Signature', 'kinsley-plugin' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Show', 'kinsley-plugin' ),
'label_off' => __( 'Hide', 'kinsley-plugin' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$this->add_control(
'signature_img',
[
'label' => esc_html__( 'Image', 'kinsley-plugin' ),
'type' => Controls_Manager::MEDIA,
'default' => [
'url' => \Elementor\Utils::get_placeholder_image_src(),
],
'condition' => [
'signature' => 'yes',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'content_styling',
[
'label' => esc_html__( 'Content Styles', 'kinsley-plugin' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'name_color',
[
'label' => esc_html__( 'Name Color', 'kinsley-plugin' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .knsl-quote-with-author .knsl-quote-bottom h4' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'name_typography',
'label' => esc_html__( 'Name Typography', 'kinsley-plugin' ),
'selector' => '{{WRAPPER}} .knsl-quote-with-author .knsl-quote-bottom h4',
]
);
$this->add_control(
'role_color',
[
'label' => esc_html__( 'Role Color', 'kinsley-plugin' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .knsl-quote-with-author .knsl-quote-bottom p' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'role_typography',
'label' => esc_html__( 'Role Typography', 'kinsley-plugin' ),
'selector' => '{{WRAPPER}} .knsl-quote-with-author .knsl-quote-bottom p',
]
);
$this->add_control(
'quote_color',
[
'label' => esc_html__( 'Quote Color', 'kinsley-plugin' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .knsl-quote-with-author blockquote' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'label' => esc_html__( 'Quote Typography', 'kinsley-plugin' ),
'name' => 'quote_typography',
'selector' => '{{WRAPPER}} .knsl-quote-with-author blockquote',
]
);
$this->add_control(
'quote_bgcolor',
[
'label' => esc_html__( 'Quote BG Color', 'kinsley-plugin' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .knsl-quote-with-author blockquote' => 'background-color: {{VALUE}};',
],
]
);
$this->add_control(
'quote_symb_color',
[
'label' => esc_html__( 'Quote Symbol Color', 'kinsley-plugin' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .knsl-quote-with-author blockquote:before, {{WRAPPER}} .knsl-quote-with-author blockquote:after' => 'color: {{VALUE}};',
],
]
);
$this->end_controls_section();
}
/**
* Render widget output on the frontend.
*
* @since 1.0
*/
protected function render() {
$settings = $this->get_settings_for_display();
$this->add_inline_editing_attributes( 'role', 'basic' );
$this->add_inline_editing_attributes( 'name', 'basic' );
$this->add_inline_editing_attributes( 'quote', 'basic' );
?>
<!-- quote -->
<section class="knsl-p-0-100">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="knsl-quote-with-author">
<div class="row align-items-center">
<div class="col-lg-4">
<?php if ( $settings['image'] ) : $image = wp_get_attachment_image_url( $settings['image']['id'], 'kinsley_950xAuto' ); ?>
<div class="knsl-photo-frame">
<img src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $settings['name'] ); ?>" />
</div>
<?php endif; ?>
</div>
<div class="col-lg-8">
<?php if ( $settings['quote'] ) : ?>
<blockquote>
<span <?php echo $this->get_render_attribute_string( 'quote' ); ?>>
<?php echo wp_kses_post( $settings['quote'] ); ?>
</span>
</blockquote>
<?php endif; ?>
<div class="knsl-quote-bottom">
<div>
<?php if ( $settings['name'] ) : ?>
<h4>
<span <?php echo $this->get_render_attribute_string( 'name' ); ?>>
<?php echo wp_kses_post( $settings['name'] ); ?>
</span>
</h4>
<?php endif; ?>
<?php if ( $settings['role'] ) : ?>
<p>
<span <?php echo $this->get_render_attribute_string( 'role' ); ?>>
<?php echo wp_kses_post( $settings['role'] ); ?>
</span>
</p>
<?php endif; ?>
</div>
<?php if ( $settings['signature'] == 'yes' ) : ?>
<img src="<?php echo esc_url( $settings['signature_img']['url'] ); ?>" class="knsl-signature" alt="<?php echo esc_attr__( 'signature', 'kinsley-plugin' ); ?>" />
<?php endif; ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- quote end -->
<?php
}
/**
* Render widget output in the editor.
*
* Written as a Backbone JavaScript template and used to generate the live preview.
*
* @since 1.0.0
* @access protected
*/
protected function content_template() {
?>
<#
view.addInlineEditingAttributes( 'role', 'basic' );
view.addInlineEditingAttributes( 'name', 'basic' );
view.addInlineEditingAttributes( 'quote', 'basic' );
#>
<!-- quote -->
<section class="knsl-p-0-100">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="knsl-quote-with-author">
<div class="row align-items-center">
<div class="col-lg-4">
<# if ( settings.image ) { #>
<div class="knsl-photo-frame">
<img src="{{{ settings.image.url }}}" alt="{{{ settings.name }}}" />
</div>
<# } #>
</div>
<div class="col-lg-8">
<# if ( settings.quote ) { #>
<blockquote>
<span {{{ view.getRenderAttributeString( 'quote' ) }}}>
{{{ settings.quote }}}
</span>
</blockquote>
<# } #>
<div class="knsl-quote-bottom">
<div>
<# if ( settings.name ) { #>
<h4>
<span {{{ view.getRenderAttributeString( 'name' ) }}}>
{{{ settings.name }}}
</span>
</h4>
<# } #>
<# if ( settings.role ) { #>
<p>
<span {{{ view.getRenderAttributeString( 'role' ) }}}>
{{{ settings.role }}}
</span>
</p>
<# } #>
</div>
<# if ( settings.signature == 'yes' ) { #>
<img src="{{{ settings.signature_img.url }}}" class="knsl-signature" alt="signature" />
<# } #>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- quote end -->
<?php
}
}
Plugin::instance()->widgets_manager->register( new Kinsley_About_Quote_Widget() );