<?php
/**
 * Réglages WPGraphQL forcés par code : limite de profondeur de requête activée,
 * max 15 (le flexible `sections` génère des requêtes profondes mais bornées).
 */

defined('ABSPATH') || exit;

add_filter('option_graphql_general_settings', 'cvb_force_graphql_settings');
add_filter('default_option_graphql_general_settings', 'cvb_force_graphql_settings');

function cvb_force_graphql_settings($settings) {
    $settings = is_array($settings) ? $settings : [];
    $settings['query_depth_enabled'] = 'on';
    $settings['query_depth_max']     = 15;

    return $settings;
}

// Message d'aide sur la page de réglages WPGraphQL.
add_action('admin_notices', 'cvb_graphql_settings_notice');

function cvb_graphql_settings_notice(): void {
    if (($_GET['page'] ?? '') !== 'graphql-settings') {
        return;
    }
    echo '<div class="notice notice-info"><p><strong>Covalba Core</strong> : la limite de '
        . 'profondeur de requête est forcée par code (activée, max 15). Les valeurs saisies '
        . 'ici pour ces deux réglages seront ignorées.</p></div>';
}
