Version Notes
stable release
Download this release
Release Info
Developer | Magento Core Team |
Extension | ET_CurrencyManager |
Version | 1.2.1 |
Comparing to | |
See all releases |
Code changes from version 1.1.0 to 1.2.1
- app/code/community/ET/CurrencyManager/Block/Adminhtml/Support.php +92 -26
- app/code/community/ET/CurrencyManager/Block/Adminhtml/Symbolreplace.php +12 -1
- app/code/community/ET/CurrencyManager/Helper/Data.php +10 -1
- app/code/community/ET/CurrencyManager/Helper/Tax.php +4 -2
- app/code/community/ET/CurrencyManager/Helper/Tax1810.php +52 -0
- app/code/community/ET/CurrencyManager/Model/Currency.php +52 -4
- app/code/community/ET/CurrencyManager/Model/Observer.php +15 -0
- app/code/community/ET/CurrencyManager/Model/Store.php +6 -0
- app/code/community/ET/CurrencyManager/etc/config.xml +10 -3
- app/code/community/ET/CurrencyManager/etc/system.xml +13 -2
- app/design/frontend/base/default/layout/et_currencymanager.xml +0 -1
- app/design/frontend/base/default/template/et_currencymanager/js.phtml +5 -2
- app/etc/modules/ET_CurrencyManager.xml +27 -27
- app/locale/fr_FR/ET_Currencymanager.csv +46 -0
- app/locale/ru_RU/ET_Currencymanager.csv +78 -70
- js/et/currencymanager/et_currencymanager.js +0 -18
- js/et/currencymanager/et_currencymanager_round.js +123 -57
- package.xml +4 -4
app/code/community/ET/CurrencyManager/Block/Adminhtml/Support.php
CHANGED
@@ -19,11 +19,11 @@
|
|
19 |
|
20 |
class ET_CurrencyManager_Block_Adminhtml_Support
|
21 |
extends Mage_Adminhtml_Block_Abstract
|
22 |
-
|
23 |
{
|
24 |
/**
|
25 |
* Support tab
|
26 |
-
* version
|
27 |
*/
|
28 |
public function render(Varien_Data_Form_Element_Abstract $element)
|
29 |
{
|
@@ -35,15 +35,24 @@ class ET_CurrencyManager_Block_Adminhtml_Support
|
|
35 |
$moduleShortDescription = $this->_getConfigValue($moduleNameId, 'descr');
|
36 |
$moduleLicense = $this->_getConfigValue($moduleNameId, 'license');
|
37 |
|
38 |
-
$linkParameters = '
|
39 |
$moduleLicenseLink = $this->_getConfigValue($moduleNameId, 'licenselink') . $linkParameters;
|
40 |
$moduleSupportLink = $this->_getConfigValue($moduleNameId, 'redminelink') . $linkParameters;
|
41 |
$moduleLink = $this->_getConfigValue($moduleNameId, 'permanentlink') . $linkParameters;
|
42 |
$servicesLink = $this->_getConfigValue($moduleNameId, 'ourserviceslink') . $linkParameters;
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
$html =
|
45 |
'<style>
|
46 |
-
.line {border-top: 1px solid #c6c6c6; }
|
47 |
.developer-label {color: #000000; font-weight:bold; width: 150px;}
|
48 |
.developer-text { padding-bottom: 15px;}
|
49 |
.developer {width: 600px; }
|
@@ -54,46 +63,46 @@ class ET_CurrencyManager_Block_Adminhtml_Support
|
|
54 |
<tr>
|
55 |
<td class="developer-label">' . $helper->__('Extension:') . '</td>
|
56 |
<td class="developer-text">' . $helper->__(
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
</tr>
|
62 |
<tr>
|
63 |
<td class="developer-label">' . $helper->__('License:') . '</td>
|
64 |
<td class="developer-text">' . $helper->__(
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
</tr>
|
70 |
<tr>
|
71 |
<td class="developer-label">' . $helper->__('Short Description:') . '</td>
|
72 |
-
<td class="developer-text">'
|
73 |
</tr>
|
74 |
<tr>
|
75 |
<td class="developer-label">' . $helper->__('Documentation:') . '</td>
|
76 |
<td class="developer-text">' . $helper->__(
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
</tr>
|
81 |
<tr>
|
82 |
<td class="developer-label line">' . $helper->__('Support:') . '</td>
|
83 |
<td class="developer-text line">' . $helper->__(
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
</tr>
|
91 |
<tr>
|
92 |
-
<td class="developer-label line"
|
93 |
<td class="developer-text line">' . $helper->__(
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
</tr>
|
98 |
</table>';
|
99 |
|
@@ -119,4 +128,61 @@ class ET_CurrencyManager_Block_Adminhtml_Support
|
|
119 |
}
|
120 |
}
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
19 |
|
20 |
class ET_CurrencyManager_Block_Adminhtml_Support
|
21 |
extends Mage_Adminhtml_Block_Abstract
|
22 |
+
implements Varien_Data_Form_Element_Renderer_Interface
|
23 |
{
|
24 |
/**
|
25 |
* Support tab
|
26 |
+
* version 2.0.0
|
27 |
*/
|
28 |
public function render(Varien_Data_Form_Element_Abstract $element)
|
29 |
{
|
35 |
$moduleShortDescription = $this->_getConfigValue($moduleNameId, 'descr');
|
36 |
$moduleLicense = $this->_getConfigValue($moduleNameId, 'license');
|
37 |
|
38 |
+
$linkParameters = '';
|
39 |
$moduleLicenseLink = $this->_getConfigValue($moduleNameId, 'licenselink') . $linkParameters;
|
40 |
$moduleSupportLink = $this->_getConfigValue($moduleNameId, 'redminelink') . $linkParameters;
|
41 |
$moduleLink = $this->_getConfigValue($moduleNameId, 'permanentlink') . $linkParameters;
|
42 |
$servicesLink = $this->_getConfigValue($moduleNameId, 'ourserviceslink') . $linkParameters;
|
43 |
|
44 |
+
$magentoVersion = Mage::getVersion();
|
45 |
+
$magentoPlatform = $this->_getPlatform();
|
46 |
+
$logoLink = 'https://shop.etwebsolutions.com/logotypes/' .
|
47 |
+
$magentoPlatform . '/' .
|
48 |
+
$magentoVersion . '/' .
|
49 |
+
$moduleNameId . '/' .
|
50 |
+
$moduleVersion . '/' .
|
51 |
+
'logo.png';
|
52 |
+
|
53 |
$html =
|
54 |
'<style>
|
55 |
+
.line {border-top: 1px solid #c6c6c6; padding-top: 10px;}
|
56 |
.developer-label {color: #000000; font-weight:bold; width: 150px;}
|
57 |
.developer-text { padding-bottom: 15px;}
|
58 |
.developer {width: 600px; }
|
63 |
<tr>
|
64 |
<td class="developer-label">' . $helper->__('Extension:') . '</td>
|
65 |
<td class="developer-text">' . $helper->__(
|
66 |
+
'<strong>%s</strong> (version %s)',
|
67 |
+
$moduleName,
|
68 |
+
$moduleVersion
|
69 |
+
) . '</td>
|
70 |
</tr>
|
71 |
<tr>
|
72 |
<td class="developer-label">' . $helper->__('License:') . '</td>
|
73 |
<td class="developer-text">' . $helper->__(
|
74 |
+
'<a href="%s" target="_blank">%s</a>',
|
75 |
+
$moduleLicenseLink,
|
76 |
+
$moduleLicense
|
77 |
+
) . '</td>
|
78 |
</tr>
|
79 |
<tr>
|
80 |
<td class="developer-label">' . $helper->__('Short Description:') . '</td>
|
81 |
+
<td class="developer-text">' . $moduleShortDescription . '</td>
|
82 |
</tr>
|
83 |
<tr>
|
84 |
<td class="developer-label">' . $helper->__('Documentation:') . '</td>
|
85 |
<td class="developer-text">' . $helper->__(
|
86 |
+
'You can see description of extension features and answers to the ' .
|
87 |
+
'frequently asked questions on <a href="%s" target="_blank">our website</a>.',
|
88 |
+
$moduleLink) . '</td>
|
89 |
</tr>
|
90 |
<tr>
|
91 |
<td class="developer-label line">' . $helper->__('Support:') . '</td>
|
92 |
<td class="developer-text line">' . $helper->__(
|
93 |
+
'Extension support is available through <a href="%s" target="_blank">issue tracking system' .
|
94 |
+
'</a>.<br>You can see information freely, but you will have to sign up to open a ticket.<br>' .
|
95 |
+
'<br>Please, report all bugs and feature requests that are related to this extension.<br>' .
|
96 |
+
'<br>If by some reason you can not submit a question, bug report or feature request to our ' .
|
97 |
+
'ticket system, you can write us an email - support@etwebsolutions.com.',
|
98 |
+
$moduleSupportLink) . '</td>
|
99 |
</tr>
|
100 |
<tr>
|
101 |
+
<td class="developer-label line"><img src="' . $logoLink . '" width="100px" height="34px"> </td>
|
102 |
<td class="developer-text line">' . $helper->__(
|
103 |
+
'You can hire our team to customize the extension. E-mail us on sales@etwebsolutions.com.<br>' .
|
104 |
+
'<br>You can see a list of provided services on <a href="%s" target="_blank">our website</a>.',
|
105 |
+
$servicesLink) . '</td>
|
106 |
</tr>
|
107 |
</table>';
|
108 |
|
128 |
}
|
129 |
}
|
130 |
|
131 |
+
const PLATFORM_CE = 'ce';
|
132 |
+
const PLATFORM_PE = 'pe';
|
133 |
+
const PLATFORM_EE = 'ee';
|
134 |
+
const PLATFORM_GO = 'go';
|
135 |
+
const PLATFORM_UNKNOWN = 'unknown';
|
136 |
+
|
137 |
+
protected static $_platformCode = self::PLATFORM_UNKNOWN;
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Get edition code
|
141 |
+
* @return string
|
142 |
+
*/
|
143 |
+
protected function _getPlatform()
|
144 |
+
{
|
145 |
+
if (self::$_platformCode == self::PLATFORM_UNKNOWN) {
|
146 |
+
// from Magento CE version 1.7. we can get platform from Mage class
|
147 |
+
if (property_exists('Mage', '_currentEdition')) {
|
148 |
+
switch (Mage::getEdition()) {
|
149 |
+
case Mage::EDITION_COMMUNITY:
|
150 |
+
self::$_platformCode = self::PLATFORM_CE;
|
151 |
+
break;
|
152 |
+
case Mage::EDITION_PROFESSIONAL:
|
153 |
+
self::$_platformCode = self::PLATFORM_PE;
|
154 |
+
break;
|
155 |
+
case Mage::EDITION_ENTERPRISE:
|
156 |
+
self::$_platformCode = self::PLATFORM_EE;
|
157 |
+
break;
|
158 |
+
case Mage::EDITION_ENTERPRISE:
|
159 |
+
self::$_platformCode = self::PLATFORM_EE;
|
160 |
+
break;
|
161 |
+
default:
|
162 |
+
self::$_platformCode = self::PLATFORM_UNKNOWN;
|
163 |
+
}
|
164 |
+
}
|
165 |
+
|
166 |
+
// if platform still unknown
|
167 |
+
if (self::$_platformCode == self::PLATFORM_UNKNOWN) {
|
168 |
+
$modulesArray = (array)Mage::getConfig()->getNode('modules')->children();
|
169 |
+
$isEnterprise = array_key_exists('Enterprise_Enterprise', $modulesArray);
|
170 |
+
|
171 |
+
$isProfessional = false; // TODO: how determine?
|
172 |
+
$isGo = false; // TODO: how?
|
173 |
+
|
174 |
+
if ($isEnterprise) {
|
175 |
+
self::$_platformCode = self::PLATFORM_EE;
|
176 |
+
} elseif ($isProfessional) {
|
177 |
+
self::$_platformCode = self::PLATFORM_PE;
|
178 |
+
} elseif ($isGo) {
|
179 |
+
self::$_platformCode = self::PLATFORM_GO;
|
180 |
+
} else {
|
181 |
+
self::$_platformCode = self::PLATFORM_CE;
|
182 |
+
}
|
183 |
+
}
|
184 |
+
}
|
185 |
+
return self::$_platformCode;
|
186 |
+
}
|
187 |
+
|
188 |
}
|
app/code/community/ET/CurrencyManager/Block/Adminhtml/Symbolreplace.php
CHANGED
@@ -52,6 +52,7 @@ class ET_CurrencyManager_Block_Adminhtml_Symbolreplace extends Mage_Adminhtml_Bl
|
|
52 |
$html = '<li><fieldset>';
|
53 |
$html .= $this->_getCurrencySelectHtml($row);
|
54 |
$html .= $this->_getPrecisionHtml($row);
|
|
|
55 |
$html .= $this->_getCutZeroHtml($row);
|
56 |
$html .= $this->_getSuffixHtml($row);
|
57 |
$html .= $this->_getSymbolPositionHtml($row);
|
@@ -120,6 +121,16 @@ class ET_CurrencyManager_Block_Adminhtml_Symbolreplace extends Mage_Adminhtml_Bl
|
|
120 |
return $html;
|
121 |
}
|
122 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
protected function _getCutZeroHtml($row)
|
124 |
{
|
125 |
$html = '<label>' . $this->__('Cut Zero Decimals:') . ' </label> ';
|
@@ -135,7 +146,7 @@ class ET_CurrencyManager_Block_Adminhtml_Symbolreplace extends Mage_Adminhtml_Bl
|
|
135 |
|
136 |
protected function _getPrecisionHtml($row)
|
137 |
{
|
138 |
-
$html = '<label>' . $this->__('
|
139 |
$html .= '<input class="input-text" name="' . $this->getElement()->getName() . '[precision][]" value="'
|
140 |
. $this->_getValue('precision/' . $row) . '" ' . $this->_getDisabled() . '/> ';
|
141 |
$html .= '<p class="nm"><small>' . $this->__('Leave empty for global value use') . '</small></p>';
|
52 |
$html = '<li><fieldset>';
|
53 |
$html .= $this->_getCurrencySelectHtml($row);
|
54 |
$html .= $this->_getPrecisionHtml($row);
|
55 |
+
$html .= $this->_getMinDecimalCountHtml($row);
|
56 |
$html .= $this->_getCutZeroHtml($row);
|
57 |
$html .= $this->_getSuffixHtml($row);
|
58 |
$html .= $this->_getSymbolPositionHtml($row);
|
121 |
return $html;
|
122 |
}
|
123 |
|
124 |
+
protected function _getMinDecimalCountHtml($row)
|
125 |
+
{
|
126 |
+
$html = '<label>' . $this->__('Minimum number of digits after the decimal point:') . ' </label> ';
|
127 |
+
$html .= '<input class="input-text" name="' . $this->getElement()->getName()
|
128 |
+
. '[min_decimal_count][]" value="' . $this->_getValue('min_decimal_count/' . $row)
|
129 |
+
. '" ' . $this->_getDisabled() . '/> ';
|
130 |
+
$html .= '<p class="nm"><small>' . $this->__('Leave empty for global value use') . '</small></p>';
|
131 |
+
return $html;
|
132 |
+
}
|
133 |
+
|
134 |
protected function _getCutZeroHtml($row)
|
135 |
{
|
136 |
$html = '<label>' . $this->__('Cut Zero Decimals:') . ' </label> ';
|
146 |
|
147 |
protected function _getPrecisionHtml($row)
|
148 |
{
|
149 |
+
$html = '<label>' . $this->__('Display precision:') . ' </label> ';
|
150 |
$html .= '<input class="input-text" name="' . $this->getElement()->getName() . '[precision][]" value="'
|
151 |
. $this->_getValue('precision/' . $row) . '" ' . $this->_getDisabled() . '/> ';
|
152 |
$html .= '<p class="nm"><small>' . $this->__('Leave empty for global value use') . '</small></p>';
|
app/code/community/ET/CurrencyManager/Helper/Data.php
CHANGED
@@ -89,7 +89,6 @@ class ET_CurrencyManager_Helper_Data extends Mage_Core_Helper_Abstract
|
|
89 |
{
|
90 |
$config = Mage::getStoreConfig('currencymanager/general');
|
91 |
|
92 |
-
$moduleName = Mage::app()->getRequest()->getModuleName();
|
93 |
$options = array();
|
94 |
$optionsAdvanced = array();
|
95 |
$storeId = Mage::app()->getStore()->getStoreId();
|
@@ -146,6 +145,8 @@ class ET_CurrencyManager_Helper_Data extends Mage_Core_Helper_Abstract
|
|
146 |
$optionsAdvanced['cutzerodecimal'] = $config['cutzerodecimal'];
|
147 |
$optionsAdvanced['cutzerodecimal_suffix'] = isset($config['cutzerodecimal_suffix']) ?
|
148 |
$config['cutzerodecimal_suffix'] : "";
|
|
|
|
|
149 |
}
|
150 |
|
151 |
protected function _collectCurrencyOptions($config, $currency, $notCheckout, &$options, &$optionsAdvanced)
|
@@ -166,6 +167,13 @@ class ET_CurrencyManager_Helper_Data extends Mage_Core_Helper_Abstract
|
|
166 |
);
|
167 |
}
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
$tmpOptions['position'] = $this->_getCurrencyOption($currency, $symbolReplace, 'position', true);
|
170 |
$tmpOptions['display'] = $this->_getCurrencyOption($currency, $symbolReplace, 'display', true);
|
171 |
$tmpOptions['symbol'] = $this->_getCurrencyOption($currency, $symbolReplace, 'symbol');
|
@@ -222,6 +230,7 @@ class ET_CurrencyManager_Helper_Data extends Mage_Core_Helper_Abstract
|
|
222 |
if (strlen(trim($symbolReplace['currency'][$symbolReplaceKey])) == 0) {
|
223 |
unset($symbolReplace['currency'][$symbolReplaceKey]);
|
224 |
unset($symbolReplace['precision'][$symbolReplaceKey]);
|
|
|
225 |
unset($symbolReplace['cutzerodecimal'][$symbolReplaceKey]);
|
226 |
unset($symbolReplace['cutzerodecimal_suffix'][$symbolReplaceKey]);
|
227 |
unset($symbolReplace['position'][$symbolReplaceKey]);
|
89 |
{
|
90 |
$config = Mage::getStoreConfig('currencymanager/general');
|
91 |
|
|
|
92 |
$options = array();
|
93 |
$optionsAdvanced = array();
|
94 |
$storeId = Mage::app()->getStore()->getStoreId();
|
145 |
$optionsAdvanced['cutzerodecimal'] = $config['cutzerodecimal'];
|
146 |
$optionsAdvanced['cutzerodecimal_suffix'] = isset($config['cutzerodecimal_suffix']) ?
|
147 |
$config['cutzerodecimal_suffix'] : "";
|
148 |
+
$optionsAdvanced['min_decimal_count'] = isset($config['min_decimal_count']) ?
|
149 |
+
$config['min_decimal_count'] : "2";
|
150 |
}
|
151 |
|
152 |
protected function _collectCurrencyOptions($config, $currency, $notCheckout, &$options, &$optionsAdvanced)
|
167 |
);
|
168 |
}
|
169 |
|
170 |
+
if (isset($symbolReplace['min_decimal_count'])) {
|
171 |
+
$tmpOptionsAdvanced["min_decimal_count"] = $this->_getCurrencyOption(
|
172 |
+
$currency, $symbolReplace, 'min_decimal_count'
|
173 |
+
);
|
174 |
+
}
|
175 |
+
|
176 |
+
|
177 |
$tmpOptions['position'] = $this->_getCurrencyOption($currency, $symbolReplace, 'position', true);
|
178 |
$tmpOptions['display'] = $this->_getCurrencyOption($currency, $symbolReplace, 'display', true);
|
179 |
$tmpOptions['symbol'] = $this->_getCurrencyOption($currency, $symbolReplace, 'symbol');
|
230 |
if (strlen(trim($symbolReplace['currency'][$symbolReplaceKey])) == 0) {
|
231 |
unset($symbolReplace['currency'][$symbolReplaceKey]);
|
232 |
unset($symbolReplace['precision'][$symbolReplaceKey]);
|
233 |
+
unset($symbolReplace['min_decimal_count'][$symbolReplaceKey]);
|
234 |
unset($symbolReplace['cutzerodecimal'][$symbolReplaceKey]);
|
235 |
unset($symbolReplace['cutzerodecimal_suffix'][$symbolReplaceKey]);
|
236 |
unset($symbolReplace['position'][$symbolReplaceKey]);
|
app/code/community/ET/CurrencyManager/Helper/Tax.php
CHANGED
@@ -43,8 +43,10 @@ class ET_CurrencyManager_Helper_Tax extends Mage_Tax_Helper_Data
|
|
43 |
if (!$this->needPriceConversion($store)) {
|
44 |
return $price;
|
45 |
}
|
46 |
-
|
|
|
47 |
$store, $priceIncludesTax);
|
48 |
-
|
|
|
49 |
}
|
50 |
}
|
43 |
if (!$this->needPriceConversion($store)) {
|
44 |
return $price;
|
45 |
}
|
46 |
+
Mage::app()->getStore($store)->setDoNotRoundET(true);
|
47 |
+
$result = parent::getPrice($product, $price, $includingTax, $shippingAddress, $billingAddress, $ctc,
|
48 |
$store, $priceIncludesTax);
|
49 |
+
Mage::app()->getStore($store)->setDoNotRoundET(false);
|
50 |
+
return $result;
|
51 |
}
|
52 |
}
|
app/code/community/ET/CurrencyManager/Helper/Tax1810.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* You may not sell, sub-license, rent or lease
|
6 |
+
* any portion of the Software or Documentation to anyone.
|
7 |
+
*
|
8 |
+
* DISCLAIMER
|
9 |
+
*
|
10 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
11 |
+
* versions in the future.
|
12 |
+
*
|
13 |
+
* @category ET
|
14 |
+
* @package ET_CurrencyManager
|
15 |
+
* @copyright Copyright (c) 2012 ET Web Solutions (http://etwebsolutions.com)
|
16 |
+
* @contacts support@etwebsolutions.com
|
17 |
+
* @license http://shop.etwebsolutions.com/etws-license-free-v1/ ETWS Free License (EFL1)
|
18 |
+
*/
|
19 |
+
|
20 |
+
class ET_CurrencyManager_Helper_Tax1810 extends Mage_Tax_Helper_Data
|
21 |
+
{
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Get product price with all tax settings processing
|
25 |
+
*
|
26 |
+
* @param Mage_Catalog_Model_Product $product
|
27 |
+
* @param float $price inputed product price
|
28 |
+
* @param bool $includingTax return price include tax flag
|
29 |
+
* @param null|Mage_Customer_Model_Address $shippingAddress
|
30 |
+
* @param null|Mage_Customer_Model_Address $billingAddress
|
31 |
+
* @param null|int $ctc customer tax class
|
32 |
+
* @param null|Mage_Core_Model_Store $store
|
33 |
+
* @param bool $priceIncludesTax flag what price parameter contain tax
|
34 |
+
* @return float
|
35 |
+
*/
|
36 |
+
public function getPrice($product, $price, $includingTax = null, $shippingAddress = null, $billingAddress = null,
|
37 |
+
$ctc = null, $store = null, $priceIncludesTax = null, $roundPrice = true)
|
38 |
+
{
|
39 |
+
if (!$price) {
|
40 |
+
return $price;
|
41 |
+
}
|
42 |
+
$store = Mage::app()->getStore($store);
|
43 |
+
if (!$this->needPriceConversion($store)) {
|
44 |
+
return $price;
|
45 |
+
}
|
46 |
+
Mage::app()->getStore($store)->setDoNotRoundET(true);
|
47 |
+
$result = parent::getPrice($product, $price, $includingTax, $shippingAddress, $billingAddress, $ctc,
|
48 |
+
$store, $priceIncludesTax, $roundPrice);
|
49 |
+
Mage::app()->getStore($store)->setDoNotRoundET(false);
|
50 |
+
return $result;
|
51 |
+
}
|
52 |
+
}
|
app/code/community/ET/CurrencyManager/Model/Currency.php
CHANGED
@@ -22,13 +22,15 @@ class ET_CurrencyManager_Model_Currency extends Mage_Directory_Model_Currency
|
|
22 |
|
23 |
public function format($price, $options = array(), $includeContainer = true, $addBrackets = false)
|
24 |
{
|
|
|
|
|
25 |
if (method_exists($this, "formatPrecision")) {
|
26 |
-
$options =
|
27 |
|
28 |
return $this->formatPrecision(
|
29 |
$price,
|
30 |
isset($options["precision"]) ? $options["precision"] : 2,
|
31 |
-
|
32 |
$includeContainer,
|
33 |
$addBrackets
|
34 |
);
|
@@ -47,7 +49,7 @@ class ET_CurrencyManager_Model_Currency extends Mage_Directory_Model_Currency
|
|
47 |
{
|
48 |
/* @var $helper ET_CurrencyManager_Helper_Data */
|
49 |
$helper = Mage::helper('currencymanager');
|
50 |
-
|
51 |
$answer = parent::formatTxt($price, $helper->clearOptions($options));
|
52 |
|
53 |
if ($helper->isEnabled()) {
|
@@ -55,6 +57,9 @@ class ET_CurrencyManager_Model_Currency extends Mage_Directory_Model_Currency
|
|
55 |
|
56 |
$optionsAdvanced = $helper->getOptions($options, false, $this->getCurrencyCode());
|
57 |
$options = $helper->getOptions($options, true, $this->getCurrencyCode());
|
|
|
|
|
|
|
58 |
|
59 |
$answer = parent::formatTxt($price, $options);
|
60 |
|
@@ -62,10 +67,14 @@ class ET_CurrencyManager_Model_Currency extends Mage_Directory_Model_Currency
|
|
62 |
if (($moduleName == 'admin')) {
|
63 |
$answer = parent::formatTxt($price, $helper->clearOptions($options));
|
64 |
}
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
//check against -0
|
67 |
$answer = $this->_formatWithPrecision($options, $optionsAdvanced, $price, $answer);
|
68 |
-
|
69 |
if (!($helper->isInOrder() && $optionsAdvanced['excludecheckout'])) {
|
70 |
if ($price == 0) {
|
71 |
if (isset($optionsAdvanced['zerotext']) && $optionsAdvanced['zerotext'] != "") {
|
@@ -101,6 +110,7 @@ class ET_CurrencyManager_Model_Currency extends Mage_Directory_Model_Currency
|
|
101 |
|
102 |
protected function _cutZeroDecimal($options, $optionsAdvanced, $price, $answer)
|
103 |
{
|
|
|
104 |
$helper = Mage::helper('currencymanager');
|
105 |
$zeroDecimal = (round($price, $optionsAdvanced['precision']) == round($price, 0));
|
106 |
$suffix = isset($optionsAdvanced['cutzerodecimal_suffix']) ? $optionsAdvanced['cutzerodecimal_suffix'] : "";
|
@@ -164,4 +174,42 @@ class ET_CurrencyManager_Model_Currency extends Mage_Directory_Model_Currency
|
|
164 |
return $data->getData("result");
|
165 |
}
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
}
|
22 |
|
23 |
public function format($price, $options = array(), $includeContainer = true, $addBrackets = false)
|
24 |
{
|
25 |
+
/** @var $helper ET_CurrencyManager_Helper_Data */
|
26 |
+
$helper = Mage::helper('currencymanager');
|
27 |
if (method_exists($this, "formatPrecision")) {
|
28 |
+
$options = $helper->getOptions($options);
|
29 |
|
30 |
return $this->formatPrecision(
|
31 |
$price,
|
32 |
isset($options["precision"]) ? $options["precision"] : 2,
|
33 |
+
$helper->clearOptions($options),
|
34 |
$includeContainer,
|
35 |
$addBrackets
|
36 |
);
|
49 |
{
|
50 |
/* @var $helper ET_CurrencyManager_Helper_Data */
|
51 |
$helper = Mage::helper('currencymanager');
|
52 |
+
//$options['format'] = '#,##0.00¤'; // TODO: add ability to change format
|
53 |
$answer = parent::formatTxt($price, $helper->clearOptions($options));
|
54 |
|
55 |
if ($helper->isEnabled()) {
|
57 |
|
58 |
$optionsAdvanced = $helper->getOptions($options, false, $this->getCurrencyCode());
|
59 |
$options = $helper->getOptions($options, true, $this->getCurrencyCode());
|
60 |
+
if (isset($options["precision"])) {
|
61 |
+
$price = round($price, $options["precision"]);
|
62 |
+
}
|
63 |
|
64 |
$answer = parent::formatTxt($price, $options);
|
65 |
|
67 |
if (($moduleName == 'admin')) {
|
68 |
$answer = parent::formatTxt($price, $helper->clearOptions($options));
|
69 |
}
|
70 |
+
$minDecimalCount = $optionsAdvanced['min_decimal_count'];
|
71 |
+
$finalDecimalCount = $this->getPrecisionToCutZeroDecimals($price, $minDecimalCount);
|
72 |
+
if ($finalDecimalCount <= $options['precision']) {
|
73 |
+
$options['precision'] = $finalDecimalCount;
|
74 |
+
}
|
75 |
|
76 |
//check against -0
|
77 |
$answer = $this->_formatWithPrecision($options, $optionsAdvanced, $price, $answer);
|
|
|
78 |
if (!($helper->isInOrder() && $optionsAdvanced['excludecheckout'])) {
|
79 |
if ($price == 0) {
|
80 |
if (isset($optionsAdvanced['zerotext']) && $optionsAdvanced['zerotext'] != "") {
|
110 |
|
111 |
protected function _cutZeroDecimal($options, $optionsAdvanced, $price, $answer)
|
112 |
{
|
113 |
+
/** @var $helper ET_CurrencyManager_Helper_Data */
|
114 |
$helper = Mage::helper('currencymanager');
|
115 |
$zeroDecimal = (round($price, $optionsAdvanced['precision']) == round($price, 0));
|
116 |
$suffix = isset($optionsAdvanced['cutzerodecimal_suffix']) ? $optionsAdvanced['cutzerodecimal_suffix'] : "";
|
174 |
return $data->getData("result");
|
175 |
}
|
176 |
|
177 |
+
/*
|
178 |
+
* if Cut Zero Decimal = Yes
|
179 |
+
* formats number like this
|
180 |
+
|
181 |
+
* from 8.000 to 8
|
182 |
+
* from 8.100 to 8.1 or 8.10
|
183 |
+
* @return precision
|
184 |
+
*/
|
185 |
+
protected function getPrecisionToCutZeroDecimals($value, $minPrecision = 1)
|
186 |
+
{
|
187 |
+
$precision = 0;
|
188 |
+
$possa = 1;
|
189 |
+
while ((float)($value * $possa) != (int)($value * $possa)) {
|
190 |
+
|
191 |
+
//0.999999999999999 case
|
192 |
+
$roundedOne = round(log10(abs((float)($value * $possa) - (int)($value * $possa))), 9);
|
193 |
+
//for correction -0 float zero
|
194 |
+
/*if($roundedOne == 0) {
|
195 |
+
$roundedOne = 0;
|
196 |
+
}*/
|
197 |
+
//0.00000000000001 case
|
198 |
+
$roundedZero = log10(abs((float)($value * $possa) - (int)($value * $possa)));
|
199 |
+
|
200 |
+
if ($roundedZero < -9 || $roundedOne == 0) {
|
201 |
+
break;
|
202 |
+
}
|
203 |
+
$possa *= 10;
|
204 |
+
$precision++;
|
205 |
+
//overflow error
|
206 |
+
if ($precision > 29) {
|
207 |
+
break;
|
208 |
+
}
|
209 |
+
}
|
210 |
+
|
211 |
+
// TODO: WTF do not used $value?
|
212 |
+
//$value = round($value, max(log10($possa), $minPrecision));
|
213 |
+
return max($precision, $minPrecision);
|
214 |
+
}
|
215 |
}
|
app/code/community/ET/CurrencyManager/Model/Observer.php
CHANGED
@@ -34,4 +34,19 @@ class ET_CurrencyManager_Model_Observer
|
|
34 |
'/currencymanager/currency');
|
35 |
}
|
36 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
34 |
'/currencymanager/currency');
|
35 |
}
|
36 |
}
|
37 |
+
|
38 |
+
public function rewriteClasses(Varien_Event_Observer $observer)
|
39 |
+
{
|
40 |
+
$isRewriteEnabled = (int)Mage::getConfig()->getNode('default/currencymanager/additional/rewrite_classes');
|
41 |
+
if ($isRewriteEnabled) {
|
42 |
+
/** in CE version 1.8.1.0 tax functions declarations changed */
|
43 |
+
if (version_compare(Mage::getVersion(), '1.8.1', '>')) {
|
44 |
+
//Helper rewrite
|
45 |
+
Mage::getConfig()->setNode('global/helpers/tax/rewrite/data', 'ET_CurrencyManager_Helper_Tax1810');
|
46 |
+
} else {
|
47 |
+
//Helper rewrite
|
48 |
+
Mage::getConfig()->setNode('global/helpers/tax/rewrite/data', 'ET_CurrencyManager_Helper_Tax');
|
49 |
+
}
|
50 |
+
}
|
51 |
+
}
|
52 |
}
|
app/code/community/ET/CurrencyManager/Model/Store.php
CHANGED
@@ -28,6 +28,12 @@ class ET_CurrencyManager_Model_Store extends Mage_Core_Model_Store
|
|
28 |
*/
|
29 |
public function roundPrice($price)
|
30 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
$options = Mage::helper('currencymanager')->getOptions(array());
|
32 |
return round($price, isset($options["precision"])?$options["precision"]:2);
|
33 |
}
|
28 |
*/
|
29 |
public function roundPrice($price)
|
30 |
{
|
31 |
+
// fixed double rounding for stores, which use non base display currency and product prices include taxes
|
32 |
+
// http://support.etwebsolutions.com/issues/984
|
33 |
+
if (Mage::app()->getStore()->getDoNotRoundET()) {
|
34 |
+
return $price;
|
35 |
+
}
|
36 |
+
|
37 |
$options = Mage::helper('currencymanager')->getOptions(array());
|
38 |
return round($price, isset($options["precision"])?$options["precision"]:2);
|
39 |
}
|
app/code/community/ET/CurrencyManager/etc/config.xml
CHANGED
@@ -22,7 +22,7 @@
|
|
22 |
<modules>
|
23 |
<ET_CurrencyManager>
|
24 |
<name>ET Currency Manager</name>
|
25 |
-
<version>1.1
|
26 |
<descr>
|
27 |
<ru_RU><![CDATA[Модуль позволяет владельцу магазина просто и удобно управлять отображением цены: указывать свой символ валюты, количество знаков после запятой, позицию символа и др.]]>
|
28 |
</ru_RU>
|
@@ -54,11 +54,11 @@
|
|
54 |
<currencymanager>
|
55 |
<class>ET_CurrencyManager_Helper</class>
|
56 |
</currencymanager>
|
57 |
-
|
58 |
<rewrite>
|
59 |
<data>ET_CurrencyManager_Helper_Tax</data>
|
60 |
</rewrite>
|
61 |
-
</tax
|
62 |
|
63 |
</helpers>
|
64 |
<models>
|
@@ -120,6 +120,11 @@
|
|
120 |
<class>currencymanager/observer</class>
|
121 |
<method>fixCurrencySwitchUrl</method>
|
122 |
</fix_currency_switch_url>
|
|
|
|
|
|
|
|
|
|
|
123 |
</observers>
|
124 |
</controller_front_init_before>
|
125 |
</events>
|
@@ -137,9 +142,11 @@
|
|
137 |
<precision>0</precision>
|
138 |
<position>8</position>
|
139 |
<display>2</display>
|
|
|
140 |
</general>
|
141 |
<additional>
|
142 |
<fix_currency_switch_url>0</fix_currency_switch_url>
|
|
|
143 |
</additional>
|
144 |
</currencymanager>
|
145 |
</default>
|
22 |
<modules>
|
23 |
<ET_CurrencyManager>
|
24 |
<name>ET Currency Manager</name>
|
25 |
+
<version>1.2.1</version>
|
26 |
<descr>
|
27 |
<ru_RU><![CDATA[Модуль позволяет владельцу магазина просто и удобно управлять отображением цены: указывать свой символ валюты, количество знаков после запятой, позицию символа и др.]]>
|
28 |
</ru_RU>
|
54 |
<currencymanager>
|
55 |
<class>ET_CurrencyManager_Helper</class>
|
56 |
</currencymanager>
|
57 |
+
<!--tax>
|
58 |
<rewrite>
|
59 |
<data>ET_CurrencyManager_Helper_Tax</data>
|
60 |
</rewrite>
|
61 |
+
</tax-->
|
62 |
|
63 |
</helpers>
|
64 |
<models>
|
120 |
<class>currencymanager/observer</class>
|
121 |
<method>fixCurrencySwitchUrl</method>
|
122 |
</fix_currency_switch_url>
|
123 |
+
<rewrire_classes_depending_on_version>
|
124 |
+
<type>model</type>
|
125 |
+
<class>currencymanager/observer</class>
|
126 |
+
<method>rewriteClasses</method>
|
127 |
+
</rewrire_classes_depending_on_version>
|
128 |
</observers>
|
129 |
</controller_front_init_before>
|
130 |
</events>
|
142 |
<precision>0</precision>
|
143 |
<position>8</position>
|
144 |
<display>2</display>
|
145 |
+
<min_decimal_count>2</min_decimal_count>
|
146 |
</general>
|
147 |
<additional>
|
148 |
<fix_currency_switch_url>0</fix_currency_switch_url>
|
149 |
+
<rewrite_classes>1</rewrite_classes>
|
150 |
</additional>
|
151 |
</currencymanager>
|
152 |
</default>
|
app/code/community/ET/CurrencyManager/etc/system.xml
CHANGED
@@ -145,17 +145,27 @@
|
|
145 |
<show_in_store>1</show_in_store>
|
146 |
</heading_global>
|
147 |
<precision translate="label comment">
|
148 |
-
<label>
|
149 |
-
<comment
|
150 |
<frontend_type>text</frontend_type>
|
151 |
<sort_order>310</sort_order>
|
152 |
<show_in_default>1</show_in_default>
|
153 |
<show_in_website>1</show_in_website>
|
154 |
<show_in_store>1</show_in_store>
|
155 |
</precision>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
<cutzerodecimal translate="label comment">
|
157 |
<label>Cut Zero Decimals</label>
|
158 |
<comment>If Yes price will be 99 instead of 99.00, but 99.99 if price 99.99</comment>
|
|
|
159 |
<frontend_type>select</frontend_type>
|
160 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
161 |
<sort_order>320</sort_order>
|
@@ -172,6 +182,7 @@
|
|
172 |
<show_in_default>1</show_in_default>
|
173 |
<show_in_website>1</show_in_website>
|
174 |
<show_in_store>1</show_in_store>
|
|
|
175 |
</cutzerodecimal_suffix>
|
176 |
|
177 |
<position translate="label">
|
145 |
<show_in_store>1</show_in_store>
|
146 |
</heading_global>
|
147 |
<precision translate="label comment">
|
148 |
+
<label>Display precision</label>
|
149 |
+
<comment><![CDATA[Number of decimal (e.g. 0, 1, 2). Default: 0<br>Examples<br>4 => 12.3811<br>3 => 12.381<br>2 => 12.38<br>1 => 12.4<br>0 => 12<br>-1 => 10]]></comment>
|
150 |
<frontend_type>text</frontend_type>
|
151 |
<sort_order>310</sort_order>
|
152 |
<show_in_default>1</show_in_default>
|
153 |
<show_in_website>1</show_in_website>
|
154 |
<show_in_store>1</show_in_store>
|
155 |
</precision>
|
156 |
+
<min_decimal_count translate="label comment">
|
157 |
+
<label>Minimum number of digits after the decimal point</label>
|
158 |
+
<comment><![CDATA[Discard zeroes, leaving specified number of them. Cannot be greater than Display Precision setting. Default: 2. Available values: 1, 2, 3, 4.<br>Examples:<br>for value = 0<br> 9.0000 => 9<br> 9.9999 => 9.9999<br> 9.9000 => 9.9<br><br> for value = 2<br> 9.0000 => 9.00<br> 9.9999 => 9.9999<br> 9.9000 => 9.90]]></comment>
|
159 |
+
<frontend_type>text</frontend_type>
|
160 |
+
<sort_order>315</sort_order>
|
161 |
+
<show_in_default>1</show_in_default>
|
162 |
+
<show_in_website>1</show_in_website>
|
163 |
+
<show_in_store>1</show_in_store>
|
164 |
+
</min_decimal_count>
|
165 |
<cutzerodecimal translate="label comment">
|
166 |
<label>Cut Zero Decimals</label>
|
167 |
<comment>If Yes price will be 99 instead of 99.00, but 99.99 if price 99.99</comment>
|
168 |
+
<comment><![CDATA[В отличии от Точности отображения данная настройка отбрасывает не все символы после запятой, а только нули.<br>99.99 => 99.99<br>99.00 => 99]]></comment>
|
169 |
<frontend_type>select</frontend_type>
|
170 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
171 |
<sort_order>320</sort_order>
|
182 |
<show_in_default>1</show_in_default>
|
183 |
<show_in_website>1</show_in_website>
|
184 |
<show_in_store>1</show_in_store>
|
185 |
+
<depends><cutzerodecimal>1</cutzerodecimal></depends>
|
186 |
</cutzerodecimal_suffix>
|
187 |
|
188 |
<position translate="label">
|
app/design/frontend/base/default/layout/et_currencymanager.xml
CHANGED
@@ -25,7 +25,6 @@
|
|
25 |
<block type="currencymanager/js" name="currencymanager.js.config">
|
26 |
<action ifconfig="currencymanager/general/enabled" method="setTemplate"><name>et_currencymanager/js.phtml</name></action>
|
27 |
</block>
|
28 |
-
<action ifconfig="currencymanager/general/cutzerodecimal" method="addItem"><type>js</type><name>et/currencymanager/et_currencymanager.js</name></action>
|
29 |
<action ifconfig="currencymanager/general/enabled" method="addItem"><type>js</type><name>et/currencymanager/et_currencymanager_round.js</name></action>
|
30 |
</reference>
|
31 |
</default>
|
25 |
<block type="currencymanager/js" name="currencymanager.js.config">
|
26 |
<action ifconfig="currencymanager/general/enabled" method="setTemplate"><name>et_currencymanager/js.phtml</name></action>
|
27 |
</block>
|
|
|
28 |
<action ifconfig="currencymanager/general/enabled" method="addItem"><type>js</type><name>et/currencymanager/et_currencymanager_round.js</name></action>
|
29 |
</reference>
|
30 |
</default>
|
app/design/frontend/base/default/template/et_currencymanager/js.phtml
CHANGED
@@ -16,7 +16,10 @@
|
|
16 |
* @contacts support@etwebsolutions.com
|
17 |
* @license http://shop.etwebsolutions.com/etws-license-free-v1/ ETWS Free License (EFL1)
|
18 |
*/
|
|
|
|
|
19 |
?>
|
20 |
<script type="text/javascript">
|
21 |
-
etCurrencyManagerJsConfig=<?php print $this->getJsonConfig()
|
22 |
-
|
|
16 |
* @contacts support@etwebsolutions.com
|
17 |
* @license http://shop.etwebsolutions.com/etws-license-free-v1/ ETWS Free License (EFL1)
|
18 |
*/
|
19 |
+
//sometimes our js shown before /js/varien/product.js
|
20 |
+
//calling this function will update Product.Config to our formatPrice
|
21 |
?>
|
22 |
<script type="text/javascript">
|
23 |
+
etCurrencyManagerJsConfig =<?php print $this->getJsonConfig();?>;
|
24 |
+
extendProductConfigformatPrice();
|
25 |
+
</script>
|
app/etc/modules/ET_CurrencyManager.xml
CHANGED
@@ -1,28 +1,28 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* NOTICE OF LICENSE
|
5 |
-
*
|
6 |
-
* You may not sell, sub-license, rent or lease
|
7 |
-
* any portion of the Software or Documentation to anyone.
|
8 |
-
*
|
9 |
-
* DISCLAIMER
|
10 |
-
*
|
11 |
-
* Do not edit or add to this file if you wish to upgrade to newer
|
12 |
-
* versions in the future.
|
13 |
-
*
|
14 |
-
* @category ET
|
15 |
-
* @package ET_CurrencyManager
|
16 |
-
* @copyright Copyright (c) 2012 ET Web Solutions (http://etwebsolutions.com)
|
17 |
-
* @contacts support@etwebsolutions.com
|
18 |
-
* @license http://shop.etwebsolutions.com/etws-license-free-v1/ ETWS Free License (EFL1)
|
19 |
-
*/
|
20 |
-
-->
|
21 |
-
<config>
|
22 |
-
<modules>
|
23 |
-
<ET_CurrencyManager>
|
24 |
-
<active>true</active>
|
25 |
-
<codePool>community</codePool>
|
26 |
-
</ET_CurrencyManager>
|
27 |
-
</modules>
|
28 |
</config>
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* You may not sell, sub-license, rent or lease
|
7 |
+
* any portion of the Software or Documentation to anyone.
|
8 |
+
*
|
9 |
+
* DISCLAIMER
|
10 |
+
*
|
11 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
12 |
+
* versions in the future.
|
13 |
+
*
|
14 |
+
* @category ET
|
15 |
+
* @package ET_CurrencyManager
|
16 |
+
* @copyright Copyright (c) 2012 ET Web Solutions (http://etwebsolutions.com)
|
17 |
+
* @contacts support@etwebsolutions.com
|
18 |
+
* @license http://shop.etwebsolutions.com/etws-license-free-v1/ ETWS Free License (EFL1)
|
19 |
+
*/
|
20 |
+
-->
|
21 |
+
<config>
|
22 |
+
<modules>
|
23 |
+
<ET_CurrencyManager>
|
24 |
+
<active>true</active>
|
25 |
+
<codePool>community</codePool>
|
26 |
+
</ET_CurrencyManager>
|
27 |
+
</modules>
|
28 |
</config>
|
app/locale/fr_FR/ET_Currencymanager.csv
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"Currency Manager","Gestionnaire d'affichage des devises"
|
2 |
+
"Remove","Supprimer"
|
3 |
+
"* Select currency","* Sélectionner une devise"
|
4 |
+
"Currency Options","Options de la devise"
|
5 |
+
"Enabled for Frontend","Autoriser en Frontend"
|
6 |
+
"Enabled for Admin","Autoriser pour l'administration"
|
7 |
+
"Precision","Précision"
|
8 |
+
"Precision:","Précision :"
|
9 |
+
"Number of decimal (e.g. 0, 1, 2). Default: 0","Nombre de décimales (soit 0, 1, 2). Par défaut: 0"
|
10 |
+
"Symbol position","Position du symbole"
|
11 |
+
"Currency symbol use","Utilisation du symbole de devise"
|
12 |
+
"e.g. Symbol = Ls, Short name = LVL, Name = Latvian Lats","Soit Symbole = $, Nom court = USD, Nom = US Dollar"
|
13 |
+
"Default","Par défaut"
|
14 |
+
"Right","à droite"
|
15 |
+
"Left","à gauche"
|
16 |
+
"Do not use","Ne pas utiliser"
|
17 |
+
"Use symbol","Utiliser le symbole"
|
18 |
+
"Use short name","Utiliser le nom court"
|
19 |
+
"Use name","Utiliser le nom"
|
20 |
+
"Yes","Oui"
|
21 |
+
"No","Non"
|
22 |
+
"Frontend specific options","Options spécifiques pour le Frontend"
|
23 |
+
"Admin specific options","Options spécifiques pour l'administration"
|
24 |
+
"Currency options (global)","Options des devises (global)"
|
25 |
+
"Currency options (for specific currency)","Options des devises (pour une devise particulière)"
|
26 |
+
"Exclude for checkout","Exclure le paiement final(checkout)"
|
27 |
+
"If Yes - options [Precision] and [Replace Zero Price] will not affect display of prices in checkout.","Si Oui - les options [Précision] et[Remplacement des prix à Zéro] n'affecteront pas l'affichage des prix pour le paiement final(checkout)."
|
28 |
+
"Cut Zero Decimals","Enlever les décimales à zéro"
|
29 |
+
"Cut Zero Decimals:","Enlever les décimales à zéro :"
|
30 |
+
"If Yes price will be 99 instead of 99.00, but 99.99 if price 99.99","Si Oui le prix sera affiché 99 au lieu de 99,00 mais 99,99 si le prix est 99,99"
|
31 |
+
"Currency specific options","Options spécifiques à la devise"
|
32 |
+
"Select currency:","Sélectionner une devise :"
|
33 |
+
"Symbol position:","Position du symbole :"
|
34 |
+
"Currency symbol use:","Utilisation du symbole de la devise :"
|
35 |
+
"Replace symbol to:","Remplacer le symbole par :"
|
36 |
+
"Replace Zero Price to:","Remplacer le prix à zéro par :"
|
37 |
+
"Replace Zero Price to","Remplacer le prix à zéro par"
|
38 |
+
"Add currency specific options","Ajouter des options spécifiques à une devise"
|
39 |
+
"Currency Manager information","Gestion des informations des devise"
|
40 |
+
"Support by support@etwebsolutions.com <br /> You can hire our team for any customizations. Contact us at sales@etwebsolutions.com","Aide via support@etwebsolutions.com <br /> Vous pouvez engager notre équipe pour toutes les personnalisations. Contactez-nous via sales@etwebsolutions.com"
|
41 |
+
"Leave empty for disable replace","Laisser vide pour désactiver le remplacement"
|
42 |
+
"Leave empty for global value use","Laisser vide pour l'utilisation de la valeur globale"
|
43 |
+
"Used only if Cut Zero Decimals = Yes, default "",-""","Utilisé seulement si Enlever les décimales à zéro = Oui, par défaut "",-"""
|
44 |
+
"Enable for Inputs","Autoriser pour les saisies"
|
45 |
+
"Suffix:","Suffixe :"
|
46 |
+
"Replaces Cuted Zero Decimals","Remplace les décimales à zéro supprimées"
|
app/locale/ru_RU/ET_Currencymanager.csv
CHANGED
@@ -1,70 +1,78 @@
|
|
1 |
-
"Currency Manager","Currency Manager"
|
2 |
-
"Remove","Удалить"
|
3 |
-
"* Select currency","* Выберите валюту"
|
4 |
-
"Currency Options","Параметры валюты"
|
5 |
-
"Enabled for Frontend","Включено для пользователей"
|
6 |
-
"Enabled for Admin","Включено для администраторов"
|
7 |
-
"Precision","Точность"
|
8 |
-
"Precision:","Точность:"
|
9 |
-
"
|
10 |
-
"
|
11 |
-
"
|
12 |
-
"e.g.
|
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 |
-
"
|
52 |
-
"
|
53 |
-
"
|
54 |
-
"
|
55 |
-
"
|
56 |
-
"
|
57 |
-
"
|
58 |
-
|
59 |
-
"
|
60 |
-
|
61 |
-
"
|
62 |
-
"
|
63 |
-
"",""
|
64 |
-
"",""
|
65 |
-
"",""
|
66 |
-
"",""
|
67 |
-
"",""
|
68 |
-
|
69 |
-
"",""
|
70 |
-
"",""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"Currency Manager","Currency Manager"
|
2 |
+
"Remove","Удалить"
|
3 |
+
"* Select currency","* Выберите валюту"
|
4 |
+
"Currency Options","Параметры валюты"
|
5 |
+
"Enabled for Frontend","Включено для пользователей"
|
6 |
+
"Enabled for Admin","Включено для администраторов"
|
7 |
+
"Precision","Точность"
|
8 |
+
"Precision:","Точность:"
|
9 |
+
"Display precision","Точность отображения"
|
10 |
+
"Display precision:","Точность отображения:"
|
11 |
+
"Number of decimal (e.g. 0, 1, 2). Default: 0","Кол-во знаков после запятой (например: 0, 1, 2). По умолчанию: 0"
|
12 |
+
"Number of decimal (e.g. 0, 1, 2). Default: 0<br>Examples<br>4 => 12.3811<br>3 => 12.381<br>2 => 12.38<br>1 => 12.4<br>0 => 12<br>-1 => 10","Кол-во знаков после запятой (например: 0, 1, 2). По умолчанию: 0<br>Примеры<br>4 => 12.3811<br>3 => 12.381<br>2 => 12.38<br>1 => 12.4<br>0 => 12<br>-1 => 10"
|
13 |
+
|
14 |
+
"Symbol position","Позиция символа"
|
15 |
+
"Currency symbol use","Обозначение валюты"
|
16 |
+
"e.g. Symbol = Ls, Short name = LVL, Name = Latvian Lats","Например: Символ = руб., Код = RUB, Наименование = Российский рубль"
|
17 |
+
"Default","По умолчанию"
|
18 |
+
"Right","После цены"
|
19 |
+
"Left","Перед ценой"
|
20 |
+
"Do not use","не использовать"
|
21 |
+
"Use symbol","символ"
|
22 |
+
"Use short name","код"
|
23 |
+
"Use name","наименование"
|
24 |
+
"Yes","Да"
|
25 |
+
"No","Нет"
|
26 |
+
"Frontend specific options","Параметры для пользовательской части"
|
27 |
+
"Admin specific options","Параметры для панели администрирования"
|
28 |
+
"Currency options (global)","Параметры валюты (глобальные)"
|
29 |
+
"Currency options (for specific currency)","Параметры валюты (для конкретной валюты)"
|
30 |
+
"Exclude for checkout","Исключение для заказа"
|
31 |
+
"If Yes - options [Precision] and [Replace Zero Price] will not affect display of prices in checkout.","Если Да - параметры [Точность] и [Заменить нулевые цены] не будут влиять на отображение цены в заказе."
|
32 |
+
"Cut Zero Decimals","Отбрасывать нули после запятой"
|
33 |
+
"Cut Zero Decimals:","Отбрасывать нули после запятой:"
|
34 |
+
"If Yes price will be 99 instead of 99.00, but 99.99 if price 99.99","Если Да цена будет 99 вместо 99.00, но 99.99 при цене 99.99"
|
35 |
+
"Currency specific options","Параметры для конкретной валюты"
|
36 |
+
"Select currency:","Выберите валюту:"
|
37 |
+
"Symbol position:","Позиция символа:"
|
38 |
+
"Currency symbol use:","Обозначение валюты:"
|
39 |
+
"Replace symbol to:","Заменить символ на:"
|
40 |
+
"Replace Zero Price to:","Заменить нулевые цены на:"
|
41 |
+
"Replace Zero Price to","Заменить нулевые цены на"
|
42 |
+
"Add currency specific options","Добавить параметры, специфичные для валюты"
|
43 |
+
"Currency Manager information","Информация о модуле Currency Manager"
|
44 |
+
"Support by support@etwebsolutions.com <br /> You can hire our team for any customizations. Contact us at sales@etwebsolutions.com","Поддержка - support@etwebsolutions.com <br /> Вы можете нанять нашу команду для любых работ по Magento. Пишите на sales@etwebsolutions.com"
|
45 |
+
"Leave empty for disable replace","Оставьте пустым, если не хотите делать замену"
|
46 |
+
"Leave empty for global value use","Оставьте пустым для использования глобального значения"
|
47 |
+
"Used only if Cut Zero Decimals = Yes, default "",-""","Используется только при значении Отбрасывать нули после запятой = Да. По умолчанию: "",-"""
|
48 |
+
"Enable for Inputs","Применять для полей ввода цены"
|
49 |
+
"Suffix:","Заменить отброшенные нули на значение:"
|
50 |
+
"Replaces Cuted Zero Decimals","Заменить отброшенные нули на значение"
|
51 |
+
"Click here to configure currency additional display options","Перейти к дополнительным настройкам отображения валюты"
|
52 |
+
"Additional Options","Дополнительные настройки"
|
53 |
+
"Fix URL","Исправить адрес"
|
54 |
+
"Minimum number of digits after the decimal point","Минимальное кол-во знаков после запятой"
|
55 |
+
"Minimum number of digits after the decimal point:","Минимальное кол-во знаков после запятой:"
|
56 |
+
"Discard zeroes, leaving specified number of them. Cannot be greater than Display Precision setting. Default: 2. Available values: 1, 2, 3, 4.<br>Examples:<br>for value = 0<br> 9.0000 => 9<br> 9.9999 => 9.9999<br> 9.9000 => 9.9<br><br> for value = 2<br> 9.0000 => 9.00<br> 9.9999 => 9.9999<br> 9.9000 => 9.90","Отбросить нули, оставив указанное количество. Не может быть больше параметра Точность отображения. По умолчанию: 2. Доступные значения: 1, 2, 3, 4.<br>Примеры:<br>при значении = 0<br> 9.0000 => 9<br> 9.9999 => 9.9999<br> 9.9000 => 9.9<br><br> при значении = 2<br> 9.0000 => 9.00<br> 9.9999 => 9.9999<br> 9.9000 => 9.90"
|
57 |
+
"Unlike Display Precision, this setting discards only zeroes.<br>Example:<br>99.99 => 99.99<br>99.00 => 99","В отличии от Точности отображения данная настройка отбрасывает не все символы после запятой, а только нули.<br>Пример:<br>99.99 => 99.99<br>99.00 => 99"
|
58 |
+
|
59 |
+
"Extension:","Модуль:"
|
60 |
+
"<strong>%s</strong> (version %s)","<strong>%s</strong> (версия %s)"
|
61 |
+
"License:","Лицензия:"
|
62 |
+
"Short Description:","Краткое описание:"
|
63 |
+
"Documentation:","Документация:"
|
64 |
+
"Support:","Поддержка:"
|
65 |
+
"Advertisement:","Реклама:"
|
66 |
+
"You can see description of extension features and answers to the frequently asked questions on <a href=""%s"" target=""_balnk"">our website</a>.","Описание позможностей модуля и ответы на часто задаваемые вопросы смотрите на <a href=""%s"" target=""_balnk"">нашем сайте</a>."
|
67 |
+
"You can hire our team to customize the extension. E-mail us on sales@etwebsolutions.com.<br><br>You can see a list of provided services on <a href=""%s"" target=""_blank"">our website</a>.","Вы можете нанять нашу команду для любых работ по модификации модуля. Пишите на адрес sales@etwebsolutions.com.<br><br>Со списком предоставляемых нами услуг вы можете ознакомиться <a href=""%s"" target=""_blank"">на нашем сайте</a>."
|
68 |
+
|
69 |
+
"Extension support is available through <a href=""%s"" target=""_blank"">issue tracking system</a>.<br>You can see information freely, but you will have to sign up to open a ticket.<br><br>Please, report all bugs and feature requests that are related to this extension.<br><br>If by some reason you can not submit a question, bug report or feature request to our ticket system, you can write us an email - support@etwebsolutions.com.","Поддержка модуля осуществляется через <a href=""%s"" target=""_blank"">систему отслеживания заданий</a>.<br>Для создания задачи будет необходимо зарегистрироваться. Для просмотра информации регистрация не требуется.<br><br>Пожалуйста, сообщайте нам о найденных ошибках и о своих пожеланиях в рамках этого модуля.<br><br>Если по каким-либо причинам вы не можете размеситить вопрос/сообщение об ошибке/пожелание в списке задач, то можете написать нам по адресу support@etwebsolutions.com."
|
70 |
+
"In Magento by default when customer switches to another currency, he stays on the same page, but all parameters are omitted.<br><br><b>before switch:</b><br>site.com/category.html?color=24&price=100-200<br><b>after switch:</b><br>site.com/category.html<br><br>This setting allows to return customer to the same address, where he was before switching currency.","По умолчанию в Magento при переключении валюты клиент остаётся на текущей странице, но отбрасываются все параметры.<br><br><b>перед переключением:</b><br>site.com/category.html?color=24&price=100-200<br><b>после:</b><br>site.com/category.html<br><br>Данная настройка позволяет вернуться точно на тот же адрес, где клиент был до переключения валюты."
|
71 |
+
"",""
|
72 |
+
"",""
|
73 |
+
"",""
|
74 |
+
"",""
|
75 |
+
"",""
|
76 |
+
"",""
|
77 |
+
"",""
|
78 |
+
"",""
|
js/et/currencymanager/et_currencymanager.js
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
var globalCutZeroSignPrice = true;
|
2 |
-
if (typeof(Product) != "undefined") {
|
3 |
-
Product.OptionsPrice.prototype = Object.extend(Product.OptionsPrice.prototype, {formatPrice:function (price) {
|
4 |
-
var tmpPriceFormat = Object.clone(this.priceFormat);
|
5 |
-
if (price - parseInt(price) == 0) {
|
6 |
-
tmpPriceFormat.precision = 0;
|
7 |
-
tmpPriceFormat.requiredPrecision = 0;
|
8 |
-
}
|
9 |
-
if (tmpPriceFormat.precision < 0) {
|
10 |
-
tmpPriceFormat.precision = 0;
|
11 |
-
}
|
12 |
-
if (tmpPriceFormat.requiredPrecision < 0) {
|
13 |
-
tmpPriceFormat.requiredPrecision = 0;
|
14 |
-
}
|
15 |
-
var price2return = formatCurrency(price, tmpPriceFormat);
|
16 |
-
return price2return;
|
17 |
-
}});
|
18 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/et/currencymanager/et_currencymanager_round.js
CHANGED
@@ -1,76 +1,122 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
str
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
-
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
precision = etCurrencyManagerJsConfig.precision;
|
26 |
-
}
|
27 |
-
}
|
28 |
-
if (typeof(optionsPrice) != "undefined") {
|
29 |
-
if (typeof(optionsPrice.priceFormat) != "undefined") {
|
30 |
-
precision = optionsPrice.priceFormat.requiredPrecision;
|
31 |
-
}
|
32 |
-
}
|
33 |
-
if (typeof(etCurrencyManagerJsConfig) != "undefined") {
|
34 |
-
if (typeof(etCurrencyManagerJsConfig.cutzerodecimal) != "undefined") {
|
35 |
-
if (etCurrencyManagerJsConfig.cutzerodecimal != 0) {
|
36 |
-
if (price - Math.round(price) == 0) {
|
37 |
-
precision = 0;
|
38 |
}
|
39 |
}
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
}
|
55 |
}
|
|
|
56 |
}
|
57 |
}
|
58 |
-
str
|
59 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
-
return str;
|
62 |
}
|
63 |
-
|
64 |
-
|
65 |
-
});
|
66 |
}
|
67 |
|
|
|
68 |
|
69 |
try {
|
70 |
|
71 |
originalFormatCurrency = window.formatCurrency;
|
72 |
|
73 |
-
window.formatCurrency = function (price,
|
|
|
|
|
74 |
//zeroSymbol
|
75 |
//JS round fix
|
76 |
price = Math.round(price * Math.pow(10, format.precision)) / Math.pow(10, format.precision);
|
@@ -107,13 +153,31 @@ try {
|
|
107 |
}
|
108 |
}
|
109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
return formatCurrencyET(price, format, showPlus);
|
111 |
//if(format.precision<0)format.precision=0;
|
112 |
//if(format.requiredPrecision<0)format.requiredPrecision=0;
|
113 |
/*return originalFormatCurrency(price, format, showPlus);*/
|
114 |
|
115 |
|
116 |
-
}
|
117 |
|
118 |
|
119 |
function formatCurrencyET(price, format, showPlus) {
|
@@ -166,10 +230,12 @@ try {
|
|
166 |
return pattern.replace('%s', r).replace(/^\s\s*/, '').replace(/\s\s*$/, '');
|
167 |
}
|
168 |
|
169 |
-
|
170 |
|
171 |
|
172 |
}
|
173 |
catch (e) {
|
174 |
//do nothing
|
175 |
-
}
|
|
|
|
1 |
+
//flag - we already updated Product.Config
|
2 |
+
var extendProductConfigformatPriceTrigged = false;
|
3 |
+
//calling this function will update Product.Config to our formatPrice
|
4 |
+
|
5 |
+
function extendProductConfigformatPrice() {
|
6 |
+
if (typeof(Product) != "undefined") {
|
7 |
+
if (!extendProductConfigformatPriceTrigged) {
|
8 |
+
extendProductConfigformatPriceTrigged = true;
|
9 |
+
|
10 |
+
Product.Config.prototype = Object.extend(Product.Config.prototype, {
|
11 |
+
formatPrice:function (price, showSign) {
|
12 |
+
var str = '';
|
13 |
+
price = parseFloat(price);
|
14 |
+
if (showSign) {
|
15 |
+
if (price < 0) {
|
16 |
+
str += '-';
|
17 |
+
price = -price;
|
18 |
+
}
|
19 |
+
else {
|
20 |
+
str += '+';
|
21 |
+
}
|
22 |
+
}
|
23 |
|
24 |
+
var roundedPrice = (Math.round(price * 100) / 100).toString();
|
25 |
|
26 |
+
if (this.prices && this.prices[roundedPrice]) {
|
27 |
+
str += this.prices[roundedPrice];
|
28 |
+
} else {
|
29 |
+
precision = 2;
|
30 |
+
if (typeof(etCurrencyManagerJsConfig) != "undefined") {
|
31 |
+
if (typeof(etCurrencyManagerJsConfig.precision) != "undefined") {
|
32 |
+
precision = etCurrencyManagerJsConfig.precision;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
}
|
34 |
}
|
35 |
+
if (typeof(optionsPrice) != "undefined") {
|
36 |
+
if (typeof(optionsPrice.priceFormat) != "undefined") {
|
37 |
+
precision = optionsPrice.priceFormat.requiredPrecision;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
if (typeof(etCurrencyManagerJsConfig) != "undefined") {
|
41 |
+
if (typeof(etCurrencyManagerJsConfig.cutzerodecimal) != "undefined") {
|
42 |
+
if (etCurrencyManagerJsConfig.cutzerodecimal != 0) {
|
43 |
+
if (price - Math.round(price) == 0) {
|
44 |
+
precision = 0;
|
45 |
+
}
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
if (typeof(etCurrencyManagerJsConfig) != "undefined") {
|
51 |
+
if (typeof(etCurrencyManagerJsConfig.min_decimal_count) != "undefined") {
|
52 |
+
if (etCurrencyManagerJsConfig.min_decimal_count < precision) {
|
53 |
+
for (var testPrecision = etCurrencyManagerJsConfig.min_decimal_count;
|
54 |
+
testPrecision < precision; testPrecision++) {
|
55 |
+
//abs for 0.00199999999 or 1.1000000000001 fix
|
56 |
+
if (Math.abs(Math.round(price * Math.pow(10, testPrecision))
|
57 |
+
- price * Math.pow(10, testPrecision))<0.0000001) {
|
58 |
+
precision = testPrecision;
|
59 |
+
break;
|
60 |
+
}
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
|
67 |
+
if (precision > 0) {
|
68 |
+
str += this.priceTemplate.evaluate({price:price.toFixed(precision)});
|
69 |
+
}
|
70 |
+
else {
|
71 |
+
price = price.toFixed(0);
|
72 |
+
if (typeof(etCurrencyManagerJsConfig) != "undefined") {
|
73 |
+
if (typeof(etCurrencyManagerJsConfig.cutzerodecimal) != "undefined") {
|
74 |
+
if (etCurrencyManagerJsConfig.cutzerodecimal != 0) {
|
75 |
+
if (typeof(etCurrencyManagerJsConfig.cutzerodecimal_suffix) != "undefined") {
|
76 |
+
if (etCurrencyManagerJsConfig.cutzerodecimal_suffix.length > 0) {
|
77 |
+
price = price + "" + etCurrencyManagerJsConfig.cutzerodecimal_suffix;
|
78 |
+
}
|
79 |
+
}
|
80 |
}
|
81 |
}
|
82 |
}
|
83 |
+
str += this.priceTemplate.evaluate({price:price});
|
84 |
}
|
85 |
}
|
86 |
+
return str;
|
87 |
}
|
88 |
+
});
|
89 |
+
|
90 |
+
if (etCurrencyManagerJsConfig.cutzerodecimal > 0) {
|
91 |
+
Product.OptionsPrice.prototype = Object.extend(Product.OptionsPrice.prototype, {formatPrice:function (price) {
|
92 |
+
var tmpPriceFormat = Object.clone(this.priceFormat);
|
93 |
+
if (price - parseInt(price) == 0) {
|
94 |
+
tmpPriceFormat.precision = 0;
|
95 |
+
tmpPriceFormat.requiredPrecision = 0;
|
96 |
+
}
|
97 |
+
if (tmpPriceFormat.precision < 0) {
|
98 |
+
tmpPriceFormat.precision = 0;
|
99 |
+
}
|
100 |
+
if (tmpPriceFormat.requiredPrecision < 0) {
|
101 |
+
tmpPriceFormat.requiredPrecision = 0;
|
102 |
+
}
|
103 |
+
var price2return = formatCurrency(price, tmpPriceFormat);
|
104 |
+
return price2return;
|
105 |
+
}});
|
106 |
}
|
|
|
107 |
}
|
108 |
+
}
|
|
|
|
|
109 |
}
|
110 |
|
111 |
+
extendProductConfigformatPrice();
|
112 |
|
113 |
try {
|
114 |
|
115 |
originalFormatCurrency = window.formatCurrency;
|
116 |
|
117 |
+
window.formatCurrency = function (price, originalFormat, showPlus) {
|
118 |
+
var format = Object.clone(originalFormat);
|
119 |
+
|
120 |
//zeroSymbol
|
121 |
//JS round fix
|
122 |
price = Math.round(price * Math.pow(10, format.precision)) / Math.pow(10, format.precision);
|
153 |
}
|
154 |
}
|
155 |
|
156 |
+
if (typeof(etCurrencyManagerJsConfig) != "undefined") {
|
157 |
+
if (typeof(etCurrencyManagerJsConfig.min_decimal_count) != "undefined") {
|
158 |
+
if (etCurrencyManagerJsConfig.min_decimal_count < format.precision) {
|
159 |
+
for (var testPrecision = etCurrencyManagerJsConfig.min_decimal_count;
|
160 |
+
testPrecision < format.precision; testPrecision++) {
|
161 |
+
//abs for 0.00199999999 or 1.1000000000001 fix
|
162 |
+
if (Math.abs(Math.round(price * Math.pow(10, testPrecision))
|
163 |
+
- price * Math.pow(10, testPrecision))<0.0000001) {
|
164 |
+
format.precision = testPrecision;
|
165 |
+
format.requiredPrecision = testPrecision;
|
166 |
+
break;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
}
|
170 |
+
}
|
171 |
+
}
|
172 |
+
|
173 |
+
|
174 |
return formatCurrencyET(price, format, showPlus);
|
175 |
//if(format.precision<0)format.precision=0;
|
176 |
//if(format.requiredPrecision<0)format.requiredPrecision=0;
|
177 |
/*return originalFormatCurrency(price, format, showPlus);*/
|
178 |
|
179 |
|
180 |
+
};
|
181 |
|
182 |
|
183 |
function formatCurrencyET(price, format, showPlus) {
|
230 |
return pattern.replace('%s', r).replace(/^\s\s*/, '').replace(/\s\s*$/, '');
|
231 |
}
|
232 |
|
233 |
+
|
234 |
|
235 |
|
236 |
}
|
237 |
catch (e) {
|
238 |
//do nothing
|
239 |
+
}
|
240 |
+
|
241 |
+
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>ET_CurrencyManager</name>
|
4 |
-
<version>1.1
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://shop.etwebsolutions.com/eng/etws-license-free-v1">ETWS Free License (EFL1)</license>
|
7 |
<channel>community</channel>
|
@@ -10,9 +10,9 @@
|
|
10 |
<description>_Currency Manager lets shop owner manage price display in an easy and convenient way: show custom currency symbol, change its position, change number of decimals and etc._</description>
|
11 |
<notes>stable release</notes>
|
12 |
<authors><author><name>Jurij</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author><author><name>Andrej</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author></authors>
|
13 |
-
<date>2013-
|
14 |
-
<time>08:
|
15 |
-
<contents><target name="magecommunity"><dir name="ET"><dir name="CurrencyManager"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tab"><dir name="Options"><file name="Option.php" hash="3c8ebb1d4539a0cad43a247336c2ed2b"/></dir></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Linktooptions.php" hash="254eef26e1ae0edecc76a31541b244ae"/></dir></dir></dir></dir><file name="Formprice.php" hash="787bb8c6466fd5b58edff9119aeca6f0"/><file name="Heading.php" hash="0282201202dfbe3c2a9a7f0e3016bbd4"/><file name="Support.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies/>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>ET_CurrencyManager</name>
|
4 |
+
<version>1.2.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://shop.etwebsolutions.com/eng/etws-license-free-v1">ETWS Free License (EFL1)</license>
|
7 |
<channel>community</channel>
|
10 |
<description>_Currency Manager lets shop owner manage price display in an easy and convenient way: show custom currency symbol, change its position, change number of decimals and etc._</description>
|
11 |
<notes>stable release</notes>
|
12 |
<authors><author><name>Jurij</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author><author><name>Andrej</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author></authors>
|
13 |
+
<date>2013-12-27</date>
|
14 |
+
<time>08:45:55</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="ET"><dir name="CurrencyManager"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tab"><dir name="Options"><file name="Option.php" hash="3c8ebb1d4539a0cad43a247336c2ed2b"/></dir></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Linktooptions.php" hash="254eef26e1ae0edecc76a31541b244ae"/></dir></dir></dir></dir><file name="Formprice.php" hash="787bb8c6466fd5b58edff9119aeca6f0"/><file name="Heading.php" hash="0282201202dfbe3c2a9a7f0e3016bbd4"/><file name="Support.php" hash="990d30043688b410cf545cfeb3bcebd1"/><file name="Symbolreplace.php" hash="7d27f592da6f550c4c06b582600e54b9"/></dir><file name="Js.php" hash="086a2b3e70400c840615fd499ab5883e"/></dir><dir name="Helper"><file name="Data.php" hash="f82b813d75e73f3fabc65d910338228f"/><file name="Tax.php" hash="c3515cfc58e77804da9764a3a7c45e46"/><file name="Tax1810.php" hash="5c624cd775985cf2c4490078e1da081e"/><file name="Url.php" hash="c955b5c25a971c10042d7d027ac92973"/></dir><dir name="Model"><file name="Currency.php" hash="20eb7f096e81e546fe3d27b06038fa0f"/><file name="Locale.php" hash="5f4d8d523f8d7a351f5afc952cdc9dd5"/><file name="Observer.php" hash="425ba0e028c55beca2e881280af01b63"/><file name="Store.php" hash="c3a70572e760588338f94e7300d1b2cf"/><file name="Typeposition.php" hash="9132477fac1f0bc56be36e18613ff23c"/><file name="Typesymboluse.php" hash="50b7bdd60eb040007f1b8f5bd9486b19"/></dir><dir name="controllers"><file name="CurrencyController.php" hash="854266bb77f94e5265ada83073a60cd1"/></dir><dir name="etc"><file name="config.xml" hash="0914050f55735774f3a688c932321123"/><file name="system.xml" hash="3f881d9ba4fcf6fa1876f77054453d01"/></dir></dir></dir></target><target name="magelocale"><dir name="ru_RU"><file name="ET_Currencymanager.csv" hash="c0f0ffe5c8502e719009472de4686183"/></dir><dir name="en_US"><file name="ET_Currencymanager.csv" hash="551008a104f6f1090500cdb05c90acd2"/></dir><dir name="fr_FR"><file name="ET_Currencymanager.csv" hash="ade2537df9d7dad795a62449434d022a"/></dir></target><target name="mageetc"><dir name="modules"><file name="ET_CurrencyManager.xml" hash="58495e7d1f538b0c987fd13fe75e56b5"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="et_currencymanager.xml" hash="162b9d35532260a71a90978800f19537"/></dir><dir name="template"><dir name="et_currencymanager"><file name="js.phtml" hash="a5e23cfb047239bb89121e464c685fac"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="et"><dir name="currencymanager"><file name="et_currencymanager_round.js" hash="ed0fa590bcd260156e70f44c15348750"/></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies/>
|
18 |
</package>
|