HEX
Server: Apache/2.4.37 (AlmaLinux) mpm-itk/2.4.7-04 OpenSSL/1.1.1k PHP/7.2.24
System: Linux cp.iqhost.ru 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User: iq22073873 (6195)
PHP: 7.2.24
Disabled: NONE
Upload Files
File: /var/www/iq22073873/data/www/bckln.ru/wp-content/themes/dt-the7/inc/helpers/masonry-template.php
<?php
/**
 * Masonry templates helpers
 *
 * @package vogue
 * @since 1.0.0
 */

if ( ! function_exists( 'presscore_masonry_container_data_atts' ) ) :

	/**
	 * [presscore_masonry_container_data_atts description]
	 *
	 * @since 1.0.0
	 * 
	 * @return satring [description]
	 */
	function presscore_masonry_container_data_atts( $custom_atts = array() ) {

		$config = Presscore_Config::get_instance();

		$data_atts = array(
			'data-padding="' . intval( $config->get( 'item_padding' ) ) . 'px"',
			'data-cur-page="' . dt_get_paged_var() . '"'
		);
		$data_atts = array_merge( $data_atts, $custom_atts );

		if ( $config->get( 'hide_last_row' ) ) {
			$data_atts[] = 'data-part-row="false"';
		}

		$target_height = $config->get( 'target_height' );
		if ( null !== $target_height ) {
			$data_atts[] = 'data-target-height="' . absint( $target_height ) . 'px"';
		}

		$target_width = $config->get( 'post.preview.width.min' );
		if ( null !== $target_width ) {
			$data_atts[] = 'data-width="' . absint( $target_width ) . 'px"';
		}

		$columns = $config->get( 'template.columns.number' );
		if ( null !== $columns ) {
			$data_atts[] = 'data-columns="' . absint( $columns ) . '"';
		}

		return ' ' . implode( ' ', $data_atts );
	}

endif;

if ( ! function_exists( 'presscore_masonry_container_class' ) ) :

	/**
	 * Returns html class property based on current template settings.
	 * 
	 * @since 1.0.0
	 * @param  array  $custom_class Custom class.
	 * @return string
	 */
	function presscore_masonry_container_class( $custom_class = array() ) {
		$_custom_class = $custom_class;
		if ( ! is_array( $_custom_class ) ) {
			$_custom_class = (string) $_custom_class;
			$_custom_class = explode( ' ', $_custom_class );
		}
		$html_class = $_custom_class;
		$config = presscore_config();

		// ajax class
		if ( !in_array( $config->get( 'load_style' ), array( 'default', false ) ) ) {
			$html_class[] = 'with-ajax';
		}

		// loading effect
		$html_class[] = presscore_tpl_get_load_effect_class( $config->get( 'post.preview.load.effect' ) );

		// lazy loading
		if ( 'lazy_loading' == $config->get( 'load_style' ) ) {
			$html_class[] = 'lazy-loading-mode';
		}

		// layout
		switch ( $config->get( 'layout' ) ) {
			case 'grid': $html_class[] = 'iso-grid'; break;
			case 'masonry': $html_class[] = 'iso-container'; break;
		}

		if ( $config->get( 'justified_grid' ) ) {
			$html_class[] = 'jg-container';
		}

		// post preview background
		if ( $config->get( 'post.preview.background.enabled' ) ) {
			$html_class[] = 'bg-under-post';
		}

		// description style
		$description_style = $config->get( 'post.preview.description.style' );
		if ( 'under_image' == $description_style ) {
			$html_class[] = 'description-under-image';
		} else if ( 'disabled' != $description_style ) {
			$html_class[] = 'description-on-hover';
		}

		// hover classes
		switch ( $description_style ) {

			case 'on_hoover_centered':
				$html_class[] = 'hover-style-two';
				$html_class[] = presscore_tpl_get_hover_anim_class( $config->get( 'post.preview.hover.animation' ) );

				// content align
				$html_class[] = presscore_tpl_get_content_align_class( $config->get( 'post.preview.description.alignment' ) );

				if ( 'dark' == $config->get( 'post.preview.hover.color' ) ) {
					$html_class[] = 'hover-color-static';
				}
				break;

			case 'under_image':

				// content align
				$html_class[] = presscore_tpl_get_content_align_class( $config->get( 'post.preview.description.alignment' ) );

				if ( 'dark' == $config->get( 'post.preview.hover.color' ) ) {
					$html_class[] = 'hover-color-static';
				}
				break;

			case 'on_dark_gradient':
				$html_class[] = 'hover-style-one';

				// content align
				$html_class[] = presscore_tpl_get_content_align_class( $config->get( 'post.preview.description.alignment' ) );

				if ( 'always' == $config->get( 'post.preview.hover.content.visibility' ) ) {
					$html_class[] = 'always-show-info';
				}
				break;

			case 'from_bottom':
				$html_class[] = 'hover-style-three';
				$html_class[] = 'cs-style-3';

				// content align
				$html_class[] = presscore_tpl_get_content_align_class( $config->get( 'post.preview.description.alignment' ) );
				break;

			case 'bg_with_lines':
				$html_class[] = 'hover-style-two';
				$html_class[] = presscore_tpl_get_anim_effect_class( $config->get( 'post.preview.hover.lines.animation' ) );

				if ( 'dark' == $config->get( 'post.preview.hover.color' ) ) {
					$html_class[] = 'hover-color-static';
				}

				if ( 'always' == $config->get( 'post.preview.hover.title.visibility' ) ) {
					$html_class[] = 'always-show-info';
				}
				break;
		}

		// round images
		if ( 'round' == $config->get( 'image_layout' ) ) {
			$html_class[] = 'round-images';
		}

		/**
		 * Masonry container class filter.
		 *
		 * @since 1.0.0
		 * @var array $html_class
		 */
		$html_class = apply_filters( 'presscore_masonry_container_class', $html_class );

		return $html_class ? sprintf( 'class="%s"', presscore_esc_implode( ' ', array_unique( $html_class ) ) ) : '';
	}

endif;

if ( ! function_exists( 'presscore_tpl_get_hover_anim_class' ) ) :

	/**
	 * Returns hover animation html class. By default 'hover-fade'.
	 *
	 * @since 1.0.0
	 * @return string
	 */
	function presscore_tpl_get_hover_anim_class( $animation ) {
		switch ( $animation ) {
			case 'direction_aware': $class = 'hover-grid'; break;
			case 'redirection_aware': $class = 'hover-grid-reverse'; break;
			case 'scale_in': $class = 'hover-scale'; break;
			case 'fade':
			default: $class = 'hover-fade';
		}

		return $class;
	}

endif;

if ( ! function_exists( 'presscore_tpl_get_content_align_class' ) ) :

	/**
	 * Returns content alignment html class. By default 'content-align-centre'.
	 *
	 * @since 3.0.0
	 * @return string
	 */
	function presscore_tpl_get_content_align_class( $alignment ) {
		switch ( $alignment ) {
			case 'left': $class = 'content-align-left'; break;
			case 'bottom': $class = 'content-align-bottom'; break;
			case 'left_top': $class = 'content-align-left-top'; break;
			case 'left_bottom': $class = 'content-align-left-bottom'; break;
			case 'center':
			default: $class = 'content-align-centre';
		}

		return $class;
	}

endif;

if ( ! function_exists( 'presscore_tpl_get_anim_effect_class' ) ) :

	/**
	 * Returns animation effect html class. By default 'effect-layla'.
	 *
	 * @since 3.0.0
	 * @return string
	 */
	function presscore_tpl_get_anim_effect_class( $effect ) {
		switch ( $effect ) {
			case '2': $class = 'effect-bubba'; break;
			case '3': $class = 'effect-sarah'; break;
			case '1':
			default: $class = 'effect-layla';
		}

		return $class;
	}

endif;

if ( ! function_exists( 'presscore_tpl_get_load_effect_class' ) ) :

	/**
	 * Returns sanitized loading effect class.
	 *
	 * @since 1.0.0
	 * @return string
	 */
	function presscore_tpl_get_load_effect_class( $load_effect ) {
		return 'loading-effect-' . sanitize_html_class( str_replace( '_', '-', $load_effect ), 'fade-in' );
	}

endif;