HEX
Server: LiteSpeed
System: Linux da4 4.18.0-553.74.1.lve.el8.x86_64 #1 SMP Tue Sep 9 14:25:24 UTC 2025 x86_64
User: wwwprimemarka (2294)
PHP: 5.6.40
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/wwwprimemarka/public_html/wp-content/themes/Zephyr/framework/shortcodes/us_single_image.php
<?php defined( 'ABSPATH' ) OR die( 'This script cannot be accessed directly.' );

/**
 * Shortcode: us_single_image
 *
 * Dev note: if you want to change some of the default values or acceptable attributes, overload the shortcodes config.
 *
 * @var   $shortcode      string Current shortcode name
 * @var   $shortcode_base string The original called shortcode name (differs if called an alias)
 * @var   $content        string Shortcode's inner content
 * @var   $atts           array Shortcode attributes
 *
 * @param $atts           ['image'] int WordPress media library image ID
 * @param $atts           ['size'] string Image size: 'large' / 'medium' / 'thumbnail' / 'full'
 * @param $atts           ['align'] string Image alignment: '' / 'left' / 'center' / 'right'
 * @param $atts           ['style'] string Image Style
 * @param $atts           ['meta'] bool Show items titles and description?
 * @param $atts           ['meta_style'] string Title and Description Style: 'simple' / 'modern'
 * @param $atts           ['onclick'] string On click action: '' / 'lightbox' / 'custom_link'
 * @param $atts           ['link'] string Image link in a serialized format: 'url:http%3A%2F%2Fwordpress.org|title:WP%20Website|target:_blank|rel:nofollow'
 * @param $atts           ['animate'] string Animation type: '' / 'fade' / 'afc' / 'afl' / 'afr' / 'afb' / 'aft' / 'hfc' / 'wfc'
 * @param $atts           ['animate_delay'] float Animation delay (in seconds)
 * @param $atts           ['el_class'] string Extra class name
 * @param $atts           ['css'] string Custom CSS
 */

$atts = us_shortcode_atts( $atts, 'us_single_image' );

$classes = $image_shadow = '';

// Link attributes' values
$link = array();

$img_id = intval( $atts['image'] );

if ( $img_id AND ( $image_html = wp_get_attachment_image( $img_id, $atts['size'] ) ) ) {
	// Check if the image is in SVG format and remove width and height for it in this case
	$img_src = wp_get_attachment_image_src( $img_id, $atts['size'] );
	$img_src_full = wp_get_attachment_image_src( $img_id, 'full' );
	if ( preg_match( '~\.svg$~', $img_src_full[0] ) ) {
		$image_html = preg_replace( '~(width|height)="\d+"~', '', $image_html );
	}

	// We got image
	if ( $atts['onclick'] == 'lightbox' ) {
		$link['url'] = wp_get_attachment_image_src( $img_id, 'full' );
		$link['url'] = ( $link['url'] ) ? $link['url'][0] : $image[0];
		$link['ref'] = 'magnificPopup';
	}

	if ( $atts['meta'] ) {
		$attachment = get_post( $img_id );
		$title = trim( strip_tags( get_post_meta( $img_id, '_wp_attachment_image_alt', TRUE ) ) );
		if ( empty( $title ) ) {
			// If not, Use the Caption
			$title = trim( strip_tags( $attachment->post_excerpt ) );
		}
		if ( empty( $title ) ) {
			// Finally, use the title
			$title = trim( strip_tags( $attachment->post_title ) );
		}
		$image_html .= '<div class="w-image-meta">';
		$image_html .= '<div class="w-image-title">' . $title . '</div>';
		$image_html .= ( ! empty( $attachment->post_content ) ) ? '<div class="w-image-description">' . $attachment->post_content . '</div>' : '';
		$image_html .= '</div>';
	}
	
	if ( $atts['style'] == 'shadow-2' ) {
		$image_shadow = '<div class="w-image-shadow" style="background-image:url(' . $img_src[0] . ');"></div>';
	}
} else {
	// In case of any image issue using placeholder so admin could understand it quickly
	// TODO Move placeholder URL to some config
	global $us_template_directory_uri;
	$placeholder_url = $us_template_directory_uri . '/framework/img/us-placeholder-square.jpg';
	$image_html = '<img src="' . $placeholder_url . '" width="600" height="600" alt="">';

	if ( $atts['meta'] ) {
		$image_html .= '<div class="w-image-meta">';
		$image_html .= '<div class="w-image-title">' . us_translate( 'Title' ) . '</div>';
		$image_html .= '<div class="w-image-description">' . us_translate( 'Description' ) . '</div>';
		$image_html .= '</div>';
	}
	
	if ( $atts['style'] == 'shadow-2' ) {
		$image_shadow = '<div class="w-image-shadow" style="background-image:url(' . $placeholder_url . ');"></div>';
	}
}

if ( $atts['onclick'] == 'custom_link' AND ! empty( $atts['link'] ) ) {
	// Passing params from vc_link field type
	$link = array_merge( $link, us_vc_build_link( $atts['link'] ) );
}

if ( ! empty( $link['url'] ) ) {
	$link_html = '<a href="' . esc_url( $link['url'] ) . '"';
	unset( $link['url'] );
	foreach ( $link as $key => $value ) {
		$link_html .= ' ' . $key . '="' . esc_attr( $value ) . '"';
	}
	if ( $atts['meta'] ) {
		$link_html .= ' title="' . esc_attr( $title ) . '"';
	}
	$link_html .= '>';
	$image_html = $link_html . $image_html . '</a>';
}

if ( ! empty( $atts['align'] ) ) {
	$classes .= ' align_' . $atts['align'];
}

if ( ! empty( $atts['style'] ) ) {
	$classes .= ' style_' . $atts['style'];
}

if ( ! empty( $atts['meta_style'] ) AND ( $atts['meta'] ) ) {
	$classes .= ' meta_' . $atts['meta_style'];
}

if ( ! empty( $atts['animate'] ) ) {
	$classes .= ' animate_' . $atts['animate'];
	if ( ! empty( $atts['animate_delay'] ) ) {
		$atts['animate_delay'] = floatval( $atts['animate_delay'] );
		$classes .= ' d' . intval( $atts['animate_delay'] * 5 );
	}
}

if ( ! empty( $atts['css'] ) AND function_exists( 'vc_shortcode_custom_css_class' ) ) {
	$classes .= ' ' . vc_shortcode_custom_css_class( $atts['css'] );
}

if ( $atts['el_class'] != '' ) {
	$classes .= ' ' . $atts['el_class'];
}

$output = '<div class="w-image' . $classes . '">';
$output .= '<div class="w-image-h">' . $image_shadow . $image_html . '</div>';
$output .= '</div>';

echo $output;