File: /home/h278792/public_html/wp-content/plugins/ecademy-toolkit/widgets/contact-area.php
<?php
/**
* Contact Area Widget
*/
namespace Elementor;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class eCademy_Contact_Area extends Widget_Base {
public function get_name() {
return 'Contact_Area';
}
public function get_title() {
return esc_html__( 'منطقه تماس با ما', 'ecademy-toolkit' );
}
public function get_icon() {
return 'eicon-form-horizontal';
}
public function get_categories() {
return [ 'ecademy-elements' ];
}
protected function register_controls() {
$this->start_controls_section(
'eCademy_Contact_Area',
[
'label' => esc_html__( 'eCademy منطقه تماس با ما', 'ecademy-toolkit' ),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$this->add_control(
'top_title',
[
'label' => esc_html__( 'عنوان بالا', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXT,
'default' => esc_html__('اطلاعات تماس', 'ecademy-toolkit'),
]
);
$this->add_control(
'title',
[
'label' => esc_html__( 'عنوان', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXT,
'default' => esc_html__('در تماس باشید', 'ecademy-toolkit'),
]
);
$this->add_control(
'title_tag',
[
'label' => esc_html__( 'عنوان برچسب', 'ecademy-toolkit' ),
'type' => Controls_Manager::SELECT,
'options' => [
'h1' => esc_html__( 'h1', 'ecademy-toolkit' ),
'h2' => esc_html__( 'h2', 'ecademy-toolkit' ),
'h3' => esc_html__( 'h3', 'ecademy-toolkit' ),
'h4' => esc_html__( 'h4', 'ecademy-toolkit' ),
'h5' => esc_html__( 'h5', 'ecademy-toolkit' ),
'h6' => esc_html__( 'h6', 'ecademy-toolkit' ),
],
'default' => 'h2',
]
);
$this->add_control(
'content',
[
'label' => esc_html__( 'محتوا', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXTAREA,
'default' => esc_html__('لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. ultrices gravida. Risus commodo viverra.', 'ecademy-toolkit'),
]
);
$repeater = new Repeater();
$repeater->add_control(
'title', [
'label' => __( 'عنوان', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXT,
'default' => esc_html__('10,000 دوره های آنلاین', 'ecademy-toolkit'),
]
);
$repeater->add_control(
'default_icon', [
'label' => esc_html__( 'انتخاب آیکن', 'ecademy-toolkit' ),
'type' => Controls_Manager::ICON,
'label_block' => true,
'options' => ecademy_flaticons(),
]
);
$repeater->add_control(
'content', [
'label' => __( 'محتوا', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXTAREA,
'default' => esc_html__('2750 خیابان کوادرا ویکتوریا، نیویورک، کانادا', 'ecademy-toolkit'),
]
);
$this->add_control(
'list_items',
[
'label' => esc_html__('کارت آیتم', 'ecademy-toolkit'),
'type' => Controls_Manager::REPEATER,
'fields' => $repeater->get_controls(),
]
);
$this->add_control(
'contact_title',
[
'label' => esc_html__( 'عنوان تماس', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXT,
'default' => esc_html__('برای شروع آماده اید؟', 'ecademy-toolkit'),
]
);
$this->add_control(
'contact_title_tag',
[
'label' => esc_html__( 'برچسب عنوان تماس', 'ecademy-toolkit' ),
'type' => Controls_Manager::SELECT,
'options' => [
'h1' => esc_html__( 'h1', 'ecademy-toolkit' ),
'h2' => esc_html__( 'h2', 'ecademy-toolkit' ),
'h3' => esc_html__( 'h3', 'ecademy-toolkit' ),
'h4' => esc_html__( 'h4', 'ecademy-toolkit' ),
'h5' => esc_html__( 'h5', 'ecademy-toolkit' ),
'h6' => esc_html__( 'h6', 'ecademy-toolkit' ),
],
'default' => 'h2',
]
);
$this->add_control(
'contact_content',
[
'label' => esc_html__( 'محتوای تماس', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXTAREA,
'default' => esc_html__('آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *', 'ecademy-toolkit'),
]
);
$this->add_control(
'shortcode',
[
'label' => esc_html__( 'شورت کد تماس با ما', 'ecademy-toolkit' ),
'type' => Controls_Manager::TEXT,
'default' => esc_html__('[contact-form-7 id="334" title="eCademy Contact Form"]', 'ecademy-toolkit'),
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_style',
[
'label' => esc_html__( 'سبک', 'ecademy-toolkit' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'section_bg_img',
[
'label' => esc_html__( 'تصویر پس زمینه کارت تماس', 'ecademy-toolkit' ),
'type' => Controls_Manager::MEDIA,
]
);
$this->add_control(
'top_title_color',
[
'label' => esc_html__( 'رنگ عنوان بالا', 'ecademy-toolkit' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .contact-info .sub-title' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'top_title_typography',
'label' => __( 'تایپوگرافی عنوان بالا', 'ecademy-toolkit' ),
'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .contact-info .sub-title',
]
);
$this->add_control(
'title_color',
[
'label' => esc_html__( 'رنگ عنوان', 'ecademy-toolkit' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .contact-info h2, .contact-info h3, .contact-info h4, .contact-info h5, .contact-info h5, .contact-info h6, .contact-info h1' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'title_typography',
'label' => __( ' عنوان تایپوگرافی', 'ecademy-toolkit' ),
'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .contact-info h2, .contact-info h3, .contact-info h4, .contact-info h5, .contact-info h5, .contact-info h6, .contact-info h1',
]
);
$this->add_control(
'content_color',
[
'label' => esc_html__( ' رنگ محتوا ', 'ecademy-toolkit' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .contact-info p' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'content_typography',
'label' => __( 'تایپوگرافی محتوا', 'ecademy-toolkit' ),
'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .contact-info p',
]
);
$this->add_control(
'list_title_color',
[
'label' => esc_html__( 'رنگ عنوان لیست', 'ecademy-toolkit' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .contact-info ul li h3' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'lis_title_content_typography',
'label' => __( 'تایپوگرافی عنوان لیست', 'ecademy-toolkit' ),
'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .contact-info ul li h3',
]
);
$this->add_control(
'contact_title_color',
[
'label' => esc_html__( 'عنوان تماس Color', 'ecademy-toolkit' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .contact-form h2, .contact-form h1, .contact-form h3, .contact-form h4, .contact-form h5, .contact-form h6' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'contact_title_content_typography',
'label' => __( 'عنوان تماس تایپوگرافی', 'ecademy-toolkit' ),
'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .contact-form h2, .contact-form h1, .contact-form h3, .contact-form h4, .contact-form h5, .contact-form h6',
]
);
$this->add_control(
'contact_content_color',
[
'label' => esc_html__( 'محتوای تماس Color', 'ecademy-toolkit' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .contact-form p' => 'color: {{VALUE}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'contact_content_typography',
'label' => __( 'عنوان تماس تایپوگرافی', 'ecademy-toolkit' ),
'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .contact-form p',
]
);
$this->end_controls_section();
}
protected function render() {
$settings = $this->get_settings_for_display();
global $ecademy_opt;
if( isset( $ecademy_opt['enable_lazyloader'] ) ):
$is_lazyloader = $ecademy_opt['enable_lazyloader'];
else:
$is_lazyloader = true;
endif;
// Inline Editing
$this-> add_inline_editing_attributes('title','none');
$this-> add_inline_editing_attributes('content','none');
$this-> add_inline_editing_attributes('contact_title','none');
$this-> add_inline_editing_attributes('contact_content','none');
?>
<div class="contact-area ptb-100">
<div class="container">
<div class="row">
<div class="col-lg-6 col-md-12">
<div class="contact-info">
<span class="sub-title"><?php echo esc_html( $settings['top_title'] ); ?></span>
<<?php echo esc_attr( $settings['title_tag'] ); ?> <?php echo $this-> get_render_attribute_string('title'); ?>><?php echo esc_html( $settings['title'] ); ?></<?php echo esc_attr( $settings['title_tag'] ); ?>>
<p <?php echo $this-> get_render_attribute_string('content'); ?>><?php echo wp_kses_post( $settings['content'] ); ?></p>
<ul>
<?php foreach( $settings['list_items'] as $item ):
// Icon
$icon =$item['default_icon'];
?>
<li>
<div class="icon">
<i class="<?php echo esc_attr( $icon ); ?>"></i>
</div>
<h3><?php echo esc_html( $item['title'] ); ?></h3>
<?php echo wp_kses_post( $item['content'] ); ?>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
<div class="col-lg-6 col-md-12">
<div class="contact-form" style="background-image:url(<?php echo esc_url( $settings['section_bg_img']['url'] ); ?>);">
<<?php echo esc_attr( $settings['contact_title_tag'] ); ?> <?php echo $this-> get_render_attribute_string('contact_title'); ?>><?php echo esc_html( $settings['contact_title'] ); ?></<?php echo esc_attr( $settings['contact_title_tag'] ); ?>>
<p <?php echo $this-> get_render_attribute_string('contact_content'); ?>><?php echo wp_kses_post( $settings['contact_content'] ); ?></p>
<?php echo do_shortcode( $settings['shortcode'] ); ?>
</div>
</div>
</div>
</div>
</div>
<?php
}
}
Plugin::instance()->widgets_manager->register( new eCademy_Contact_Area );