<?php

if ( ! defined( 'ABSPATH' ) ) { return; }
if ( ! function_exists( 'is_singular' ) || ! is_singular( 'product' ) ) { return; }
if ( ! class_exists( 'AIEO_DMM_Product_Needs' ) ) { return; }

$module = null;
if ( class_exists( 'AIEO_DMM' ) && method_exists( 'AIEO_DMM', 'instance' ) ) {
    $dmm     = AIEO_DMM::instance();
    $modules = isset( $dmm->modules ) ? $dmm->modules : array();
    if ( isset( $modules['product_needs'] ) ) {
        $module = $modules['product_needs'];
    }
}

if ( $module && method_exists( $module, 'is_active' ) && ! $module->is_active() ) {
    return;
}

$html = '';
if ( $module && method_exists( $module, 'shortcode_handler' ) ) {
    $html = (string) $module->shortcode_handler( array() );
}

if ( $html === '' ) { return; }

$wrapper_attrs = function_exists( 'get_block_wrapper_attributes' )
    ? get_block_wrapper_attributes( array( 'class' => 'aieo-product-needs-block' ) )
    : 'class="aieo-product-needs-block"';

echo '<div ' . $wrapper_attrs . '>' . $html . '</div>'; 
