HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-59-generic #61-Ubuntu SMP PREEMPT_DYNAMIC Fri Apr 11 23:16:11 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /opt/wpsites/datainsightnow.com/wp-content/plugins/essential-blocks/blocks/ImageGallery.php
<?php
namespace EssentialBlocks\blocks;

use EssentialBlocks\Core\Block;

class ImageGallery extends Block {
	protected $frontend_scripts = array( 'essential-blocks-image-gallery-frontend' );
	protected $frontend_styles  = array( 'essential-blocks-frontend-style' );

	/**
	 * Unique name of the block.
	 *
	 * @return string
	 */
	public function get_name() {
		return 'image-gallery';
	}

	/**
	 * Register all other scripts
	 *
	 * @return void
	 */
	public function register_scripts() {
		$this->assets_manager->register(
			'image-gallery-frontend',
			$this->path() . '/frontend/index.js'
		);
	}
	/**
	 * block's render callback function
	 *
	 * @param array  $attributes
	 * @param string $content
	 * @return mixed
	 */
	public function render_callback( $attributes, $content ) {
		if ( ! is_admin() ) {
			$disableLightBox = false;
			if ( isset( $attributes['disableLightBox'] ) && $attributes['disableLightBox'] == true ) {
				$disableLightBox = true;
			}

			$enableFilter = false;
			if ( isset( $attributes['enableFilter'] ) && $attributes['enableFilter'] == true ) {
				$enableFilter = true;
			}
			if ( $enableFilter ) {
				$this->assets_manager->enqueue(
					'isotope',
					'js/isotope.pkgd.min.js'
				);

				$this->assets_manager->enqueue(
					'image-loaded',
					'js/images-loaded.min.js'
				);
			}

			// Load Lighbox Resource if Lightbox isn't disbaled
			if ( ! $disableLightBox ) {
				$this->assets_manager->enqueue(
					'fslightbox',
					'js/fslightbox.min.js',
					array( 'jquery' )
				);

				$this->assets_manager->enqueue(
					'fslightbox-style',
					'css/fslightbox.min.css'
				);
			}
		}
		return $content;
	}
}