/home/arranoyd/gazehome/wp-content/themes/uncode/vc_templates/uncode_author_profile.php
<?php
$user_id = '';
$avatar = $custom_avatar = $avatar_position = $avatar_style = $avatar_size = $avatar_border = $avatar_style = $avatar_back_color = '';
$author_name_linked = $heading_semantic = $text_size = $text_height = $text_height = $text_space = $text_font = $text_weight = $text_transform = $text_italic = $text_color = $separator = $separator_double = $author_bio = $sub_lead = $sub_reduced = $social = '';
$desktop_visibility = $medium_visibility = $mobile_visibility = $css_animation = $animation_delay = $animation_speed = $output = $el_id = $el_class = $sub_class = '';
$display_button = $button_content = $button_link = $link = $button_color = $size = $hover_fx = $text_skin = $outline = $icon = $icon_position = $radius = $onclick = $rel = $btn_class = $avatar_output = '';
extract( shortcode_atts( array(
'user_id' => '',
'avatar' => 'gravatar',
'custom_avatar' => '',
'avatar_position' => 'left',
'avatar_style' => 'img-circle',
'avatar_size' => '100',
'avatar_border' => '',
'avatar_skin' => 'light',
'avatar_back_color' => '',
'author_name_linked' => 'yes',
'heading_semantic' => 'h2',
'text_size' => 'h2',
'text_height' => '',
'text_space' => '',
'text_font' => '',
'text_weight' => '',
'text_transform' => '',
'text_italic' => '',
'text_color' => '',
'separator' => '',
'separator_double' => '',
'author_bio' => 'yes',
'sub_lead' => '',
'sub_reduced' => '',
'social' => 'yes',
'display_button' => '',
'button_content' => esc_html__('All author posts', 'uncode') ,
'url' => '',
'button_link' => '',
'link' => '',
'button_color' => 'default',
'size' => '',
'hover_fx' => '',
'text_skin' => '',
'icon' => '',
'icon_position' => 'left',
'radius' => '',
'outline' => '',
'onclick' => '',
'rel' => '',
'desktop_visibility' => '',
'medium_visibility' => '',
'mobile_visibility' => '',
'css_animation' => '',
'animation_delay' => '',
'animation_speed' => '',
'el_id' => '',
'el_class' => '',
'btn_class' => '',
), $atts ) );
if ( $el_id !== '' ) {
$el_id = ' id="' . esc_attr( trim( $el_id ) ) . '"';
} else {
$el_id = '';
}
/***********
* General
***********/
$cont_classes = array('author-profile el-author-profile');
$cont_classes[] = 'author-profile-box-' . $avatar_position;
$cont_classes[] = trim($this->getExtraClass( $el_class ));
if ($desktop_visibility === 'yes') {
$cont_classes[] = 'desktop-hidden';
}
if ($medium_visibility === 'yes') {
$cont_classes[] = 'tablet-hidden';
}
if ($mobile_visibility === 'yes') {
$cont_classes[] = 'mobile-hidden';
}
$div_data = array();
if ($css_animation !== '') {
$cont_classes[] = $css_animation . ' animate_when_almost_visible';
if ($animation_delay !== '') {
$div_data['data-delay'] = $animation_delay;
}
if ($animation_speed !== '') {
$div_data['data-speed'] = $animation_speed;
}
}
$user_id = $user_id === '' ? get_the_author_meta( 'ID' ) : $user_id;
if ( ( !$user_id && !is_author()) && ( !function_exists('vc_is_page_editable') || !vc_is_page_editable() ) ) { //the user doesn't have posts or we aren't on profile page or we are in frontend editor
return;
} elseif ( !$user_id && is_author() ) { //the user doesn't have posts but we are on his/her profile page
$user = get_user_by( 'slug', get_query_var( 'author_name' ) );
$user_id = $user->ID;
} elseif ( function_exists('vc_is_page_editable') && vc_is_page_editable() ) {
$user_id = get_current_user_id();
}
$user_info = get_userdata( $user_id );
if ( !$user_info ) {
$user_id = get_the_author_meta('ID');
$user_info = get_userdata( $user_id );
}
$user_name = $user_info->display_name;
$user_email = $user_info->user_email;
$a_href = get_author_posts_url( $user_id );
$a_title = sprintf(esc_html__('%1$s post page', 'uncode'), $user_name);
$a_target = '_self';
/***********
* Avatar
***********/
if ( $avatar !== 'hide' ) {
$cont_classes[] = 'has-thumb';
$media_width = preg_replace("/[^0-9,.]/", "", $avatar_size);
$single_width = $media_width;
$actual_width = $avatar_size. 'px';
$single_fixed = 'width';
$block_data = array();
$block_classes = array('tmb');
$tmb_data = array();
$title_classes = array();
$shape = $tmb_shape = ($avatar_style != '') ? ' ' . $avatar_style : '';
if ($avatar_border === 'yes') {
$shape .= ' img-thumbnail';
$tmb_shape .= ' tmb-bordered';
}
$block_classes[] = $tmb_shape;
$block_classes[] = 'tmb-media-first';
$block_classes[] = 'tmb-' . $avatar_skin;
$custom_avatar = $avatar == 'gravatar' ? $user_email : $custom_avatar;
$block_data['classes'] = $block_classes;
$block_data['tmb_data'] = $tmb_data;
$block_data['media_id'] = $custom_avatar;
$block_data['images_size'] = '1:1';
$block_data['single_style'] = $avatar_skin;
$block_data['single_text'] = '';
$block_data['single_elements_click'] = 'yes';
$block_data['overlay_color'] = false;
$block_data['overlay_opacity'] = false;
$block_data['single_back_color'] = $avatar_back_color;
$block_data['single_width'] = $single_width;
$block_data['single_height'] = $single_width;
$block_data['single_fixed'] = $single_fixed;
$block_data['single_icon'] = '';
$block_data['title_classes'] = $title_classes;
$block_data['text_padding'] = 'half-block-padding';//the value doesn't matter, it's just to use the single_media layout
$lbox_id = $user_id;
$layout = array('media' => array());
$media_html = uncode_create_single_block($block_data, 'single-' . $lbox_id, 'masonry', $layout, '', '');
$media_string = '<div class="uncode-single-media-wrapper single-advanced">' . $media_html . '</div>';
$avatar_output= '<div class="uncode-avatar-wrapper single-media uncode-single-media" style="width: ' . esc_attr( $actual_width ) . '">';
$avatar_output.= '<div class="single-wrapper" style="max-width: ' . esc_attr( $actual_width ) . '">';
$avatar_output.= $media_string;
$avatar_output.= '</div>';
$avatar_output.= '</div>';
}
/***********
* Content
***********/
$content_out = '<div class="author-profile-content">';
$separator_classes = array();
if ($separator !== '') {
$separator_classes[] = 'separator-break';
if ($separator_double === 'yes') {
$separator_classes[] = 'separator-double-padding';
}
}
if ($separator === 'over') {
$content_out .= '<hr class="' . esc_attr(trim(implode( ' ', $separator_classes ))) . '" />';
}
$content_classes = array();
if ($text_font !== '') {
$content_classes[] = $text_font;
}
if ($text_size !== '') {
$content_classes[] = $text_size;
if ($text_size === 'bigtext') {
$cont_classes[] = 'heading-bigtext';
}
}
if ($text_height !== '') {
$content_classes[] = $text_height;
}
if ($text_space !== '') {
$content_classes[] = $text_space;
}
if ($text_weight !== '') {
$content_classes[] = 'font-weight-' . $text_weight;
}
if ($text_color !== '') {
$content_classes[] = 'text-' . $text_color . '-color';
}
if ($text_transform !== '') {
$content_classes[] = 'text-' . $text_transform;
}
$content_out .= '<' . $heading_semantic . ' class="' . esc_attr(trim(implode( ' ', $content_classes ))) . '">';
if ( $author_name_linked === 'yes' ) {
$title = ($a_title !== '') ? ' title="' . esc_attr( $a_title ) . '"' : '';
$target = (trim($a_target) !== '') ? ' target="' . esc_attr( trim($a_target) ) . '"' : '';
$content_out .= '<a href="' . esc_url($a_href) . '" ' . $title . $target . '>';
}
if ($text_italic === 'yes') {
$content_out .= '<i>';
}
$content_out .= '<span>';
$user_name = trim($user_name);
$title_lines = explode("\n", $user_name);
$lines_counter = count($title_lines);
if ($lines_counter > 1) {
foreach ($title_lines as $key => $value) {
$value = trim($value);
$content_out .= $value;
if ($value !== '' && ($lines_counter - 1 !== $key)) {
$content_out .= '</span><span>';
}
}
} else {
$content_out .= $user_name;
}
$content_out .= '</span>';
if ($text_italic === 'yes') {
$content_out .= '</i>';
}
if ( $author_name_linked === 'yes' ) {
$content_out .= '</a>';
}
$content_out .= '</' . $heading_semantic . '>';
if ($separator === 'yes') {
$content_out .= '<hr class="' . esc_attr(trim(implode( ' ', $separator_classes ))) . '" />';
}
$user_bio = get_the_author_meta( 'description', $user_id );
if ( $user_bio !== '' && $author_bio === 'yes' ) {
if ($sub_lead === 'yes') {
$sub_lead = ' text-lead';
}
if ($sub_reduced === 'yes') {
$sub_reduced = ' text-top-reduced';
}
if ($sub_lead !== '' || $sub_reduced !== '') {
$sub_class = esc_attr(trim($sub_lead.$sub_reduced));
}
$content_out .= '<div class="author-profile-bio ' . esc_attr( $sub_class ) . '">' . uncode_remove_p_tag($user_bio, true) . '</div>';
}
if ($separator === 'under') {
$content_out .= '<hr class="' . esc_attr(trim(implode( ' ', $separator_classes ))) . '" />';
}
if ( $social === 'yes' ) {
$content_out .= uncode_get_allowed_contact_methods( $user_id );
}
/***********
* Button
***********/
//parse link
if ( $button_link==='custom' ) {
$link = ( $link == '||' ) ? '' : $link;
$link = vc_build_link( $link );
$a_href = $link['url'];
$a_title = $link['title'];
$a_target = $link['target'];
}
// Prepare button classes
$btn_wrapper_class = array('btn-container', '');
$btn_classes = array('btn');
$button_data = array();
// Size class
if ($size) {
if ($size === 'link') {
unset($btn_classes[0]);
} else {
$btn_classes[] = $size;
}
}
// Additional classes
if ($btn_class) {
$btn_classes[] = $btn_class;
}
// Color class
if ($button_color === '') {
$button_color = 'default';
}
if ($button_color !== 'default') {
if ($text_skin === 'yes') {
$btn_classes[] = 'btn-text-skin';
}
}
if ($size !== 'btn-link' && $size !== 'link') {
$btn_classes[] = 'btn-' . $button_color;
} else {
$btn_classes[] = 'text-' . $button_color . '-color';
}
// Radius class
if ($radius) {
$btn_classes[] = $radius;
}
// Hover effect
$hover_fx = $hover_fx=='' ? ot_get_option('_uncode_button_hover') : $hover_fx;
// Outlined and flat classes
if ( $hover_fx == '' || $hover_fx == 'outlined' ) {
if ($outline === 'yes' ) {
$btn_classes[] = 'btn-outline';
}
} else {
$btn_classes[] = 'btn-flat';
}
// Prepare icon
if ($icon !== '') {
$icon = '<i class="' . esc_attr($icon) . '"></i>';
} else {
$icon = '';
}
if ( $display_button === 'yes' ) {
$content = trim($button_content);
if ($icon_position === 'right') {
$content = $content . $icon;
$btn_classes[] = 'btn-icon-right';
} else {
$content = $icon . $content;
$btn_classes[] = 'btn-icon-left';
}
$btn_class = $this->getExtraClass( $btn_class );
// Prepare onclick action
$onclick = ($onclick !== '') ? ' onClick="' . esc_attr( $onclick ) . '"' : '';
$title = ($a_title !== '') ? ' title="' . esc_attr( $a_title ) . '"' : '';
$target = (trim($a_target) !== '') ? ' target="' . esc_attr( trim($a_target) ) . '"' : '';
$width = ''; //because it can't have a fixed width ever
$button_data_attributes = array_map(function ($v, $k) { return $k . '="' . $v . '"'; }, $button_data, array_keys($button_data));
$content_out .= '<span class="' . esc_attr(trim(implode($btn_wrapper_class, ' '))) . '" '.implode(' ', $button_data_attributes).'><a href="' . esc_url($a_href) . '" class="custom-link ' . esc_attr(trim(implode($btn_classes, ' '))) . '"' . $title . $target . $onclick . $rel . $width . '>' . do_shortcode($content) . '</a></span>';
}
$content_out .= '</div>';//.author-profile-content
/***********
* Output
***********/
$div_data_attributes = array_map(function ($v, $k) { return $k . '="' . $v . '"'; }, $div_data, array_keys($div_data));
$output = '<div class="' . esc_attr(trim(implode( ' ', $cont_classes ))) . '" '.implode(' ', $div_data_attributes). $el_id . '>';
switch ($avatar_position) {
case 'right':
$output .= $content_out . $avatar_output;
break;
default:
$output .= $avatar_output . $content_out;
break;
}
$output .= '</div>';
echo uncode_remove_p_tag($output);