<?php
/** Multisite Post Slider Block
 *
 * @package Bw-Winners-Network
 */

namespace BwWinnersNetwork;

if ( ! class_exists( __NAMESPACE__ . '\Multisite_Post_Slider' ) ) {

	/**
	 * Register Multisite Post Slider Block
	 */
	class Multisite_Post_Slider {

		/**
		 * Adds hooks.
		 */
		public function __construct() {
			add_action( 'init', [ $this, 'register_assets' ] );
		}

		/**
		 * Registers styles and scripts.
		 */
		public function register_assets() {

			// Multisite Post Slider Block

			$test = register_block_type(
				plugin_dir_path( PLUGIN_PATH ) . 'build/blocks/multisite-post-slider',
				[
					'render_callback' => [ $this, 'block_render' ],
				]
			);


			// Multisite Post Slider Block View

			wp_register_script(
				'multisite-post-slider',
				plugins_url( 'assets/js/multisite-post-slider.js', PLUGIN_PATH ),
				[ 'swiper' ],
				'2.0.0',
				[
					'in_footer' => true
				]
			);
			
			wp_register_style(
				'multisite-post-slider',
				plugins_url( 'assets/css/multisite-post-slider.css', PLUGIN_PATH ),
				[ 'swiper' ],
				'2.0.0',
			);
		}

		function block_render ( $block_attributes, $content ) {
			ob_start();
			$blog_id = isset( $block_attributes['blogId'] ) ? $block_attributes['blogId'] : get_current_blog_id();

			$post_type = isset( $block_attributes['postType'] ) ? $block_attributes['postType'] : 'events';

			$posts_per_page = isset( $block_attributes['slides'] ) ? $block_attributes['slides'] : 9;


			switch_to_blog( $blog_id );

			$query = new \WP_Query( [ 'post_type' => $post_type, 'posts_per_page' => $posts_per_page ] );
			?>
				<div class="bw-multisite-post-slider swiper">
					<div class="swiper-wrapper">
						<?php while ( $query->have_posts() ) {
							$query->the_post();
							$title = get_the_title();
							$image = get_the_post_thumbnail_url();
							$link = esc_url( get_post_meta( get_the_ID(), 'event_link', true ) );
							?>
								<div class="bw-multisite-post-slide swiper-slide">
									<?php echo $link ?  "<a href=\"$link\" class=\"bw-thumb-wrapper\">" : '<span class="bw-thumb-wrapper">'; ?>
										<?php if ( ! empty( $image ) ): ?>
											<img loading="lazy" decoding="async" width="640" height="280" src="<?php echo $image; ?>" alt="" />
										<?php endif; ?>
									<?php echo $link ?  '</a>' : '</span>'; ?>
									<div class="bw-title">
										<?php echo $link ?  "<a href=\"$link\" class=\"bw-title-wrapper\">" : '<span class="bw-title-wrapper">'; ?>
											<?php echo $title; ?>
										<?php echo $link ?  '</a>' : '</span>'; ?>
									</div>
								</div>
							<?php
						} ?>
					</div>
	  				<div class="swiper-pagination"></div>
					<div class="swiper-button-prev"></div>
					<div class="swiper-button-next"></div>
				</div>
			<?php

			wp_reset_postdata();

			restore_current_blog();

			return ob_get_clean();
		}
	}
}
