Files
szkoleniauryzaj.pl/wp-content/plugins/youtube-feed-pro/templates/item.php
2026-04-26 23:47:49 +02:00

162 lines
12 KiB
PHP

<?php
/**
* Item Template
* Adds an image, link, and other data for each post in the feed
*
* @version 1.0 by Smash Balloon
*
*/
// Don't load directly
use SmashBalloon\YouTubeFeed\SBY_Display_Elements;
use SmashBalloon\YouTubeFeed\Pro\SBY_Display_Elements_Pro;
use SmashBalloon\YouTubeFeed\SBY_Parse;
use SmashBalloon\YouTubeFeed\Pro\SBY_Parse_Pro;
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
$context = 'item';
$classes = SBY_Display_Elements::get_item_classes( $settings, $offset );
$post_id = SBY_Parse::get_post_id( $post );
$timestamp = SBY_Parse::get_timestamp( $post );
$video_id = SBY_Parse::get_video_id( $post );
$channel_id = SBY_Parse::get_channel_id( $post );
$media_url = SBY_Display_Elements::get_optimum_media_url( $post, $settings );
$media_full_res = SBY_Parse::get_media_url( $post );
$media_all_sizes_json = SBY_Parse::get_media_src_set( $post );
$permalink = SBY_Parse::get_permalink( $post );
$img_alt = SBY_Parse::get_caption( $post, __( 'Image for post', 'feeds-for-youtube' ) . ' ' . $post_id );
$items_style_attr = SBY_Display_Elements::get_style_att( 'item', $settings );
$title = SBY_Parse::get_video_title( $post );
// Pro Elements
$caption = SBY_Parse::get_pro_caption( $post, '', $misc_data );
$avatar = SBY_Parse::get_avatar( $header_data, $settings );
$username = SBY_Parse::get_channel_title( $post, $misc_data );
$likes_count = SBY_Display_Elements::escaped_formatted_count_string( SBY_Parse::get_like_count( $post, $misc_data ), 'likes' );
$comments_count = SBY_Display_Elements::escaped_formatted_count_string( SBY_Parse::get_comment_count( $post, $misc_data ), 'comments' );
$comments_count_attr = SBY_Display_Elements::escaped_formatted_count_string( SBY_Parse::get_comment_count( $post, $misc_data ), 'comments', true );
$views_count_string = SBY_Display_Elements::escaped_formatted_count_string( SBY_Parse::get_view_count( $post, $misc_data ), 'views' );
$views_count_string_attr = SBY_Display_Elements::escaped_formatted_count_string( SBY_Parse::get_view_count( $post, $misc_data ), 'views', true );
$duration = SBY_Parse_Pro::get_video_duration( $post );
$live_broadcast_type = SBY_Parse::get_live_broadcast_content( $post ); // 'none', 'upcoming', 'live', 'completed'
$live_streaming_timestamp = SBY_Parse::get_live_streaming_timestamp( $post, $misc_data );
$live_streaming_time_string = SBY_Display_Elements::escaped_live_streaming_time_string( $post, $misc_data );
$formatted_date_string = $live_broadcast_type === 'none' ? SBY_Display_Elements::format_date( $timestamp, $settings ) : SBY_Display_Elements::format_date( $live_streaming_timestamp, $settings, true );
$sby_link_classes = SBY_Display_Elements::get_sby_link_classes( $settings ); // // ' sby_disable_lightbox'
// Pro Styles
$link_styles = SBY_Display_Elements::get_sby_link_styles( $settings ); // style="background: rgba(30,115,190,0.85)" already escaped
$hover_styles = SBY_Display_Elements::get_hover_styles( $settings ); // style="color: rgba(153,231,255,1)" already escaped
$sby_info_styles = SBY_Display_Elements::get_sby_info_styles( $settings ); // style="font-size: 13px;" already escaped
$sby_meta_color_styles = SBY_Display_Elements::get_sby_meta_color_styles( $settings ); // style="font-size: 13px;" already escaped
$sby_meta_size_color_styles = SBY_Display_Elements::get_sby_meta_size_color_styles( $settings ); // style="font-size: 13px;color: rgba(153,231,255,1)" already escaped
$additional_atts = apply_filters( 'sby_item_additional_data_atts', array(), $post, $misc_data );
$additional_atts_string = SBY_Display_Elements::escaped_data_att_string( $additional_atts );
// customizer only attributes
if(sby_doing_customizer($settings)) {
$media_url = SBY_Display_Elements::get_media_url( $settings, $media_url, $media_full_res );
}
$play_icon_attr = SBY_Display_Elements::get_element_attribute( 'icon', $settings );
$video_title_attr = SBY_Display_Elements::get_element_attribute( 'title', $settings );
$username_attr = SBY_Display_Elements::get_element_attribute( 'user', $settings );
$views_attr = SBY_Display_Elements::get_element_attribute( 'views', $settings );
$date_attr = SBY_Display_Elements::get_element_attribute( 'date', $settings );
$countdown_attr = SBY_Display_Elements::get_element_attribute( 'countdown', $settings );
$stats_attr = SBY_Display_Elements::get_element_attribute( 'stats', $settings );
$description_attr = SBY_Display_Elements::get_element_attribute( 'description', $settings );
$duration_attr = SBY_Display_Elements::get_element_attribute( 'duration', $settings );
$hover_video_title_attr = SBY_Display_Elements::get_element_attribute( 'hover_title', $settings );
$hover_video_user_attr = SBY_Display_Elements::get_element_attribute( 'hover_user', $settings );
$hover_video_countdown_attr = SBY_Display_Elements::get_element_attribute( 'hover_countdown', $settings );
$hover_video_description_attr = SBY_Display_Elements::get_element_attribute( 'hover_description', $settings );
$hover_date_attr = SBY_Display_Elements::get_element_attribute( 'hover_date', $settings );
$hover_video_views_attr = SBY_Display_Elements::get_element_attribute( 'hover_views', $settings );
$hover_video_stats_attr = SBY_Display_Elements::get_element_attribute( 'hover_stats', $settings );
?>
<div class="sby_item <?php echo esc_attr( $classes ); ?>" id="sby_<?php echo esc_html( $post_id ); ?>" data-date="<?php echo esc_html( $timestamp ); ?>" data-video-id="<?php echo esc_attr( $video_id ); ?>" data-video-title="<?php echo esc_attr( $title ); ?>"<?php echo $items_style_attr; ?> data-live-date="<?php echo esc_attr( $live_streaming_timestamp ); ?>" data-channel-id="<?php echo esc_attr( $channel_id ); ?>" <?php echo $additional_atts_string; ?>>
<div class="sby_inner_item">
<div class="sby_video_thumbnail_wrap sby_item_video_thumbnail_wrap">
<a class="sby_video_thumbnail sby_item_video_thumbnail" style="background-image:url(<?php echo esc_url( $media_url ); ?>)" href="<?php echo esc_url( $permalink ); ?>" target="_blank" rel="noopener" data-full-res="<?php echo esc_url( $media_full_res ); ?>" data-img-src-set="<?php echo esc_attr( wp_json_encode( $media_all_sizes_json ) ); ?>" data-video-id="<?php echo esc_attr( $video_id ); ?>" data-user="<?php echo esc_attr( $username ); ?>" data-url="<?php echo esc_attr( $permalink ); ?>" data-avatar="<?php echo esc_attr( $avatar ); ?>" data-title="<?php echo sby_esc_attr_with_br( $caption ); ?>" data-video-title="<?php echo sby_esc_attr_with_br( $title ); ?>" data-channel-id="<?php echo esc_attr( $channel_id ); ?>" data-views="<?php echo esc_attr($views_count_string_attr); ?>" data-published-date="<?php echo esc_attr($timestamp); ?>" data-formatted-published-date="<?php echo esc_attr($formatted_date_string); ?>" data-comment-count="<?php echo esc_attr($comments_count_attr); ?>">
<img src="<?php echo esc_url( $media_url ); ?>" alt="<?php echo esc_attr( $img_alt ); ?>">
<?php if ( SBY_Display_Elements_Pro::should_show_element( 'duration', $context, $settings ) ) : ?>
<span class="sby_duration_counter" <?php echo $duration_attr; ?>><?php echo esc_html( $duration ); ?></span>
<?php endif; ?>
<div class="sby_thumbnail_hover sby_item_video_thumbnail_hover">
<div class="sby_thumbnail_hover_inner">
<?php if ( SBY_Display_Elements::should_show_element( 'title', $context . '-hover', $settings ) ) : ?>
<span class="sby_video_title" <?php echo $hover_video_title_attr; ?>><?php echo esc_html( $title ); ?></span>
<?php endif; ?>
<?php if ( $live_broadcast_type !== 'none' && SBY_Display_Elements::should_show_element( 'countdown', $context . '-hover', $settings ) ) : ?>
<p class="sby_ls_message_wrap" <?php echo $hover_video_countdown_attr; ?>><span class="sby_ls_message"><?php echo $live_streaming_time_string; ?></span></p>
<?php endif; ?>
<?php if ( SBY_Display_Elements::should_show_element( 'meta', $context . '-hover', $settings ) ) : ?>
<p class="sby_meta" <?php echo $sby_meta_color_styles; ?>>
<?php if ( SBY_Display_Elements::should_show_element( 'user', $context . '-hover', $settings ) ) : ?>
<span class="sby_username" <?php echo $hover_video_user_attr; ?>><?php echo esc_html( $username ); ?></span>
<?php endif; ?>
<?php if ( SBY_Display_Elements::should_show_element( 'views', $context . '-hover', $settings ) ) : ?>
<span class="sby_view_count" <?php echo $hover_video_views_attr; ?>><?php echo $views_count_string; ?></span>
<?php endif; ?>
<?php if ( SBY_Display_Elements::should_show_element( 'date', $context . '-hover', $settings ) ) : ?>
<span class="sby_date sby_live_broadcast_type_<?php echo esc_attr( $live_broadcast_type ); ?>" <?php echo $hover_date_attr; ?>><?php echo $formatted_date_string; ?></span>
<?php endif; ?>
</p>
<?php endif; ?>
<?php if ( SBY_Display_Elements::should_show_element( 'description', $context . '-hover', $settings ) ) : ?>
<p class="sby_caption" <?php echo $sby_info_styles; echo $hover_video_description_attr; ?>><?php echo sby_esc_html_with_br( $caption ); ?></p>
<?php endif; ?>
<?php if ( SBY_Display_Elements::should_show_element( 'stats', $context . '-hover', $settings ) ) : ?>
<p class="sby_stats" <?php echo $sby_meta_color_styles; echo $hover_video_stats_attr; ?>>
<span class="sby_likes" <?php echo $sby_meta_size_color_styles; ?>>
<?php echo SBY_Display_Elements::get_icon( 'likes', $icon_type, $sby_meta_size_color_styles ); ?>
<span class="sby_like_count"><?php echo $likes_count; ?></span>
</span>
<span class="sby_comments" <?php echo $sby_meta_size_color_styles; ?>>
<?php echo SBY_Display_Elements::get_icon( 'comments', $icon_type, $sby_meta_size_color_styles ); ?>
<span class="sby_comment_count"><?php echo $comments_count; ?></span>
</span>
</p>
<?php endif; ?>
</div>
</div>
<span class="sby-screenreader"><?php echo sprintf( __( 'YouTube Video %s', 'feeds-for-youtube' ), $post_id ); ?></span>
<?php if ( SBY_Display_Elements::should_show_element( 'icon', $context, $settings ) ) : ?>
<div class="sby_play_btn" <?php echo $play_icon_attr; ?>>
<span class="sby_play_btn_bg"></span>
<?php echo SBY_Display_Elements::get_icon( 'play', 'svg' ); ?>
</div>
<?php endif; ?>
<span class="sby_loader sby_hidden" style="background-color: rgb(255, 255, 255);"></span>
</a>
<?php if ( $settings['layout'] === 'list') : ?>
<div class="sby_player_wrap">
<div id="sby_player_<?php echo esc_html( $video_id ); ?>"></div>
</div>
<?php include sby_get_feed_template_part( 'cta', $settings ); ?>
<?php endif; ?>
</div>
<?php
if ( sby_is_pro() ) {
include sby_get_feed_template_part( 'info', $settings );
}
?>
</div>
</div>