<?php
/**
 * FajaedeSEO AI Uninstall Script
 *
 * Dit bestand wordt automatisch aangeroepen door WordPress wanneer de plugin
 * definitief wordt verwijderd (niet bij deactiveren).
 */

// Zorg dat dit script alleen door WordPress wordt uitgevoerd bij een uninstall
if (!defined('WP_UNINSTALL_PLUGIN')) {
    die;
}

global $wpdb;

// 1. Verwijder altijd tijdelijke cache (transients) en cronjobs
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_fajaedeseo_%'");
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout_fajaedeseo_%'");
wp_clear_scheduled_hook('fajaedeseo_twicedaily_cron');
wp_clear_scheduled_hook('fajaedeseo_monthly_accounting_report');

// 2. Verwijder altijd privacy-gevoelige data (AVG / GDPR)
$fajaedeseo_table_visitors = esc_sql($wpdb->prefix . 'fajaedeseo_visitors');
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$wpdb->query("DROP TABLE IF EXISTS {$fajaedeseo_table_visitors}");

// 3. Controleer of de gebruiker expliciet heeft gekozen voor een "Clean Uninstall"
// (Dit voorkomt dat klanten per ongeluk hun SEO posities vernietigen)
$fajaedeseo_clean_uninstall = get_option('fajaedeseo_clean_uninstall', false);

if ($fajaedeseo_clean_uninstall) {
    // Verwijder licenties tabel
    $fajaedeseo_table_licenses = esc_sql($wpdb->prefix . 'fajaedeseo_licenses');
    // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
    $wpdb->query("DROP TABLE IF EXISTS {$fajaedeseo_table_licenses}");

    // Verwijder post meta (SEO titels, beschrijvingen, schema, etc.)
    // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
    $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE '_fajaedeseo_%'");

    // Verwijder algemene plugin instellingen (options)
    // We doen deze als laatst, omdat we de $fajaedeseo_clean_uninstall optie hierboven nog nodig hadden
    // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
    $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'fajaedeseo_%'");
}