????
Current Path : /proc/self/cwd/wp-content/plugins/jeg-elementor-kit/class/elements/views/ |
Current File : //proc/self/cwd/wp-content/plugins/jeg-elementor-kit/class/elements/views/class-team-view.php |
<?php /** * Team View Class * * @package jeg-elementor-kit * @author Jegtheme * @since 1.1.0 */ namespace Jeg\Elementor_Kit\Elements\Views; /** * Class Team_View * * @package Jeg\Elementor_Kit\Elements\Views */ class Team_View extends View_Abstract { /** * Build team element */ public function build_content() { $output = null; $style = esc_attr( $this->attribute['sg_member_style'] ); $overlay_style = 'overlay' === $style ? 'overlay-' . esc_attr( $this->attribute['sg_member_overlay_style'] ) : ''; $border_bottom = $this->render_border_bottom(); $image_size = $this->attribute['sg_member_image_size_imagesize_size']; $image = $this->render_image_element( $this->attribute['sg_member_image'], $image_size, null, null, esc_attr( $this->attribute['sg_member_name'] ) ); $image = 'yes' === $this->attribute['st_image_overlay_enable'] && ( 'default' === $style || 'hover-social' === $style || 'title-horizontal' === $style ) ? $image . '<div class="image-hover-bg"></div>' : $image; $hover_animation = ! empty( $this->attribute['st_content_hover_animation'] ) ? 'elementor-animation-' . esc_attr( $this->attribute['st_content_hover_animation'] ) : ''; $image_hover_animation = ! empty( $this->attribute['st_image_hover_animation'] ) ? 'elementor-animation-' . esc_attr( $this->attribute['st_image_hover_animation'] ) : ''; $profile_card_class = 'profile-card'; if ( 'gradient' === $this->attribute['st_content_normal_background_background_background'] || 'gradient' === $this->attribute['st_content_hover_background_background_background'] ) { $profile_card_class .= ' hover-gradient'; } if ( 'overlay' === $style ) { $overlay_alignment = esc_attr( $this->attribute['sg_member_overlay_content_alignment'] ); $profile_card_class .= ' ' . $hover_animation; $output = '<div class="' . $profile_card_class . '">' . $image . ' <div class="hover-area alignment-' . $overlay_alignment . '">' . $this->render_team() . '</div> </div>'; } elseif ( 'title-horizontal' === $style ) { $output = '<div class="' . $profile_card_class . '">' . $image . $this->render_team() . '</div>'; } else { $image = 'yes' === $this->attribute['sg_popup_show'] ? '<a href="#jkit-team-modal-' . $this->unique_id . '" class="jkit-team-modal" data-effect="mfp-move-horizontal">' . $image . '</a>' : $image; $image_class = 'yes' === $this->attribute['sg_popup_show'] ? 'data-toggle="modal" data-target="jkit-team-modal-' . $this->unique_id . '"' : ''; $profile_card_class .= ' ' . $hover_animation; $output = '<div class="profile-box"> <div class="' . $profile_card_class . '"> <div class="profile-header jkit-team-img ' . $image_hover_animation . '"' . $image_class . '>' . $image . '</div> ' . $this->render_team() . ' ' . $border_bottom . ' </div> </div>'; } return $this->render_wrapper( 'team', $output . $this->render_popup(), array( 'style-' . $style, $overlay_style ) ); } /** * Render content * * @return string */ private function render_team() { $name = 'yes' === $this->attribute['sg_popup_show'] ? '<a href="#jkit-team-modal-' . $this->unique_id . '" class="jkit-team-modal" data-effect="mfp-move-horizontal">' . esc_attr( $this->attribute['sg_member_name'] ) . '</a>' : esc_attr( $this->attribute['sg_member_name'] ); $description = 'yes' === $this->attribute['sg_member_show_description'] ? '<p class="profile-content">' . esc_attr( $this->attribute['sg_member_description'] ) . '</p>' : ''; $position = esc_attr( $this->attribute['sg_member_position'] ); $html_tag = esc_attr( $this->attribute['sg_member_html_tag'] ); $style = esc_attr( $this->attribute['sg_member_style'] ); $html_tag = isset( $html_tag ) ? $html_tag : 'h2'; $html_tag = \Elementor\Utils::validate_html_tag( $html_tag ); $social_list = $this->render_social(); if ( 'default' === $style ) { $content = '<div class="profile-body"> <' . $html_tag . ' class="profile-title">' . $name . '</' . $html_tag . '> <p class="profile-designation">' . $position . '</p> ' . $description . ' </div> <div class="profile-footer"> <ul class="social-list">' . $social_list . '</ul> </div>'; } elseif ( 'title-horizontal' === $style ) { $break = 'yes' === $this->attribute['st_position_text_break'] && '180' === $this->attribute['st_position_text_direction'] ? 'break-up' : ''; $content = '<div class="profile-body"> <div class="title-wrapper"> <p class="profile-designation ' . $break . '">' . $position . '</p> ' . $description . ' </div> <div class="name-wrapper"> <' . $html_tag . ' class="profile-title">' . $name . '</' . $html_tag . '> <ul class="social-list">' . $social_list . '</ul> </div> </div>'; } else { $content = '<div class="profile-body"> <' . $html_tag . ' class="profile-title">' . $name . '</' . $html_tag . '> <p class="profile-designation">' . $position . '</p> ' . $description . ' <ul class="social-list">' . $social_list . '</ul> </div>'; } return $content; } /** * Render pop up */ private function render_popup() { $popup = null; if ( 'yes' === $this->attribute['sg_popup_show'] ) { $image_size = $this->attribute['sg_member_image_size_imagesize_size']; $image = $this->render_image_element( $this->attribute['sg_member_image'], $image_size, null, null, esc_attr( $this->attribute['sg_member_name'] ) ); $has_img = ! empty( $image ) ? 'has-img' : ''; $phone = ! empty( $this->attribute['sg_popup_phone'] ) ? '<li><strong>' . esc_html__( 'Phone', 'jeg-elementor-kit' ) . ':</strong><a href="tel:' . preg_replace( '/[^0-9\-\_\+]*/', '', $this->attribute['sg_popup_phone'] ) . '"> ' . esc_attr( $this->attribute['sg_popup_phone'] ) . '</a></li>' : ''; $email = ! empty( $this->attribute['sg_popup_email'] ) ? '<li><strong>' . esc_html__( 'Email', 'jeg-elementor-kit' ) . ':</strong><a href="mailto:' . esc_attr( $this->attribute['sg_popup_email'] ) . '"> ' . esc_attr( $this->attribute['sg_popup_email'] ) . '</a></li>' : ''; $description = 'yes' === $this->attribute['sg_member_show_description'] ? '<div class="team-modal-description">' . esc_attr( $this->attribute['sg_member_description'] ) . '</div>' : ''; $name = esc_attr( $this->attribute['sg_member_name'] ); $position = esc_attr( $this->attribute['sg_member_position'] ); $html_tag = \Elementor\Utils::validate_html_tag( $this->attribute['sg_member_html_tag'] ); $close_icon = $this->render_icon_element( $this->attribute['sg_popup_close_icon'] ); $social_list = $this->render_social(); $popup = '<div class="jkit-modal-popup content mfp-hide" id="jkit-team-modal-' . $this->unique_id . '" tabindex="-1" role="dialog" aria-hidden="true"> <div class="jkit-modal-dialog"> <div class="team-modal-content"> <button type="button" class="team-modal-close">' . $close_icon . '</button> <div class="team-modal-body"> <div class="team-modal-img">' . $image . ' </div> <div class="team-modal-info ' . $has_img . '"> <' . $html_tag . ' class="team-modal-title">' . $name . '</' . $html_tag . '> <p class="team-modal-position">' . $position . '</p> ' . $description . ' <ul class="team-modal-list"> ' . $phone . ' ' . $email . ' </ul> <ul class="social-list">' . $social_list . '</ul> </div> </div> </div> </div> </div> <div id="jkit-team-swal-modal-' . $this->unique_id . '" class="jkit-team-swal-modal"></div>'; } return $popup; } /** * Render social icon profiles */ private function render_social() { $social_list = ''; if ( 'yes' === $this->attribute['sg_social_show'] ) { foreach ( $this->attribute['sg_social_icon'] as $social ) { $id = 'elementor-repeater-item-' . esc_attr( $social['_id'] ); $class = 'social-icon ' . $id; $social_icon = $this->render_icon_element( $social['sg_social_icon'] ); $social_url = $this->render_url_element( $social['sg_social_link'], null, null, $social_icon, 'aria-label="social-icon"' ); if ( 'gradient' === $social['sg_social_normal_background_background_background'] || 'gradient' === $social['sg_social_hover_background_background_background'] ) { $class .= ' hover-gradient'; } $social_list = $social_list . '<li class="' . $class . '">' . $social_url . '</li>'; } } return $social_list; } /** * Render Border Bottom * * @return mixed */ private function render_border_bottom() { $border_bottom = null; if ( 'yes' === $this->attribute['sg_member_enable_hover_border_bottom'] ) { $border_bottom = '<div class="border-bottom ' . esc_attr( $this->attribute['sg_member_hover_direction'] ) . '"></div>'; } return $border_bottom; } }