%PDF- %PDF-
Direktori : /var/www/projetos/vagas.ongrace.com/wp-content/plugins/master-addons/addons/ma-cards/ |
Current File : //var/www/projetos/vagas.ongrace.com/wp-content/plugins/master-addons/addons/ma-cards/ma-cards.php |
<?php namespace Elementor; use \Elementor\Widget_Base; use \Elementor\Controls_Stack; use \Elementor\Controls_Manager; use \Elementor\Utils; use \Elementor\Group_Control_Image_Size; use \Elementor\Group_Control_Typography; /** * Author Name: Liton Arefin * Author URL: https://jeweltheme.com * Date: 6/27/19 */ if (!defined('ABSPATH')) exit; // If this file is called directly, abort. class Master_Addons_Cards extends Widget_Base { public function get_name() { return 'ma-el-card'; } public function get_title() { return esc_html__('Cards', 'master-addons' ); } public function get_icon() { return 'jltma-icon eicon-image-box'; } public function get_categories() { return ['master-addons']; } protected function register_controls() { /** * Card Content Section */ $this->start_controls_section( 'ma_el_card_content', [ 'label' => esc_html__('Content', 'master-addons' ), ] ); $this->add_control( 'ma_el_card_image', [ 'label' => __('Image', 'master-addons' ), 'type' => Controls_Manager::MEDIA, 'default' => [ 'url' => Utils::get_placeholder_image_src(), ], ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'thumbnail', 'default' => 'full', 'condition' => [ 'ma_el_card_image[url]!' => '', ], ] ); $this->add_control( 'ma_el_card_title', [ 'label' => esc_html__('Title', 'master-addons' ), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'separator' => 'before', 'default' => esc_html__('Card Title', 'master-addons' ), ] ); $this->add_control( 'ma_el_card_title_link', [ 'label' => __('Title URL', 'master-addons' ), 'type' => Controls_Manager::URL, 'placeholder' => __('https://your-link.com', 'master-addons' ), 'label_block' => true, 'default' => [ 'url' => '', 'is_external' => true, ], ] ); $this->add_control( 'ma_el_card_tag', [ 'label' => esc_html__('Tag', 'master-addons' ), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'default' => esc_html__('Card Tag', 'master-addons' ), ] ); $this->add_control( 'ma_el_card_description', [ 'label' => esc_html__('Description', 'master-addons' ), 'type' => Controls_Manager::TEXTAREA, 'default' => esc_html__('Basic description about the Card', 'master-addons' ), ] ); $this->add_control( 'ma_el_card_action_text', [ 'label' => esc_html__('Action Text', 'master-addons' ), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'separator' => 'before', 'default' => esc_html__('Details', 'master-addons' ), ] ); $this->add_control( 'ma_el_card_action_link', [ 'label' => __('Action URL', 'master-addons' ), 'type' => Controls_Manager::URL, 'placeholder' => __('https://your-link.com', 'master-addons' ), 'label_block' => true, 'default' => [ 'url' => '', 'is_external' => true, ], ] ); $this->end_controls_section(); /* * Card Styling Section */ $this->start_controls_section( 'ma_el_section_card_styles_preset', [ 'label' => esc_html__('General Styles', 'master-addons' ), 'tab' => Controls_Manager::TAB_STYLE ] ); $this->add_control( 'ma_el_card_preset', [ 'label' => esc_html__('Style Preset', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'one', 'options' => [ 'one' => esc_html__('Variation 1', 'master-addons' ), 'two' => esc_html__('Variation 2', 'master-addons' ), 'three' => esc_html__('Variation 3', 'master-addons' ), ], ] ); $this->add_control( 'ma_el_card_color_scheme', [ 'label' => __('Color Scheme', 'master-addons' ), 'type' => Controls_Manager::COLOR, 'default' => '#5031ef', 'selectors' => [ '{{WRAPPER}} .ma-el-card.two .ma-el-card-action:hover, {{WRAPPER}} .ma-el-card.two .ma-el-card-title::before, {{WRAPPER}} .ma-el-card.one .ma-el-card-action:hover, {{WRAPPER}} .ma-el-card.one .ma-el-card-title::before, {{WRAPPER}} .ma-el-card.three .ma-el-card-action:hover, {{WRAPPER}} .ma-el-card.three .ma-el-card-tag::before, {{WRAPPER}} .ma-el-card.three::before' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'ma_el_card_background', [ 'label' => esc_html__('Content Background Color', 'master-addons' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .ma-el-card-body' => 'background-color: {{VALUE}};', ], ] ); $this->end_controls_section(); /* * Card Content Styling Section */ $this->start_controls_section( 'ma_el_section_card_styles_title', [ 'label' => esc_html__('Title', 'master-addons' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'ma_el_title_color', [ 'label' => __('Color', 'master-addons' ), 'type' => Controls_Manager::COLOR, 'default' => '#132c47', 'selectors' => [ '{{WRAPPER}} .ma-el-card-body .ma-el-card-title' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'card_title_typography', 'selector' => '{{WRAPPER}} .ma-el-card-body .ma-el-card-title', ] ); $this->end_controls_section(); // description style $this->start_controls_section( 'ma_el_section_card_styles_description', [ 'label' => esc_html__('Description', 'master-addons' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'ma_el_description_color', [ 'label' => __('Color', 'master-addons' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .ma-el-card-body .ma-el-card-description' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'card_description_typography', 'selector' => '{{WRAPPER}} .ma-el-card-body .ma-el-card-description', ] ); $this->end_controls_section(); $this->start_controls_section( 'ma_el_section_card_styles_tag', [ 'label' => esc_html__('Tag', 'master-addons' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'ma_el_tag_color', [ 'label' => __('Color', 'master-addons' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .ma-el-card-body .ma-el-card-tag' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'card_tag_typography', 'selector' => '{{WRAPPER}} .ma-el-card-body .ma-el-card-tag', ] ); $this->end_controls_section(); } protected function render() { $settings = $this->get_settings_for_display(); $card_image = $this->get_settings_for_display('ma_el_card_image'); $card_image_url_src = Group_Control_Image_Size::get_attachment_image_src($card_image['id'], 'thumbnail', $settings); if (empty($card_image_url_src)) { $card_image_url = $card_image['url']; } else { $card_image_url = $card_image_url_src; } ?> <div id="ma-el-card-<?php echo esc_attr($this->get_id()); ?>" class="ma-el-card <?php echo esc_attr($settings['ma_el_card_preset']); ?>"> <div class="ma-el-card-thumb"> <img src="<?php echo esc_url($card_image_url); ?>" alt="<?php echo get_post_meta($card_image['id'], '_wp_attachment_image_alt', true); ?>"> </div> <div class="ma-el-card-body"> <a href="<?php echo esc_url($settings['ma_el_card_title_link']['url']); ?>" class="ma-el-card-title"> <?php echo esc_html($settings['ma_el_card_title']); ?> </a> <p class="ma-el-card-tag"> <?php echo esc_html($settings['ma_el_card_tag']); ?> </p> <p class="ma-el-card-description"> <?php echo $this->parse_text_editor($settings['ma_el_card_description']); ?> </p> <a href="<?php echo esc_url($settings['ma_el_card_action_link']['url']); ?>" class="ma-el-card-action"> <?php if ('two' === $settings['ma_el_card_preset']) { ?> <i class="fa fa-arrow-right" aria-hidden="true"></i> <?php } else { echo esc_html($settings['ma_el_card_action_text']); } ?> </a> </div> </div> <?php } protected function content_template() { ?> <div id="ma-el-card" class="ma-el-card {{ settings.ma_el_card_preset }}"> <div class="ma-el-card-thumb"> <img src="{{ settings.ma_el_card_image.url }}"> </div> <div class="ma-el-card-body"> <a href="{{ settings.ma_el_card_title_link.url }}" class="ma-el-card-title">{{{ settings .ma_el_card_title }}}</a> <p class="ma-el-card-tag">{{{ settings.ma_el_card_tag }}}</p> <p class="ma-el-card-description">{{{ settings.ma_el_card_description }}}</p> <a href="{{ settings.ma_el_card_action_link.url ); ?>" class="ma-el-card-action"> <# if ( 'two' == settings.ma_el_card_preset ) { #><i class="fa fa-arrow-right" aria-hidden="true"></i> <# } else { #> {{{ settings.ma_el_card_action_text }}} <# } #> </a> </div> </div> <?php } } Plugin::instance()->widgets_manager->register(new Master_Addons_Cards());