= 0) {
/**
* Shortcode attributes
* @var $atts
* @var $title
* @var $source
* @var $image
* @var $custom_src
* @var $onclick
* @var $img_size
* @var $external_img_size
* @var $caption
* @var $img_link_large
* @var $link
* @var $img_link_target
* @var $alignment
* @var $el_class
* @var $css_animation
* @var $style
* @var $external_style
* @var $border_color
* @var $css
* Shortcode class
* @var $this WPBakeryShortCode_VC_Single_image
*/
$title = $source = $image = $custom_src = $onclick = $img_size = $external_img_size =
$caption = $img_link_large = $link = $img_link_target = $alignment = $el_class = $css_animation = $style = $external_style = $border_color = $css = '';
$atts = vc_map_get_attributes( $this->getShortcode(), $atts );
extract( $atts );
$default_src = vc_asset_url( 'vc/no_image.png' );
// backward compatibility. since 4.6
if ( empty( $onclick ) && isset( $img_link_large ) && 'yes' === $img_link_large ) {
$onclick = 'img_link_large';
} else if ( empty( $atts['onclick'] ) && ( ! isset( $atts['img_link_large'] ) || 'yes' !== $atts['img_link_large'] ) ) {
$onclick = 'custom_link';
}
if ( 'external_link' === $source ) {
$style = $external_style;
$border_color = $external_border_color;
}
$border_color = ( $border_color !== '' ) ? ' vc_box_border_' . $border_color : '';
$img = false;
switch ( $source ) {
case 'media_library':
case 'featured_image':
if ( 'featured_image' === $source ) {
$post_id = get_the_ID();
if ( $post_id && has_post_thumbnail( $post_id ) ) {
$img_id = get_post_thumbnail_id( $post_id );
} else {
$img_id = 0;
}
} else {
$img_id = preg_replace( '/[^\d]/', '', $image );
}
// set rectangular
if ( preg_match( '/_circle_2$/', $style ) ) {
$style = preg_replace( '/_circle_2$/', '_circle', $style );
$img_size = $this->getImageSquareSize( $img_id, $img_size );
}
if ( ! $img_size ) {
$img_size = 'medium';
}
$img = wpb_getImageBySize( array(
'attach_id' => $img_id,
'thumb_size' => $img_size,
'class' => 'vc_single_image-img'
) );
// don't show placeholder in public version if post doesn't have featured image
if ( 'featured_image' === $source ) {
if ( ! $img && 'page' === vc_manager()->mode() ) {
return;
}
}
break;
case 'external_link':
$dimensions = vcExtractDimensions( $external_img_size );
$hwstring = $dimensions ? image_hwstring( $dimensions[0], $dimensions[1] ) : '';
$custom_src = $custom_src ? esc_attr( $custom_src ) : $default_src;
$img = array(
'thumbnail' => ''
);
break;
default:
$img = false;
}
if ( ! $img ) {
$img['thumbnail'] = '
';
}
$el_class = $this->getExtraClass( $el_class );
// backward compatibility
if ( vc_has_class( 'prettyphoto', $el_class ) ) {
$onclick = 'link_image';
}
// backward compatibility. will be removed in 4.7+
if ( ! empty( $atts['img_link'] ) ) {
$link = $atts['img_link'];
if ( ! preg_match( '/^(https?\:\/\/|\/\/)/', $link ) ) {
$link = 'http://' . $link;
}
}
// backward compatibility
if ( in_array( $link, array( 'none', 'link_no' ) ) ) {
$link = '';
}
$a_attrs = array();
switch ( $onclick ) {
case 'img_link_large':
if ( 'external_link' === $source ) {
$link = $custom_src;
} else {
$link = wp_get_attachment_image_src( $img_id, 'large' );
$link = $link[0];
}
break;
case 'link_image':
// wp_enqueue_script( 'prettyphoto' );
// wp_enqueue_style( 'prettyphoto' );
$a_attrs['class'] = 'qode-prettyphoto';
$a_attrs['data-rel'] = 'prettyPhoto[rel-' . get_the_ID() . '-' . rand() . ']';
// backward compatibility
if ( vc_has_class( 'prettyphoto', $el_class ) ) {
// $link is already defined
} else if ( 'external_link' === $source ) {
$link = $custom_src;
} else {
$link = wp_get_attachment_image_src( $img_id, 'large' );
$link = $link[0];
}
break;
case 'custom_link':
// $link is already defined
break;
case 'zoom':
wp_enqueue_script( 'vc_image_zoom' );
if ( 'external_link' === $source ) {
$large_img_src = $custom_src;
} else {
$large_img_src = wp_get_attachment_image_src( $img_id, 'large' );
if ( $large_img_src ) {
$large_img_src = $large_img_src[0];
}
}
$img['thumbnail'] = str_replace( '
' . $img['thumbnail'] . '' : $img['thumbnail'];
$html = '
';
}//' '.__('This is image placeholder, edit your page to replace it.', 'js_composer').'';
$el_class = $this->getExtraClass( $el_class );
$a_class = '';
if ( $el_class != '' ) {
$tmp_class = explode( " ", strtolower( $el_class ) );
$tmp_class = str_replace( ".", "", $tmp_class );
if ( in_array( "prettyphoto", $tmp_class ) ) {
wp_enqueue_script( 'prettyphoto' );
wp_enqueue_style( 'prettyphoto' );
$a_class = ' class="prettyphoto"' . ' rel="prettyPhoto[rel-' . get_the_ID() . '-' . rand() . ']"';
$el_class = str_ireplace( " prettyphoto", "", $el_class );
}
}
$link_to = '';
if ( $img_link_large == true ) {
$link_to = wp_get_attachment_image_src( $img_id, 'large' );
$link_to = $link_to[0];
} else if ( strlen( $link ) > 0 ) {
$link_to = $link;
} else if ( ! empty( $img_link ) ) {
$link_to = $img_link;
if ( ! preg_match( '/^(https?\:\/\/|\/\/)/', $link_to ) ) {
$link_to = 'http://' . $link_to;
}
}
//to disable relative links uncomment this..
if($qode_css_animation != ""){
$clsss_css_animation = " " . $qode_css_animation;
} else {
$clsss_css_animation = "";
}
$css_hover_class = '';
if ($qode_hover_animation !== ""){
$css_hover_class .= " qode_image_hover_".$qode_hover_animation;
}
$delay = "";
if($transition_delay != ""){
$delay = " style='transition-delay:" . $transition_delay . "s'";
}
$img_output = ( $style == 'vc_box_shadow_3d' ) ? '' . $img['thumbnail'] . '' : $img['thumbnail'];
$image_string = ! empty( $link_to ) ? '