<?php
/**
 * Plugin Name:       Đặt vé tàu cao tốc (Datvetaucaotoc)
 * Description:       Wizard đặt vé 4 bước — quản trị tuyến/chuyến, import Excel, lưu đơn vào database.
 * Version:           0.1.33
 * Requires at least: 6.0
 * Requires PHP:      8.1
 * Author:            Datvetaucaotoc
 * Text Domain:       datvetaucaotoc-booking
 *
 * @package DatvetaucaotocBooking
 */

declare(strict_types=1);

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

require_once __DIR__ . '/includes/bootstrap-polyfills.php';

define( 'DATVETAU_BOOKING_VERSION', '0.1.33' );
define( 'DATVETAU_BOOKING_FILE', __FILE__ );
define( 'DATVETAU_BOOKING_DIR', plugin_dir_path( __FILE__ ) );
define( 'DATVETAU_BOOKING_URL', plugin_dir_url( __FILE__ ) );

register_activation_hook(
	__FILE__,
	static function (): void {
		require_once DATVETAU_BOOKING_DIR . 'includes/class-activator.php';
		Datvetau_Booking_Activator::activate();
	}
);

register_deactivation_hook( __FILE__, static function (): void {
	// Giữ dữ liệu khi deactivate.
} );

add_action(
	'plugins_loaded',
	static function (): void {
		require_once DATVETAU_BOOKING_DIR . 'includes/class-activator.php';
		if ( Datvetau_Booking_Activator::is_activation_request() ) {
			return;
		}

		$core = DATVETAU_BOOKING_DIR . 'includes/class-plugin.php';
		if ( ! is_readable( $core ) ) {
			add_action(
				'admin_notices',
				static function (): void {
					printf(
						'<div class="notice notice-error"><p>%s</p></div>',
						esc_html__(
							'Đặt vé tàu: thiếu includes/class-plugin.php — upload/giải nén plugin chưa đủ.',
							'datvetaucaotoc-booking'
						)
					);
				}
			);
			return;
		}

		require_once $core;
		Datvetau_Booking_Plugin::instance()->init();
	},
	0
);
