<?php

/**
 * Plugin Name: Sport Plugin
 * Description: Plugin Sports - Cung cấp bảng tỷ số trực tiếp, kết quả trận đấu và tỷ lệ kèo bóng đá theo thời gian thực. Hỗ trợ nhiều giải đấu hàng đầu, cập nhật nhanh chóng các loại kèo như HDP, 1x2, O/U,... Dễ dàng tùy chỉnh giao diện, nhúng vào website bằng shortcode, giúp nâng cao trải nghiệm người dùng và tăng tương tác.
 * Version: 2.52
 * Text Domain: sport
 * Domain Path: /languages
 * Author: TM-12
 */


define('BONGDAKO_URL', 'https://bongdako.net/');
define('APP_DOMAIN', 'bongdako.net');
define('LICENSE_URL', 'https://admin-db-api.longtu.club');
define('DB_DOMAIN', esc_url(get_option('url_data_sp', 'https://db.winfast.dev')));
define('DATABASE_DOMAIN', 'https://data.bongdako.net');
define('IMGS3', esc_url(get_option('url_image_sp', 'https://img.winfast.dev')));
define('IMGS3_PLUGINS', IMGS3 . '/plugins');
define('BONGDAKO_BUILD', plugin_dir_url(__FILE__) . 'build/');
define('BONGDAKO_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
define('BONGDAKO_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));

// Dynamically set ASSETS_VERSION using the plugin version.
$plugin_data = get_file_data(__FILE__, ['Version' => 'Version']);
define('ASSETS_VERSION', $plugin_data['Version']);

$current_theme = wp_get_theme();

$theme = $current_theme->get('Name');
if ($current_theme->parent()) {
    $theme = $current_theme->parent()->get('Name');
}


// Include files
require_once plugin_dir_path(__FILE__) . 'includes/admin-menu.php';
require_once plugin_dir_path(__FILE__) . 'includes/update-check.php';
require_once plugin_dir_path(__FILE__) . 'includes/match-data.php';
require_once plugin_dir_path(__FILE__) . 'includes/customizer-data.php';
require_once plugin_dir_path(__FILE__) . 'layouts/settings/index.php';
require_once plugin_dir_path(__FILE__) . 'includes/functions.php';
require_once plugin_dir_path(__FILE__) . 'customizers/configs/license.php';
if ($theme !== "Flatsome" && !class_exists('Kirki')) {
    require_once plugin_dir_path(__FILE__) . 'includes/kirki/kirki.php';
}
$check = tm_12_check_license();


function tm12_function()
{
    if (class_exists('Kirki')) {
        require_once plugin_dir_path(__FILE__) . 'customizers/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/6in1/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/favorite/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/result/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/fixture/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/rate/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/rate_detail/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/rank/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/ranking_player_board/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/list_match/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/rate_analysis/index.php';
        require_once plugin_dir_path(__FILE__) . 'layouts/shortcode/compare/index.php';
    }
}

if ($check['status']) {
    add_action('after_setup_theme', 'tm12_function', 20);
}

require_once plugin_dir_path(__FILE__) . 'admin/functions-admin.php';

function tm_12_load_textdomain()
{
    load_plugin_textdomain('sport', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}

add_action('plugins_loaded', 'tm_12_load_textdomain');

function tm_12_add_wp_rocket_excluded_js()
{
    // Lấy thiết lập hiện tại của WP Rocket
    $settings = get_option('wp_rocket_settings');

    // Nếu chưa tồn tại, khởi tạo mảng rỗng
    if (!isset($settings['delay_js_exclusions']) || !is_array($settings['delay_js_exclusions'])) {
        $settings['delay_js_exclusions'] = [];
    }

    // Danh sách script bạn muốn loại trừ
    $my_excluded_scripts = [
        '/wp-includes/js/jquery/',
        '/wp-content/plugins/sport-plugin/',
        '/wp-content/uploads/sport-result-data-(.*).js',
        '/wp-content/uploads/sport-season-data-(.*).js',
        '/wp-content/uploads/sport-plugin/.*\.js',
    ];

    // Thêm vào nếu chưa có
    $changed = false;
    foreach ($my_excluded_scripts as $script) {
        if (!in_array($script, $settings['delay_js_exclusions'])) {
            $settings['delay_js_exclusions'][] = $script;
            $changed = true;
        }
    }


    // ===== Exclude Minify JS =====
    if (!isset($settings['exclude_js']) || !is_array($settings['exclude_js'])) {
        $settings['exclude_js'] = [];
    }

    $my_minify_excluded_scripts = [
        '/wp-content/uploads/sport-plugin/.*\.js', // exclude toàn bộ JS trong thư mục bongdako
    ];

    foreach ($my_minify_excluded_scripts as $script) {
        if (!in_array($script, $settings['exclude_js'])) {
            $settings['exclude_js'][] = $script;
            $changed = true;
        }
    }

    // Cập nhật lại nếu có thay đổi
    if ($changed) {
        update_option('wp_rocket_settings', $settings);
    }
}

add_action('plugins_loaded', 'tm_12_add_wp_rocket_excluded_js');

