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);
|
add_action('acf/save_post', [self::class, 'check_intervenant_availability_on_save'], 20);
|
||||||
// Hook pour afficher les messages de conflit d'indisponibilités
|
// Hook pour afficher les messages de conflit d'indisponibilités
|
||||||
add_action('admin_notices', [self::class, 'display_intervenant_conflicts_notice']);
|
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);
|
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