# tier-pricing-table/7.1.7/src/Addons/UserBasedPricing/UserBasedPricingRulesRepository.php

Tiered Pricing Table for WooCommerce, version 7.1.7. 39 lines.

- Page: https://pluginprobe.com/plugins/tier-pricing-table/7.1.7/code/src/Addons/UserBasedPricing/UserBasedPricingRulesRepository.php
- Raw: https://pluginprobe.com/plugins/tier-pricing-table/7.1.7/raw/src/Addons/UserBasedPricing/UserBasedPricingRulesRepository.php
- Modified: 2026-07-02T15:17:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tier-pricing-table/7.1.7/code/src/Addons/UserBasedPricing/UserBasedPricingRulesRepository.php#L10-L20`.

```php
<?php namespace TierPricingTable\Addons\UserBasedPricing;

use TierPricingTable\TierPricingTablePlugin;
use WC_Product;

class UserBasedPricingRulesRepository {
	
	protected static $instance;
	
	public static function getInstance(): self {
		if ( ! self::$instance ) {
			self::$instance = new self();
		}
		
		return self::$instance;
	}
	
	public function getCurrentUserRule( WC_Product $product ): ?UserBasedPricingRule {
		
		$userId = get_current_user_id();
		
		if ( $userId ) {
			
			if ( UserBasedPriceManager::userHasRules( $userId, $product->get_id() ) ) {
				return UserBasedPricingRule::build( $product->get_id(), $userId );
			}
			
			// Check also for parent level
			if ( TierPricingTablePlugin::isVariationProductSupported( $product ) ) {
				if ( UserBasedPriceManager::userHasRules( $userId, $product->get_parent_id() ) ) {
					return UserBasedPricingRule::build( $product->get_parent_id(), $userId );
				}
			}
		}
		
		return null;
	}
}

```
