Changeset 1707995
- Timestamp:
- 08/03/2017 06:00:52 PM (9 years ago)
- Location:
- woo-poly-integration
- Files:
-
- 86 added
- 5 edited
-
tags/1.0.3 (added)
-
tags/1.0.3/CHANGELOG.md (added)
-
tags/1.0.3/LICENSE (added)
-
tags/1.0.3/README.md (added)
-
tags/1.0.3/__init__.php (added)
-
tags/1.0.3/index.php (added)
-
tags/1.0.3/languages (added)
-
tags/1.0.3/languages/woo-poly-integration-ar.mo (added)
-
tags/1.0.3/languages/woo-poly-integration-ar.po (added)
-
tags/1.0.3/languages/woo-poly-integration.pot (added)
-
tags/1.0.3/public (added)
-
tags/1.0.3/public/js (added)
-
tags/1.0.3/public/js/Cart.js (added)
-
tags/1.0.3/public/js/Cart.min.js (added)
-
tags/1.0.3/public/js/Variables.js (added)
-
tags/1.0.3/public/js/Variables.min.js (added)
-
tags/1.0.3/readme.txt (added)
-
tags/1.0.3/src (added)
-
tags/1.0.3/src/Hyyan (added)
-
tags/1.0.3/src/Hyyan/WPI (added)
-
tags/1.0.3/src/Hyyan/WPI/Admin (added)
-
tags/1.0.3/src/Hyyan/WPI/Admin/AbstractSettings.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Admin/Features.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Admin/MetasList.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Admin/Settings.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Admin/SettingsInterface.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Autoloader.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Breadcrumb.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Cart.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Coupon.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Emails.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Endpoints.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Gateways (added)
-
tags/1.0.3/src/Hyyan/WPI/Gateways.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Gateways/GatewayBACS.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Gateways/GatewayCOD.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Gateways/GatewayCheque.php (added)
-
tags/1.0.3/src/Hyyan/WPI/HooksInterface.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Language.php (added)
-
tags/1.0.3/src/Hyyan/WPI/LocaleNumbers.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Login.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Media.php (added)
-
tags/1.0.3/src/Hyyan/WPI/MessagesInterface.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Order.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Pages.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Permalinks.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Plugin.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Product (added)
-
tags/1.0.3/src/Hyyan/WPI/Product/Duplicator.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Product/Meta.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Product/Product.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Product/Stock.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Product/Variable.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Product/Variation.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Reports.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Shipping.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Tax.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Taxonomies (added)
-
tags/1.0.3/src/Hyyan/WPI/Taxonomies/Attributes.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Taxonomies/Categories.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Taxonomies/ShippingCalss.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Taxonomies/Tags.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Taxonomies/Taxonomies.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Taxonomies/TaxonomiesInterface.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Tools (added)
-
tags/1.0.3/src/Hyyan/WPI/Tools/FlashMessages.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Tools/TranslationsDownloader.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Utilities.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Admin (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Admin/about.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Admin/getHelp.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Admin/main.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Admin/support.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Messages (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Messages/activateError.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Messages/endpointsTranslations.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/Messages/support.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/admin.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/badges.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Views/social.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Widgets (added)
-
tags/1.0.3/src/Hyyan/WPI/Widgets/LayeredNav.php (added)
-
tags/1.0.3/src/Hyyan/WPI/Widgets/SearchWidget.php (added)
-
tags/1.0.3/vendor (added)
-
tags/1.0.3/vendor/class.settings-api.php (added)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/__init__.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/src/Hyyan/WPI/LocaleNumbers.php (modified) (10 diffs)
-
trunk/src/Hyyan/WPI/Plugin.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
woo-poly-integration/trunk/CHANGELOG.md
r1705116 r1707995 1 # Changelog 2 3 ### 1.0.3 4 5 * Fix PHP Fatal error: Class 'NumberFormatter' not found 6 1 7 ### 1.0.2 2 8 * Fixes #200 Polylang version check fails to detect Polylang PRO -
woo-poly-integration/trunk/__init__.php
r1705116 r1707995 11 11 * GitHub Plugin URI: hyyan/woo-poly-integration 12 12 * License: MIT License 13 * Version: 1.0. 213 * Version: 1.0.3 14 14 */ 15 15 -
woo-poly-integration/trunk/readme.txt
r1705116 r1707995 4 4 Requires at least: 3.8 5 5 Tested up to: 4.8 6 Stable tag: 1.0. 26 Stable tag: 1.0.3 7 7 License: MIT 8 8 License URI: https://github.com/hyyan/woo-poly-integration/blob/master/LICENSE … … 121 121 122 122 == Changelog == 123 124 == 1.0.3 == 125 * Fix PHP Fatal error: Class 'NumberFormatter' not found 126 123 127 124 128 == 1.0.2 == -
woo-poly-integration/trunk/src/Hyyan/WPI/LocaleNumbers.php
r1705116 r1707995 1 1 <?php 2 2 3 /** 3 4 * LocaleNumbers. … … 5 6 * @author Jonathan Moore <jonathan.moore@bcs.org> 6 7 */ 8 7 9 namespace Hyyan\WPI; 8 10 9 class LocaleNumbers 10 { 11 use Hyyan\WPI\Admin\Settings; 12 use Hyyan\WPI\Admin\Features; 13 14 class LocaleNumbers { 11 15 12 16 /** 13 17 * Hook relevant WooCommerce filters to apply localisation according to Polylang locale. 14 18 */ 15 public function __construct() 16 { 17 //localise standard price formatting arguments 18 add_filter('wc_get_price_decimal_separator', array($this, 'getLocaleDecimalSeparator'), 10, 1); 19 add_filter('wc_get_price_thousand_separator', array($this, 'getLocaleThousandSeparator'), 10, 1); 20 add_filter('wc_price_args', array($this, 'filterPriceArgs'), 10, 1); 19 public function __construct() { 21 20 22 //WooCommerce 3.1 unreleased checkin https://github.com/woocommerce/woocommerce/pull/15628 23 add_filter('woocommerce_format_localized_decimal', array($this, 'getLocalizedDecimal'), 10, 2); 24 //no additional override on finished price format as no currency paramber available 25 //add_filter('woocommerce_format_localized_price', array($this, 'getLocalizedPrice'), 10, 2); 21 if ( 22 class_exists('\NumberFormatter') && 23 'on' === Settings::getOption('localenumbers', Features::getID(), 'on') 24 ) { 25 26 //localise standard price formatting arguments 27 add_filter('wc_get_price_decimal_separator', array($this, 'getLocaleDecimalSeparator'), 10, 1); 28 add_filter('wc_get_price_thousand_separator', array($this, 'getLocaleThousandSeparator'), 10, 1); 29 add_filter('wc_price_args', array($this, 'filterPriceArgs'), 10, 1); 30 31 //WooCommerce 3.1 unreleased checkin https://github.com/woocommerce/woocommerce/pull/15628 32 add_filter('woocommerce_format_localized_decimal', array($this, 'getLocalizedDecimal'), 10, 2); 33 //no additional override on finished price format as no currency paramber available 34 //add_filter('woocommerce_format_localized_price', array($this, 'getLocalizedPrice'), 10, 2); 35 } 26 36 } 27 28 37 29 38 /* … … 35 44 * 'currency' => '', 36 45 * 'decimal_separator' => wc_get_price_decimal_separator(), 37 * 'thousand_separator' => wc_get_price_thousand_separator(),38 * 'decimals' => wc_get_price_decimals(),39 * 'price_format' => get_woocommerce_price_format(),46 * 'thousand_separator' => wc_get_price_thousand_separator(), 47 * 'decimals' => wc_get_price_decimals(), 48 * 'price_format' => get_woocommerce_price_format(), 40 49 * 41 50 * @return Array the arguments 42 51 */ 43 public function filterPriceArgs($args) 44 {45 52 53 public function filterPriceArgs($args) { 54 46 55 //if there is a currency provided, attempt a full reset of formatting parameters 47 if ((isset($args['currency'])) && ($args['currency'] !='')) {56 if ((isset($args['currency'])) && ($args['currency'] != '')) { 48 57 $currency = $args['currency']; 49 58 $locale = pll_current_language('locale'); 50 $formatter = new \NumberFormatter($locale .'@currency='.$currency, \NumberFormatter::CURRENCY);59 $formatter = new \NumberFormatter($locale . '@currency=' . $currency, \NumberFormatter::CURRENCY); 51 60 $args['decimal_separator'] = $formatter->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL); 52 61 $args['thousand_separator'] = $formatter->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL); 53 62 $args['decimals'] = $formatter->getAttribute(\NumberFormatter::FRACTION_DIGITS); 54 $prefix =$formatter->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX);63 $prefix = $formatter->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX); 55 64 if (strlen($prefix)) { 56 65 $args['price_format'] = '%1$s%2$s'; … … 65 74 return $args; 66 75 } 67 76 68 77 /* 69 78 * get localized getLocalizedDecimal … … 74 83 * @return string formatted number 75 84 */ 76 public function getLocalizedDecimal($wooFormattedValue, $input) 77 {85 86 public function getLocalizedDecimal($wooFormattedValue, $input) { 78 87 //default to return unmodified wooCommerce value 79 88 $retval = $wooFormattedValue; 80 89 81 90 //don't touch values on admin screens, save as plain number using woo defaults 82 if ((! is_admin()) || isset($_REQUEST['get_product_price_by_ajax'])) {91 if ((!is_admin()) || isset($_REQUEST['get_product_price_by_ajax'])) { 83 92 $a = new \NumberFormatter(pll_current_language('locale'), \NumberFormatter::DECIMAL); 84 93 if ($a) { … … 88 97 return $retval; 89 98 } 90 91 99 92 100 /* … … 97 105 * @return string formatted number 98 106 */ 99 public function getLocaleDecimalSeparator($separator) 100 {107 108 public function getLocaleDecimalSeparator($separator) { 101 109 $retval = $separator; 102 110 //don't touch values on admin screens, save as plain number using woo defaults 103 if ((! is_admin()) || isset($_REQUEST['get_product_price_by_ajax'])) {111 if ((!is_admin()) || isset($_REQUEST['get_product_price_by_ajax'])) { 104 112 $locale = pll_current_language('locale'); 105 113 $a = new \NumberFormatter($locale, \NumberFormatter::DECIMAL); … … 113 121 return $retval; 114 122 } 115 123 116 124 /* 117 125 * get localized thousand separator … … 121 129 * @return string formatted number 122 130 */ 123 public function getLocaleThousandSeparator($separator) 124 {131 132 public function getLocaleThousandSeparator($separator) { 125 133 $retval = $separator; 126 134 //don't touch values on admin screens, save as plain number using woo defaults 127 if (! is_admin()) {135 if (!is_admin()) { 128 136 $a = new \NumberFormatter(pll_current_language('locale'), \NumberFormatter::DECIMAL); 129 137 if ($a) { … … 133 141 return $retval; 134 142 } 143 135 144 } -
woo-poly-integration/trunk/src/Hyyan/WPI/Plugin.php
r1705116 r1707995 12 12 13 13 use Hyyan\WPI\Tools\FlashMessages; 14 use Hyyan\WPI\Admin\Settings;15 use Hyyan\WPI\Admin\Features;16 14 17 15 /** … … 193 191 new Breadcrumb(); 194 192 new Tax(); 195 196 if ('on' === Settings::getOption('localenumbers', Features::getID(), 'on')) { 197 new LocaleNumbers(); 198 } 193 new LocaleNumbers(); 199 194 } 200 195
Note: See TracChangeset
for help on using the changeset viewer.