wp_price_decimal - Version 2.0.0

Version Notes

+ param: Exclude product options, ~ code refactoring, ~ js round function

Download this release

Release Info

Developer WebAndPeople
Extension wp_price_decimal
Version 2.0.0
Comparing to
See all releases


Code changes from version 1.4.0 to 2.0.0

app/code/community/WP/PriceDecimal/Block/About.php CHANGED
@@ -29,7 +29,7 @@ class WP_PriceDecimal_Block_About
29
  </p>
30
  <p>
31
  Our themes and extensions on <a href="http://www.magentocommerce.com/magento-connect/developer/WebAndPeople" target="_blank">MagentoConnect</a><br />
32
- Should you have any questions <a href="http://webandpeople.com/contact.html" target="_blank">Contact Us</a> or email at <a href="mailto:info@webandpeople.com">info@webandpeople.com</a>
33
  <br />
34
  </p>
35
  </div>
@@ -188,6 +188,7 @@ HTML;
188
 
189
  new Ajax.JSONRequest(\'http://web-experiment.info/about-us.php\', {
190
  callbackParamName: "jsoncallback",
 
191
  onComplete: function(response) {
192
  if (response.responseJSON && response.responseJSON.html) {
193
  html = response.responseJSON.html;
29
  </p>
30
  <p>
31
  Our themes and extensions on <a href="http://www.magentocommerce.com/magento-connect/developer/WebAndPeople" target="_blank">MagentoConnect</a><br />
32
+ Should you have any questions <a href="http://web-experiment.info/support" target="_blank">Contact Us</a> or email at <a href="mailto:support@web-experiment.info">support@web-experiment.info</a>
33
  <br />
34
  </p>
35
  </div>
188
 
189
  new Ajax.JSONRequest(\'http://web-experiment.info/about-us.php\', {
190
  callbackParamName: "jsoncallback",
191
+ timeout: 2,
192
  onComplete: function(response) {
193
  if (response.responseJSON && response.responseJSON.html) {
194
  html = response.responseJSON.html;
app/code/community/WP/PriceDecimal/Helper/Data.php CHANGED
@@ -4,14 +4,22 @@ class WP_PriceDecimal_Helper_Data extends Mage_Core_Helper_Abstract
4
  {
5
  public static function getParams()
6
  {
 
7
  $config = Mage::getStoreConfig('price_decimal/general');
8
  $moduleName = Mage::app()->getRequest()->getModuleName();
9
  $id = Mage::app()->getRequest()->getParam('id', '');
10
 
11
  $skeep = !$config['enabled'];
12
 
 
 
 
 
 
 
 
13
  if ($moduleName == 'checkout' && $config['exclude_cart'] && !$id) $skeep = true;
14
- if ($moduleName == 'admin') $skeep = true; // --- if Backand skeep
15
 
16
  $precision = 0;
17
  if (isset($config['precision']) && ($config['precision'] + 0) >= 0)
@@ -25,9 +33,10 @@ class WP_PriceDecimal_Helper_Data extends Mage_Core_Helper_Abstract
25
 
26
  public static function trimZeroRight($price, $precision)
27
  {
28
- if (!Mage::getStoreConfig('price_decimal/general/trim_zero_right'))
29
- return $precision;
30
- $xPrice = sprintf("%." . $precision . "F", $price);
 
31
  $decimal = strrchr($xPrice, '.');
32
  $c1 = strlen($decimal);
33
  $decimal = rtrim($decimal, '0');
4
  {
5
  public static function getParams()
6
  {
7
+ $backtrace = Varien_Debug::backtrace(true, false);
8
  $config = Mage::getStoreConfig('price_decimal/general');
9
  $moduleName = Mage::app()->getRequest()->getModuleName();
10
  $id = Mage::app()->getRequest()->getParam('id', '');
11
 
12
  $skeep = !$config['enabled'];
13
 
14
+ if ($config['exclude_product_options']) {
15
+ if (strpos($backtrace, 'Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Radio') !== false
16
+ || strpos($backtrace, 'Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Checkbox') !== false
17
+ || strpos($backtrace, 'Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Multi') !== false
18
+ || strpos($backtrace, 'Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Select') !== false) $skeep = true;
19
+ }
20
+
21
  if ($moduleName == 'checkout' && $config['exclude_cart'] && !$id) $skeep = true;
22
+ if ($moduleName == 'admin') $skeep = true; // --- skeep if backand
23
 
24
  $precision = 0;
25
  if (isset($config['precision']) && ($config['precision'] + 0) >= 0)
33
 
34
  public static function trimZeroRight($price, $precision)
35
  {
36
+ if (!Mage::getStoreConfig('price_decimal/general/trim_zero_right')) return $precision;
37
+ $xPrice = Zend_Locale_Math::normalize(Zend_Locale_Math::round($price, $precision));
38
+ $xPrice = sprintf("%." . $precision . "F", $xPrice);
39
+ //Mage::log($xPrice);
40
  $decimal = strrchr($xPrice, '.');
41
  $c1 = strlen($decimal);
42
  $decimal = rtrim($decimal, '0');
app/code/community/WP/PriceDecimal/Model/Currency.php CHANGED
File without changes
app/code/community/WP/PriceDecimal/Model/Locale.php CHANGED
File without changes
app/code/community/WP/PriceDecimal/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <WP_PriceDecimal>
5
- <version>1.4.0</version>
6
  </WP_PriceDecimal>
7
  </modules>
8
  <frontend>
@@ -63,9 +63,10 @@
63
  <general>
64
  <enabled>1</enabled>
65
  <exclude_cart>1</exclude_cart>
 
66
  <precision>0</precision>
67
- <trim_zero_right>0</trim_zero_right>
68
- <version>1.4.0</version>
69
  </general>
70
  </price_decimal>
71
  </default>
2
  <config>
3
  <modules>
4
  <WP_PriceDecimal>
5
+ <version>2.0.0</version>
6
  </WP_PriceDecimal>
7
  </modules>
8
  <frontend>
63
  <general>
64
  <enabled>1</enabled>
65
  <exclude_cart>1</exclude_cart>
66
+ <exclude_product_options>1</exclude_product_options>
67
  <precision>0</precision>
68
+ <trim_zero_right>1</trim_zero_right>
69
+ <version>2.0.0</version>
70
  </general>
71
  </price_decimal>
72
  </default>
app/code/community/WP/PriceDecimal/etc/system.xml CHANGED
@@ -28,21 +28,11 @@
28
  <label>Enable</label>
29
  <frontend_type>select</frontend_type>
30
  <source_model>adminhtml/system_config_source_yesno</source_model>
31
- <sort_order>1</sort_order>
32
- <show_in_default>1</show_in_default>
33
- <show_in_website>1</show_in_website>
34
- <show_in_store>1</show_in_store>
35
- </enabled>
36
- <exclude_cart translate="label comment">
37
- <label>Exclude Checkout</label>
38
- <comment>Select "Yes" to disable this extension in the shopping cart (e.g. due to taxes)</comment>
39
- <frontend_type>select</frontend_type>
40
- <source_model>adminhtml/system_config_source_yesno</source_model>
41
  <sort_order>5</sort_order>
42
  <show_in_default>1</show_in_default>
43
  <show_in_website>1</show_in_website>
44
  <show_in_store>1</show_in_store>
45
- </exclude_cart>
46
  <precision translate="label comment">
47
  <label>Precision</label>
48
  <comment>Number of decimal (e.g. 0, 1, 2). </comment>
@@ -54,14 +44,34 @@
54
  </precision>
55
  <trim_zero_right translate="label comment">
56
  <label>Trim decimal zeros to the right</label>
57
- <comment>e.g. 3.3400 to 3.34, 0.2000 to 0.2 if param Precision = 4</comment>
58
  <frontend_type>select</frontend_type>
59
  <source_model>adminhtml/system_config_source_yesno</source_model>
60
- <sort_order>15</sort_order>
61
  <show_in_default>1</show_in_default>
62
  <show_in_website>1</show_in_website>
63
  <show_in_store>1</show_in_store>
64
  </trim_zero_right>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  <version translate="label">
66
  <label>Extension Release</label>
67
  <frontend_type>label</frontend_type>
28
  <label>Enable</label>
29
  <frontend_type>select</frontend_type>
30
  <source_model>adminhtml/system_config_source_yesno</source_model>
 
 
 
 
 
 
 
 
 
 
31
  <sort_order>5</sort_order>
32
  <show_in_default>1</show_in_default>
33
  <show_in_website>1</show_in_website>
34
  <show_in_store>1</show_in_store>
35
+ </enabled>
36
  <precision translate="label comment">
37
  <label>Precision</label>
38
  <comment>Number of decimal (e.g. 0, 1, 2). </comment>
44
  </precision>
45
  <trim_zero_right translate="label comment">
46
  <label>Trim decimal zeros to the right</label>
47
+ <comment>e.g. 3.00 to 3, 0.20 to 0.2 if param Precision = 2</comment>
48
  <frontend_type>select</frontend_type>
49
  <source_model>adminhtml/system_config_source_yesno</source_model>
50
+ <sort_order>12</sort_order>
51
  <show_in_default>1</show_in_default>
52
  <show_in_website>1</show_in_website>
53
  <show_in_store>1</show_in_store>
54
  </trim_zero_right>
55
+ <exclude_cart translate="label comment">
56
+ <label>Exclude Checkout</label>
57
+ <comment>Select "Yes" to disable this extension in the shopping cart (e.g. due to taxes)</comment>
58
+ <frontend_type>select</frontend_type>
59
+ <source_model>adminhtml/system_config_source_yesno</source_model>
60
+ <sort_order>15</sort_order>
61
+ <show_in_default>1</show_in_default>
62
+ <show_in_website>1</show_in_website>
63
+ <show_in_store>1</show_in_store>
64
+ </exclude_cart>
65
+ <exclude_product_options translate="label comment">
66
+ <label>Exclude product options</label>
67
+ <comment>Select "Yes" to disable this extension for options of configurable products</comment>
68
+ <frontend_type>select</frontend_type>
69
+ <source_model>adminhtml/system_config_source_yesno</source_model>
70
+ <sort_order>20</sort_order>
71
+ <show_in_default>1</show_in_default>
72
+ <show_in_website>1</show_in_website>
73
+ <show_in_store>1</show_in_store>
74
+ </exclude_product_options>
75
  <version translate="label">
76
  <label>Extension Release</label>
77
  <frontend_type>label</frontend_type>
app/design/frontend/default/default/layout/webandpeople/pricedecimal.xml CHANGED
@@ -2,7 +2,8 @@
2
  <layout version="0.1.0">
3
  <default>
4
  <reference name="head">
5
- <action ifconfig="price_decimal/general/trim_zero_right" method="addJs"><script>webandpeople/pricedecimal/trim_zero_right.js</script></action>
 
6
  </reference>
7
  </default>
8
  </layout>
2
  <layout version="0.1.0">
3
  <default>
4
  <reference name="head">
5
+ <action method="addJs"><script>webandpeople/pricedecimal/init.js</script></action>
6
+ <block type="core/template" name="pricedecimal_init" template="webandpeople/pricedecimal/init.phtml"/>
7
  </reference>
8
  </default>
9
  </layout>
app/design/frontend/default/default/template/webandpeople/pricedecimal/init.phtml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ //<![CDATA[
3
+ var WP_TRIM_ZERO_RIGHT = <?php echo Mage::getStoreConfig('price_decimal/general/trim_zero_right'); ?>;
4
+ //]]>
5
+ </script>
app/etc/modules/WP_PriceDecimal.xml CHANGED
File without changes
js/webandpeople/pricedecimal/init.js ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.observe("dom:loaded", function() {
2
+ if (typeof(Product) != 'undefined' && typeof(Product.OptionsPrice) != 'undefined') {
3
+ Product.OptionsPrice.prototype.formatPrice = function(price) {
4
+ var precision = this.priceFormat.precision;
5
+ var format = JSON.parse(JSON.stringify(this.priceFormat));
6
+ //console.log(price);
7
+ //console.log(precision);
8
+ price = wpRound(price, precision);
9
+ //console.log(price);
10
+ if (WP_TRIM_ZERO_RIGHT) precision = wpTrimZeroRight(price, precision);
11
+ format.precision = precision;
12
+ format.requiredPrecision = precision;
13
+ //console.log(formatCurrency(price, format));
14
+ //console.log('---');
15
+ return formatCurrency(price, format);
16
+ };
17
+ try {
18
+ optionsPrice.reload(); // --- FIX: for magento 1.4.x.x
19
+ } catch(e) {
20
+ // ---
21
+ }
22
+ }
23
+ });
24
+
25
+ function wpTrimZeroRight(price, precision) {
26
+ var format = {
27
+ 'pattern': '%s',
28
+ 'precision': precision,
29
+ 'requiredPrecision': precision,
30
+ 'decimalSymbol': '.',
31
+ 'groupSymbol': '',
32
+ 'groupLength': 0,
33
+ 'integerRequired': 1
34
+ };
35
+ //console.log(price);
36
+ var xPrice = formatCurrency(price, format);
37
+ //console.log(xPrice);
38
+ //console.log('---');
39
+ var decimal = '';
40
+ var pointPos = xPrice.lastIndexOf('.');
41
+ if (pointPos !== -1) decimal = xPrice.substr(pointPos);
42
+ var c1 = decimal.length;
43
+ decimal = decimal.replace(new RegExp("[0]+$", "g"), "");
44
+ var c2 = decimal.length;
45
+ var xPrecision = precision - (c1 - c2);
46
+ return xPrecision;
47
+ }
48
+
49
+ function wpRound(value, precision, mode) {
50
+ // From: http://phpjs.org/functions
51
+ // + original by: Philip Peterson
52
+ // + revised by: Onno Marsman
53
+ // + input by: Greenseed
54
+ // + revised by: T.Wild
55
+ // + input by: meo
56
+ // + input by: William
57
+ // + bugfixed by: Brett Zamir (http://brett-zamir.me)
58
+ // + input by: Josep Sanz (http://www.ws3.es/)
59
+ // + revised by: Rafał Kukawski (http://blog.kukawski.pl/)
60
+ // % note 1: Great work. Ideas for improvement:
61
+ // % note 1: - code more compliant with developer guidelines
62
+ // % note 1: - for implementing PHP constant arguments look at
63
+ // % note 1: the pathinfo() function, it offers the greatest
64
+ // % note 1: flexibility & compatibility possible
65
+ // * example 1: round(1241757, -3);
66
+ // * returns 1: 1242000
67
+ // * example 2: round(3.6);
68
+ // * returns 2: 4
69
+ // * example 3: round(2.835, 2);
70
+ // * returns 3: 2.84
71
+ // * example 4: round(1.1749999999999, 2);
72
+ // * returns 4: 1.17
73
+ // * example 5: round(58551.799999999996, 2);
74
+ // * returns 5: 58551.8
75
+ var m, f, isHalf, sgn; // helper variables
76
+ precision |= 0; // making sure precision is integer
77
+ m = Math.pow(10, precision);
78
+ value *= m;
79
+ sgn = (value > 0) | -(value < 0); // sign of the number
80
+ isHalf = value % 1 === 0.5 * sgn;
81
+ f = Math.floor(value);
82
+ if (isHalf) {
83
+ switch (mode) {
84
+ case 'PHP_ROUND_HALF_DOWN':
85
+ value = f + (sgn < 0); // rounds .5 toward zero
86
+ break;
87
+ case 'PHP_ROUND_HALF_EVEN':
88
+ value = f + (f % 2 * sgn); // rouds .5 towards the next even integer
89
+ break;
90
+ case 'PHP_ROUND_HALF_ODD':
91
+ value = f + !(f % 2); // rounds .5 towards the next odd integer
92
+ break;
93
+ default:
94
+ value = f + (sgn > 0); // rounds .5 away from zero
95
+ }
96
+ }
97
+ return (isHalf ? value : Math.round(value)) / m;
98
+ }
js/webandpeople/pricedecimal/trim_zero_right.js DELETED
@@ -1,35 +0,0 @@
1
- document.observe("dom:loaded", function() {
2
- if (typeof(Product) != 'undefined' && typeof(Product.OptionsPrice) != 'undefined') {
3
- Product.OptionsPrice.prototype.formatPrice = function(price) {
4
- var precision = wpTrimZeroRight(price, this.priceFormat.precision);
5
- this.priceFormat.precision = precision;
6
- this.priceFormat.requiredPrecision = precision;
7
- return formatCurrency(price, this.priceFormat);
8
- };
9
- if (typeof(optionsPrice) != 'undefined') {
10
- optionsPrice.reload(); // --- FIX: for magento 1.4.x.x
11
- }
12
- }
13
-
14
- });
15
-
16
- function wpTrimZeroRight(price, precision) {
17
- var format = {
18
- 'pattern': '%s',
19
- 'precision': precision,
20
- 'requiredPrecision': precision,
21
- 'decimalSymbol': '.',
22
- 'groupSymbol': '',
23
- 'groupLength': 0,
24
- 'integerRequired': 1
25
- };
26
- var xPrice = formatCurrency(price, format);
27
- var decimal = '';
28
- var pointPos = xPrice.lastIndexOf('.');
29
- if (pointPos !== -1) decimal = xPrice.substr(pointPos);
30
- var c1 = decimal.length;
31
- decimal = decimal.replace(new RegExp("[0]+$", "g"), "");
32
- var c2 = decimal.length;
33
- var xPrecision = precision - (c1 - c2);
34
- return xPrecision;
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package.xml CHANGED
@@ -1,18 +1,95 @@
1
- <?xml version="1.0"?>
2
  <package>
3
- <name>wp_price_decimal</name>
4
- <version>1.4.0</version>
5
- <stability>stable</stability>
6
- <license uri="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported License</license>
7
- <channel>community</channel>
8
- <extends/>
9
- <summary>Decimal price (WebAndPeople.com)</summary>
10
- <description>Decimal price (WebAndPeople.com)</description>
11
- <notes>+ trim decimal zero to the right, ~ fix: exclude cart</notes>
12
- <authors><author><name>WebAndPeople</name><user>auto-converted</user><email>design@webandpeople.com</email></author><author><name>Yura Gerassimenko</name><user>auto-converted</user><email>y.gerassimenko@webandpeople.com</email></author></authors>
13
- <date>2012-02-29</date>
14
- <time>12:34:31</time>
15
- <contents><target name="magecommunity"><dir name="WP"><dir name="PriceDecimal"><dir name="Block"><file name="About.php" hash="e64d4b64438c4b31258d3d37849a72cf"/></dir><dir name="Helper"><file name="Data.php" hash="91104b07553625a02be163e75a9ae62d"/></dir><dir name="Model"><file name="Currency.php" hash="90e0a2a555054ea5b6b3976b41e6818c"/><file name="Locale.php" hash="d66eb5e2e8b0fc14202f699d94b2c26e"/></dir><dir name="etc"><file name="config.xml" hash="773208fc7b5822eef94de53385ca7b25"/><file name="system.xml" hash="753085ff1ea0365aa6647aeee9a3a61d"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="WP_PriceDecimal.xml" hash="9b870760e423ab063bd152305552564c"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><dir name="webandpeople"><file name="pricedecimal.xml" hash="bc44be7e61f49d7012e0a71036ac1fec"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="webandpeople"><dir name="pricedecimal"><file name="trim_zero_right.js" hash="53fcc4c36d0ff2bc0729beb78158cb92"/></dir></dir></dir></target></contents>
16
- <compatible/>
17
- <dependencies/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  </package>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
  <package>
3
+ <name>wp_price_decimal</name>
4
+ <version>2.0.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported License</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Decimal price (Web-Experiment.Info)</summary>
10
+ <description>Decimal price (Web-Experiment.Info)</description>
11
+ <notes>+ param: Exclude product options, ~ code refactoring, ~ js round function</notes>
12
+ <authors>
13
+ <author>
14
+ <name>WebAndPeople</name>
15
+ <user>WebAndPeople</user>
16
+ <email>design@webandpeople.com</email>
17
+ </author>
18
+ <author>
19
+ <name>y.gerassimenko</name>
20
+ <user>ygerassimenko</user>
21
+ <email>y.gerassimenko@webandpeople.com</email>
22
+ </author>
23
+ </authors>
24
+ <date>2014-01-30</date>
25
+ <time>16:15:50</time>
26
+ <contents>
27
+ <target name="mageweb">
28
+ <dir name="app">
29
+ <dir name="code">
30
+ <dir name="community">
31
+ <dir name="WP">
32
+ <dir name="PriceDecimal">
33
+ <dir name="Block">
34
+ <file name="About.php" hash="03a8828a30b85e9b84366de183d95426"/>
35
+ </dir>
36
+ <dir name="Helper">
37
+ <file name="Data.php" hash="b14f842287cd4d2118ea5d8ae470b646"/>
38
+ </dir>
39
+ <dir name="Model">
40
+ <file name="Currency.php" hash="90e0a2a555054ea5b6b3976b41e6818c"/>
41
+ <file name="Locale.php" hash="d66eb5e2e8b0fc14202f699d94b2c26e"/>
42
+ </dir>
43
+ <dir name="etc">
44
+ <file name="config.xml" hash="f595cf7a1b7a5de97cc697e20d7e4c86"/>
45
+ <file name="system.xml" hash="83a8abe47bc0855bd10ec2d48395ed3d"/>
46
+ </dir>
47
+ </dir>
48
+ </dir>
49
+ </dir>
50
+ </dir>
51
+ <dir name="design">
52
+ <dir name="frontend">
53
+ <dir name="default">
54
+ <dir name="default">
55
+ <dir name="layout">
56
+ <dir name="webandpeople">
57
+ <file name="pricedecimal.xml" hash="c5f202ef04bf970a101e9ffe6a05e782"/>
58
+ </dir>
59
+ </dir>
60
+ <dir name="template">
61
+ <dir name="webandpeople">
62
+ <dir name="pricedecimal">
63
+ <file name="init.phtml" hash="50ac65b8f110bc740c7830e7526f149d"/>
64
+ </dir>
65
+ </dir>
66
+ </dir>
67
+ </dir>
68
+ </dir>
69
+ </dir>
70
+ </dir>
71
+ <dir name="etc">
72
+ <dir name="modules">
73
+ <file name="WP_PriceDecimal.xml" hash="9b870760e423ab063bd152305552564c"/>
74
+ </dir>
75
+ </dir>
76
+ </dir>
77
+ <dir name="js">
78
+ <dir name="webandpeople">
79
+ <dir name="pricedecimal">
80
+ <file name="init.js" hash="30bbbd52a5b9a8f1a2f55207f27fa099"/>
81
+ </dir>
82
+ </dir>
83
+ </dir>
84
+ </target>
85
+ </contents>
86
+ <compatible/>
87
+ <dependencies>
88
+ <required>
89
+ <php>
90
+ <min>5.2.0</min>
91
+ <max>6.0.0</max>
92
+ </php>
93
+ </required>
94
+ </dependencies>
95
  </package>