%PDF- %PDF-
Direktori : /home/dopla/www/wp-content/plugins/kingcomposer/shortcodes/ |
Current File : /home/dopla/www/wp-content/plugins/kingcomposer/shortcodes/kc_single_image.php |
<?php /*---------------------------------- * Single image shortcode *--------------------------------*/ $output = $title_link = $alt = $image = $target = $overlay = $image_title = $image_source = $image_external_link = $image_size = $image_size_el = $caption = $on_click_action = $custom_link = $class = $ieclass = $image_full = $html = $css = ''; $size_array = array('full', 'medium', 'large', 'thumbnail'); $image_wrap = 'yes'; extract( $atts ); $css_classes = apply_filters( 'kc-el-class', $atts ); $default_src = kc_asset_url('images/get_start.jpg'); $image_source = $atts['image_source']; $image_url = ''; $image_id = $atts['image']; $image_size = $atts['image_size']; $on_click_action = $atts['on_click_action']; $data_lightbox = ''; $element_attributes = array(); $image_attributes = array(); $image_classes = array(); $css_classes = array_merge( $css_classes, array( 'kc_shortcode', 'kc_single_image' )); if ( !empty( $class ) ) $css_classes[] = $class; if ( !empty( $css ) ) $css_classes[] = $css; if( !empty( $ieclass ) ) $image_classes[] = $ieclass; if( $image_source == 'external_link' ) { $image_full = $atts['image_external_link']; $image_url = $image_full; $size = $atts['image_size_el']; if( !empty( $image_url ) ) $image_attributes[] = 'src="'.$image_url.'"'; else $image_attributes[] = 'src="'.$default_src.'"'; if( empty( $image_full ) ) $image_full = $default_src; if ( preg_match( '/(\d+)x(\d+)/', $size, $matches ) ) { $width = $matches[1]; $height = $matches[2]; $image_attributes[] = 'width="'. $width .'"'; $image_attributes[] = 'height="'. $height .'"'; } } else { if( $image_source == 'media_library' ) { //$image_id = preg_replace( '/[^\d]/', '', $image_id ); } else { $post_id = get_the_ID(); if ( $post_id && has_post_thumbnail( $post_id ) ) { $image_id = get_post_thumbnail_id( $post_id ); } else { $image_id = 0; } } $image_full_width = wp_get_attachment_image_src( $image_id, 'full' ); $image_full = $image_full_width[0]; if( in_array( $image_size, $size_array ) ){ $image_data = wp_get_attachment_image_src( $image_id, $image_size ); $image_url = $image_data[0]; }else{ $image_url = kc_tools::createImageSize( $image_full, $image_size ); } if( !empty( $image_url ) ) { $image_attributes[] = 'src="'.$image_url.'"'; } else { $image_attributes[] = 'src="'.$default_src.'"'; $image_classes[] = 'kc_image_empty'; } if( empty( $image_full ) ) $image_full = $default_src; } $image_attributes[] = 'class="'.implode( ' ', $image_classes ).'"'; if( !empty( $alt ) ) $image_attributes[] = 'alt="'. trim(esc_attr($alt)) .'"'; else $image_attributes[] = 'alt=""'; $title_link = $alt; if( $on_click_action == 'lightbox' ) { $data_lightbox = 'rel="prettyPhoto" class="kc-pretty-photo"'; wp_enqueue_script('prettyPhoto'); wp_enqueue_style( 'prettyPhoto' ); } else if( $on_click_action == 'open_custom_link' ) { $custom_link = ( '||' === $custom_link ) ? '' : $custom_link; $custom_link = kc_parse_link($custom_link); if ( strlen( $custom_link['url'] ) > 0 ) { $image_full = $custom_link['url']; $title_link = $custom_link['title']; $target = strlen( $custom_link['target'] ) > 0 ? $custom_link['target'] : '_self'; } } //overlay layer if( !empty( $overlay ) ){ $html = '<div class="kc-image-overlay">'; if( !empty( $icon ) ) $html .= '<i class="' . $icon . '"></i>'; $html .= '</div>'; } $css_class = implode(' ', $css_classes); $element_attributes[] = 'class="' . esc_attr( trim( $css_class ) ) . '"'; ?> <div <?php echo implode( ' ', $element_attributes ) ;?>> <?php if( !empty($on_click_action) ) { ?> <a <?php echo $data_lightbox ;?> href="<?php echo esc_attr( $image_full );?>" title="<?php echo strip_tags( $title_link ) ;?>" target="<?php echo esc_attr( $target );?>"> <img <?php echo implode( ' ', $image_attributes ) ;?> /><?php echo $html;?> </a> <?php } else { ?> <img <?php echo implode( ' ', $image_attributes ) ;?> /><?php echo $html; ?> <?php } if( !empty( $caption ) ){ ?> <p class="scapt"><?php echo html_entity_decode( $caption );?></p> <?php } ?> </div>