for_provider( 'woocommerce' ) : array(); $vendors = self::top_vendors_by_commission( 10 ); $totals = self::global_commission_totals(); ?>
get_results( $wpdb->prepare( "SELECT vendor_id, COUNT(*) AS order_count, SUM(subtotal) AS subtotal, SUM(commission) AS commission, SUM(vendor_payout) AS payout FROM `{$table}` GROUP BY vendor_id ORDER BY commission DESC LIMIT %d", $limit ), ARRAY_A ) ?: array(); // phpcs:enable } /** * Global commission summary across all vendors. * * @return array */ private static function global_commission_totals(): array { global $wpdb; $table = TMDO_DB::table( 'wpdo_wc_commissions' ); // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching,WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.PreparedSQL.NotPrepared -- $table from TMDO_DB::table() (sanitised); aggregate query. $row = $wpdb->get_row( "SELECT COUNT(*) AS order_count, SUM(subtotal) AS total_subtotal, SUM(commission) AS total_commission, SUM(vendor_payout) AS total_payout FROM `{$table}`", ARRAY_A ); // phpcs:enable return array( 'order_count' => (int) ( $row['order_count'] ?? 0 ), 'total_subtotal' => (float) ( $row['total_subtotal'] ?? 0 ), 'total_commission' => (float) ( $row['total_commission'] ?? 0 ), 'total_payout' => (float) ( $row['total_payout'] ?? 0 ), ); } }