/var/www/html_us/wp-content/plugins/woocommerce/src/StoreApi/Formatters/CurrencyFormatter.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
namespace Automattic\WooCommerce\StoreApi\Formatters;

/**
 * Currency Formatter.
 *
 * Formats an array of monetary values by inserting currency data.
 */
class CurrencyFormatter implements FormatterInterface {
    
/**
     * Format a given value and return the result.
     *
     * @param array $value Value to format.
     * @param array $options Options that influence the formatting.
     * @return array
     */
    
public function format$value, array $options = [] ) {
        
$position get_option'woocommerce_currency_pos' );
        
$symbol   html_entity_decodeget_woocommerce_currency_symbol() );
        
$prefix   '';
        
$suffix   '';

        switch ( 
$position ) {
            case 
'left_space':
                
$prefix $symbol ' ';
                break;
            case 
'left':
                
$prefix $symbol;
                break;
            case 
'right_space':
                
$suffix ' ' $symbol;
                break;
            case 
'right':
                
$suffix $symbol;
                break;
        }

        return 
array_merge(
            (array) 
$value,
            [
                
'currency_code'               => get_woocommerce_currency(),
                
'currency_symbol'             => $symbol,
                
'currency_minor_unit'         => wc_get_price_decimals(),
                
'currency_decimal_separator'  => wc_get_price_decimal_separator(),
                
'currency_thousand_separator' => wc_get_price_thousand_separator(),
                
'currency_prefix'             => $prefix,
                
'currency_suffix'             => $suffix,
            ]
        );
    }
}