<?php
/**
 * Plugin Name: Simply English Adaptive Assessment
 * Plugin URI: https://github.com/your-repo/simply-english-assessment
 * Description: Adaptive English placement test for Simply English centres.
 * Version: 1.0.0
 * Requires at least: 6.5
 * Tested up to: 6.6
 * Author: Roger (via Dot)
 * License: GPL-2.0-or-later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: simply-english-assessment
 * Domain Path: /languages
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Prevent direct access.
}

/* --------------------------------------------------------------
   constants
   -------------------------------------------------------------- */
define( 'SEA_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'SEA_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
define( 'SEA_VERSION', '1.0.0' );

/* --------------------------------------------------------------
   Autoload classes
   -------------------------------------------------------------- */
spl_autoload_register( function( $class ) {
    // Load only our own classes.
    if ( 0 !== strpos( $class, 'SEA_' ) ) {
        return;
    }
    $file = SEA_PLUGIN_DIR . 'includes/class-' . strtolower( str_replace( 'SEA_', '', $class ) ) . '.php';
    if ( file_exists( $file ) ) {
        require_once $file;
    }
} );

/* --------------------------------------------------------------
   Init
   -------------------------------------------------------------- */
function sea_init() {
    // Register the question CPT.
    SEA_Question_CPT::instance();

    // Register shortcode.
    add_shortcode( 'simply_english_assessment', [ SEA_Quiz_Handler::instance(), 'render_shortcode' ] );

    // Enqueue CSS/JS.
    add_action( 'wp_enqueue_scripts', [ SEA_Quiz_Handler::instance(), 'enqueue_assets' ] );
}
add_action( 'plugins_loaded', 'sea_init' );