HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpprm/wp-content/themes/ronneby/inc/vc_custom/vc_templates/dfd_masonry_container.php
<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
$layout_style = $enable_sort_panel = $sort_panel_alignment = $categories_strings = $el_class = $columns_number_wide = $columns_number_normal = $columns_number_medium = $columns_number_small = $columns_number_mobile = '';
$args = array(
    'layout_style' => 'masonry',
    'enable_sort_panel' => '',
    'sort_panel_alignment' => 'text-left',
    'categories_strings' => '',
    'columns_number_wide' => '',
    'columns_number_normal' => '',
    'columns_number_medium' => '',
    'columns_number_small' => '',
    'columns_number_mobile' => '',
    'el_class' => ''
);
extract(shortcode_atts($args, $atts));

wp_enqueue_script('isotope');

$sort_panel_html = '';

if(strcmp($enable_sort_panel, 'enabled') === 0) {
	$order   = array("\r\n", "\n", "\r", "<br/>", "<br>");
	$replace = '|';

	$str = str_replace($order, $replace, $categories_strings);

	$lines = explode("|", $str);

	$sort_panel_html .= '<div class="sort-panel '.esc_attr($sort_panel_alignment).'">';
	$sort_panel_html .= '<ul class="filter filter-buttons">';
	$sort_panel_html .= '<li class="active"><a data-filter=".dfd-isotope-item" href="#">'. __('All', 'dfd') .'</a></li>';
	foreach($lines as $key => $line)  {
		$category_name = __(trim(htmlspecialchars_decode(strip_tags($line))),'js_composer');
		$sort_panel_html .= '<li><a href="#" data-filter=".dfd-isotope-item[data-category~=\''.strtolower(preg_replace('/\s+/', '-', $category_name)).'\']">'.esc_attr($category_name).'</a></li>';
	} 
	$sort_panel_html .= '</ul>';
	$sort_panel_html .= '</div>';
}	

$unique_id = uniqid('dfd-isotope-container-');

$output = '';


$output .= '<div id="'.esc_attr($unique_id).'" class="dfd-masonry-container-wrap '.esc_attr($el_class).'" data-dfd_style="'.esc_attr($layout_style).'" data-dfd_columns-wide="'.esc_attr($columns_number_wide).'" data-dfd_columns-normal="'.esc_attr($columns_number_normal).'" data-dfd_columns-medium="'.esc_attr($columns_number_medium).'" data-dfd_columns-small="'.esc_attr($columns_number_small).'" data-dfd_columns-mobile="'.esc_attr($columns_number_mobile).'">';
$output .= $sort_panel_html;
$output .= '<div class="dfd-masonry-container">';
$output .= do_shortcode($content);
$output .= '</div>';
$output .= '</div>';

ob_start();
?>
<script type="text/javascript">
(function($){
	"use strict";
	
	var $window = $(window);
	
	$(document).ready(function () {
		var $wrapper = $('#<?php echo esc_js($unique_id); ?>');
		var $container = $('.dfd-masonry-container', $wrapper);
		var $items = $('.dfd-isotope-item', $container);
		var layout_style = $wrapper.data('dfd_style');
		var columns_wide = $wrapper.data('dfd_columns-wide');
		var columns_normal = $wrapper.data('dfd_columns-normal');
		var columns_medium = $wrapper.data('dfd_columns-medium');
		var columns_small = $wrapper.data('dfd_columns-small');
		var columns_mobile = $wrapper.data('dfd_columns-mobile');
		
		if(!layout_style) layout_style = 'masonry';
		if(!columns_wide) columns_wide = 5;
		if(!columns_normal) columns_normal = 4;
		if(!columns_medium) columns_medium = 3;
		if(!columns_small) columns_small = 2;
		if(!columns_mobile) columns_mobile = 1;
		
		var columns = 3;
		var columnsWidth;

		var setColumns = function () {
			$items = $('.dfd-isotope-item', $container);
			var width = $container.width();

			switch(true) {
				case (width > 1280): columns = columns_wide; break;
				case (width > 1024): columns = columns_normal; break;
				case (width > 800): columns = columns_medium; break;
				case (width > 460): columns = columns_small; break;
				default: columns = columns_mobile;
			}

			columnsWidth = Math.floor($container.width() / columns);
			$items.width(columnsWidth);
		};

		var runIsotope = function() {
			setColumns();
			
			$container.isotope({
				layoutMode: layout_style,
				masonry: {
					columnWidth: columnsWidth
				},
				itemSelector : '.dfd-isotope-item', 
				resizable : true
			});
			
			$('body').bind('isotope-add-item', function(e, item) {
				$(item).width(columnsWidth);
				$(item).imagesLoaded(function() {
					$container.isotope('insert', $(item));
				});
			});
		};

		runIsotope();
		$container.imagesLoaded(runIsotope);
		
		$window.on('load resize',runIsotope);

		$('.sort-panel .filter a', $wrapper).click(function () { 
			var selector = $(this).attr('data-filter');

			$(this).parent().parent().find('> li.active').removeClass('active');
			$(this).parent().addClass('active');

			$container.isotope( { 
				filter : selector 
			});

			return false;
		});
	});
	
})(jQuery);

</script>
<?php
$output .= ob_get_clean();

print $output;