<?php
/**
 * Plugin Name:       BW Barnet Connector
 * Plugin URI:        https://corkandbarrel.demoing.info
 * Description:       Connects WooCommerce to the BarnetPOS e-commerce API. Handles credentials, catalogue sync and data-quality diagnostics.
 * Version:           0.1.0
 * Requires at least: 6.9
 * Requires PHP:      8.1
 * Author:            PlusROI
 * License:           GPL-2.0-or-later
 * Text Domain:       bw-barnet
 */

defined( 'ABSPATH' ) || exit;

define( 'BW_BARNET_VERSION', '0.1.0' );
define( 'BW_BARNET_FILE', __FILE__ );
define( 'BW_BARNET_DIR', plugin_dir_path( __FILE__ ) );

/**
 * Capability required to view or change Barnet settings and run diagnostics.
 * Kept in one place so it can be tightened later without hunting call sites.
 */
define( 'BW_BARNET_CAP', 'manage_options' );

require_once BW_BARNET_DIR . 'includes/class-bw-barnet-client.php';
require_once BW_BARNET_DIR . 'includes/class-bw-barnet-gtin.php';
require_once BW_BARNET_DIR . 'includes/class-bw-barnet-settings.php';
require_once BW_BARNET_DIR . 'includes/class-bw-barnet-diagnostics.php';

add_action(
	'plugins_loaded',
	static function () {
		BW_Barnet_Settings::init();
		BW_Barnet_Diagnostics::init();
	}
);

/**
 * Admin notice if WooCommerce is missing. The connector is useful without it
 * (diagnostics run standalone) so this warns rather than deactivating.
 */
add_action(
	'admin_notices',
	static function () {
		if ( class_exists( 'WooCommerce' ) || ! current_user_can( BW_BARNET_CAP ) ) {
			return;
		}
		echo '<div class="notice notice-warning"><p><strong>BW Barnet Connector:</strong> WooCommerce is not active. Diagnostics will still run, but catalogue sync requires WooCommerce.</p></div>';
	}
);
