clear_dashboard_stats_cache(); $response_data['cache_cleared'] = true; } // Get stats data. $stats = $charitable_dashboard->get_dashboard_stats( $time_period ); // Get chart data using legacy dashboard methods. $legacy_dashboard = Charitable_Dashboard_Legacy::get_instance(); // Set up the legacy dashboard with the correct time period. $date_range = $charitable_dashboard->get_date_range_for_period( $time_period ); $legacy_dashboard->generate_dashboard_report_html( array( 'start_date' => $date_range['start_date'], 'end_date' => $date_range['end_date'], 'days' => $date_range['days'], ) ); // Get chart axis data. $date_axis = $legacy_dashboard->get_date_axis(); // For 30-day periods, format dates as M/d instead of M d if ( 'last-30-days' === $time_period ) { $date_axis = array_map( function( $date ) { // Convert "Aug 27" to "8/27" $timestamp = strtotime( $date ); return date( 'n/j', $timestamp ); // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date }, $date_axis ); } $chart_data = array( 'donation_axis' => $legacy_dashboard->get_donation_axis(), 'date_axis' => $date_axis, ); // Prepare response data. $response_data = array_merge( $response_data, array( 'stats' => $stats, 'chart' => $chart_data, ) ); wp_send_json_success( $response_data ); } catch ( Exception $e ) { wp_send_json_error( 'Failed to load dashboard data: ' . $e->getMessage() ); } } } endif;