<?php

namespace Linkavista\src;

use Linkavista\src\config\LinkavistaConfig;

class LinkavistaActivate
{
    /**
     * Récupère la version du plugin depuis le fichier principal
     */
    private static function getPluginVersion()
    {
        $plugin_file = dirname(__DIR__) . '/linkmania.php';

        // Lire le fichier et extraire la version
        $plugin_data = get_file_data($plugin_file, [
            'Version' => 'Version'
        ]);

        return $plugin_data['Version'] ?? '1.0';
    }

    public static function activate()
    {
        // Ne supprimer les cles que si c'est une premiere installation (pas de cles existantes)
        $hasKeys = get_option('lm_public_key') && get_option('lm_secret_key');

        if (!$hasKeys) {
            delete_option('owner_confirmed');
            delete_option('lm_public_key');
            delete_option('lm_secret_key');
            update_option('owner_confirmed', -1);
        }

        self::notifyActivation();

        // Nettoie d'éventuelles règles de réécriture héritées (ancien endpoint
        // d'auto-login supprimé).
        flush_rewrite_rules();

        $version = self::getPluginVersion();
        \lm_debug_log("Plugin Linkavista v{$version} active - Rewrite rules flushed");
    }

    private static function notifyActivation()
    {
        $version = self::getPluginVersion();

        $response = LinkavistaConfig::linkavista_call([
            'action' => 'activate_plugin',
            'plugin_version' => $version,
        ]);

        \lm_debug_log("Réponse à l'activation (version {$version}): " . print_r($response, true));
    }
}
