= 80 ) { $score_band = 'good'; } elseif ( $score >= 50 ) { $score_band = 'warn'; } else { $score_band = 'bad'; } $scanned_at = isset( $payload['timestamp'] ) ? wp_date( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), (int) $payload['timestamp'] ) : ''; // Group results by category, and order problems (fail, warning) before passes. $grouped = array(); foreach ( $results as $r ) { $grouped[ $r['category'] ][] = $r; } $status_order = array( Aardwolf_Check_Result::STATUS_FAIL => 0, Aardwolf_Check_Result::STATUS_WARN => 1, Aardwolf_Check_Result::STATUS_INFO => 2, Aardwolf_Check_Result::STATUS_PASS => 3, ); foreach ( $grouped as &$items ) { usort( $items, function ( $a, $b ) use ( $status_order ) { $sa = isset( $status_order[ $a['status'] ] ) ? $status_order[ $a['status'] ] : 4; $sb = isset( $status_order[ $b['status'] ] ) ? $status_order[ $b['status'] ] : 4; return $sa <=> $sb; } ); } unset( $items ); ?>

$items ) : ?>