/var/www/html_us/wp-content/plugins/woocommerce/src/Internal/CostOfGoodsSold/CogsAwareTrait.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
declare( strict_types=);

namespace 
Automattic\WooCommerce\Internal\CostOfGoodsSold;

use 
Automattic\WooCommerce\Proxies\LegacyProxy;

/**
 * Trait with general Cost of Goods Sold related functionality shared by the entire codebase.
 */
trait CogsAwareTrait {

    
/**
     * Check if the Cost of Goods Sold feature is enabled.
     *
     * @param string|null $doing_it_wrong_function_name If not null, a "doing it wrong" error will be thrown with this function name if the deature is disabled.
     *
     * @return bool True if the feature is enabled.
     */
    
protected function cogs_is_enabled( ?string $doing_it_wrong_function_name null ): bool {
        if ( 
wc_get_container()->getCostOfGoodsSoldController::class )->feature_is_enabled() ) {
            return 
true;
        }

        if ( 
$doing_it_wrong_function_name ) {
            
wc_get_container()->getLegacyProxy::class )->call_function(
                
'wc_doing_it_wrong',
                
$doing_it_wrong_function_name,
                
'The Cost of Goods sold feature is disabled, thus the method called will do nothing and will return dummy data.',
                
'9.5.0'
            
);
        }

        return 
false;
    }
}