ET_CurrencyManager - Version 1.2.1

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 CHANGED
@@ -19,11 +19,11 @@
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 1.0.1
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 = '?module=' . $moduleNameId . '&ver=' . $moduleVersion . '&ref=' . $_SERVER['HTTP_HOST'];
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
- '<strong>%s</strong> (version %s)',
58
- $moduleName,
59
- $moduleVersion
60
- ) . '</td>
61
  </tr>
62
  <tr>
63
  <td class="developer-label">' . $helper->__('License:') . '</td>
64
  <td class="developer-text">' . $helper->__(
65
- '<a href="%s" target="_blank">%s</a>',
66
- $moduleLicenseLink,
67
- $moduleLicense
68
- ) . '</td>
69
  </tr>
70
  <tr>
71
  <td class="developer-label">' . $helper->__('Short Description:') . '</td>
72
- <td class="developer-text">' .$moduleShortDescription. '</td>
73
  </tr>
74
  <tr>
75
  <td class="developer-label">' . $helper->__('Documentation:') . '</td>
76
  <td class="developer-text">' . $helper->__(
77
- 'You can see description of extension features and answers to the ' .
78
- 'frequently asked questions on <a href="%s" target="_balnk">our website</a>.',
79
- $moduleLink) . '</td>
80
  </tr>
81
  <tr>
82
  <td class="developer-label line">' . $helper->__('Support:') . '</td>
83
  <td class="developer-text line">' . $helper->__(
84
- 'Extension support is available through <a href="%s" target="_blank">issue tracking system' .
85
- '</a>.<br>You can see information freely, but you will have to sign up to open a ticket.<br>' .
86
- '<br>Please, report all bugs and feature requests that are related to this extension.<br>' .
87
- '<br>If by some reason you can not submit a question, bug report or feature request to our ' .
88
- 'ticket system, you can write us an email - support@etwebsolutions.com.',
89
- $moduleSupportLink) . '</td>
90
  </tr>
91
  <tr>
92
- <td class="developer-label line">' . $helper->__('Advertisement:') . '</td>
93
  <td class="developer-text line">' . $helper->__(
94
- 'You can hire our team to customize the extension. E-mail us on sales@etwebsolutions.com.<br>' .
95
- '<br>You can see a list of provided services on <a href="%s" target="_blank">our website</a>.',
96
- $servicesLink) . '</td>
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->__('Precision:') . ' </label> ';
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
- return parent::getPrice($product, $price, $includingTax, $shippingAddress, $billingAddress, $ctc,
 
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 = Mage::helper('currencymanager')->getOptions($options);
27
 
28
  return $this->formatPrecision(
29
  $price,
30
  isset($options["precision"]) ? $options["precision"] : 2,
31
- Mage::helper('currencymanager')->clearOptions($options),
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.0</version>
26
  <descr>
27
  <ru_RU><![CDATA[Модуль позволяет владельцу магазина просто и удобно управлять отображением цены: указывать свой символ валюты, количество знаков после запятой, позицию символа и др.]]>
28
  </ru_RU>
@@ -54,11 +54,11 @@
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,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>Precision</label>
149
- <comment>Number of decimal (e.g. 0, 1, 2). Default: 0</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
- </script>
 
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
- "Number of decimal (e.g. 0, 1, 2). Default: 0","Кол-во знаков после запятой (например: 0, 1, 2). По умолчанию: 0"
10
- "Symbol position","Позиция символа"
11
- "Currency symbol use","Обозначение валюты"
12
- "e.g. Symbol = Ls, Short name = LVL, Name = Latvian Lats","Например: Символ = руб., Код = RUB, Наименование = Российский рубль"
13
- "Default","По умолчанию"
14
- "Right","После цены"
15
- "Left","Перед ценой"
16
- "Do not use","не использовать"
17
- "Use symbol","символ"
18
- "Use short name","код"
19
- "Use name","наименование"
20
- "Yes","Да"
21
- "No","Нет"
22
- "Frontend specific options","Параметры для пользовательской части"
23
- "Admin specific options","Параметры для панели администрирования"
24
- "Currency options (global)","Параметры валюты (глобальные)"
25
- "Currency options (for specific currency)","Параметры валюты (для конкретной валюты)"
26
- "Exclude for checkout","Исключение для заказа"
27
- "If Yes - options [Precision] and [Replace Zero Price] will not affect display of prices in checkout.","Если Да - параметры [Точность] и [Заменить нулевые цены] не будут влиять на отображение цены в заказе."
28
- "Cut Zero Decimals","Отбрасывать нули после запятой"
29
- "Cut Zero Decimals:","Отбрасывать нули после запятой:"
30
- "If Yes price will be 99 instead of 99.00, but 99.99 if price 99.99","Если Да цена будет 99 вместо 99.00, но 99.99 при цене 99.99"
31
- "Currency specific options","Параметры для конкретной валюты"
32
- "Select currency:","Выберите валюту:"
33
- "Symbol position:","Позиция символа:"
34
- "Currency symbol use:","Обозначение валюты:"
35
- "Replace symbol to:","Заменить символ на:"
36
- "Replace Zero Price to:","Заменить нулевые цены на:"
37
- "Replace Zero Price to","Заменить нулевые цены на"
38
- "Add currency specific options","Добавить параметры, специфичные для валюты"
39
- "Currency Manager information","Информация о модуле Currency Manager"
40
- "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"
41
- "Leave empty for disable replace","Оставьте пустым, если не хотите делать замену"
42
- "Leave empty for global value use","Оставьте пустым для использования глобального значения"
43
- "Used only if Cut Zero Decimals = Yes, default "",-""","Используется только при значении Отбрасывать нули после запятой = Да. По умолчанию: "",-"""
44
- "Enable for Inputs","Применять для полей ввода цены"
45
- "Suffix:","Заменить отброшенные нули на значение:"
46
- "Replaces Cuted Zero Decimals","Заменить отброшенные нули на значение"
47
- "Click here to configure currency additional display options","Перейти к дополнительным настройкам отображения валюты"
48
- "Additional Options","Дополнительные настройки"
49
- "Fix URL","Исправить адрес"
50
-
51
- "Extension:","Модуль:"
52
- "<strong>%s</strong> (version %s)","<strong>%s</strong> (версия %s)"
53
- "License:","Лицензия:"
54
- "Short Description:","Краткое описание:"
55
- "Documentation:","Документация:"
56
- "Support:","Поддержка:"
57
- "Advertisement:","Реклама:"
58
- "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>."
59
- "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>."
60
-
61
- "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."
62
- "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>Данная настройка позволяет вернуться точно на тот же адрес, где клиент был до переключения валюты."
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
- if (typeof(Product) != "undefined") {
2
- Product.Config.prototype = Object.extend(Product.Config.prototype, {
3
- formatPrice:function (price, showSign) {
4
- var str = '';
5
- price = parseFloat(price);
6
- if (showSign) {
7
- if (price < 0) {
8
- str += '-';
9
- price = -price;
10
- }
11
- else {
12
- str += '+';
13
- }
14
- }
 
 
 
 
 
 
 
 
15
 
16
- var roundedPrice = (Math.round(price * 100) / 100).toString();
17
 
18
- if (this.prices && this.prices[roundedPrice]) {
19
- str += this.prices[roundedPrice];
20
- }
21
- else {
22
- precision = 2;
23
- if (typeof(etCurrencyManagerJsConfig) != "undefined") {
24
- if (typeof(etCurrencyManagerJsConfig.precision) != "undefined") {
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
- if (precision > 0) {
43
- str += this.priceTemplate.evaluate({price:price.toFixed(precision)});
44
- }
45
- else {
46
- price = price.toFixed(0);
47
- if (typeof(etCurrencyManagerJsConfig) != "undefined") {
48
- if (typeof(etCurrencyManagerJsConfig.cutzerodecimal) != "undefined") {
49
- if (etCurrencyManagerJsConfig.cutzerodecimal != 0) {
50
- if (typeof(etCurrencyManagerJsConfig.cutzerodecimal_suffix) != "undefined") {
51
- if (etCurrencyManagerJsConfig.cutzerodecimal_suffix.length > 0) {
52
- price = price + "" + etCurrencyManagerJsConfig.cutzerodecimal_suffix;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  }
54
  }
55
  }
 
56
  }
57
  }
58
- str += this.priceTemplate.evaluate({price:price});
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, format, showPlus) {
 
 
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.0</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,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-09-30</date>
14
- <time>08:51:15</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="3bf2f4c1e67d325bf27bf265b7945644"/><file name="Symbolreplace.php" hash="9cb76a50d037c9bfd220f764054c071a"/></dir><file name="Js.php" hash="086a2b3e70400c840615fd499ab5883e"/></dir><dir name="Helper"><file name="Data.php" hash="5110a2932a487c4122d744469e122895"/><file name="Tax.php" hash="46abce595a7a809facf1c4d45db5043e"/><file name="Url.php" hash="c955b5c25a971c10042d7d027ac92973"/></dir><dir name="Model"><file name="Currency.php" hash="59070f730b53de3b9492d155691181d3"/><file name="Locale.php" hash="5f4d8d523f8d7a351f5afc952cdc9dd5"/><file name="Observer.php" hash="b20551aa49c19479e6426039c1dd45c8"/><file name="Store.php" hash="c4894be6525eca58ef8efa909f87f959"/><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="b70f279017b41d301eaf3dcede08ecb1"/><file name="system.xml" hash="253222ff517c8c88154648ca01cc3ff5"/></dir></dir></dir></target><target name="magelocale"><dir name="ru_RU"><file name="ET_Currencymanager.csv" hash="64b229548090093d20d13fa38cff5313"/></dir><dir name="en_US"><file name="ET_Currencymanager.csv" hash="551008a104f6f1090500cdb05c90acd2"/></dir></target><target name="mageetc"><dir name="modules"><file name="ET_CurrencyManager.xml" hash="3c6bef9710e3c4922e45f962a41e1f9e"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="et_currencymanager.xml" hash="8f5344b2377c45da3ec2b0cc3199040e"/></dir><dir name="template"><dir name="et_currencymanager"><file name="js.phtml" hash="0274f020be65ff87521d1ba053a31ad3"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="et"><dir name="currencymanager"><file name="et_currencymanager.js" hash="4eccc0024cae9c67123584d2cac2f38a"/><file name="et_currencymanager_round.js" hash="a57cee1500b4ab851110982fcaea4f36"/></dir></dir></dir></target></contents>
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>