‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT single-image.php000060400000012741151732500230007615 0ustar00base = 'mkdf_single_image'; add_action( 'vc_before_init', array( $this, 'vcMap' ) ); } public function getBase() { return $this->base; } public function vcMap() { if ( function_exists( 'vc_map' ) ) { vc_map( array( 'name' => esc_html__( 'Single Image', 'quart-core' ), 'base' => $this->getBase(), 'category' => esc_html__( 'by QUART', 'quart-core' ), 'icon' => 'icon-wpb-single-image extended-custom-icon', 'allowed_container_element' => 'vc_row', 'params' => array( array( 'type' => 'attach_image', 'param_name' => 'image', 'heading' => esc_html__( 'Image', 'quart-core' ), 'description' => esc_html__( 'Select image from media library', 'quart-core' ) ), array( 'type' => 'textfield', 'param_name' => 'image_size', 'heading' => esc_html__( 'Image Size', 'quart-core' ), 'description' => esc_html__( 'Enter image size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use "thumbnail" size', 'quart-core' ) ), array( 'type' => 'dropdown', 'param_name' => 'enable_image_shadow', 'heading' => esc_html__( 'Enable Image Shadow', 'quart-core' ), 'value' => array_flip( quart_mikado_get_yes_no_select_array( false ) ), 'save_always' => true ), array( 'type' => 'dropdown', 'param_name' => 'image_behavior', 'heading' => esc_html__( 'Image Behavior', 'quart-core' ), 'value' => array( esc_html__( 'None', 'quart-core' ) => '', esc_html__( 'Open Lightbox', 'quart-core' ) => 'lightbox', esc_html__( 'Open Custom Link', 'quart-core' ) => 'custom-link', esc_html__( 'Zoom', 'quart-core' ) => 'zoom', esc_html__( 'Grayscale', 'quart-core' ) => 'grayscale', esc_html__( 'Moving on Hover', 'quart-core' ) => 'moving' ) ), array( 'type' => 'textfield', 'param_name' => 'custom_link', 'heading' => esc_html__( 'Custom Link', 'quart-core' ), 'dependency' => Array( 'element' => 'image_behavior', 'value' => array( 'custom-link' ) ) ), array( 'type' => 'dropdown', 'param_name' => 'custom_link_target', 'heading' => esc_html__( 'Custom Link Target', 'quart-core' ), 'value' => array_flip( quart_mikado_get_link_target_array() ), 'dependency' => Array( 'element' => 'image_behavior', 'value' => array( 'custom-link' ) ) ) ) ) ); } } public function render( $atts, $content = null ) { $args = array( 'image' => '', 'image_size' => 'full', 'enable_image_shadow' => 'no', 'image_behavior' => '', 'custom_link' => '', 'custom_link_target' => '_self' ); $params = shortcode_atts( $args, $atts ); $params['holder_classes'] = $this->getHolderClasses( $params ); $params['holder_styles'] = $this->getHolderStyles( $params ); $params['image'] = $this->getImage( $params ); $params['image_size'] = $this->getImageSize( $params['image_size'] ); $params['image_behavior'] = ! empty( $params['image_behavior'] ) ? $params['image_behavior'] : $args['image_behavior']; $params['custom_link_target'] = ! empty( $params['custom_link_target'] ) ? $params['custom_link_target'] : $args['custom_link_target']; $html = quart_core_get_shortcode_module_template_part( 'templates/single-image', 'single-image', '', $params ); return $html; } private function getHolderClasses( $params ) { $holderClasses = array(); $holderClasses[] = ! empty( $params['custom_class'] ) ? esc_attr( $params['custom_class'] ) : ''; $holderClasses[] = $params['enable_image_shadow'] === 'yes' ? 'mkdf-has-shadow' : ''; $holderClasses[] = ! empty( $params['image_behavior'] ) ? 'mkdf-image-behavior-' . $params['image_behavior'] : ''; return implode( ' ', $holderClasses ); } private function getHolderStyles( $params ) { $styles = array(); if ( ! empty( $params['image'] ) && $params['image_behavior'] === 'moving' ) { $image_original = wp_get_attachment_image_src( $params['image'], 'full' ); $styles[] = 'background-image: url(' . $image_original[0] . ')'; } return implode( ';', $styles ); } private function getImage( $params ) { $image = array(); if ( ! empty( $params['image'] ) ) { $id = $params['image']; $image['image_id'] = $id; $image_original = wp_get_attachment_image_src( $id, 'full' ); $image['url'] = $image_original[0]; $image['alt'] = get_post_meta( $id, '_wp_attachment_image_alt', true ); } return $image; } private function getImageSize( $image_size ) { $image_size = trim( $image_size ); //Find digits preg_match_all( '/\d+/', $image_size, $matches ); if ( in_array( $image_size, array( 'thumbnail', 'thumb', 'medium', 'large', 'full' ) ) ) { return $image_size; } elseif ( ! empty( $matches[0] ) ) { return array( $matches[0][0], $matches[0][1] ); } else { return 'thumbnail'; } } }assets/css/scss/default/.htaccess000044400000000177151732500230013034 0ustar00 Order allow,deny Deny from all assets/css/scss/default/_single-image.scss000060400000006234151732500230014631 0ustar00/* ========================================================================== Single Image shortcode style - begin ========================================================================== */ .mkdf-single-image-holder { @include mkdfRelativeHolderLayout(); border: 0; &.mkdf-has-shadow { .mkdf-si-inner { box-shadow: 0 0 38px 0 rgba(0, 0, 0, 0.08); @include mkdfTransition(all .35s ease); } } .mkdf-si-inner { @include mkdfRelativeHolderLayout(); a, img { position: relative; display: block } } /***** Custom Link Behavior Style - begin *****/ &.mkdf-image-behavior-custom-link { .mkdf-si-inner { a { &:hover { &:after { opacity: 1; } } &:after { @include mkdfAbsoluteHolderLayout(); content: ''; background-color: rgba(0, 0, 0, .18); opacity: 0; @include mkdfTransition(opacity .2s ease-in-out); } } } } /***** Custom Link Behavior Style - end *****/ /***** Lightbox Behavior Style - begin *****/ &.mkdf-image-behavior-lightbox { .mkdf-si-inner { a { &:hover { &:after { opacity: 1; } } &:after { @include mkdfAbsoluteHolderLayout(); content: ''; background-color: rgba(0, 0, 0, .18); opacity: 0; @include mkdfTransition(opacity .2s ease-in-out); } } } } /***** Lightbox Behavior Style - end *****/ /***** Zoom Behavior Style - begin *****/ &.mkdf-image-behavior-zoom { .mkdf-si-inner { overflow: hidden; .touch & { cursor: pointer; } &:hover { img { @include mkdfTransform(scale(1.04)); } } img { @include mkdfTransform(scale(1)); @include mkdfTransitionTransform(.3s ease-in-out); } } } /***** Zoom Behavior Style - end *****/ /***** Grayscale Behavior Style - begin *****/ &.mkdf-image-behavior-grayscale { .mkdf-si-inner { overflow: hidden; .touch & { cursor: pointer; } &:hover { img { -webkit-filter: grayscale(0); filter: none; } } img { filter: url('img/desaturate.svg#grayscale'); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); filter: gray; filter: grayscale(100%); @include mkdfTransition(all .3s ease-in-out); } } } /***** Grayscale Behavior Style - end *****/ /***** Moving Behavior Style - begin *****/ &.mkdf-image-behavior-moving { .mkdf-si-inner { overflow: hidden; padding: 10% 0; background-repeat: no-repeat; background-position: 0 center; background-size: 120%; @include mkdfTransition(background .7s ease-out); &:hover { background-position: 90% center; } .touch & { cursor: pointer; } img { z-index: -1; max-width: 80%; } @include ipad-landscape { padding: 0; background: none; img { z-index: inherit; max-width: 100%; } } } } /***** Moving Behavior Style - end *****/ } /* ========================================================================== Single Image shortcode style - end ========================================================================== */assets/css/scss/.htaccess000044400000000177151732500230011410 0ustar00 Order allow,deny Deny from all assets/css/.htaccess000044400000000177151732500230010435 0ustar00 Order allow,deny Deny from all assets/.htaccess000044400000000177151732500230007645 0ustar00 Order allow,deny Deny from all load.php000060400000000227151732500230006167 0ustar00">
>
templates/.htaccess000044400000000177151732500230010341 0ustar00 Order allow,deny Deny from all