$class ) { if ( $class::is_enabled( $user ) ) { $enabled_providers[$method] = $class::get_instance( $user ); } } return $enabled_providers; } /** * Get the configured providers for the user. * * * @return array */ public static function get_configured_providers_for_user( WP_User $user ): array { $configured_providers = []; foreach ( static::get_enabled_providers_for_user( $user ) as $method => $provider ) { if ( $provider::is_configured( $user ) ) { $configured_providers[$method] = $provider::get_instance( $user ); } } return $configured_providers; } /** * Checks is the pro version is active. * @return bool */ public static function is_pro_active(): bool { return defined( 'rsssl_pro' ); } /** * Get the enabled providers for the user. * * @return array */ public static function get_user_enabled_providers( WP_User $user ): array { $enabled_providers = []; foreach ( self::available_providers() as $method => $provider ) { if ( $provider::is_enabled( $user ) ) { $enabled_providers[$method] = $provider::get_instance( $user ); } } return $enabled_providers; } /** * Loads the correct provider loader based on the active plugin. * * @return Rsssl_Provider_Loader_Pro|Rsssl_Provider_Loader_Free */ public static function get_loader() { return Rsssl_Provider_Loader_Free::is_pro_active() ? new Rsssl_Provider_Loader_Pro() : new Rsssl_Provider_Loader_Free(); } }