Ajout clear transient pour debug
This commit is contained in:
parent
14a7c216c5
commit
f54f1060e8
@ -171,6 +171,8 @@ class CRVI_Plugin {
|
||||
add_action('acf/save_post', [self::class, 'check_intervenant_availability_on_save'], 20);
|
||||
// Hook pour afficher les messages de conflit d'indisponibilités
|
||||
add_action('admin_notices', [self::class, 'display_intervenant_conflicts_notice']);
|
||||
// Hook pour vider le cache via paramètre URL
|
||||
add_action('admin_init', [self::class, 'handle_clear_cache_request']);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1284,4 +1286,58 @@ class CRVI_Plugin {
|
||||
delete_transient('crvi_intervenant_conflicts_' . $user_id);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gère la demande de vidage du cache via paramètre URL
|
||||
* Usage: ?crvi_clear_cache=1 ou ?crvi_clear_cache=traductions
|
||||
*/
|
||||
public static function handle_clear_cache_request() {
|
||||
// Vérifier si le paramètre existe
|
||||
if (!isset($_GET['crvi_clear_cache'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Vérifier les permissions (seulement pour les admins)
|
||||
if (!current_user_can('manage_options')) {
|
||||
wp_die('Vous n\'avez pas les permissions nécessaires pour vider le cache.');
|
||||
}
|
||||
|
||||
$cache_type = sanitize_text_field($_GET['crvi_clear_cache']);
|
||||
global $wpdb;
|
||||
|
||||
switch ($cache_type) {
|
||||
case 'traductions':
|
||||
case 'capacites':
|
||||
// Vider uniquement le cache des capacités de traduction
|
||||
\ESI_CRVI_AGENDA\models\CRVI_TraductionLangue_Model::invalidate_cache();
|
||||
$message = 'Cache des capacités de traduction vidé avec succès.';
|
||||
break;
|
||||
|
||||
case 'all':
|
||||
case '1':
|
||||
case 'true':
|
||||
// Vider tous les transients du plugin CRVI
|
||||
$wpdb->query(
|
||||
"DELETE FROM {$wpdb->options}
|
||||
WHERE option_name LIKE '_transient_crvi_%'
|
||||
OR option_name LIKE '_transient_timeout_crvi_%'"
|
||||
);
|
||||
$message = 'Tous les caches CRVI vidés avec succès.';
|
||||
break;
|
||||
|
||||
default:
|
||||
$message = 'Type de cache non reconnu. Utilisez: traductions, all, ou 1';
|
||||
break;
|
||||
}
|
||||
|
||||
// Afficher un message et rediriger
|
||||
add_action('admin_notices', function() use ($message) {
|
||||
echo '<div class="notice notice-success is-dismissible"><p>' . esc_html($message) . '</p></div>';
|
||||
});
|
||||
|
||||
// Rediriger pour retirer le paramètre de l'URL
|
||||
$redirect_url = remove_query_arg('crvi_clear_cache');
|
||||
wp_safe_redirect($redirect_url);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user