/** * Thumbnail HTML creation, base for index and other components * @param [type] $block_data * @param [type] $el_id * @param [type] $style_preset * @param [type] $layout * @param [type] $lightbox_classes * @param [type] $carousel_textual * @param boolean $with_html * @return [type] */ function uncode_create_single_block($block_data, $el_id, $style_preset, $layout, $lightbox_classes, $carousel_textual, $with_html = true) { $image_orig_w = $image_orig_h = $crop = $item_media = $media_code = $media_mime = $create_link = $title_link = $text_content = $media_attributes = $big_image = $lightbox_data = $single_height = $single_title = $nested = $media_poster = $dummy_oembed = $images_size = $single_family = $object_class = $single_back_color = $single_animation = $is_product = $single_icon = $single_text = $single_style = $single_elements_click = $overlay_color = $overlay_opacity = $tmb_data = ''; $media_type = 'image'; $multiple_items = false; if (isset($block_data['classes'])) { $block_classes = $block_data['classes']; } if (isset($block_data['tmb_data'])) { $tmb_data = $block_data['tmb_data']; } if (isset($block_data['media_id'])) { $item_thumb_id = $block_data['media_id']; } if (isset($block_data['images_size'])) { $images_size = $block_data['images_size']; } if (isset($block_data['single_style'])) { $single_style = $block_data['single_style']; } if (isset($block_data['single_text'])) { $single_text = $block_data['single_text']; } if (isset($block_data['single_elements_click'])) { $single_elements_click = $block_data['single_elements_click']; } if (isset($block_data['overlay_color'])) { $overlay_color = $block_data['overlay_color']; } if (isset($block_data['overlay_opacity'])) { $overlay_opacity = (int) $block_data['overlay_opacity'] / 100; } if (isset($block_data['single_width'])) { $single_width = $block_data['single_width']; } if (isset($block_data['single_height'])) { $single_height = $block_data['single_height']; } if (isset($block_data['single_back_color'])) { $single_back_color = $block_data['single_back_color']; } if (isset($block_data['single_title'])) { $single_title = $block_data['single_title']; } if (isset($block_data['single_icon'])) { $single_icon = $block_data['single_icon']; } if (isset($block_data['poster'])) { $media_poster = $block_data['poster']; } if (isset($block_data['title_classes'])) { $title_classes = !$block_data['title_classes'] ? array('h3') : $block_data['title_classes']; } if (isset($block_data['animation'])) { $single_animation = $block_data['animation']; } if (isset($block_data['product']) && $block_data['product'] === true) { $is_product = true; } else { $is_product = false; } if (!isset($block_classes)) { $block_classes = array(); } if (isset($block_data['link'])) { $create_link = is_array($block_data['link']) ? $block_data['link']['url'] : $block_data['link']; $title_link = $create_link; } $a_classes = array(); if (isset($block_data['link_class'])) { $a_classes[] = $block_data['link_class']; } /*** MEDIA SECTION ***/ if (isset($images_size) && $images_size !== '' && $style_preset !== 'metro') { switch ($images_size) { case 'one-one': $single_height = $single_width; break; case 'four-three': $single_height = $single_width / (4 / 3); break; case 'three-two': $single_height = $single_width / (3 / 2); break; case 'sixteen-nine': $single_height = $single_width / (16 / 9); break; case 'twentyone-nine': $single_height = $single_width / (21 / 9); break; case 'three-four': $single_height = $single_width / (3 / 4); break; case 'two-three': $single_height = $single_width / (2 / 3); break; case 'nine-sixteen': $single_height = $single_width / (9 / 16); break; } $block_classes[] = 'tmb-img-ratio'; } if (empty($item_thumb_id) || FALSE === get_post_status($item_thumb_id)) { $item_media = 'https://placeholdit.imgix.net/~text?txtsize=33&txt=media+not+available&w=500&h=500'; $media_attributes = ''; $image_orig_w = 500; $image_orig_h = 500; } else { /** get media info **/ $items_thumb_id = explode(',', $item_thumb_id); if (count($items_thumb_id) > 1) { if ($media_poster) { $media_attributes = uncode_get_media_info($items_thumb_id[0]); $media_metavalues = unserialize($media_attributes->metadata); $media_mime = $media_attributes->post_mime_type; } else { $multiple_items = true; } } else { $media_attributes = uncode_get_media_info($item_thumb_id); if (!isset($media_attributes)) { $media_attributes = new stdClass(); } $media_metavalues = unserialize($media_attributes->metadata); $media_mime = $media_attributes->post_mime_type; } /** check if open to lightbox **/ if ($lightbox_classes) { if (isset($lightbox_classes['data-title']) && $lightbox_classes['data-title'] === true) { $lightbox_classes['data-title'] = $media_attributes->post_title; } if (isset($lightbox_classes['data-caption']) && $lightbox_classes['data-caption'] === true) { $lightbox_classes['data-caption'] = $media_attributes->post_excerpt; } } /** shortcode carousel **/ if ($multiple_items) { $shortcode = '[vc_gallery nested="yes" el_id="gallery-' . rand() . '" medias="' . $item_thumb_id . '" type="carousel" style_preset="' . $style_preset . '" single_padding="0" thumb_size="' . $images_size . '" carousel_lg="1" carousel_md="1" carousel_sm="1" gutter_size="0" media_items="media" carousel_interval="0" carousel_dots="yes" carousel_dots_mobile="yes" carousel_autoh="yes" carousel_type="fade" carousel_nav="no" carousel_nav_mobile="no" carousel_dots_inside="yes" single_text="overlay" single_border="yes" single_width="' . $single_width . '" single_height="' . $single_height . '" single_text_visible="no" single_text_anim="no" single_overlay_visible="no" single_overlay_anim="no" single_image_anim="no"]'; $media_oembed = uncode_get_oembed($item_thumb_id, $shortcode, 'shortcode', false); $media_code = $media_oembed['code']; $media_type = $media_oembed['type']; if (($key = array_search('tmb-overlay-anim', $block_classes)) !== false) { unset($block_classes[$key]); } if (($key = array_search('tmb-overlay-text-anim', $block_classes)) !== false) { unset($block_classes[$key]); } if (($key = array_search('tmb-image-anim', $block_classes)) !== false) { unset($block_classes[$key]); } $image_orig_w = $single_width; $image_orig_h = $single_height; $object_class = 'nested-carousel object-size'; } else { /** This is a self-hosted image **/ if (strpos($media_mime, 'image/') !== false && $media_mime !== 'image/url' && isset($media_metavalues['width']) && isset($media_metavalues['height'])) { $image_orig_w = $media_metavalues['width']; $image_orig_h = $media_metavalues['height']; /** check if open to lightbox **/ if ($lightbox_classes) { $big_image = uncode_resize_image($media_attributes->guid, $media_attributes->path, $image_orig_w, $image_orig_h, 12, null, false); $create_link = $big_image['url']; } /** calculate height ratio if masonry and thumb size **/ if ($style_preset === 'masonry') { if ($images_size !== '') { $crop = true; } else { $crop = false; } } else { $crop = true; } $resized_image = uncode_resize_image($media_attributes->guid, $media_attributes->path, $image_orig_w, $image_orig_h, $single_width, $single_height, $crop); $item_media = esc_attr($resized_image['url']); $image_orig_w = $resized_image['width']; $image_orig_h = $resized_image['height']; } else { if ($media_mime === 'oembed/svg') { $media_type = 'html'; $media_code = $media_attributes->post_content; $media_code = preg_replace('#\\s(id)="([^"]+)"#', ' $1="$2-' . rand() . '"', $media_code); if ($media_mime === 'oembed/svg') { $media_code = preg_replace('#\\s(xmlns)="([^"]+)"#', '', $media_code); $media_code = preg_replace('#\\s(xmlns:svg)="([^"]+)"#', '', $media_code); $media_code = preg_replace('#\\s(xmlns:xlink)="([^"]+)"#', '', $media_code); } /** This is an iframe **/ } else { if ($media_mime === 'oembed/iframe') { $media_type = 'other'; $media_code = $media_attributes->post_content; $image_orig_w = $media_metavalues['width']; $image_orig_h = $media_metavalues['height']; } else { $object_class = 'object-size'; /** external image **/ if ($media_mime === 'image/url') { $item_media = $media_attributes->guid; $image_orig_w = $media_metavalues['width']; $image_orig_h = $media_metavalues['height']; if ($lightbox_classes) { $create_link = $item_media; } } else { $media_oembed = uncode_get_oembed($item_thumb_id, $media_attributes->guid, $media_attributes->post_mime_type, $media_poster, $media_attributes->post_excerpt, $media_attributes->post_content); /** check if is an image oembed **/ if ($media_oembed['type'] === 'image') { $item_media = esc_attr($media_oembed['code']); $image_orig_w = $media_oembed['width']; $image_orig_h = $media_oembed['height']; $media_type = 'image'; if ($lightbox_classes) { $create_link = $media_oembed['code']; } } else { /** check if there is a poster **/ if (isset($media_oembed['poster']) && $media_oembed['poster'] !== '' && $media_poster) { /** calculate height ratio if masonry and thumb size **/ if ($style_preset === 'masonry') { if ($images_size !== '') { $crop = true; } else { $crop = false; } } else { $crop = true; } if (!empty($media_oembed['poster']) && $media_oembed['poster'] !== '') { $poster_attributes = uncode_get_media_info($media_oembed['poster']); $media_metavalues = unserialize($poster_attributes->metadata); $image_orig_w = $media_metavalues['width']; $image_orig_h = $media_metavalues['height']; $resized_image = uncode_resize_image($poster_attributes->guid, $poster_attributes->path, $image_orig_w, $image_orig_h, $single_width, $single_height, $crop); $item_media = esc_attr($resized_image['url']); $image_orig_w = $resized_image['width']; $image_orig_h = $resized_image['height']; $media_type = 'image'; if ($lightbox_classes) { switch ($media_attributes->post_mime_type) { case 'oembed/twitter': case 'oembed/html': $big_image = uncode_resize_image($poster_attributes->guid, $poster_attributes->path, $image_orig_w, $image_orig_h, 12, null, false); $create_link = $big_image['url']; break; default: $create_link = $media_oembed['code']; break; } } } } else { $media_code = $media_oembed['code']; $media_type = $media_oembed['type']; $object_class = $media_oembed['class']; if ($style_preset === 'metro' || $images_size != '') { $image_orig_w = $single_width; $image_orig_h = $single_height; } else { $image_orig_w = $media_oembed['width']; $image_orig_h = $media_oembed['height']; } if (strpos($media_mime, 'audio/') !== false && isset($media_oembed['poster']) && $media_oembed['poster'] !== '') { $poster_attributes = uncode_get_media_info($media_oembed['poster']); $media_metavalues = unserialize($poster_attributes->metadata); $image_orig_w = $media_metavalues['width']; $image_orig_h = $media_metavalues['height']; $resized_image = uncode_resize_image($poster_attributes->guid, $poster_attributes->path, $image_orig_w, $image_orig_h, $single_width, $single_height, $crop); $media_oembed['dummy'] = $image_orig_h / $image_orig_w * 100; } if ($image_orig_h === 0) { $image_orig_h = 1; } if ($media_oembed['dummy'] !== 0 && $style_preset !== 'metro') { $dummy_oembed = ' style="padding-top: ' . $media_oembed['dummy'] . '%"'; } if ($lightbox_classes && $media_type === 'image') { $create_link = $media_oembed['code']; } } } } } } } } } if ($item_media === '' && !isset($media_attributes->guid) && !$multiple_items) { $media_type = 'image'; $item_media = 'http://placehold.it/500&text=media+not+available'; $image_orig_w = 500; $image_orig_h = 500; } if (!$with_html) { return array('code' => $media_type === 'image' ? esc_url($item_media) : $media_code, 'type' => $media_type, 'width' => $image_orig_w, 'height' => $image_orig_h); } $entry = $inner_entry = ''; foreach ($layout as $key => $value) { switch ($key) { case 'icon': if ($single_icon !== '' && $single_text === 'overlay') { $inner_entry .= '<i class="' . $single_icon . ' t-overlay-icon"></i>'; } break; case 'title': $get_title = isset($media_attributes->post_title) ? $media_attributes->post_title : ''; if ($single_text === 'overlay' && $single_elements_click !== 'yes' || isset($media_attributes->team) && $media_attributes->team || $title_link === '#') { $print_title = $single_title ? $single_title : $media_attributes->post_title; if ($print_title !== '') { $inner_entry .= '<h3 class="t-entry-title ' . trim(implode(' ', $title_classes)) . '">' . $print_title . '</h3>'; } } else { $print_title = $single_title ? $single_title : $get_title; if ($print_title !== '') { $inner_entry .= '<h3 class="t-entry-title ' . trim(implode(' ', $title_classes)) . '"><a href="' . $title_link . '">' . $print_title . '</a></h3>'; } } break; case 'type': $inner_entry .= '<p class="t-entry-type"><span>' . ucfirst(get_post_type($block_data['id'])) . '</span></p>'; break; case 'category': case 'meta': if (isset($value[0]) && $value[0] === 'yesbg') { $with_bg = true; } else { $with_bg = false; } $inner_entry .= '<p class="t-entry-meta">'; if (is_sticky()) { $inner_entry .= '<span class="t-entry-category"><i class="fa fa-ribbon fa-push-right"></i>' . esc_html__('Sticky', 'uncode') . '</span>'; } if ($key === 'meta') { $year = get_the_time('Y'); $month = get_the_time('m'); $day = get_the_time('d'); $date = get_the_date('', $block_data['id']); $inner_entry .= '<span class="t-entry-category"><i class="fa fa-clock fa-push-right"></i><a href="' . get_day_link($year, $month, $day) . '">' . $date . '</a></span>'; } $categories_array = isset($block_data['single_categories_id']) ? $block_data['single_categories_id'] : array(); $cat_icon = false; $tag_icon = false; $cat_count = count($categories_array); $cat_counter = 0; foreach ($categories_array as $t_key => $tax) { $category = ''; $add_comma = true; $term_color = get_option('_uncode_taxonomy_' . $tax); $cat_classes = 't-entry-category'; if (isset($term_color['term_color']) && $term_color['term_color'] !== '' && $with_bg) { $term_color = 'text-' . $term_color['term_color'] . '-color'; } else { $term_color = ''; } if (isset($block_data['single_categories'][$t_key])) { $single_cat = $block_data['single_categories'][$t_key]; if (gettype($single_cat) !== 'string' && isset($single_cat['link'])) { $cat_link = $block_data['single_categories'][$t_key]['link']; if ($block_data['single_categories'][$t_key]['tax'] === 'category' && !$cat_icon) { $category .= '<i class="fa fa-archive2 fa-push-right"></i>'; $cat_icon = true; $add_comma = false; } if ($block_data['single_categories'][$t_key]['tax'] === 'post_tag' && !$tag_icon) { $category .= '<i class="fa fa-tag2 fa-push-right"></i>'; $tag_icon = true; $add_comma = false; } } else { $cat_link = $block_data['single_categories'][$t_key]; } $cat_link = str_replace('<a ', '<a class="' . $term_color . '" ', $cat_link); $category .= ($cat_counter !== 0 && $add_comma ? '<span class="cat-comma">,</span>' : '') . $cat_link; $add_comma = true; } else { $category = ''; } $inner_entry .= '<span class="' . $cat_classes . '">' . $category . '</span>'; $cat_counter++; $category = ''; } $inner_entry .= '</p>'; break; case 'date': $date = get_the_date('', $block_data['id']); $inner_entry .= '<p class="t-entry-meta">'; $inner_entry .= '<span class="t-entry-date">' . $date . '</span>'; $inner_entry .= '</p>'; break; case 'text': $post_format = get_post_format(); if (isset($value[0]) && $value[0] === 'full') { $block_text = apply_filters('the_content', ($post_format === 'link' ? '<i class="fa fa-link fa-push-right"></i>' : '') . get_the_content()); $block_text .= wp_link_pages(array('before' => '<div class="page-links">' . esc_html__('Pages:', 'uncode'), 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>', 'echo' => 0)); } else { $block_text = get_post_field('post_excerpt', $block_data['id']); } if (isset($block_data['text_length']) && $block_data['text_length'] !== '') { $block_text = '<p>' . uncode_truncate($block_text, $block_data['text_length']) . '</p>'; } else { if (isset($value[1]) && !empty($value[1])) { $block_text = '<p>' . uncode_truncate($block_text, $value[1]) . '</p>'; } } if ($single_text === 'overlay' && $single_elements_click !== 'yes') { $inner_entry .= '<p class="t-entry-excerpt">' . preg_replace('/<\\/?a(.|\\s)*?>/', '', $block_text) . '</p>'; } else { if (isset($value[0]) && $value[0] === 'full') { $inner_entry .= $block_text; } else { $inner_entry .= '<p class="t-entry-excerpt">' . $block_text . '</p>'; } } break; case 'link': $btn_shape = ' btn-default'; if (isset($value[0]) && $value[0] !== 'default') { if ($value[0] === 'link') { $btn_shape = ' btn-link'; } else { $btn_shape = ' btn-default btn-' . $value[0]; } } if ($single_text === 'overlay' && $single_elements_click !== 'yes') { $inner_entry .= '<p class="t-entry-readmore"><span class="btn' . $btn_shape . '">Read More</span></p>'; } else { $inner_entry .= '<p class="t-entry-readmore"><a href="' . $create_link . '" class="btn' . $btn_shape . '">Read More</a></p>'; } break; case 'author': $author = get_post_field('post_author', $block_data['id']); $author_name = get_the_author_meta('display_name', $author); $author_link = get_author_posts_url($author); $inner_entry .= '<p class="t-entry-author">'; if ($single_text === 'overlay' && $single_elements_click !== 'yes') { $inner_entry .= get_avatar($author, 80) . '<span>' . esc_html__('by ', 'uncode') . $author_name . '</span>'; } else { $inner_entry .= '<a href="' . $author_link . '">' . get_avatar($author, 80) . '<span>' . esc_html__('by ', 'uncode') . $author_name . '</span></a>'; } $inner_entry .= '</p>'; break; case 'extra': $inner_entry .= '<p class="t-entry-comments entry-small"><span class="extras">'; if (function_exists('dot_irecommendthis')) { global $uncode_irecommendthis; if ($single_text === 'under') { $inner_entry .= $uncode_irecommendthis->dot_recommend($block_data['id'], true); } else { if ($single_elements_click === 'yes') { $inner_entry .= $uncode_irecommendthis->dot_recommend($block_data['id'], true); } else { $inner_entry .= $uncode_irecommendthis->dot_recommend($block_data['id'], false); } } } $num_comments = get_comments_number($block_data['id']); $entry_comments = '<i class="fa fa-speech-bubble"></i><span>' . $num_comments . ' ' . _nx('Comment', 'Comments', $num_comments, 'comments', 'uncode') . '</span>'; if ($single_text === 'overlay' && $single_elements_click !== 'yes') { $inner_entry .= '<span class="extras-wrap">' . $entry_comments . '</span>'; } else { $inner_entry .= '<a class="extras-wrap" href="' . get_comments_link($block_data['id']) . '" title="title">' . $entry_comments . '</a>'; } $inner_entry .= '<span class="extras-wrap"><i class="fa fa-watch"></i><span>' . uncode_estimated_reading_time($block_data['id']) . '</span></span></span></p>'; break; case 'price': global $woocommerce; if (class_exists('WooCommerce')) { $product = new WC_Product($block_data['id']); $inner_entry .= '<span class="price ' . trim(implode(' ', $title_classes)) . '">' . $product->get_price_html() . '</span>'; } break; case 'caption': if (isset($media_attributes->post_excerpt) && $media_attributes->post_excerpt !== '') { $inner_entry .= '<p class="t-entry-meta"><span>' . $media_attributes->post_excerpt . '</span></p>'; } break; case 'description': if (isset($media_attributes->post_content) && $media_attributes->post_content !== '') { $inner_entry .= '<p class="t-entry-excerpt">' . $media_attributes->post_content . '</p>'; } break; case 'team-social': if ($media_attributes->team) { $team_socials = explode("\n", $media_attributes->team_social); $inner_entry .= '<p class="t-entry-comments t-entry-member-social"><span class="extras">'; foreach ($team_socials as $key => $value) { if ($value !== '') { $get_host = parse_url($value); $host = str_replace("www.", "", $get_host['host']); $host = explode('.', $host); if ($host[0] === 'plus') { $host[0] = 'google-' . $host[0]; } $inner_entry .= '<a href="' . esc_url($value) . '" target="_blank"><i class="fa fa-' . esc_attr($host[0]) . '"></i></a>'; } } $inner_entry .= '</span></p>'; } break; case 'sep-one': case 'sep-two': $sep_class = isset($value[0]) && $value[0] === 'reduced' ? ' class="separator-reduced"' : ''; $inner_entry .= '<hr' . $sep_class . ' />'; break; } } if (isset($media_attributes->team) && $media_attributes->team) { $single_elements_click = 'yes'; } if (!empty($layout) && !(count($layout) === 1 && array_key_exists('media', $layout)) && $inner_entry !== '') { if ($single_text === 'under') { $entry .= '<div class="t-entry-text"> <div class="t-entry-text-tc ' . $block_data['text_padding'] . '">'; } $entry .= '<div class="t-entry">'; $entry .= $inner_entry; $entry .= '</div>'; if ($single_text === 'under') { $entry .= '</div> </div>'; } } if ($lightbox_classes) { $lightbox_data = ' ' . implode(' ', array_map(function ($v, $k) { return $k . '="' . $v . '"'; }, $lightbox_classes, array_keys($lightbox_classes))); $lightbox_data .= ' data-lbox="ilightbox_' . $el_id . '"'; $video_src = ''; if (isset($media_attributes->post_mime_type) && strpos($media_attributes->post_mime_type, 'video/') !== false) { $video_src .= 'html5video:{preload:\'true\','; $alt_videos = get_post_meta($item_thumb_id, "_uncode_video_alternative", true); if (!empty($alt_videos)) { foreach ($alt_videos as $key => $value) { $exloded_url = explode(".", strtolower($value)); $ext = end($exloded_url); if ($ext !== '') { $video_src .= $ext . ":'" . $value . "',"; } } } $video_src .= '},'; } $lightbox_data .= ' data-options="' . $video_src . 'thumbnail: \'' . $item_media . '\'"'; } $layoutArray = array_keys($layout); foreach ($layoutArray as $key => $value) { if ($value === 'icon') { unset($layoutArray[$key]); } } if (!array_key_exists('media', $layout)) { $block_classes[] = 'tmb-only-text'; $with_media = false; } else { $with_media = true; } if ($single_text === 'overlay') { $block_classes[] = 'tmb-media-first'; $block_classes[] = 'tmb-media-last'; $block_classes[] = 'tmb-content-overlay'; } else { $block_classes[] = 'tmb-content-under'; $layoutLast = (string) array_pop($layoutArray); if (($layoutLast === 'media' || $layoutLast === '') && $with_media) { $block_classes[] = 'tmb-media-last'; } else { $block_classes[] = 'tmb-media-first'; } } $media_alt = isset($media_attributes->alt) ? $media_attributes->alt : ''; if ($single_back_color === '') { $block_classes[] = 'tmb-no-bg'; } else { $single_back_color = ' style-' . $single_back_color . '-bg'; } $output = '<div class="' . implode(' ', $block_classes) . '"> <div class="' . ($nested !== 'yes' ? 't-inside' : '') . $single_back_color . $single_animation . '" ' . implode(' ', array_map(function ($v, $k) { return $k . '="' . $v . '"'; }, $tmb_data, array_keys($tmb_data))) . '>'; if ($single_text === 'under' && $layoutLast === 'media') { $output .= $entry; } if (array_key_exists('media', $layout) || $single_text === 'overlay') { $output .= '<div class="t-entry-visual"> <div class="t-entry-visual-tc"> <div class="t-entry-visual-cont">'; if ($style_preset === 'masonry' && ($images_size !== '' || ($single_text === 'under' || $single_elements_click !== 'yes')) && array_key_exists('media', $layout)) { if ($media_type === 'image' && $image_orig_w != 0 && $image_orig_h != 0) { $dummy_padding = round($image_orig_h / $image_orig_w * 100, 2); $output .= '<div class="dummy" style="padding-top: ' . $dummy_padding . '%;"></div>'; } } if (($single_text === 'under' || $single_elements_click !== 'yes') && $media_type === 'image') { if ($style_preset === 'masonry') { $a_classes[] = 'pushed'; } $data_values = isset($block_data['link']['target']) && !empty($block_data['link']['target']) && is_array($block_data['link']) ? ' target="' . trim($block_data['link']['target']) . '"' : ''; $output .= '<a href="' . ($media_type === 'image' ? $create_link : '') . '"' . (count($a_classes) > 0 ? ' class="' . trim(implode(' ', $a_classes)) . '"' : '') . $lightbox_data . $data_values . '>'; } $output .= '<div class="t-entry-visual-overlay"><div class="t-entry-visual-overlay-in ' . $overlay_color . '" style="opacity: ' . $overlay_opacity . ';"></div></div> <div class="t-overlay-wrap"> <div class="t-overlay-inner"> <div class="t-overlay-content"> <div class="t-overlay-text ' . $block_data['text_padding'] . '">'; if ($single_text === 'overlay') { $output .= $entry; } else { $output .= '<div class="t-entry t-single-line">'; if (array_key_exists('icon', $layout)) { if ($single_icon !== '') { $output .= '<i class="' . $single_icon . ' t-overlay-icon"></i>'; } } $output .= '</div>'; } $output .= '</div> </div> </div> </div>'; if (array_key_exists('media', $layout)) { if ($style_preset === 'metro') { if ($single_elements_click === 'yes' && $media_type === 'image') { $a_classes[] = 't-background-click'; $data_values = !empty($block_data['link']['target']) ? ' target="' . trim($block_data['link']['target']) . '"' : ''; $output .= '<a href="' . ($media_type === 'image' ? $create_link : '') . '"' . (count($a_classes) > 0 ? ' class="' . trim(implode(' ', $a_classes)) . '"' : '') . $lightbox_data . $data_values . '> <div class="t-background-cover" style="background-image:url(\'' . $item_media . '\')"></div> </a>'; } else { if ($media_type === 'image') { $output .= '<div class="t-background-cover" style="background-image:url(\'' . $item_media . '\')"></div>'; } else { $output .= '<div class="fluid-object ' . trim(implode(' ', $title_classes)) . ' ' . $object_class . '"' . $dummy_oembed . '>' . $media_code . '</div>'; } } } else { if ($media_type === 'image') { $output .= '<img src="' . $item_media . '" width="' . $image_orig_w . '" height="' . $image_orig_h . '" alt="' . $media_alt . '" />'; } else { $output .= '<div class="fluid-object ' . trim(implode(' ', $title_classes)) . ' ' . $object_class . '"' . $dummy_oembed . '>' . $media_code . '</div>'; } } } if (($single_text === 'under' || $single_elements_click !== 'yes') && $media_type === 'image') { $output .= '</a>'; } if ($is_product) { $product = wc_get_product($block_data['id']); $product_add_to_cart = sprintf('<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" class="%s product_type_%s">%s</a>', esc_url($product->add_to_cart_url()), esc_attr($product->id), esc_attr($product->get_sku()), $product->is_purchasable() ? 'add_to_cart_button' : '', esc_attr($product->product_type), esc_html($product->add_to_cart_text())); $output .= '<div class="add-to-cart-overlay">' . $product_add_to_cart . '</div>'; } $output .= '</div> </div> </div>'; } if ($single_text === 'under' && $layoutLast !== 'media') { $output .= $entry; } $output .= '</div> </div>'; return $output; }
$a_target = $link['target']; if ($media_lightbox !== '') { $media_attributes = uncode_get_media_info($media_lightbox); if (isset($media_attributes)) { $media_metavalues = unserialize($media_attributes->metadata); $media_mime = $media_attributes->post_mime_type; if (strpos($media_mime, 'image/') !== false && $media_mime !== 'image/url' && isset($media_metavalues['width']) && isset($media_metavalues['height'])) { $image_orig_w = $media_metavalues['width']; $image_orig_h = $media_metavalues['height']; $big_image = uncode_resize_image($media_attributes->guid, $media_attributes->path, $image_orig_w, $image_orig_h, 12, null, false); $a_href = $big_image['url']; } else { if ($media_mime === 'image/url') { $a_href = $media_attributes->guid; } else { $media_oembed = uncode_get_oembed($media_lightbox, $media_attributes->guid, $media_attributes->post_mime_type, false, $media_attributes->post_excerpt, $media_attributes->post_content, true); if ($media_mime === 'oembed/html' || $media_mime === 'oembed/iframe') { $frame_id = 'frame-' . big_rand(); $a_href = '#' . $frame_id; echo '<div id="' . $frame_id . '" style="display: none;">' . $media_attributes->post_content . '</div>'; } else { $a_href = $media_oembed['code']; } } } } $lightbox_data = ' data-lbox="ilightbox_single-' . big_rand() . '"'; } else { $lightbox_data = ''; } // Prepare button classes