File Editor
Directories:
.. (Back)
admin-pages
core-api
debugger
markdown
Files:
class-jetpack-ai-helper.php
class-jetpack-currencies.php
class-jetpack-instagram-gallery-helper.php
class-jetpack-mapbox-helper.php
class-jetpack-podcast-feed-locator.php
class-jetpack-podcast-helper.php
class-jetpack-recommendations.php
class-jetpack-top-posts-helper.php
class.color.php
class.core-rest-api-endpoints.php
class.jetpack-automatic-install-skin.php
class.jetpack-iframe-embed.php
class.jetpack-keyring-service-helper.php
class.jetpack-password-checker.php
class.jetpack-search-performance-logger.php
class.media-extractor.php
class.media-summary.php
class.media.php
components.php
debugger.php
functions.wp-notify.php
icalendar-reader.php
markdown.php
plans.php
plugins.php
tonesque.php
widgets.php
Create New File
Create
Edit File: class-jetpack-currencies.php
<?php /** * Jetpack_Currencies: Utils for displaying and managing currencies. * * @package Jetpack * @since 9.1.0 */ /** * General currencies specific functionality */ class Jetpack_Currencies { /** * Currencies definition */ const CURRENCIES = array( 'USD' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => '$', 'decimal' => 2, ), 'GBP' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => '£', 'decimal' => 2, ), 'JPY' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => '¥', 'decimal' => 0, ), 'BRL' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => 'R$', 'decimal' => 2, ), 'EUR' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => '€', 'decimal' => 2, ), 'NZD' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => 'NZ$', 'decimal' => 2, ), 'AUD' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => 'A$', 'decimal' => 2, ), 'CAD' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => 'C$', 'decimal' => 2, ), 'ILS' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => '₪', 'decimal' => 2, ), 'RUB' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => '₽', 'decimal' => 2, ), 'MXN' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => 'MX$', 'decimal' => 2, ), 'MYR' => array( 'format' => '%2$s%1$s', // 1: Symbol 2: currency value 'symbol' => 'RM', 'decimal' => 2, ), 'SEK' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'Skr', 'decimal' => 2, ), 'HUF' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'Ft', 'decimal' => 0, // Decimals are supported by Stripe but not by PayPal. ), 'CHF' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'CHF', 'decimal' => 2, ), 'CZK' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'Kč', 'decimal' => 2, ), 'DKK' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'Dkr', 'decimal' => 2, ), 'HKD' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'HK$', 'decimal' => 2, ), 'NOK' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'Kr', 'decimal' => 2, ), 'PHP' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => '₱', 'decimal' => 2, ), 'PLN' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => 'PLN', 'decimal' => 2, ), 'SGD' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => 'S$', 'decimal' => 2, ), 'TWD' => array( 'format' => '%1$s%2$s', // 1: Symbol 2: currency value 'symbol' => 'NT$', 'decimal' => 0, // Decimals are supported by Stripe but not by PayPal. ), 'THB' => array( 'format' => '%2$s%1$s', // 1: Symbol 2: currency value 'symbol' => '฿', 'decimal' => 2, ), 'INR' => array( 'format' => '%2$s %1$s', // 1: Symbol 2: currency value 'symbol' => '₹', 'decimal' => 0, ), ); /** * Format a price with currency. * * Uses currency-aware formatting to output a formatted price with a simple fallback. * * Largely inspired by WordPress.com's Store_Price::display_currency * * @param string $price Price. * @param string $currency Currency. * @param bool $symbol Whether to display the currency symbol. * @return string Formatted price. */ public static function format_price( $price, $currency, $symbol = true ) { // Add some basic formatting for the price. $formatted_number = new NumberFormatter( get_locale(), NumberFormatter::DECIMAL ); $price = (float) $formatted_number->parse( $price ); // Fall back to unspecified currency symbol like `¤1,234.05`. // @link https://en.wikipedia.org/wiki/Currency_sign_(typography). if ( ! array_key_exists( $currency, self::CURRENCIES ) ) { return ( $symbol ? '¤' : '' ) . number_format_i18n( $price, 2 ); } $currency_details = self::CURRENCIES[ $currency ]; // Ensure USD displays as 1234.56 even in non-US locales. $amount = 'USD' === $currency ? number_format( $price, $currency_details['decimal'], '.', ',' ) : number_format_i18n( $price, $currency_details['decimal'] ); return sprintf( $currency_details['format'], $symbol ? $currency_details['symbol'] : '', $amount ); } }
Save Changes
Rename File
Rename